《0-9999的计数器电路的设计.doc》由会员分享,可在线阅读,更多相关《0-9999的计数器电路的设计.doc(13页珍藏版)》请在三一办公上搜索。
1、EDA实验报告实验二: 09999的计数器电路的设计1.实验目的(1)进一步熟悉和掌握Quartus II软件的使用。(2)进一步熟悉和掌握GW48-CK或其他EDA实验开发系统的使用。(3)学习和掌握VHDL进程语句和元件例化语句的使用。2.实验内容设计并调试好一个技术范围为09999的4位十进制计数器电路CNT9999,并用GW48-CK或其他EDA实验开发系统(可选用的芯片为ispLSI 1032E-PLCC84或EPM7128S-PL84或XCS05/XCS10-PLCC84芯片)进行硬件验证。3. 实验条件(1)开发软件:Quartus II8.0。(2)实验设备:GW48-CK E
2、DA实验开发系统。(3)拟用芯片:EPM7128S-PL84。4. 实验设计(1)系统原理框图为了简化设计并便于显示,本计数器电路CNT9999的设计分为两个层次,其中底层电路包括四个十进制计数器模块CNT10,再由这四个模块按照图所示的原理框图构成顶层电路CNT9999。CNT9999电路原理框图(2)VHDL程序计数器CNT9999的底层和顶层电路均采用VHDL文本输入,有关VHDL程序如下。 1)CNT10的VHDL源程序: -CNT10.VHD LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.
3、ALL; ENTITY CNT10 IS PORT(CLK:IN STD_LOGIC; CLR:IN STD_LOGIC; ENA:IN STD_LOGIC; CQ:OUT STD_LOGIC_VECTOR(3 DOWNTO 0); CO:OUT STD_LOGIC); END ENTITY CNT10; ARCHITECTURE ART OF CNT10 IS SIGNAL CQI:STD_LOGIC_VECTOR(3 DOWNTO 0); BEGIN PROCESS(CLK,CLR,ENA)IS BEGIN IF CLR=1THEN CQI=0000; ELSIF CLKEVENT AND
4、 CLK=1THEN IF ENA=1THEN IF CQI=1001THEN CQI=0000; ELSE CQI=CQI+1; END IF; END IF; END IF; END PROCESS; PROCESS(CLK,CQI) IS BEGIN IF CLKEVENT AND CLK=1THEN IF CQI1001THEN CO=0; ELSE CO=1; END IF; END IF; END PROCESS; CQ=CQI;END ARCHITECTURE ART; 2)CNT9999的VHDL源程序: -CNT9999.VHD LIBRARY IEEE; USE IEEE.
5、STD_LOGIC_1164.ALL; ENTITY CNT9999 IS PORT(CLK:IN STD_LOGIC; CLR:IN STD_LOGIC; ENA:IN STD_LOGIC; DOUT:OUT STD_LOGIC_VECTOR(15 DOWNTO 0); END ENTITY CNT9999; ARCHITECTURE ART OF CNT9999 IS COMPONENT CNT10 IS PORT(CLK,CLR,ENA:IN STD_LOGIC; CQ:OUT STD_LOGIC_VECTOR(3 DOWNTO 0); CO:OUT STD_LOGIC); END CO
6、MPONENT CNT10; SIGNAL S0,S1,S2,S3:STD_LOGIC; BEGIN U0:CNT10 PORT MAP(CLK,CLR,ENA,DOUT(3 DOWNTO 0),S0); U1:CNT10 PORT MAP(S0,CLR,ENA,DOUT(7 DOWNTO 4),S1); U2:CNT10 PORT MAP(S1,CLR,ENA,DOUT(11 DOWNTO 8),S2); U3:CNT10 PORT MAP(S2,CLR,ENA,DOUT(15 DOWNTO 12),S3); END ARCHITECTURE ART;(3)仿真波形设置本设计包括两个层次,因
7、此先进行底层的十进制计数器CNT10的仿真,再进行顶层CNT9999的仿真。如图是CNT10仿真输入设置及可能结果估计图。同理可进行CNT9999仿真输入设置及可能结果估计。CNT10的时序仿真结果CNT9999的时序仿真结果5.实验总结通过本次实验,对Quartus II软件的基本操作有了更深层次的认识,并能初步熟练和掌握他的运用。文件名与实体名要相对应,输入源程序时要仔细,时序仿真时,要先保存仿真文件,最后才能对其进行相应地仿真操作。计数动态扫描显示电路1.实验目的(1)学习Quartus II 8.0 软件的基本使用方法。(2)学习GW48-CK EDA实验开发系统的基本使用方法。(3)
8、了解VHDL程序中数据对象、数据类型、顺序语句和并行语句的综合应用。2.实验内容设计并调试一个由两个4位二进制并行加法器级联而成的8位二进制并行加法器。3. 实验内容(1)开发软件:Quartus II 8.0。(2)实验设备:GW48-CK EDA实验开发系统。(3)拟用芯片:EPM7128S-PL84。4. 实验设计 (1)系统原理框图为了简化设计并便于显示,该计数动态扫描显示电路分为两个层次,底层电路包括四个十进制计数器模块CNT10、动态显示控制信号产生模块CTRLS、数据动态显示控制模块DISPLAY等六个模块,再由这六个模块按照图所示的原理图构成顶层电路DTCNT9999。 (2)
9、VHDL程序十进制计数器模块CNT10的VHDL程序见09999的计数器电路,其余两个模块的VHDL程序如下: 1)CTRLS的VHDL源程序 -CTRLS.VHD LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY CTRLS IS PORT(CLK:IN STD_LOGIC; SEL:OUT STD_LOGIC_VECTOR(2 DOWNTO 0); END ENTITY CTRLS; ARCHITECTURE ART OF CTRLS IS SIGNAL CNT:STD_LO
10、GIC_VECTOR(2 DOWNTO 0); BEGIN PROCESS(CLK) ISBEGINIF CLKEVENT AND CLK=1 THENIF CNT=111 THENCNT=000;ELSECNT=CNT+1;END IF; END IF; END PROCESS; SELCOMCOMCOMCOMCOMCOMCOMCOMCOM=; END CASE; END PROCESS P1; -LEDWDATADATADATADATADATASEGSEGSEGSEGSEGSEGSEGSEGSEGSEGSEG=;END CASE; END PROCESS P2; END ARCHITECTURE; (3)仿真波形设置09999计数的时序仿真结果5.实验总结经过本次实验,对Quartus II有了更深入的了解,以及学会了更多操作。用原理图的方法输入顶层电路时 ,要先生成底层模块的电路图;时序仿真时,要注意输入信号的合适设置。