实验报告课程名称EDA原理及应用实验名称十进制计数器实验类型验证学时2系别专业年级班别级班开出学期第期学生姓名学号实验教师成绩编号年月日重庆三峡学院实验报告纸2一、实验目的1.熟悉数码管的工作原理;2.熟悉D触发器的工作原理;二、实验内容用VHDL语言设计一个带有异步复位和同步加载功能的十进制加法计算器:1.用VHDL语言编辑;2.生成波形仿真;3.熟悉分析芯片管脚的操作过程;4.下载到试验箱进行仿真。三、实验过程、步骤及结果一.学习D触发器:D触发器模块图D触发器时序波形图由D触发器模块图可知:D触发器两个输入信号,一个是时钟信号(CLK),一个是输入信号(D);一个输出信号(Q)。由D触发器时序波形图可知:当CLK为上升沿的时候,输出D对应的状重庆三峡学院实验报告纸3态(0或1),直到下一个上升沿。二.基本时序元件的VHDL表述:时钟信号的上升沿描述:clock’eventandclock=‘1’;时钟信号的下降沿描述:clock’eventandclock=‘0’;三.编写程序:LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_ARITH.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYjishuqiisPORT(CLR,EN,CLK:INSTD_LOGIC;JinWein:OUTSTD_LOGIC;SEGOUT:OUTSTD_LOGIC_VECTOR(7DOWNTO0);--SEG7DisplayO/PSELOUT:OUTSTD_LOGIC_VECTOR(7DOWNTO0);--SelectSEG7O/PQ:bufferSTD_LOGIC_VECTOR(3DOWNTO0);--重庆三峡学院实验报告纸4NumberDisplaySignalM:OUTSTD_LOGIC_VECTOR(3DOWNTO0));ENDjishuqi;ARCHITECTUREaOFjishuqiISSIGNALCO:STD_LOGIC;BEGINM=0010;SELOUT=11111110;PROCESS(clk)BEGINIF(CLK'eventandCLK='1')THENIF(CLR='1')THENQ=0000;ELSIF(EN='1')THENIF(Q=1001)THENQ=0000;ELSEQ=Q+1;ENDIF;ENDIF;ENDIF;ENDPROCESS;重庆三峡学院实验报告纸5JINWein='1'whenEN='1'andQ=1001else'0';PROCESS(Q)--数码管的段选BEGINCASEQISwhen0000=SEGOUT=00111111;--0when0001=SEGOUT=00000110;--1when0010=SEGOUT=01011011;--2when0011=SEGOUT=01001111;--3when0100=SEGOUT=01100110;--4when0101=SEGOUT=01101101;--5when0110=SEGOUT=01111101;--6when0111=SEGOUT=00000111;--7when1000=SEGOUT=01111111;--8when1001=SEGOUT=01101111;--9whenothers=NULL;ENDCASE;ENDPROCESS;ENDa;四.绘制波形并仿真:重庆三峡学院实验报告纸61.当时钟信号(CLK)为高电平,且CLR也为高电平时,计数清0,并重新开始计数;2.当使能信号EN为低电平的时候,保持;3.当Q值等于9时,jinwei信号发生一次翻转,表示进位一次。4.显示4,数码管编码为:01100110五:分配管脚:1.添加管脚信息,选择【Assignments】→【PinPlanner】,为每个节点分配引脚;或者点击快捷方式进行管脚分配。重庆三峡学院实验报告纸72.将未分配的管脚置为三态输入:【Assignments】→【Device…】→【Device】→【Device&PinOptions…】→【UnusedPins】→【Reserveallunusedpins:ASinputtri-stated】。四、实验总结1.通过本次实验了解十进制同步加载、异步复位计数器的工作原理:A.时钟信号(CLK)为上升沿时,计数一次;B.十进制数计数0~9,满9进1;2.D触发器是CMOS数字集成电路单元中时序逻辑电路中的重要组成部分之一;D触发器属于时钟控制触发,时钟信号为高电平时触发器改变输出状态。3.当时钟信号(CLK)为高电平,且CLR也为高电平时,计数清0,CLR是高电平清0还是低电平清0是由程序指定;4.当使能信号EN为低电平的时候,保持;EN是高电平还是低电平保持是由程序指定;