《数字系统设计》实验报告
- 格式:docx
- 大小:1.05 MB
- 文档页数:10
》数字系统设计与PLD应用实验报告****************实验一、高速并行乘法器的设计一、算法设计和结构选择本高速并行乘法器采用一下算法:被乘数A的数值位左移,它和乘数B的各个数值位所对应的部分进行累加运算。
且用与门、4位加法器来实现,其电路结构如下图一所示,图中Ps=As⊕Bs,用以产生乘积的符号位。
图一并行4位二进制乘法器的电路结构图二、设计输入|本实验选择Altera公司的FLEX器件中的FLEX10K10芯片,并用QuartusII 软件进行设计,采用原理图输入方式。
图形输入文件如下图二所示。
图二高速并行乘法器的图形输入文件三、逻辑仿真建立高速并行乘法器的原理图输入文件之后,将文件编译,待编译成功后进行时序仿真,仿真结果如下图三。
图三高速并行乘法器仿真结果实验二、十字路口交通管理器的设计…一、交通管理器的功能该管理器控制甲、乙两道的红、黄、绿三色灯,指挥车辆和行人安全通行。
交通管理器示意图如下图四所示。
图中R1、Y1、G1是甲道红、黄、绿灯;R2、Y2、G2是乙道红、黄、绿灯。
图四十字路口交通管理器示意图该交通管理器由控制器和受其控制的三个定时器及六个交通管理灯组成。
图四中三个定时器分别确定甲道和乙道通行时间t3、t1,以及公共的停车(黄灯燃亮)时间t2。
这三个定时器采用以秒信号为时钟的计数器来实现,C1、C2、C3为1时,相应的定时器计数,W1、W2、W3为定时计数器的指示信号,计数器在计数过程中,相应的指示信号为0,计数结束时为1.二、系统算法设计十字路口交通管理器是一个控制类型的数字系统,其数据处理单元较简单。
其工作流程图如下图五。
…图五交通管理器工作流程图三、设计输入本设计采用分层次描述方式,且用图形输入和文本输入混合方式建立描述文件。
下图六即为其图形输入文件。
它用框图方式表明系统的组成:控制器和三个各为模26、模5和模30的定时计数器,并给出它们之间的互连关系。
图六交通管理器顶层图形输入文件在顶层图形输入文件中的各模块,其功能用第二层次VHDL源文件描述如下:控制器Control源文件LIBRARY IEEE;'USE traffic_control ISPORT(clk :IN STD_LOGIC;c1,c2,c3 :OUT STD_LOGIC;w1,w2,w3: IN STD_LOGIC;r1,r2: OUT STD_LOGIC;y1,y2: OUT STD_LOGIC;g1,g2: OUT STD_LOGIC;<reset: IN STD_LOGIC);END traffic_control;ARCHITECTURE a OF traffic_control ISTYPE STATE_SPACE IS(S0,S1,S2,S3);SIGNAL state:STATE_SPACE;BEGINGPROCESS(reset,clk)BEGIN$IF reset='1'THENstate<=S0;ELSIF(clk'EVENT AND clk='1')THENCASE state ISWHEN S0=>IF w1='1'THENstate<=S1;END IF;¥WHEN S1=>IF w2='1'THENstate<=S2;END IF;WHEN S2=>IF w3='1'THENstate<=S3;END IF;|WHEN S3=>IF w2='1'THENstate<=S0;END IF;END CASE;END IF;END PROCESS;c1<='1' WHEN state=S0 ELSE'0';[c2<='1' WHEN state=S1 OR state=S3 ELSE'0'; c3<='1' WHEN state=S2 ELSE'0';r1<='1' WHEN state=S1 OR state=S0 ELSE'0'; y1<='1' WHEN state=S3 ELSE'0';g1<='1' WHEN state=S2 ELSE'0';r2<='1' WHEN state=S2 OR state=S3 ELSE'0'; y2<='1' WHEN state=S1 ELSE'0';g2<='1' WHEN state=S0 ELSE'0';@END a;三个计数器的源文件LIBRARY IEEE;USE count30 ISPORT(clk :IN STD_LOGIC;enable :IN STD_LOGIC;c :OUT STD_LOGIC);!END count30;ARCHITECTURE a OF count30 ISBEGINPROCESS(clk)VARIABLE cnt:INTEGER RANGE 30 DOWNTO 0; BEGINIF(clk'EVENT AND clk='1')THENIF enable='1'AND cnt<30 THEN《cnt:=cnt+1;ELSEcnt:=0;END IF;END IF;IF cnt=30 THENC<='1';ELSE:C<='0';END IF;END PROCESS;END a;LIBRARY IEEE;USE count05 ISPORT(·clk :IN STD_LOGIC;enable :IN STD_LOGIC;c :OUT STD_LOGIC);END count05;ARCHITECTURE a OF count05 ISBEGINPROCESS(clk)VARIABLE cnt:INTEGER RANGE 5 DOWNTO 0; $BEGINIF(clk'EVENT AND clk='1')THENIF enable='1'AND cnt<5 THENcnt:=cnt+1;ELSEcnt:=0;END IF;END IF;#IF cnt=5 THENC<='1';ELSEC<='0';END IF;END PROCESS;END a;:LIBRARY IEEE;USE count26 ISPORT(clk :IN STD_LOGIC;enable :IN STD_LOGIC;c :OUT STD_LOGIC);END count26;ARCHITECTURE a OF count26 IS~BEGINPROCESS(clk)VARIABLE cnt:INTEGER RANGE 26 DOWNTO 0; BEGINIF(clk'EVENT AND clk='1')THENIF enable='1'AND cnt<26 THENcnt:=cnt+1;ELSE!cnt:=0;END IF;END IF;IF cnt=26 THENC<='1';ELSEC<='0';END IF;—END PROCESS;END a;四、逻辑仿真编译器将顶层图形输入文件和第二层次功能块VHDL输入文件相结合并编译,确定正确无误后,即可经设计处理产生交通管理器的目标文件。
西南科技大学实验报告现代数字系统设计实验题目:直流电机的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。
数字系统设计综合实验报告1)实验目的复习加法器的分类及工作原理。
掌握用图形法设计半加器的方法。
掌握用元件例化法设计全加器的方法。
掌握用元件例化法设计多位加法器的方法。
掌握用Verilog HDL语言设计多位加法器的方法。
学习运用波形仿真验证程序的正确性。
学习定时分析工具的使用方法。
2)实验原理加法器是能够实现二进制加法运算的电路,是构成计算机中算术运算电路的基本单元。
目前,在数字计算机中,无论加、减、乘、除法运算,都是化为若干步加法运算来完成的。
加法器可分为1位加法器和多位加法器两大类。
1位加法器有可分为半加器和全加器两种,多位加法器可分为串行进位加法器和超前进位加法器两种。
半加器如果不考虑来自低位的进位而将两个1位二进制数相加,称半加。
实现半加运算的电路则称为半加器。
若设A和B是两个1位的加数,S是两者相加的和,C是向高位的进位。
则由二进制加法运算规则可以得到。
全加器在将两个1位二进制数相加时,除了最低位以外,每一位都应该考虑来自低位的进位,即将两个对应位的加数和来自低位的进位三个数相加,这种运算称全加。
实现全加运算的电路则称为全加器。
若设A、B、CI分别是两个1位的加数、来自低位的进位,S是相加的和,C是向高位的进位。
则由二进制加法运算规则可以得到:3)实验内容及步骤用图形法设计半加器,仿真设计结果。
用原件例化的方法设计全加器,仿真设计结果用原件例化的方法设计一个4为二进制加法器,仿真设计结果,进行定时分析。
用Verilog HDL语言设计一个4为二进制加法器,仿真设计结果,进行定时分析。
分别下载用上述两种方法设计4为加法器,并进行在线测试。
4)设计1)用图形法设计的半加器,如下图1所示,由其生成的符号如图2所示。
2)用元件例化的方法设计的全加器如图3所示,由其生成的符号如图4所示。
图三:图四:5)全加器时序仿真波形如图下图所示6)心得体会:第一次做数字系统设计实验,老师给我们讲了用图形法设计的全过程。
数字系统设计综合实验报告序列检测器姓名康丽娟学号 1010406028系别物理与信息工程系班级通信六班2012年 12月 27 日一.实验目的:脉冲序列检测器在现代数字通信系统中发挥着重要的作用,通过中小规模的数字集成电路构成的传统脉冲序列检测器电路往往存在电路设计复杂,体积大,抗干扰能力差以及设计困难、设计周期长等缺点。
因此脉冲序列检测器电路的模块化、集成化已成为发展趋势.它不仅可以使系统体积减小、重量减轻且功耗降低,同时可使系统的可靠性大大提高。
随着电子技术的发展,特别是专用集成电路(ASIC)设计技术的日趋完善,数字化的电子自动化设计(EDA)工具给电子设计带来了巨大变革,尤其是硬件描述语言的出现,解决了传统电路原理图设计系统工程的诸多不便。
随着ASIC技术、EDA技术的不断完善和发展以及VHDL、HDL等通用性好、移植性强的硬件描述语言的普及,FPGA等可编程逻辑器件必将在现代数字应用系统中得到广泛的应用,发挥越来越重要的作用。
在这种背景下,针对大规模可编程逻辑器件FPGA器件的集成度高、工作速度快、编程方便、价格较低,易于实现设备的可编程设计的特点,用硬件描述语言设计FPGA器件来实现脉冲序列检测器。
应用可编程逻辑器件FPGA,来完成高速采编器的功能,具有速度更快、可靠性更高、调试方便的优点,而且电路简单,体积更小,利用VHDL开发的脉冲序列检测器,其通用性和基于模块的设计方法可以节省大量的人力,大大地缩短设计周期,在工程应用中已经取得了显著的效果。
可见,基于FPGA的脉冲序列检测器的设计是现代数字通信的发展要求,从而使得其具有更好的发展前景和使用价值。
二.实验原理序列检测器是一种重要的时序功能部件,他在数据通信,雷达和遥测等领域中用于检测同步识别标志。
更具体说,它是用一组用来检测一组一定长度的序列信号的电路。
本实验设计长度为5的11010序列检测器,其含义是是电路收到一组串行的11010信息后,输出标志Z 在最后一位的有效码到来时输出为1,否则Z输出为0,且序列可以重复使用。
实验三基于状态机的交通灯控制地点: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位寄存器:生成图元:五、实验总结:通过本次实验, 学习了解累加器工作原理, 了解多层次结构的设计思路, 学会综合应用原理图和文本相结合的设计方法。
计算机科学与技术学院数字系统设计实验报告姓名:学号:专业:班级:指导教师:2011年11月徐州实验4-1 组合电路的设计实验目的:熟悉Quartus 2的 VHDL 文本设计流程全过程,学习简单组合电路的设计,多层次电路的设计、仿真和硬件测试。
实验内容:1.首先利用Quartus 2 完成2选1 多路选择器的文本编辑输入和仿真测试等步骤,给出仿真波形。
最后在实验系统上进行硬件测试,验证本项设计的功能。
2.将此多路选择器看成是一个元件mux21a,利用元件例化语句描述,并将此文件放在同一目录中。
任务一:1.程序代码ENTITY mux21a ISPORT (a,b,s:IN BIT;y:OUT BIT );END ENTITY mux21a;ARCHITECTURE one OF mux21a ISBEGINPROCESS(a,b,s)BEGINIF s='0' THEN y<=a;ELSE y<=b;END IF;END PROCESS;END ARCHITECTURE one;2.编译3.时序仿真4.观察RTL电路任务二:1.程序代码entity MUXK ISPORT (a1,a2,a3,s1,s0: in bit;outy:out bit);end entity MUXK;ARCHITECTURE one of MUXK ISCOMPONENT mux21aport (a,b,s:in bit;y:out bit);end component;signal tmp: bit;beginu1:mux21a port map(a=>a2,b=>a3,s=>s0,y=>tmp);u2:mux21a port map(a=>a1,b=>tmp,s=>s1,y=>outy);end architecture one;2.编译3.波形图4.观察RTL电路实验体会:通过这次实验,对vhdl文本设计流程有了初步的了解,对组合电路的原理和构成有了更深的认识。
一、实验目的1. 熟悉数字系统设计的基本流程和方法;2. 掌握数字系统硬件描述语言(如Verilog)的基本语法和设计方法;3. 培养动手实践能力,提高数字系统设计水平;4. 了解数字系统设计中常用模块的功能和实现方法。
二、实验内容1. 数字系统硬件描述语言(Verilog)编程2. 数字系统模块设计3. 数字系统仿真与调试三、实验步骤1. 设计数字系统模块(1)分析数字系统功能需求,确定模块功能;(2)根据模块功能,设计模块的输入输出端口和内部结构;(3)使用Verilog语言编写模块代码。
2. 编写顶层模块(1)根据数字系统功能需求,设计顶层模块的输入输出端口和内部结构;(2)将已设计的模块实例化,连接各模块端口;(3)编写顶层模块代码。
3. 仿真与调试(1)使用仿真工具(如ModelSim)对顶层模块进行仿真;(2)观察仿真波形,分析模块功能是否满足设计要求;(3)根据仿真结果,对模块代码进行修改和优化;(4)重复步骤(2)和(3),直至模块功能满足设计要求。
四、实验结果与分析1. 数字系统模块设计(1)设计了一个4位加法器模块,包括两个4位输入端口、一个4位输出端口和两个进位输出端口;(2)设计了一个2位乘法器模块,包括两个2位输入端口和一个4位输出端口;(3)设计了一个8位存储器模块,包括一个8位输入端口、一个8位输出端口和一个地址输入端口。
2. 顶层模块设计(1)根据功能需求,设计了一个包含加法器、乘法器和存储器的数字系统顶层模块;(2)将已设计的模块实例化,连接各模块端口;(3)编写顶层模块代码。
3. 仿真与调试(1)使用ModelSim对顶层模块进行仿真;(2)观察仿真波形,发现加法器和乘法器功能正常,但存储器模块存在错误;(3)分析存储器模块代码,发现地址输入端口的逻辑关系错误;(4)修改存储器模块代码,重新进行仿真,验证模块功能正确。
五、实验总结1. 通过本次实验,掌握了数字系统设计的基本流程和方法;2. 学会了使用Verilog语言进行数字系统模块设计;3. 培养了动手实践能力,提高了数字系统设计水平;4. 了解数字系统设计中常用模块的功能和实现方法。
数字系统设计及实验实验报告一、实验目的数字系统设计及实验课程旨在让我们深入理解数字逻辑的基本概念和原理,掌握数字系统的设计方法和实现技术。
通过实验,我们能够将理论知识应用于实际,提高解决问题的能力和实践动手能力。
本次实验的具体目的包括: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节中的设计步骤,我们定义输入数据的格式和表示方法,然后实现加法器的逻辑电路和控制电路。
交通灯控制电路摘要在一个交通繁忙的十字路口,没有交通灯来控制来往车辆和行人的通行,假设也没有交警,那会发生什么事情呢?后果是难以想象的,可能会陷入一片混乱,甚至瘫痪。
当然我们每个人都不希望这样。
我们作为社会的一员,每人都有责任为它的更加先进和快捷做出力所能及的事情。
我设计的这个交通控制系统可以通过交通灯控制东西方向车道和南北方向车道两条主次交叉道路上的车辆交替运行,用以减少交通事故的发生概率。
并且经过这次实验使得我对电子技术课程内容的理解和掌握有了更深一层的认识,也学会使用半导体元件和集成电路,掌握电子电路的基本分析方法和设计方法,进一步提高分析解决实际问题的综合能力,也为将来的就业或继续深造做好准备。
一、任务在城市道路上的交叉路口一般设置有交通灯,用于管理两条道路通行车辆。
现有一条主干道和一条支干道的汇合点形成十字交叉口,为确保车辆安全、迅速的通行,在交叉路口的每条道上设置一组交通灯,交通灯由红、黄、绿3色组成。
红灯亮表示此通道禁止车辆通过路口;黄灯亮表示此通道未过停车线的车辆禁止通行,已过停车线的车辆继续通行;绿灯亮表示该通道车辆可以通行。
要求设计一交通灯控制电路以控制十字路口两组交通灯的状态转换,指挥车辆安全通行。
指挥车辆安全通行。
设计要求1、基本要求(1)设计一个十字路口交通灯控制电路,要求主干道与支干道交替通行。
主干道通行时,主干道绿灯亮,支干道红灯亮,时间为60秒。
支干道通行时,支干道绿灯亮,主干道红灯亮,时间为30秒。
(2)每次绿灯变红灯时,要求黄灯先亮5秒钟。
此时另一路口红灯也不变。
(3)黄灯亮时,要求黄灯闪烁,频率为1Hz。
2、发挥部分要求在绿灯亮(通行时间内)和红灯亮(禁止通行时间内)均有倒计时显示。
二、设计方案选取与论证1、所选方案的理由:本设计的交通灯控制电路是综合运用了74LS192芯片、7474芯片和NE555芯片等的集成电路。
根据任务要求,用单片机或分立组件来实现是比较容易的,但是由于要求不能使用单片机设计,因此使用数字电路课程里学过的知识,运用它们来设计分析电路。
数字电路与系统设计实验报告学院:班级:姓名:实验一基本逻辑门电路实验一、实验目的1、掌握TTL与非门、与或非门和异或门输入与输出之间的逻辑关系。
2、熟悉TTL中、小规模集成电路的外型、管脚和使用方法。
二、实验设备1、二输入四与非门74LS00 1片2、二输入四或非门74LS02 1片3、二输入四异或门74LS86 1片三、实验内容1、测试二输入四与非门74LS00一个与非门的输入和输出之间的逻辑关系。
2、测试二输入四或非门74LS02一个或非门的输入和输出之间的逻辑关系。
3、测试二输入四异或门74LS86一个异或门的输入和输出之间的逻辑关系。
四、实验方法1、将器件的引脚7与实验台的“地(GND)”连接,将器件的引脚14与实验台的十5V连接。
2、用实验台的电平开关输出作为被测器件的输入。
拨动开关,则改变器件的输入电平。
3、将被测器件的输出引脚与实验台上的电平指示灯(LED)连接。
指示灯亮表示输出低电平(逻辑为0),指示灯灭表示输出高电平(逻辑为1)。
五、实验过程1、测试74LS00逻辑关系(1)接线图(图中K1、K2接电平开关输出端,LED0是电平指示灯)(2)真值表2、测试74LS02逻辑关系(1)接线图(2)真值表3、测试74LS86逻辑关系接线图(1)接线图(2)真值表六、实验结论与体会实验是要求实践能力的。
在做实验的整个过程中,我们首先要学会独立思考,出现问题按照老师所给的步骤逐步检查,一般会检查处问题所在。
实在检查不出来,可以请老师和同学帮忙。
实验二逻辑门控制电路实验一、实验目的1、掌握基本逻辑门的功能及验证方法。
2、掌握逻辑门多余输入端的处理方法。
3、学习分析基本的逻辑门电路的工作原理。
二、实验设备1、基于CPLD的数字电路实验系统。
2、计算机。
三、实验内容1、用与非门和异或门安装给定的电路。
2、检验它的真值表,说明其功能。
四、实验方法按电路图在Quartus II上搭建电路,编译,下载到实验板上进行验证。
(7) 学习定时分析工具的使用方法。
74138 的实验报告数字系统设计综合实验报告 数字系统设计综合实验报告 实验名称 :1 、加法器设计2、编码器设计3、译码器设计4、数据选择器设计5、计数器设计 6、累加器设计 7、交通灯控制器设计班级: 姓名: 学号: 指导老师 :实验 1 加法器设计掌握用 Verilog HDL 语言设计多位加法器的方法。
(6) 学习运用波形仿真验证程序的正确性。
1) 实验目的(1) 复习加法器的分类及工作原理。
(2) 掌握用图形法设计半加器的方法。
(3) 掌握用元件例化法设计全加器的方法。
(4) 掌握用元件例化法设计多位加法器的方法。
(5)2) 实验原理加法器是能够实现二进制加法运算的电路,是构成计算机中算术运算电路的基本单元。
目前,在数字计算机中,无论加、减、乘、除法运算,都是化为若干步加法运算来完成的。
加法器可分为1 位加法器和多位加法器两大类。
1 位加法器有可分为半加器和全加器两种,多位加法器可分为串行进位加法器和超前进位加法器两种。
(1) 半加器如果不考虑来自低位的进位而将两个1 位二进制数相加,称半加。
实现半加运算的电路则称为半加器。
若设A和B是两个1位的加数,S是两者相加的和,C是向高位的进位。
则由二进制加法运算规则可以得到。
(2) 全加器在将两个1 位二进制数相加时,除了最低位以外,每一位都应该考虑来自低位的进位,即将两个对应位的加数和来自低位的进位三个数相加,这种运算称全加。
实现全加运算的电路则称为全加器。
若设A、B、CI分别是两个1位的加数、来自低位的进位,S是相加的和,C是向咼位的进位。
则由二进制加法运算规则可以得到3)(1)(2)(3) 实验内容及步骤用图形法设计半加器,仿真设计结果。
用原件例化的方法设计全加器,仿真设计结果用原件例化的方法设计一个4 为二进制加法器,仿真设计结果,进行定时分析。
(4) 用Verilog HDL 语言设计一个4 为二进制加法器,仿真设计结果,进行定时分析。
PLD与数字系统设计实验报告A组实验四:数字密码锁1 实验要求使用Xilinx公司的Spartan3S 400AN开发板上的相关模块,利用ISE开发软件完成数字密码锁的设计,要求实现如下功能:利用实验板上的4×3小键盘,设计4位密码锁,当输入密码正确时,在液晶屏上显示“OK”,否则,显示“ERROR”,在输入过程中,显示输入的数据个数,当有错误的输入时,显示“ERROR”,当全部输入正确时,才显示OK。
2 实验原理2.1 4×3数字键盘数字键盘又叫行列式键盘。
用带IO口的线组成行列结构,按键设置在行列的交点上。
例如用4×3的行列式结构可以构成12个键的键盘。
实验中所用到的数字键盘原理如图1所示。
图1 4×3数字键盘例如设置此模块的列为输入端口,行为输出端口。
那么在按下某一个键时,该键所在的开关接通,由输入端口向输出端口输出一个有效电平,继而触发其他模块。
2.2 LCD液晶显示模块开发板上使用的是无字库的12864LCD显示器,12864LCD显示模块是由128*64个液晶显示点组成的一个128列*64行的阵列。
每个显示点对应一位二进制数,1表示亮,0表示灭(但实验所用开发板上该模块实际是低电平表示亮、高电平表示灭)。
存储这些点阵信息的RAM称为显示数据存储器。
以下是关于显示屏的一些参数:图2 128*64 LCD控制器结构框图图3 128*64时序图图4 指令功能表图5 初始化指令流程要显示某个图形就是将相应的点阵信息写入到相应的存储单元中。
图形的点阵信息可以由自己设计也可借助字模软件,问题的关键就是显示点在液晶屏上的位置(行和列)与其在存储器中的地址之间的关系。
由于多数液晶显示模块的驱动电路是由一片行驱动器和两片列驱动器构成,所以12864液晶屏实际上是由左右两块独立的64*64液晶屏拼接而成,每半屏有一个512*8 bits显示数据RAM。
左右半屏驱动电路及存储器分别由片选信号CS1和CS2选择。
系统设计实验报告范本
实验名称:系统设计
实验目的:通过系统设计,学习和掌握软件工程的基本原理和方法,提高软件设计和开发能力。
实验内容:
1.需求分析:明确系统功能需求和性能需求,确定系统的输入输出。
2.概要设计:确定系统的主要模块和模块之间的关系,制定模块接口规范。
3.详细设计:对每个模块进行详细设计,包括数据结构、算法、接口设计等。
4.编码实现:根据设计文档进行编码实现,实现各个模块的功能。
5.测试验证:对系统进行功能测试、性能测试、兼容性测试等,确保系统稳定可靠。
实验步骤:
1.需求分析:通过与用户沟通,了解系统的需求和功能,明确系统的输入输出。
2.概要设计:根据需求分析结果,确定系统的主要模块和模块之间的关系,制定模块接口规范。
3.详细设计:对每个模块进行详细设计,包括数据结构、算法、接口设计等。
4.编码实现:根据设计文档进行编码实现,实现各个模块的功能。
5.测试验证:对系统进行功能测试、性能测试、兼容性测试等,确保
系统稳定可靠。
实验结果:
通过本次实验,我深入了解了软件工程的基本原理和方法,掌握了系统设计的流程和方法。
在实践中,我发现需求分析非常重要,只有明确了需求,才能进行有效的设计和开发。
同时,详细设计也非常关键,只有设计好了每个模块,才能保证系统的稳定性和可靠性。
实验总结:
本次实验让我深入了解了系统设计的流程和方法,提高了我对软件工程的认识和理解。
在今后的软件开发中,我将更加注重需求分析和详细设计,确保系统的稳定可靠。
一MAX –plusII及开发系统使用一、实验目的1、熟悉利用MAX-plusⅡ的原理图输入方法设计简单的组合电路2、掌握层次化设计的方法3、熟悉DXT-BⅢ型EDA试验开发系统的使用二、主要实验设备PC 机一台(中档以上配置),DXT-B3 EDA实验系统一台。
三、实验原理数字系统设计系列实验是建立在数字电路基础上的一个更高层次的设计性实验。
它是借助可编程逻辑器件(PLD),采用在系统可编程技术(ISP),利用电子设计自动化软件(EDA),在计算机(PC)平台上进行的。
因为本实验是在计算机平台上进行,因此实验方式,实验手段和实验仪器与传统的实验有很大的区别,主要体现在以下几个方面:1、实验器材集中化,所有实验基本上在一套实验设备上进行。
传统的实验每作完一个实验,实验器材基本上都要变动(个别除外)。
而做本实验时,只要在计算机上把不同的程序输进去,其它步骤所有实验都一致;2、实验耗材极小(基本上没有耗材);3、在计算机上进行,自动化程度高,人机交互性好,修改、验证实验简单;4、下载后,实验结果清晰;5、实验仪器损耗少,维护简单;下面,我们就本套实验设备做一个简单的介绍。
(一)Max+plusⅡ10.0的使用。
1、Max+PlusII软件的安装步骤:第一步:系统要求奔3CPU以上,128M内存以上,4G 以上硬盘,98 操作系统(98或Me操作系统才可以下载,其他操作系统下载必须安装驱动,否则只能仿真,如果大家只进行仿真的话,对系统没要求)第二步:安装点击安装可执行文件进行安装,安装完毕后会弹出一对话框,点击是或否都可以。
第三步:将安装文件夹中的License 文件夹打开,里面有一个License.bat 注册文件,将此文件复制到你的安装目录下(你的安装目录可放在任一个驱动器下,然后建立一个Max10的文件夹,将系统安装在此文件夹中,安装后此文件夹中会有三个文件夹)的任一个文件夹中,要清楚位置。
第四步:注册启动Max+PlusII 软件,可以从开始-->程序-->Altera-->Max+PlusII 打开,也可以建立一个快捷方式在桌面上。
数字系统设计指导老师:孙统风2011年10月实验一组合电路设计一、实验目的熟悉Quartus II的VHDL文本设计流程全过程,学习简单的组合电路的设计、多层次电路设计、仿真和硬件测试。
二、实验内容1.首先利用Quartus II完成2选1多路选择器的文本编辑输入和仿真测试等步骤,给出图3-3所示的仿真波形。
最后在实验系统上进行硬件测试,验证本项设计的功能。
2.将此多路选择器看成是一个元件mux21a,利用元件例化描述图3-31,并将此文件放在同一目录中。
三、实验程序及仿真结果1.2选1多路选择器源程序LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY mux21a ISPORT ( a,b,s: IN BIT;y : OUT BIT);END ENTITY mux21a;ARCHITECTURE one OF mux21a ISBEGINPROCESS(a,b,s)BEGINIF s = '0' THENy <= a; ELSEy <= b;END IF;END PROCESS;END ARCHITECTURE one;RTL图如下:2.元件mux21a源程序LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY MUXK ISPORT (a1,a2,a3,s0,s1:IN STD_LOGIC;y:OUT STD_LOGIC);END ENTITY MUXK;ARCHITECTURE one OF MUXK ISCOMPONENT mux21aPORT(a,b,s:IN STD_LOGIC;y:OUT STD_LOGIC);END COMPONENT;SIGNAL tmp:STD_LOGIC;BEGINU1: mux21a PORT MAP(a=>a2,b=>a3,s=>s0,y=>tmp);U2: mux21a PORT MAP(a=>a1,b=>tmp,s=>s1,y=>y);END ARCHITECTURE one;仿真波形如下:器件RTL电路实验二时序电路的设计一、实验目的熟悉Quartus II的VHDL文本设计过程,学习简单的时序电路的设计、仿真和测试。
二、实验内容1.设计触发器(使用例3-6),给出程序设计、软件编译、仿真分析、硬件测试及详细实验过程。
2.设计锁存器(使用例3-14),同样给出程序设计、软件编译、仿真分析、硬件测试及详细实验过程。
3.只用一个1位二进制全加器为基本元件和一些辅助的时序电路,设计一个8位串行二进制全加器。
提示:此加法器有并/串和串/并移位寄存器各一。
三、实验程序及仿真结果1. 触发器设计源程序LIBRARY IEEE ;USE IEEE.STD_LOGIC_1164.ALL ;ENTITY DFF1 ISPORT (CLK, D : IN STD_LOGIC ;Q :OUT STD_LOGIC);END;ARCHITECTURE bhv OF DFF1 ISSIGNAL Q1 : STD_LOGIC ;BEGINPROCESS (CLK)BEGINIF CLK'EVENT AND CLK ='1'THEN Q1 <= D;END IF;END PROCESS ;Q<=Q1;END bhv;仿真波形如下:仿真分析:从仿真的波形可以看出,当clk 为上升沿时,输出随着输入的变化而变化,即实现了一个D触发器的功能。
2.锁存器设计源程序LIBRARY IEEE ;USE IEEE.STD_LOGIC_1164.ALL ;ENTITY SUO ISPORT (CLK, D : IN STD_LOGIC ;Q :OUT STD_LOGIC);END;ARCHITECTURE bhv OF SUO ISSIGNAL Q1 : STD_LOGIC ;BEGINPROCESS (CLK,D)BEGINIF CLK ='1'THEN Q <= D;END IF;END PROCESS ;END bhv;仿真波形如下:3.八位二进制全加器的设计实验原理:一个8位全加器可以由8个1位全加器构成,加法器间的进位可以串行方式实现,即将地位加法器的进位输出cout与相邻的高位加法器的最低进位输入信号cin想接。
(1)1位二进制全加器实验原理图1位二进制全加器实验仿真图(2)八位全加器实验原理图八位全加器实验仿真图(3)一位二进制全加器实验源程序LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY F_ADDER ISPORT (AIN, BIN, CIN : IN STD_LOGIC;COUT, SUM : OUT STD_LOGIC );END ENTITY F_ADDER;ARCHITECTURE FD1 OF F_ADDER ISCOMPONENT H_ADDER ISPORT (A, B : IN STD_LOGIC;CO, SO : OUT STD_LOGIC );END COMPONENT;SIGNAL D, E, F : STD_LOGIC;BEGINU1 : H_ADDER PORT MAP(A => AIN, B => BIN, CO => D, SO => E);U2 : H_ADDER PORT MAP(A => E, B => CIN, CO => F, SO => SUM);COUT <= D OR F;END ARCHITECTURE FD1;(4)八位二进制全加器源程序LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY PRODUCT_ADDER_SUBTRACTER ISPORT(A,B:IN STD_LOGIC_VECTOR(7 DOWNTO 0);S:OUT STD_LOGIC_VECTOR(8 DOWNTO 0));END;ARCHITECTURE BEHAVIORAL OF PRODUCT_ADDER_SUBTRACTER ISBEGINBEHAVIOR:PROCESS(A,B) ISVARIABLE CARRY_IN:STD_LOGIC;VARIABLE CARRY_OUT:STD_LOGIC;VARIABLE OP2:STD_LOGIC_VECTOR(B'RANGE);BEGINOP2:=B;END IF;FOR INDEX IN 0 TO 7 LOOPCARRY_IN:=CARRY_OUT;S(INDEX)<=A(INDEX) XOR OP2(INDEX)XOR CARRY_IN ;CARRY_OUT:=(A(INDEX)AND OP2(INDEX))OR(CARRY_IN AND (A(INDEX) XOR OP2(INDEX)));END LOOP;S(8)<=A(7) XOR OP2(7) XOR CARRY_OUT;END PROCESS;END;D触发器RTL图锁存器RTL图实验三七段数码显示译码器设计一、实验目的学习七段数码显示译码器设计;学习VHDL的CASE语句应用及多层次设计方法。
二、实验内容说明程序4-6中各语句的含义,以及该例的整体功能。
在Quartus II上对该示例进行编辑、编译、综合、适配、仿真,给出其所有信号的时序仿真波形。
提示:用输入总线的方式给出输入数据的信号仿真数据。
三、实验源程序程序4-6LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY DECL7S ISPORT ( A : IN STD_LOGIC_VECTOR(3 DOWNTO 0); --输入信号LED7S : OUT STD_LOGIC_VECTOR(6 DOWNTO 0) ); --显示数码END;ARCHITECTURE one OF DECL7S ISBEGINPROCESS(A)BEGINCASE A ISWHEN "0000" => LED7S <="0111111";--显示0WHEN "0001" => LED7S <="0000110";--显示1WHEN "0010" => LED7S <="1011011";--显示2WHEN "0011" => LED7S <="1001111";--显示3WHEN "0100" => LED7S <="1100110";--显示4WHEN "0101" => LED7S <="1101101";--显示5WHEN "0110" => LED7S <="1111101";--显示6WHEN "0111" => LED7S <="0000111";--显示7WHEN "1000" => LED7S <="1111111";--显示8WHEN "1001" => LED7S <="1101111";--显示9WHEN "1010" => LED7S <="1110111";--显示AWHEN "1011" => LED7S <="1111100";--显示BWHEN "1100" => LED7S <="0111001";--显示CWHEN "1101" => LED7S <="1011110";--显示DWHEN "1110" => LED7S <="1111001";--显示EWHEN "1111" => LED7S <="1110001";--显示F WHEN OTHERS =>NULL;END CASE;END PROCESS;END;四、仿真波形图及RTL图。