实验二:+0~9999的计数器电路的设计

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

EDA实验报告

学院(部):电气与信息工程学院专业:电子信息工程

学生姓名:刘玉文

班级:电子信息工程1101 学号:

指导教师姓名:谭会生

实验二:0~9999的计数器电路的设计

1.实验目的

(1)进一步熟悉和掌握Quartus II软件的使用。

(2)进一步熟悉和掌握GW48-CK或其他EDA实验开发系统的使用。

(3)学习和掌握VHDL进程语句和元件例化语句的使用。

2.实验内容

设计并调试好一个技术范围为0~9999的4位十进制计数器电路CNT9999,并用GW48-CK或其他EDA实验开发系统(可选用的芯片为ispLSI 1032E-PLCC84或EPM7128S-PL84或XCS05/XCS10-PLCC84芯片)进行硬件验证。

3.实验条件

(1)开发软件:Quartus II8.0。

(2)实验设备:GW48-CK EDA实验开发系统。

(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.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='1'THEN CQI<="0000";

ELSIF CLK'EVENT AND CLK='1'THEN

IF ENA='1'THEN

IF CQI="1001"THEN

CQI<="0000";

ELSE

CQI<=CQI+'1';

END IF;

END IF;

END IF;

END PROCESS;

PROCESS(CLK,CQI) IS

BEGIN

IF CLK'EVENT AND CLK='1'THEN

IF CQI<"1001"THEN

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.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 COMPONENT 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)仿真波形设置

本设计包括两个层次,因此先进行底层的十进制计数器CNT10的仿真,再进行顶层CNT9999的仿真。如图是CNT10仿真输入设置及可能结果估计图。同理可进行CNT9999仿真输入设置及可能结果估计。

CNT10的时序仿真结果

CNT9999的时序仿真结果

5.实验总结

通过本次实验,对Quartus II软件的基本操作有了更深层次的认识,并能初步熟练和掌握他的运用。

文件名与实体名要相对应,输入源程序时要仔细,时序仿真时,要先保存仿真文件,最后才能对其进行相应地仿真操作。

相关文档
最新文档