电子设计自动化实验指导书.doc

上传人:仙人指路1688 文档编号:4150180 上传时间:2023-04-07 格式:DOC 页数:26 大小:437.50KB
返回 下载 相关 举报
电子设计自动化实验指导书.doc_第1页
第1页 / 共26页
电子设计自动化实验指导书.doc_第2页
第2页 / 共26页
电子设计自动化实验指导书.doc_第3页
第3页 / 共26页
电子设计自动化实验指导书.doc_第4页
第4页 / 共26页
电子设计自动化实验指导书.doc_第5页
第5页 / 共26页
点击查看更多>>
资源描述

《电子设计自动化实验指导书.doc》由会员分享,可在线阅读,更多相关《电子设计自动化实验指导书.doc(26页珍藏版)》请在三一办公上搜索。

1、目 录实验一:VHDL组合逻辑电路设计3实验二:VHDL时序逻辑电路设计10实验三:VHDL下状态机电路设计12实验四:简易数字频率计设计14实验五:交通灯信号控制器设计17实验六:电子密码锁19实验一:VHDL组合逻辑电路设计一、实验目的1、熟悉QuartusII软件的使用,熟练进行程序输入、综合、仿真。2、熟悉实验箱硬件资源的使用,熟练进行引脚锁定和硬件测试,掌握EDA技术设计流程,掌握数字逻辑电路设计的方法;3、学习简单数字逻辑电路的设计、仿真和硬件测试。二、实验内容1、设计四选一多路选择器,利用QuartusII软件完成程序输入、综合和仿真验证,给出仿真波形并进行结果分析。2、利用GW

2、48 EDA实验系统完成硬件测试,验证本项目设计的功能,记录引脚设置和测试结果。三、实验原理、方法和手段多路选择器可以从多组数据源中选取一组送入目的地,应用相当广泛,从组合逻辑的执行到数据路径的选择,经常可以看到它的踪影。多路选择器的结构是个输入数据对应N个数据输出选择控制线和一个输出线。在VHDL中描述一个多路选择器的方法有多种,例如:在一个进程中使用if-then-else语句;在一个进程中使用case语句;使用选择信号带入语句或条件信号代入语句(when-else语句)。推荐使用when-else语句,如:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;

3、USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY MUX41 IS PORT (DATA0, DATA1, DATA2, DATA3: IN STD-LOGIC_VECTOR (3 DOWNTO 0); A, B: IN STD_LOGIC; Y: OUT STD-LOGIC_VECTOR (3 DOWNTO 0)END ENTITY MUX41 ARCHITECTURE ART OF MUX41 ISSIGNAL SEL: STD_LOGIC_VECTOR (1 DOWNTO 0);BEGIN SEL=B&A;Y0) ; -计数 器异步复位 ELSIF CLKEV

4、ENT AND CLK=1 THEN -检测时钟上升沿IF EN = 1 THEN -检测是否允许计数(同步使能) IF CQI 0); -大于9, 计数值清零 END IF; END IF; END IF; IF CQI = 9 THEN COUT = 1; -计数大于9,输出进位信号 ELSE COUT = 0; END IF; CQ = CQI; -将计数值向端口输出 END PROCESS;END behav; 两位十进制计数器可由2个十进制计数器级联构成,个位计数器的进位输出信号作为十位计数器的时钟驱动信号即可。数字时钟实际上是对一个标准1Hz秒脉冲信号进行计数的计数器,秒计数器满6

5、0后向分计数器进位,分计数器满60后向时计数器进位,时计数器按24进制计数器规律计数,各计数器的数值经译码器送LED显示。提示:分别设计带清零和时钟控制的2个模60计数器和1个模24计数器,按照串行进位的关系连接即可实现一个简易的数字时钟;五、实验条件1、提供一台具有WINDOWS 2000/XP操作系统的计算机;2、提供QuartusII软件开发环境。六、实验步骤 操作步骤参见实验一,这里不在详述。七、思考题 60/24进制的2位数十进制计数器除了用2个一位数十进制计数器串接实现之外,怎样用其他方法实现?八、实验报告撰写要求1、撰写实验预习报告,包含实验目的、实验内容,并根据实验内容撰写相关

6、的实验原理和实验程序;完成思考题。以备实验前检查。2、记录仿真波形,完成仿真结果的详细分析。3、整理硬件测试记录,验证本项目的功能。4、撰写实验心得,简述在实验过程中出现的问题,是何原因以及如何解决的。实验三:VHDL下状态机电路设计一、实验目的1、进一步熟悉序列检测器的原理;2、学习用状态机实现序列检测器的设计,掌握一般状态机的设计与应用;3、进一步熟悉QuartusII的使用,掌握多层次电路的设计、仿真和硬件测试。二、实验内容 1、设计一个序列检测器,检测“11100101”序列,给出设计方案(包括状态图)和源程序,完成软件仿真和硬件测试。2、 利用实验系统中ADC0809芯片,用状态机方

7、式实现数据采集。LIBRARY IEEE ;USE IEEE.STD_LOGIC_1164.ALL;ENTITY SCHK IS PORT(DIN,CLK,CLR : IN STD_LOGIC; -串行输入数据位/工作时钟/复位信号 AB : OUT STD_LOGIC_VECTOR(3 DOWNTO 0); -检测结果输出END SCHK;ARCHITECTURE behav OF SCHK IS SIGNAL Q : INTEGER RANGE 0 TO 8 ; SIGNAL D : STD_LOGIC_VECTOR(7 DOWNTO 0); -8位待检测预置数(密码=E5H)BEGIN

8、D = 11100101 ; -8位待检测预置数 PROCESS( CLK, CLR ) BEGIN IF CLR = 1 THEN Q IF DIN = D(7) THEN Q = 1 ; ELSE Q IF DIN = D(6) THEN Q = 2 ; ELSE Q IF DIN = D(5) THEN Q = 3 ; ELSE Q IF DIN = D(4) THEN Q = 4 ; ELSE Q IF DIN = D(3) THEN Q = 5 ; ELSE Q IF DIN = D(2) THEN Q = 6 ; ELSE Q IF DIN = D(1) THEN Q = 7 ;

9、ELSE Q IF DIN = D(0) THEN Q = 8 ; ELSE Q Q = 0 ; END CASE ; END IF ; END PROCESS ; PROCESS( Q ) -检测结果判断输出 BEGIN IF Q = 8 THEN AB = 1010 ; -序列数检测正确,输出 “A” ELSE AB MR=0;MY=0; MG=1;BR=1;BY=0;BG=0;IF(SB AND SM)=1THENIF S=45 THEN STATE=B;CLR:=0;EN:=0;ELSE STATE=A;CLR:=1;EN:=1;END IF;ELSIF(SB AND (NOT SM)

10、=1THEN STATE=B;CLR:=0;EN:=0;ELSE STATEMR=0;MY=1;MG=0;BR=1;BY=0;BG=0;IF S=5 THEN STATE=C;CLR:=0;EN:=0;ELSE STATEMR=1;MY=0;MG=0; BR=0;BY=0;BG=1;IF(SM AND SB)=1THENIF S=25 THEN STATE=D;CLR:=0;EN:=0;ELSE STATE=C;CLR:=1;EN:=1;END IF;ELSIF SB=0THEN STATE=D;CLR:=0;EN:=0;ELSE STATEMR=1;MY=0; MG=0;BR=0;BY=1;

11、BG=0;IF S=5 THEN STATE=A;CLR:=0;EN:=0;ELSE STATE=D;CLR:=1;EN:=1;END IF;END CASE;END IF;END PROCESS CNT;END ARCHITECTURE ART;5s计时器程序LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY CNT05S ISPORT(CLK, EN05M, EN05B: IN STD_LOGIC; DOUT5: OUT STD_LOGIC_VECTOR(7 DOWNTO 0);EN

12、D ENTITY CNT05S;ARCHITECTURE ART OF CNT05S ISSIGNAL CNT3B: STD_LOGIC_VECTOR(2 DOWNTO 0);BEGINPROCESS(CLK,EN05M,EN05B) ISBEGINIF(CLKEVENT AND CLK=1)THENIF EN05M=1 OR EN05B=1 THENCNT3B=CNT3B+1;ELSECNT3BDOUT5DOUT5DOUT5DOUT5DOUT5DOUT5=00000000;END CASE;END PROCESS;END ARCHITECTURE ART;45s计时器程序LIBRARY IE

13、EE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY CNT45S ISPORT(SB,CLK,EN45:IN STD_LOGIC; DOUT45M,DOUT45B: OUT STD_LOGIC_VECTOR(7 DOWNTO 0);END ENTITY CNT45S;ARCHITECTURE ART OF CNT45S ISSIGNAL CNT6B: STD_LOGIC_VECTOR(5 DOWNTO 0);BEGINPROCESS(SB, CLK, EN45)ISBEGINIF SB=0 THEN CNT

14、6B=CNT6B-CNT6B-1;ELSIF(CLKEVENT AND CLK=1)THENIF EN45=1THEN CNT6B=CNT6B+1;ELSIF EN45=0THEN CNT6BDOUT45M=01000101;DOUT45BDOUT45M=01000100;DOUT45BDOUT45M=01000011;DOUT45BDOUT45M=01000010;DOUT45BDOUT45M=01000001;DOUT45BDOUT45M=01000000;DOUT45BDOUT45M=00111001;DOUT45BDOUT45M=00111000;DOUT45BDOUT45M=0011

15、0111;DOUT45BDOUT45M=00110110;DOUT45BDOUT45M=00110101;DOUT45BDOUT45M=00110100;DOUT45BDOUT45M=00110011;DOUT45BDOUT45M=00110010;DOUT45BDOUT45M=00110001;DOUT45BDOUT45M=00110000;DOUT45BDOUT45M=00101001;DOUT45BDOUT45M=00101000;DOUT45BDOUT45M=00100111;DOUT45BDOUT45M=00100110;DOUT45BDOUT45M=00100101;DOUT45B

16、DOUT45M=00100100;DOUT45BDOUT45M=00100011;DOUT45BDOUT45M=00100010;DOUT45BDOUT45M=00100001;DOUT45BDOUT45M=00100000;DOUT45BDOUT45M=00011001;DOUT45BDOUT45M=00011000;DOUT45BDOUT45M=00010111;DOUT45BDOUT45M=00010110;DOUT45BDOUT45M=00010101;DOUT45BDOUT45M=00010100;DOUT45BDOUT45M=00010011;DOUT45BDOUT45M=0001

17、0010;DOUT45BDOUT45M=00010001;DOUT45BDOUT45M=00010000;DOUT45BDOUT45M=00001001;DOUT45BDOUT45M=00001000;DOUT45BDOUT45M=00000111;DOUT45BDOUT45M=00000110;DOUT45BDOUT45M=00000101;DOUT45BDOUT45M=00000100;DOUT45BDOUT45M=00000011;DOUT45BDOUT45M=00000010;DOUT45BDOUT45M=00000001;DOUT45BDOUT45M=00000000;DOUT45B

18、=00000000;END CASE;END PROCESS;END ARCHITECTURE ART;60s计时器程序LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY CNT25S ISPORT(SB,SM,CLK,EN25: IN STD_LOGIC; DOUT25M,DOUT25B: OUT STD_LOGIC_VECTOR(7 DOWNTO 0);END ENTITY CNT25S;ARCHITECTURE ART OF CNT25S ISSIGNAL CNT5B: STD_L

19、OGIC_VECTOR(4 DOWNTO 0);BEGINPROCESS(SB,SM,CLK,EN25) ISBEGINIF SB=0 OR SM=0 THENCNT5B=CNT5B-CNT5B-1;ELSIF(CLKEVENT AND CLK=1)THENIF EN25=1THENCNT5B=CNT5B+1;ELSIF EN25=0THENCNT5BDOUT25B=00100101;DOUT25MDOUT25B=00100100;DOUT25MDOUT25B=00100011;DOUT25MDOUT25B=00100010;DOUT25MDOUT25B=00100001;DOUT25MDOUT25B=00100000;DOUT25MDOUT25B=00011001;DOUT25MDOUT25B=00011000;DOUT25MDOUT25B=00010111;DOUT25M=0010

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号