EDA实验报告cnt9999.docx

上传人:b****5 文档编号:7262250 上传时间:2023-01-22 格式:DOCX 页数:24 大小:648.13KB
下载 相关 举报
EDA实验报告cnt9999.docx_第1页
第1页 / 共24页
EDA实验报告cnt9999.docx_第2页
第2页 / 共24页
EDA实验报告cnt9999.docx_第3页
第3页 / 共24页
EDA实验报告cnt9999.docx_第4页
第4页 / 共24页
EDA实验报告cnt9999.docx_第5页
第5页 / 共24页
点击查看更多>>
下载资源
资源描述

EDA实验报告cnt9999.docx

《EDA实验报告cnt9999.docx》由会员分享,可在线阅读,更多相关《EDA实验报告cnt9999.docx(24页珍藏版)》请在冰豆网上搜索。

EDA实验报告cnt9999.docx

EDA实验报告cnt9999

 

EDA实验报告

CNT9999计数器的设计

 

指导老师:

谭会生

班级:

电技1503

学号:

15401700314

姓名:

冯博

交通工程学院

2017.10.15

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

1.实验目的

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

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

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

2.实验内容

设计并调试好一个计数范围为0~9999的4位十进制计数器电路CNT9999,并用GW48-CK或其他EDA实验开发系统进行硬件验证。

3实验条件

(1)开发软件:

QuartusII13.0。

(2)实验设备:

GW48-CKEDA实验开发系统。

(3)拟用芯片:

EP3C55F484C7。

4.实验设计

1)系统原理框图

为了简化设计并便于显示,本计数器电路CNT9999的设计分为两个层次,其中底层电路包括四个十进制计数器模块CNT10,再由这四个模块按照图1.1所示的原理图构成顶层电路CNT9999.

图1.1CNT9999电路原理图

2)VHDL程序

计数器CNT9999的底层和顶层电路均采用VHDL文本输入,有关VHDL程序如下。

CNT10的VHDL源程序:

--CNT10.VHD

LIBRARYIEEE;

USEIEEE.STD_LOGIC_1164.ALL;

USEIEEE.STD_LOGIC_UNSIGNED.ALL;

ENTITYCNT10IS

PORT(CLK:

INSTD_LOGIC;

CLR:

INSTD_LOGIC;

ENA:

INSTD_LOGIC;

CQ:

OUTSTD_LOGIC_VECTOR(3DOWNTO0);

CO:

OUTSTD_LOGIC);

ENDENTITYCNT10;

ARCHITECTUREARTOFCNT10IS

SIGNALCQI:

STD_LOGIC_VECTOR(3DOWNTO0);

BEGIN

PROCESS(CLK,CLR,ENA)IS

BEGIN

IFCLR='1'THENCQI<="0000";

ELSIFCLK'EVENTANDCLK='1'THEN

IFENA='1'THEN

IFCQI="1001"THENCQI<="0000";

ELSECQI<=CQI+'1';ENDIF;

ENDIF;

ENDIF;

ENDPROCESS;

PROCESS(CQI)IS

BEGIN

IFCLK'EVENTANDCLK='1'THEN

IFCQI<"1001"THENCO<='0';

ELSECO<='1';ENDIF;

ENDIF;

ENDPROCESS;

CQ<=CQI;

ENDARCHITECTUREART;

CNT9999的VHDL源程序:

LIBRARYIEEE;

USEIEEE.STD_LOGIC_1164.ALL;--使用IEEE.STD_LOGIC_1164程序包

PORT(CLR:

INSTD_LOGIC;

CLK:

INSTD_LOGIC;

CLK2:

INSTD_LOGIC;

ENA:

INSTD_LOGIC;

COM:

OUTSTD_LOGIC_VECTOR(7DOWNTO0);

SEG:

OUTSTD_LOGIC_VECTOR(7DOWNTO0));

ENDENTITYDCNT9999;

ARCHITECTUREARTOFDCNT9999IS

COMPONENTCNT10IS--CNT10元件定义语句

PORT(CLK,CLR,ENA:

INSTD_LOGIC;

CQ:

OUTSTD_LOGIC_VECTOR(3DOWNTO0);

CO:

OUTSTD_LOGIC);

ENDCOMPONENTCNT10;

COMPONENTCTRLSIS--元件定义语句

PORT(CLK:

INSTD_LOGIC;--端口说明语句(端口名:

端口模式数据类型)

SEL:

OUTSTD_LOGIC_VECTOR(2DOWNTO0));

ENDCOMPONENTCTRLS;

COMPONENTDISPLAYIS--元件定义语句

PORT(SEL:

INSTD_LOGIC_VECTOR(2DOWNTO0);

DATAIN:

INSTD_LOGIC_VECTOR(15DOWNTO0);

COM:

OUTSTD_LOGIC_VECTOR(7DOWNTO0);

SEG:

OUTSTD_LOGIC_VECTOR(7DOWNTO0));

ENDCOMPONENTDISPLAY;

SIGNALS0,S1,S2:

STD_LOGIC;--信号的定义,定义了3个标准位的单值信号

SIGNALSEL:

STD_LOGIC_VECTOR(2DOWNTO0);--定义1个标准位矢量的位矢量信号SEL,含有3个元素

SIGNALDOUT:

STD_LOGIC_VECTOR(15DOWNTO0);--定义1个标准位矢量的位矢量信号DOUT,有16个数组元素

BEGIN

U0:

CNT10PORTMAP(CLK,CLR,ENA,DOUT(3DOWNTO0),S0);--元件例化语句,位置关联的方式

U1:

CNT10PORTMAP(S0,CLR,ENA,DOUT(7DOWNTO4),S1);

U2:

CNT10PORTMAP(S1,CLR,ENA,DOUT(11DOWNTO8),S2);

U3:

CNT10PORTMAP(S2,CLR,ENA,DOUT(15DOWNTO12));

U4:

CTRLSPORTMAP(CLK2,SEL);

U5:

DISPLAYPORTMAP(SEL(2DOWNTO0),DOUT(15DOWNTO0),COM(7DOWNTO0),SEG(7DOWNTO0));--位置关联方式

ENDARCHITECTUREART;

3)仿真波形设置

本设计包括两个层次,因此先进行底层的十进制计数器CNT10的仿真,再进行顶层CNT9999的仿真。

4)管脚锁定文件

根据图1.1所示的CNT9999电路原理图,选择合适实验电路结构图确定引脚的锁定。

图1.2管脚锁定

5.实验结果及总结

1)系统仿真情况

CNT10和CNT9999的时序仿真结果分别如图1.3和图1.4所示。

图1.3CNT10的时序仿真结果

图1.4CNT9999的时序仿真结果

从系统仿真结果可以看出,本系统底层和顶层的程序设计完全符合设计要求。

同时从系统时序仿真结果可以看出,从输入到输出有一定的延时,这正是器件延时特性的反映。

2)逻辑综合结果

使用QuartusII8.0

进行逻辑综合后,CNT9999的RTL视图如图1.4所示,对CNT9999进行逻辑综合后的资源使用情况为:

Family:

CycloneIII,Device:

EP3C55F484C7,Totalpins:

49/55,856(<1%).

图1.5CNT9999的RTL视图

 

交通工程学院

EDA技术及其应用

实验报告

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

指导老师:

谭会生老师

学生姓名:

陈亦龙

班级:

电子技术1503班

学号:

15401700315

实验时间:

2017-10-14

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

1.实验目的

(1)掌握EDA使用工具QUARTUS2的使用方法。

(2)学会用quartus软件建立项目并编写程序和调试下载的方法。

(3)掌握VHDL程序的软件及硬件的仿真方法。

2.实验内容

设计并调试好一个计数范围为0~9999的4位十进制计数器电路CNT9999,并用软件QUARTUSII进行仿验证。

3.实验条件

开发软件:

Quartusii8.0

4.实验设计

1)系统原理框图

为了简化设计并便于显示,本计数器电路CNT999的设计分为两个层次,其中底层电路包括四个十进制计数器模块CNT10,再由这四个模块按照图1-1所示的原理图构成顶层电路CNT9999。

图1-1CNT9999电路原理图

2)VHDL程序

计数器CNT9999的底层和顶层电路均采用VHDL文本输入,有关VHDL程序如下:

CNT10的VHDL源程序:

--CNT10.VHD

LIBRARYIEEE;

USEIEEE.STD_LOGIC_1164.ALL;

USEIEEE.STD_LOGIC_UNSIGNED.ALL;

ENTITYCNT10IS

PORT(CLK,CLR,ENA:

INSTD_LOGIC;

CQ:

OUTSTD_LOGIC_VECTOR(3DOWNTO0);

CO:

OUTSTD_LOGIC);

ENDENTITYCNT10;

ARCHITECTUREARTOFCNT10IS

SIGNALCQI:

STD_LOGIC_VECTOR(3DOWNTO0);

BEGIN

PROCESS(CLK,CLR,ENA)IS

BEGIN

IFCLR='1'THENCQI<="0000";

ELSIFCLK'EVENTANDCLK='1'THEN

IFENA='1'THEN

IFCQI="1001"THEN

CQI<="0000";

ELSE

CQI<=CQI+'1';

ENDIF;

ENDIF;

ENDIF;

ENDPROCESS;

PROCESS(CLK,CQI)IS

BEGIN

IFCLK'EVENTANDCLK='1'THEN

IFCQI="1001"THEN

CO<='1';

ELSE

CO<='0';

ENDIF;

ENDIF;

ENDPROCESS;

CQ<=CQI;

ENDARCHITECTUREART;

CNT9999的VHDL源程序:

--CNT9999.VHD

LIBRARYIEEE;

USEIEEE.STD_LOGIC_1164.ALL;

ENTITYCNT9999IS

PORT(CLK,CLR,ENA:

INSTD_LOGIC;

DOUT:

OUTSTD_LOGIC_VECTOR(15DOWNTO0));

ENDENTITYCNT9999;

ARCHITECTUREARTOFCNT9999IS

COMPONENTCNT10IS

PORT(CLK,CLR,ENA:

INSTD_LOGIC;

CQ:

OUTSTD_LOGIC_VECTOR(3DOWNTO0);

CO:

OUTSTD_LOGIC);

ENDCOMPONENTCNT10;

SIGNALS0,S1,S2,S3:

STD_LOGIC;

BEGIN

U0:

CNT10PORTMAP(CLK,CLR,ENA,DOUT(3DOWNTO0),S0);

U1:

CNT10PORTMAP(S0,CLR,ENA,DOUT(7DOWNTO4),S1);

U2:

CNT10PORTMAP(S1,CLR,ENA,DOUT(11DOWNTO8),S2);

U3:

CNT10PORTMAP(S2,CLR,ENA,DOUT(15DOWNTO12),S3);

ENDARCHITECTUREART;

3)仿真波形设置

顶层CNT9999仿真输入设置及可能结果估计图如图1-2。

图1-2CNT9999仿真输入设置及可能结果估计图

5.实验结果及总结

1)系统仿真情况

CNT9999的时序仿真结果如图1-3所示。

图1-4CNT9999的时序仿真结果

从系统仿真结果可以看出,本系统底层和顶层的程序设计完全符合设计要求。

同时从系统时序仿真可以看出,从输入到输出有一定的延时,大约为3ns,这正是器件延时特性的反映。

2)逻辑综合结果

使用QuartusII8.0进行逻辑综合后,CNT9999的RTL视图如图1-5所示。

图1-5CNT9999的RTL视图

3)实验过程中出现的问题及解决办法

遇到问题:

程序编写好后进行仿真时,发现计数器只能实现从0~9一直循环,而不会依次计数到9999,经查找分析原因是CNT10进位信号提前了。

解决办法:

修改VHDL源程序,将如下代码修改:

修改前:

PROCESS(CLK,CQI)IS

BEGIN

IFCLK'EVENTANDCLK='1'THEN

IFCQI<"1001"THEN

CO<='0';

ELSE

CO<='1';

ENDIF;

ENDIF;

ENDPROCESS;

修改后:

PROCESS(CLK,CQI)IS

BEGIN

IFCLK'EVENTANDCLK='1'THEN

IFCQI="1001"THEN

CO<='1';

ELSE

CO<='0';

ENDIF;

ENDIF;

ENDPROCESS;

经过相关的程序修改,最后程序通过了,仿真成功,实验完成。

 

 

0~9999的计数器电路的设计

1.实验目的

(1)学习QuartusⅡ软件的使用方法。

(2)学习GW48系列或其他EDA实验开发系统的基本使用方法。

(3)学习VHDL程序的基本结构和基本语句的使用。

2.实验内容

设计并调试一个技术范围为0~9999的4位十进制计数器电路CNT9999,并用GW48系列或其他EDA实验开发系统进行硬件验证。

3.实验条件

(1)开发软件:

QuartusⅡ13.0.

(2)实验设备:

GW48系列EDA实验开发系统。

(3)拟用芯片:

EP3C55F484C7

4.实验设计

(1)系统原理框图

本计数器电路CNT9999的设计分为两个层次,包括四个十进制计数器模块CNT10构成的底层电路和由这四个模块构成的顶层电路CNT9999.

(2)VHDL程序

计数器CNT9999的底层和顶层电路均采用VHDL文本输入,有关VHDL程序如下。

CNT10的VHDL源程序:

LIBRARYIEEE;

USEIEEE.STD_LOGIC_1164.ALL;

USEIEEE.STD_LOGIC_UNSIGNED.ALL;

ENTITYCNT10IS

PORT(CLK:

INSTD_LOGIC;

CLR:

INSTD_LOGIC;

ENA:

INSTD_LOGIC;

CQ:

OUTSTD_LOGIC_VECTOR(3DOWNTO0);

CO:

OUTSTD_LOGIC);

ENDENTITYCNT10;

ARCHITECTUREARTOFCNT10IS

SIGNALCQI:

STD_LOGIC_VECTOR(3DOWNTO0);

BEGIN

PROCESS(CLK,CLR,ENA)IS

BEGIN

IFCLR='1'THENCQI<="0000";

ELSIFCLK'EVENTANDCLK='1'THEN

IFENA='1'THEN

IFCQI="1001"THENCQI<="0000";

ELSECQI<=CQI+'1';ENDIF;

ENDIF;

ENDIF;

ENDPROCESS;

PROCESS(CQI)IS

BEGIN

IFCLK'EVENTANDCLK='1'THEN

IFCQI<"1001"THENCO<='0';

ELSECO<='1';ENDIF;

ENDIF;

ENDPROCESS;

CQ<=CQI;

ENDARCHITECTUREART;

CNT9999的VHDL源程序:

LIBRARYIEEE;

USEIEEE.STD_LOGIC_1164.ALL;--使用IEEE.STD_LOGIC_1164程序包

ENTITYCNT9999IS

PORT(CLR:

INSTD_LOGIC;

CLK:

INSTD_LOGIC;

CLK2:

INSTD_LOGIC;

ENA:

INSTD_LOGIC;

COM:

OUTSTD_LOGIC_VECTOR(7DOWNTO0);

SEG:

OUTSTD_LOGIC_VECTOR(7DOWNTO0));

ENDENTITYCNT9999;

ARCHITECTUREARTOFCNT9999IS

COMPONENTCNT10IS--CNT10元件定义语句

PORT(CLK,CLR,ENA:

INSTD_LOGIC;

CQ:

OUTSTD_LOGIC_VECTOR(3DOWNTO0);

CO:

OUTSTD_LOGIC);

ENDCOMPONENTCNT10;

COMPONENTCTRLSIS--元件定义语句

PORT(CLK:

INSTD_LOGIC;--端口说明语句(端口名:

端口模式数据类型)

SEL:

OUTSTD_LOGIC_VECTOR(2DOWNTO0));

ENDCOMPONENTCTRLS;

COMPONENTDISPLAYIS--元件定义语句

PORT(SEL:

INSTD_LOGIC_VECTOR(2DOWNTO0);

DATAIN:

INSTD_LOGIC_VECTOR(15DOWNTO0);

COM:

OUTSTD_LOGIC_VECTOR(7DOWNTO0);

SEG:

OUTSTD_LOGIC_VECTOR(7DOWNTO0));

ENDCOMPONENTDISPLAY;

SIGNALS0,S1,S2:

STD_LOGIC;--信号的定义,定义了3个标准位的单值信号

SIGNALSEL:

STD_LOGIC_VECTOR(2DOWNTO0);--定义1个标准位矢量的位矢量信号SEL,含有3个元素

SIGNALDOUT:

STD_LOGIC_VECTOR(15DOWNTO0);--定义1个标准位矢量的位矢量信号DOUT,有16个数组元素

BEGIN

U0:

CNT10PORTMAP(CLK,CLR,ENA,DOUT(3DOWNTO0),S0);--元件例化语句,位置关联的方式

U1:

CNT10PORTMAP(S0,CLR,ENA,DOUT(7DOWNTO4),S1);

U2:

CNT10PORTMAP(S1,CLR,ENA,DOUT(11DOWNTO8),S2);

U3:

CNT10PORTMAP(S2,CLR,ENA,DOUT(15DOWNTO12));

U4:

CTRLSPORTMAP(CLK2,SEL);

U5:

DISPLAYPORTMAP(SEL(2DOWNTO0),DOUT(15DOWNTO0),COM(7DOWNTO0),SEG(7DOWNTO0));--位置关联方式

ENDARCHITECTUREART;

(3)仿真波形

本设计包括两个层次,先进行底层的十进制计数器CNT10的仿真,再进行顶层CNT9999的仿真。

(4)管脚锁定文件

根据CNT9999的电路结构图确定引脚的锁定如下图所示:

5.实验结果及总结

(1)系统仿真结果

CNT10的仿真结果如图所示:

CNT9999的仿真结果如图所示:

从仿真的结果可以看出,底层CNT10程序和顶层CNT9999程序都能实现预期功能,符合设计要求

(2)逻辑综合结果

使用QuartusⅡ13.0进行逻辑综合后,CNT9999的RTL视图如图所示:

 

交通工程学院

科目:

EDA技术及其应用

实验报告

0~9999的计数器电路设计

指导老师:

谭会生老师

学生姓名:

马啸韬班级:

电子技术1503班

学号:

15401700331实验时间:

2017-10-14

0~9999的计数器电路设计

1.实验目的

(4)掌握EDA使用工具QUARTUS2的使用方法。

(5)学会用quartus软件建立项目并编写程序和调试下载的方法。

(6)掌握VHDL程序的软件及硬件的仿真方法。

2.实验内容

设计并调试好一个计数范围为0~9999的4位十进制计数器电路CNT9999,并用软件QUARTUSII进行仿验证。

3.实验条件

开发软件:

Quartusii8.0

实验设备:

GW48-CKEDA实验开发系统。

拟用芯片:

EP2C8Q208C8。

4.实验设计

(1)系统原理框图

为了简化设计并便于显示,本计数器电路CNT999的设计分为两个层次,其中底层电路包括四个十进制计数器模块CNT10,再由这四个模块按照图1-1所示的原理图构成顶层电路CNT9999。

图1-1CNT9999电路原理图

(2)VHDL程序

计数器CNT9999的底层和顶层电路均采用VHDL文本输入,有关VHDL程序如下:

CNT10的VHDL源程序:

--CNT10.VHD

LIBRARYIEEE;

USEIEEE.STD_LOGIC_1164.ALL;

USEIEEE.STD_LOGIC_UNSIGNED.ALL;

ENTITYCNT10IS

PORT(CLK,CLR,ENA:

INSTD_LOGIC;

CQ:

OUTSTD_LOGIC_VECTOR(3DOWNTO0);

CO:

OUTSTD_LOGIC);

ENDENTITYCNT10;

ARCHITECTUREARTOFCNT10IS

SIGNALCQI:

STD_LOGIC_VECTOR(3DOWNTO0);

BEGIN

PROCESS(CLK,CLR,ENA)IS

BEGIN

IFCLR='1'THENCQI<="0000";

ELSIFCLK'EVENTANDCLK='1'THEN

IFENA='1'THEN

IFCQI="1001"THEN

CQI<="0000";

ELSE

CQI<=CQI+'1';

ENDIF;

EN

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

当前位置:首页 > 解决方案 > 营销活动策划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1