数字系统的设计与实验实验报告

合集下载

哈工大数字逻辑电路与系统实验报告

哈工大数字逻辑电路与系统实验报告

哈工大数字逻辑电路与系统实验报告引言本实验旨在通过对数字逻辑电路与系统的学习与实践,加深对数字逻辑电路原理和应用的理解,掌握数字逻辑电路实验的设计与调试方法。

本报告将详细介绍实验步骤、实验结果以及实验心得体会。

实验目的1.掌握基本的数字逻辑电路设计方法;2.熟悉数字逻辑电路的布线和调试方法;3.学会使用EDA软件进行数字逻辑电路的仿真和验证。

实验器材•FPGA开发板•EDA软件实验过程实验一:逻辑门的基本控制本实验采用FPGA开发板进行实验,以下是逻辑门的基本控制步骤:1.打开EDA软件,新建工程;2.选择FPGA开发板型号,并进行相应配置;3.在原理图设计界面上,依次放置与门、或门、非门和异或门,并连接输入输出引脚;4.面向测试向量实现逻辑门的控制和数据输入;5.运行仿真并进行调试。

实验二:数字逻辑电路实现本实验以4位全加器为例,进行数字逻辑电路的实现,以下是实验步骤:1.打开EDA软件,新建工程;2.选择FPGA开发板型号,并进行相应配置;3.在原理图设计界面上,放置输入引脚、逻辑门和输出引脚,并进行连接;4.根据全加器的真值表,设置输入信号,实现加法运算;5.运行仿真并进行调试。

实验三:数字逻辑电路的串联与并联本实验旨在通过对数字逻辑电路的串联与并联实现,加深对逻辑门的理解与应用。

以下是实验步骤:1.打开EDA软件,新建工程;2.选择FPGA开发板型号,并进行相应配置;3.在原理图设计界面上,放置多个逻辑门,并设置输入输出引脚;4.进行逻辑门的串联与并联连接;5.根据逻辑门的真值表,设置输入信号,进行运算;6.运行仿真并进行调试。

实验结果经过实验测试,实验结果如下:1.实验一:逻辑门的基本控制–与门的功能得到实现;–或门的功能得到实现;–非门的功能得到实现;–异或门的功能得到实现。

2.实验二:数字逻辑电路实现–4位全加器的功能得到实现;–正确进行了加法运算。

3.实验三:数字逻辑电路的串联与并联–逻辑门的串联与并联功能得到实现;–通过逻辑门的串联与并联,实现了复杂的逻辑运算。

西南科技大学实验报告现代数字系统设计实验题目:直流电机的...

西南科技大学实验报告现代数字系统设计实验题目:直流电机的...

西南科技大学实验报告现代数字系统设计实验题目:直流电机的PWM控制专业班级:生物医学0502 _学生姓名:***学生学号: ********实验时间: 2个小时指导教师:***一、实验目的1.掌握直流电机的PWM 控制方法;2.锻炼VHDL 语言的编程能力。

二、实验原理及说明PWM 控制就是产生一定周期,占空比不同的方波信号,当占空比较大时,电机转速较高,否则电机转速较低。

当采用FPGA 产生PWM 波形时,只需FPGA 内部资源就可以实现,数字比较器的一端接设定值输出,另一端接线性递增计数器输出。

当线性计数器的计数值小于设定值时输出低电平,当计数器大于设定值时输出高电平,这样就可通过改变设定值,产生占空比不同的方波信号,从而达到控制直流电机转速的目的。

直流电机控制电路主要由2部分组成,如图1所示: ● FPGA 中PWM 脉宽调制信号产生电路; ● FPGA 中正/反转方向控制电路;速度等级设置模块锯齿波发生器(模16计数器)数字比较器模块旋转方向控制模块驱动电路Z (正转)F (反转)PWM 波形输出Z_F (正/反转控制信号)Rst (复位)Clk (时钟)Rst (复位)Level (速度等级按键)接数码管(显示速度等级)图1 直流电机PWM 控制电路三、实验步骤1.在QUARTUSII 软件下创建一工程,工程名为pwm_control ,芯片名为EP1C3T144C8,注意工程路径不要放到软件安装路径下;2.根据实验原理,自己编写VHDL 顶层设计文件实现直流电机的PWM 控制(整个设计要求全部采用VHDL 编写,不能采用原理图方式),参考程序如下:速度等级设置模块process(rst,level)beginif rst='1' thencnt4<=(others=>'0');elsif level='1' and level'event thencnt4<=cnt4+1;end if;end process;process(rst,clk)beginif rst='1' thenspeed<=(others=>'0');elsif clk'event and clk='1' thencase cnt4 isWHEN "00" => speed <= "0011" ;WHEN "01" => speed <= "0100" ;WHEN "10" => speed <= "0101" ;WHEN "11" => speed <= "0111" ;WHEN OTHERS => NULL ;END CASE ;end if;END PROCESS;数字比较器模块process(clk,rst)beginif rst='1' thenagb<='0';elsif clk'event and clk='1' thenif cnt16>speed thenagb<='1';elseagb<='0';end if;end if;end process;锯齿波发生器process(rst,clk)beginif rst='1' thencnt16<=(others=>'0');elsif clk='1' and clk'event thencnt16<=cnt16+1 ;end if;end process;旋转方向控制模块process(rst,clk)beginif rst='1' thenz<='0';f<='0';elsif clk'event and clk='1' thenif z_f='1' thenz<=agb;f<='0';elsez<='0';f<=agb;end if;end if;end process;3.对设计进行全编译;4.分别进行功能与时序仿真,验证逻辑功能;5.锁定引脚实验采用模式5,锁定引脚对照表如下信号键1 键2(level)键3clkz f level_display0level_display1引脚号1 2 3 9313213185 966.下载采用JA TG方式进行下载;7.将实验箱左上方直流电机处跳线位置插到直流允许端,(注意实验完毕后将此跳线插回直流禁止端),将右下方clock0频率改为65536Hz。

北京理工大学数字系统设计与实验报告

北京理工大学数字系统设计与实验报告

3、仿真结果 功能仿真设置:
功能仿真结果: (1)总体仿真结果
(2)reset 高有效和二分频仿真结果
(3)四分频仿真结果
(4)八分频仿真结果
(5)十六分频仿真结果
四、实验心得
通过本次实验,设计频率可选的模十状态机以及 7 段译码电路,学会了以代码 形式实现频率多路选择器的功能,巩固了模十状态机的实现方式,进一步掌握 VerilogHDL 硬件描述语言。
功能仿真结果:
时序仿真设置:
时序仿真结果:
2、 3—8 译码器 (1)设计思路 随着时钟信号 clk 上升沿的到来,输入 D2D1D0 从 000 加到 111,每个输入 D2D1D0 对应着一个输出 Q7Q6Q5Q4Q3Q2Q1Q0,对应关系如真值表所示:
输入 D2 0 0 0 0 1 1 1 1 D1 0 0 1 1 0 0 1 1 D0 0 1 0 1 0 1 0 1 Q7 0 0 0 0 0 0 0 1 Q6 0 0 0 0 0 0 1 0 Q5 0 0 0 0 0 1 0 0 Q4 0 0 0 0 1 0 0 0
seg <= 7'b0011001; 5: seg <= 7'b0010010; 6: seg <= 7'b0000010; 7: seg <= 7'b1111000; 8: seg <= 7'b0000000; 9: seg <= 7'b0010000; default: seg <= 7'b0001000; endcase end endmodule (2)功能图
三、设计与实现
1、设计思路 (1) 、时钟信号 clk 作为分频器的输入,分频器的设计思路为设计一个模十六计 数器,cp0(Q0)输出即为二分频信号,cp1(Q1)输出即为四分频信号,cp2(Q2) 输出即为八分频信号,cp3(Q3)输出即为十六分频信号。分频器的输出由 4 选 1 多 路选择器的选择输入端 select 选择 2 分频、4 分频、 8 分频和 16 分频其中之一作为状 态机的时钟输入,当 select 为 0 时,输出为二分频信号;为 1 时,输出为四分频信 号;为 2 时,输出为八分频信号;为 3 时,输出为十六分频信号。 (2) 、reset 为高有效,则若 reset 信号为 1 时,qout 置为 0,则 now_state 为 0。 若 reset 信号为 0 时, qout 自加,并作为状态机的输入 驱动,让状态机按照 0->2->5->6->1->9->4->8->7->3->0 的顺序输出。 (3) 、状态机按照 0->2->5->6->1->9->4->8->7->3->0 的顺序输出,并使用此输出 作为驱动输入到 7 段译码器的显示逻辑。

EDA实验报告

EDA实验报告

湖北民族学院信息工程学院实验报告(电气、电子类专业用)班级: 09 姓名:周鹏学号:030940908 实验成绩:实验地点: EDA实验室课程名称:数字系统分析与设计实验类型:设计型实验题目:实验一简单的QUARTUSII实例设计,基于VHDL格雷码编码器的设计实验仪器:HH-SOC-EP3C40EDA/SOPC实验开发平台,PC机。

一、实验目的1、通过一个简单的3—8译码器的设计,掌握组合逻辑电路的设计方法。

2、初步了解QUARTUSII原理图输入设计的全过程。

3、掌握组合逻辑电路的静态测试方法。

4、了解格雷码变换的原理。

5、进一步熟悉QUARTUSII软件的使用方法和VHDL输入的全过程。

6、进一步掌握实验系统的使用。

二、实验原理、原理图及电路图3-8译码器三输入,八输出。

当输入信号按二进制方式的表示值为N时,输出端标号为N的输出端输出高电平表示有信号产生,而其它则为低电平表示无信号产生。

因为三个输入端能产生的组合状态有八种,所以输出端在每种组合中仅有一位为高电平的情况下,能表示所有的输入组合。

其真值表如表1-1所示输入输出A B C D7 D6 D5 D4 D3 D2 D1 D00 0 0 0 0 0 0 0 0 0 10 0 1 0 0 0 0 0 0 1 00 1 0 0 0 0 0 0 1 0 00 1 1 0 0 0 0 1 0 0 01 0 0 0 0 0 1 0 0 0 01 0 1 0 0 1 0 0 0 0 01 1 0 1 0 0 0 0 0 01 1 1 1 0 0 0 0 0 0 0表1-1 三-八译码器真值表译码器不需要像编码器那样用一个输出端指示输出是否有效。

但可以在输入中加入一个输出使能端,用来指示是否将当前的输入进行有效的译码,当使能端指示输入信号无效或不用对当前信号进行译码时,输出端全为高电平,表示无任何信号。

本例设计中没有考虑使能输入端,自己设计时可以考虑加入使能输入端时,程序如何设计。

华南理工大学数字系统设计实验3报告资料

华南理工大学数字系统设计实验3报告资料

实验三基于状态机的交通灯控制地点:31号楼312房;实验台号:12实验日期与时间:2017年12月08日评分:预习检查纪录:批改教师:报告内容:一、实验要求1、开发板上三个led等分别代表公路上红黄绿三种颜色交通灯。

2、交通灯状态机初始状态为红灯,交通灯工作过程依次是红→绿→黄→红。

3、为了方便观察,本次实验要求红灯的显示时间为9s,绿灯显示时间为6s,黄灯显示时间为3s,时间需要倒计时,在数码管上显示。

编程之前要求同学们先画好ASM图。

4、1Hz分频模块请采用第二次实验中的内容,7段码显示模块请参考书本相关内容。

5、第三次实验课用到EP2C8Q208C8通过74HC595驱动数码管,有两种方法写该模块代码:方法1,用VHDL语言写,(自己写VHDL代码有加实验分)。

方法2,可调用verilog数码管驱动模块,该模块在附件“seg.zip”中。

和其它VHDL编写的模块可以混搭在一个电路图中使用。

EP2C8Q208C8的SCTP,SHCP,SER_DATA数码管信号线通过两块74HC595集成块,再驱动数码管。

6、芯片型号:cyclone:EP2C8Q208C8,开发板所有资料都在“新板”附件中,其中管脚配置在实验要求中是不对的,以“新板”附件中为准。

二、实验内容1设计要求开发板上三个led等分别代表公路上红黄绿三种颜色交通灯。

交通灯状态机初始状态为红灯,交通灯工作过程依次是红→绿→黄→红。

本次实验要求红灯的显示时间为9s,绿灯显示时间为6s,黄灯显示时间为3s,时间需要倒计时,在数码管上显示。

2设计思路(1)数码管驱动第三次实验课用到EP2C8Q208C8通过74HC595驱动数码管,有两种方法写该模块代码:方法1,用VHDL语言写,(自己写VHDL代码有加实验分)。

方法2,可调用verilog数码管驱动模块,该模块在附件“seg.zip”中。

和其它VHDL 编写的模块可以混搭在一个电路图中使用。

数字系统设计实验报告计数器、累加器

数字系统设计实验报告计数器、累加器

实验五计数器设计一、实验目的:1)复习计数器的结构组成及工作原理。

2)掌握图形法设计计数器的方法。

3)掌握Verilog HDL语言设计计数器的方法。

4)进一步熟悉设计流程、熟悉数字系统实验开发箱的使用。

二、实验器材:数字系统设计试验箱、导线、计算机、USB接口线三、实验内容:1)用图形法设计一个十进制计数器, 仿真设计结果。

下载, 进行在线测试。

用Verilog HDL语言设计一个十进制的计数器(要求加法计数;时钟上升沿触发;异步清零, 低电平有效;同步置数, 高电平有效), 仿真设计结果。

下载, 进行在线测试。

四、实验截图1)原理图:2)仿真波形:3)文本程序:5)波形仿真:五、实验结果分析、体会:这次实验, , 由于试验箱有抖动, 故在原理图上加了去抖电路, 但是在波形仿真的时候无需考虑抖动, 所以我在波形仿真的时候将去抖电路消除了, 方便观察实验六累加器设计一、实验目的:1)学习了解累加器工作原理;2)了解多层次结构的设计思路;3)学会综合应用原理图和文本相结合的设计方法。

实验器材:数字系统设计试验箱、导线、计算机、USB接口线三、实验内容:1)在文本输入方式下设计分别设计出8位的全加器和8位的寄存器, 并分别存为add8_8.v和reg8.v;3) 2)在原理图输入方式下通过调用两个模块设计出累加器电路, 并存为add8.bdf, 进行功能仿真;下载, 进行在线测试。

四、实验截图1)8位累加器原理图:2)波形仿真:3)文本输入8位加法器语言及符号:生成元器件:4)文本输入8位寄存器:生成图元:五、实验总结:通过本次实验, 学习了解累加器工作原理, 了解多层次结构的设计思路, 学会综合应用原理图和文本相结合的设计方法。

数字系统设计及实验实验报告

数字系统设计及实验实验报告

数字系统设计及实验实验报告一、实验目的数字系统设计及实验课程旨在让我们深入理解数字逻辑的基本概念和原理,掌握数字系统的设计方法和实现技术。

通过实验,我们能够将理论知识应用于实际,提高解决问题的能力和实践动手能力。

本次实验的具体目的包括:1、熟悉数字电路的基本逻辑门、组合逻辑电路和时序逻辑电路的设计方法。

2、掌握使用硬件描述语言(如 Verilog 或 VHDL)进行数字系统建模和设计。

3、学会使用相关的电子设计自动化(EDA)工具进行电路的仿真、综合和实现。

4、培养团队合作精神和工程实践能力,提高解决实际问题的综合素质。

二、实验设备和工具1、计算机:用于编写代码、进行仿真和综合。

2、 EDA 软件:如 Quartus II、ModelSim 等。

3、实验开发板:提供硬件平台进行电路的下载和测试。

4、数字万用表、示波器等测量仪器:用于检测电路的性能和信号。

三、实验内容1、基本逻辑门电路的设计与实现设计并实现与门、或门、非门、与非门、或非门和异或门等基本逻辑门电路。

使用 EDA 工具进行仿真,验证逻辑功能的正确性。

在实验开发板上下载并测试实际电路。

2、组合逻辑电路的设计与实现设计一个 4 位加法器,实现两个 4 位二进制数的相加。

设计一个编码器和译码器,实现数字信号的编码和解码。

设计一个数据选择器,根据控制信号选择不同的输入数据。

3、时序逻辑电路的设计与实现设计一个同步计数器,实现模 10 计数功能。

设计一个移位寄存器,实现数据的移位存储功能。

设计一个有限状态机(FSM),实现简单的状态转换和控制逻辑。

四、实验步骤1、设计方案的确定根据实验要求,分析问题,确定电路的功能和性能指标。

选择合适的逻辑器件和设计方法,制定详细的设计方案。

2、代码编写使用硬件描述语言(如 Verilog 或 VHDL)编写电路的代码。

遵循代码规范,注重代码的可读性和可维护性。

3、仿真验证在 EDA 工具中对编写的代码进行仿真,输入不同的测试向量,观察输出结果是否符合预期。

数字系统设计 实验报告

数字系统设计 实验报告

数字系统设计实验报告1. 引言数字系统设计是计算机科学与工程中的重要领域之一。

本实验旨在通过设计一个基本的数字系统,深入理解数字系统的原理和设计过程。

本文将按照以下步骤详细介绍实验的设计和实施。

2. 实验目标本实验旨在设计一个简单的数字系统,包括输入、处理和输出三个模块。

具体目标如下: - 设计一个输入模块,用于接收用户的输入数据。

- 设计一个处理模块,对输入数据进行特定的处理。

- 设计一个输出模块,将处理结果展示给用户。

3. 实验设计3.1 输入模块设计输入模块主要用于接收用户的输入数据,并将其传递给处理模块进行处理。

在本实验中,我们选择使用键盘作为输入设备。

具体设计步骤如下: 1. 初始化输入设备,确保能够正确接收用户输入。

2. 设计输入缓冲区,用于存储用户输入的数据。

3. 实现输入函数,将用户输入的数据存储到输入缓冲区中。

3.2 处理模块设计处理模块是数字系统的核心部分,负责对输入数据进行特定的处理。

在本实验中,我们选择设计一个简单的加法器作为处理模块。

具体设计步骤如下: 1. 定义输入数据的格式和表示方法。

2. 实现加法器的逻辑电路,可以通过使用逻辑门和触发器等基本组件来完成。

3. 设计加法器的控制电路,用于控制加法器的运算过程。

4. 验证加法器的正确性,可以通过给定一些输入数据进行测试。

3.3 输出模块设计输出模块用于将处理结果展示给用户。

在本实验中,我们选择使用显示器作为输出设备。

具体设计步骤如下: 1. 初始化输出设备,确保能够正确显示处理结果。

2. 设计输出缓冲区,用于存储待显示的数据。

3. 实现输出函数,将输出数据从输出缓冲区中传输到显示器上。

4. 实验实施4.1 输入模块实施根据3.1节中的设计步骤,我们首先初始化输入设备,然后设计输入缓冲区,并实现相应的输入函数。

4.2 处理模块实施根据3.2节中的设计步骤,我们定义输入数据的格式和表示方法,然后实现加法器的逻辑电路和控制电路。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

数字系统的设计与实验
实验报告
Document serial number【UU89WT-UU98YT-UU8CB-UUUT-UUT108】
数字系统的设计与实验学院:
专业:
班级:
学号:
姓名
指导老师
2013 年12月 10 日
实验一原码反码发生器
一实验目的:
1、掌握组合逻辑电路的基本设计方法。

2、学习波形仿真的方法。

3、加深对最简单的二进制原码、反码的理解,灵活运用基本的逻辑门。

二实验内容
1、设计的电路应具备以下功能:
A.包含如下端口:
一个选择信号端口,一个8位二进制输入端口,一个原码/反码输出端口。

B. 选择信号的逻辑状态为0时输出原码;逻辑状态为1时输出反码。

2、完成电路设计。

3、对设计的正确性进行验证。

三实验要求
1、列出所要实现的功能的真值表。

2、画出电路的逻辑图。

3、编写用VHDL语言描述的源程序。

library ieee;
use shiyan1 is
port (cin : in std_logic_vector(7 downto 0);
fin : in std_logic;
cout: out std_logic_vector(7 downto 0));
end shiyan1;
architecture behave of shiyan1 is
begin
process(fin)
begin
case fin is
when '1' => cout <= not cin;
when '0' => cout <= cin;
when others => null;
end case;
end process;
end behave;
4、在MAX 软件平台上完成编译和功能仿真。

一、信号端口为0时
二、信号端口为1
总结:经过上个实验后,对maxplu件有了一定了解,对于 VHDL也更加熟悉,首先构造真值表,画出逻辑电路图,然后编写程序生成仿真波形图。

在编写程序的时候也出现了一些错误,比如是将单个字符用双引号,结果编译通不过。

老是报错。

后来才检查出来。

实验二4舍5入电路
一实验目的:
1、掌握组合逻辑电路的基本设计方法。

2、熟练运用真值表。

二实验内容
1、设计的电路应具备以下功能:
A.包含如下端口:
一个4位二进制输入端口,一个进位输出端口。

B. 即当输入的数X大于或等于5时,进位输出端口输出F为1,反之,输出为0。

2、完成电路设计。

3、对设计的正确性进行验证。

三实验要求
1、编写用VHDL语言描述的源程序。

library ieee;
use shiyan2 is
port (cin : in std_logic_vector(3 downto 0);
f : out std_logic);
end shiyan2;
architecture behave2 of shiyan2 is
begin
process(cin)
begin
case cin is
when "0000" => f <= '0';
when "0001" => f <= '0';
when "0010" => f <= '0';
when "0011" => f <= '0';
when "0100" => f <= '0';
when "0101" => f <= '1';
when "0110" => f <= '1';
when "0111" => f <= '1';
when "1000" => f <= '1';
when "1001" => f <= '1';
when others => null;
end case;
end process;
end behave2;
2、在MAX 软件平台上完成编译和功能仿真。

电路逻辑图如下:
仿真结果如下:
总结:根据提示中的真值表确定输入输出接口,编写程序实现仿真,便得到了以上的波形图,首先很容易知道,当输入的数大于等于5时就要进位,二F输出端便代表的是进位,因此F的取值只有0和1
实验三四—十六译码器
一实验目的:
1、掌握组合逻辑电路的基本设计方法。

2、熟练运用VHDL语言的顺序语句和并发语句。

3、熟练运用MAX软件提供的仿真功能。

二实验内容
1、设计的电路应具备以下功能:
A.包含如下端口:
一个使能信号输入端口,四个选择信号输入端口,十六个驱动信号输出端口。

B.当使能信号为高电平时,对于四个选择信号组成的任意一组状态,十六个驱动信号中有一个且仅有一个有效的高电平输出。

当使能信号为低电平时,十六个驱动信号全部输出低电平。

2、完成电路设计。

3、对设计的正确性进行验证。

三实验要求
1、编写用VHDL语言描述的源程序
library ieee;
use shiyan3 is
port (G : in std_logic;
A : in std_logic_vector(3 downto 0);
Y : out std_logic_vector(15 downto 0));
end shiyan3;
architecture behave3 of shiyan3 is
begin
process(G, A)
begin
for i in 0 to 15 loop
Y(i) <= '0';
end loop;
if(G='1') then
case A is
when "0000" => Y(0) <= '1';
when "0001" => Y(1) <= '1';
when "0010" => Y(2) <= '1';
when "0011" => Y(3) <= '1';
when "0100" => Y(4) <= '1';
when "0101" => Y(5) <= '1';
when "0110" => Y(6) <= '1';
when "0111" => Y(7) <= '1';
when "1000" => Y(8) <= '1';
when "1001" => Y(9) <= '1';
when "1010" => Y(10) <= '1';
when "1011" => Y(11) <= '1';
when "1100" => Y(12) <= '1';
when "1101" => Y(13) <= '1';
when "1110" => Y(14) <= '1';
when "1111" => Y(15) <= '1';
when others => null;
end case;
else
for i in 0 to 15 loop
Y(i) <= '0';
end loop;
end if;
end process;
end behave3;
2、在MAX 软件平台上完成编译和功能仿真。

电路逻辑图如下:
仿真效果如下:
总结:我是参照三八译码器来设计的,先构造真值表,然后编写程序,程序在编译的时候遇到了特别多的错误,不过经过调试也成功的生成了正确的波形图。

加深了对VHDl的了解,和对maxplus的认识。

相关文档
最新文档