EDA实验报告Word文档格式.docx
- 文档编号:16905559
- 上传时间:2022-11-27
- 格式:DOCX
- 页数:16
- 大小:324.69KB
EDA实验报告Word文档格式.docx
《EDA实验报告Word文档格式.docx》由会员分享,可在线阅读,更多相关《EDA实验报告Word文档格式.docx(16页珍藏版)》请在冰豆网上搜索。
键1、键2、键3(PIO0/1/2)分别接ain、bin、cin;
发光管D6、D5(PIO9/8)分别接sum和cout。
半加器原理图如下所示:
图1.4半加器原理图
半加器仿真波形图如下图所示:
图1.5半加器仿真波形图
一位全加器原理图如下所示:
图1.6一位全加器原理图
一位全加器仿真波形如下图所示:
图1.7一位全加器仿真波形图
2.建立一个更高层的原理图设计,利用实验一获得的1位全加器构成4位全加器,见图8。
注意总线连接方式必须对连线命名,方法是单击要命名的连线,出现光标后直接输入连线的名字,如总线a[3..0],或单线a0。
并完成编译、综合、适配、仿真和硬件测试。
建议选择电路模式;
键4输入四位加数;
可以由键8来控制最低位的进位;
发光管D4~D1显示加和;
D8显示进位cout。
图1.8四位全加器
六实验结果及分析
四位全加器仿真波形图如下所示:
图1.9四位全加器仿真波形图
全加器仿真结果正确无误,例:
0011(A)+0111(B)+0(CI)结果为1010(S),进位CO为0。
由仿真结果可得,输出信号存在4.5-7.5ns不等的时间延迟,它主要与器件速度、表达逻辑的合理性有关,选用速度更高器件、优化设计可以使该值降低。
观察实验仿真波形可得,A3A2A1A0+B3B2B1B0+C0=D3D2D1D0。
当和A3A2A1A0+B3B2B1B0=1111且C0=1时,D3D2D1D0>
15,向前进位,及进位位为1。
该结果符合四位全加器的设计要求。
七 实验小结
QuartusII这个软件首次接触,要花一定时间理解学习,通过这次实验,使我熟悉了这个软件的操作,还回顾了组合逻辑电路的知识,与实际操作相结合。
这次实验充分说明了EDA实验设计的每一个环节都要加倍仔细不然每一个疏忽都会导致结果的错误,每做完一个底层都要仿真,确保正确后才能进行之后的设计,要注意实验箱有可能的错误及时调换试验箱,得到了很大的收获。
实验二 16进制频率计设计
1.设计8位十六进制频率计,学习复杂的数字系统设计方法。
2.熟悉QuartusII的使用,并复习频率计的定义及测量的基本原理。
完成8位十六进制频率计的完整设计及实现电路,并给出其测频时序波形及其分析。
建议选实验电路模式5;
8个数码管以16进制形式显示测频输出;
待测频率输入FIN由clock0输入,频率可选4Hz、256HZ、3Hz...50MHz等;
1HZ测频控制信号CLK1HZ可由clock2输入(用跳线选1Hz)。
注意,这时8个数码管的测频显示值是十六进制的。
根据频率的定义和频率测量的基本原理,测定信号的频率必须有一个脉宽为1秒的输入信号脉冲计数允许的信号;
1秒计数结束后,计数值被锁入锁存器,计数器清0,为下一测频计数周期作好准备。
测频控制信号可以由一个独立的发生器来产生,即FTCTRL。
测频控制时序可以如图2.1所示。
图2.1频率计测频控制器FTCTRL测控时序
设计要求是:
FTCTRL的计数使能信号CNT_EN能产生一个1秒脉宽的周期信号,并对频率计中的32位二进制计数器COUNTER32B(图7-57)的ENABL使能端进行同步控制。
当CNT_EN高电平时允许计数;
低电平时停止计数,并保持其所计的脉冲数。
在停止计数期间,首先需要一个锁存信号LOAD的上跳沿将计数器在前1秒钟的计数值锁存进锁存器REG32B中,并由外部的16进制7段译码器译出,显示计数值。
设置锁存器的好处是数据显示稳定,不会由于周期性的清0信号而不断闪烁。
锁存信号后,必须有一清0信号RST_CNT对计数器进行清零,为下1秒的计数操作作准备。
数字频率计的关键组成部分包括一个测频控制信号发生器、一个计数器和一个锁存器,另外包含外电路的信号整形电路、脉冲发生器、译码驱动电路和显示电路,其原理框图如图2.2所示。
图2.2数字频率计原理框图
该8位十六进制频率计的设计主要包括以下几个部分:
1.32位锁存器设计
1.1电路原理
当test-en下降沿到来时,将计数器的计数值锁存,这样可由外部的七段译码器译码并在数码管显示。
设置锁存器的好处是显示的数据稳定,不会由于周期性的清零信号而不断闪烁,锁存器的位数应跟计数器完全一样。
图2.3
1.2源程序
VHD程序如下:
LIBRARYIEEE;
USEIEEE.STD_LOGIC_1164.ALL;
ENTITYREG32BIS
PORT(LK:
INSTD_LOGIC;
DIN:
INSTD_LOGIC_VECTOR(31DOWNTO0);
DOUT:
OUTSTD_LOGIC_VECTOR(31DOWNTO0));
ENDREG32B;
ARCHITECTUREbehavOFREG32BIS
BEGIN
PROCESS(LK,DIN)
IFLK'
EVENTANDLK='
1'
THENDOUT<
=DIN;
ENDIF;
ENDPROCESS;
ENDbehav;
1.3锁存器仿真图
图2.4锁存器仿真图
2.32位计数器设计
2.1电路原理
计数器以待测信号作为时钟,清零信号clear到来时,异步清零;
test-en为高电平时开始计数。
计数是以十进制数显示,本文设计了一个简单的10kHz以内信号的频率机计,如果需要测试较高的频率信号,则将dout的输出位数增加,当然锁存器的位数也要增加。
图2.5
2.2源程序
USEIEEE.STD_LOGIC_UNSIGNED.ALL;
ENTITYCOUNTER32BIS
PORT(FIN:
CLR:
ENABL:
DOUT:
ENDCOUNTER32B;
ARCHITECTUREbehavOFCOUNTER32BIS
SIGNALCQI:
STD_LOGIC_VECTOR(31DOWNTO0);
PROCESS(FIN,CLR,ENABL)
IFCLR='
THENCQI<
=(OTHERS=>
'
0'
);
ELSIFFIN'
EVENTANDFIN='
THEN
IFENABL='
=CQI+1;
DOUT<
=CQI;
2.3计数器仿真图
图2.6计数器仿真图
3.频率计控制电路设计
3.1电路原理图
图2.7频率计控制电路
LIBRARYIEEE;
--测频控制电路:
ENTITYFTCTRLIS
PORT(
CLKK:
INSTD_LOGIC;
CNT_EN:
OUTSTD_LOGIC;
RST_CNT:
Load:
OUTSTD_LOGIC
);
ENDFTCTRL;
ARCHITECTUREbehavOFFTCTRLIS
SIGNALDiv2CLK:
STD_LOGIC;
BEGIN
PROCESS(CLKK)
BEGIN
IFCLKK'
EVENTANDCLKK='
THEN
Div2CLK<
=NOTDiv2CLK;
ENDIF;
ENDPROCESS;
PROCESS(CLKK,Div2CLK)
IFCLKK='
ANDDiv2CLK='
THENRST_CNT<
='
;
ELSERST_CNT<
Load<
CNT_EN<
=Div2CLK;
3.3频率计控制电路仿真图
图2.8频率计控制电路仿真图
4.顶层文件源程序
--频率计顶层文件
ENTITYFREQTESTIS
CLK1HZ:
--输入引脚,输入1HZ信号作为时钟信号
FSIN:
--待测频率信号
DOUT:
OUTSTD_LOGIC_VECTOR(31DOWNTO0)--计数结果输出
ENDFREQTEST;
ARCHITECTUREstrucOFFREQTESTIS
COMPONENTFTCTRL--测频控制电路
PORT(
--1HZ输入信号
--0.5HZ信号,产生1s的计数时间
--计数器清零信号,1HZ与使能信号同为低时清零
OUTSTD_LOGIC--0.5HZ锁存信号
ENDCOMPONENT;
COMPONENTCOUNTER32B--32位计数器
FIN:
--计数信号,与FSIN相连,输入待测信号
CLR:
--清零信号,与RST_CNT相连
ENABL:
--计数使能信号,与CNT_EN相连
OUTSTD_LOGIC_VECTOR(31DOWNTO0)--计数结果输出,输入到锁存器中
COMPONENTREG32B--32位锁存器
LK:
--锁存器使能输入0.5HZ信号,与Load相连
DIN:
INSTD_LOGIC_VECTOR(31DOWNTO0);
--计数结果输入
OUTSTD_LOGIC_VECTOR(31DOWNTO0)--计数结果输出
SIGNALTSTEN1:
STD_LOGIC;
SIGNALCLR_CNT1:
SIGNALLoad1:
SIGNALDTO1:
STD_LOGIC_VECTOR(31DOWNTO0);
SIGNALCARRY_OUT1:
STD_LOGIC_VECTOR(6DOWNTO0);
U1:
FTCTRLPORTMAP(CLKK=>
CLK1HZ,CNT_EN=>
TSTEN1,
RST_CNT=>
CLR_CNT1,Load=>
Load1
);
U2:
REG32BPORTMAP(LK=>
Load1,DIN=>
DTO1,DOUT=>
DOUT);
U3:
COUNTER32BPORTMAP(FIN=>
FSIN,CLR=>
CLR_CNT1,
ENABL=>
TSTEN1,DOUT=>
DTO1
);
ENDstruc;
5.八位十六进制频率计
图2.98位十六进制频率计
6.1仿真结果及分配管脚图
仿真结果及其分析:
图2.10仿真结果图
分配管脚图
图2.11分配管脚图
6.2结果分析
分析仿真结果可得:
当使能信号为高电平有效时,频率计正常工作。
当遇到低电平时,停止工作,并由LOAD信号上跳沿触发锁存器,将计数器在前一秒的数据锁存,并由显示部分显示。
该结果符合8位十六进制频率计的设计要求,说明本次试验设计的8位十六进制频率计设计正确。
通过本次实验,我对QuartusII的使用有了进一步的熟悉,并加深了频率计方面的理论知识。
设计主要用到了多种芯片,程序也比较长比较麻烦,同时也遇到了不少困难,尤其是关于校时模块的设计实现。
通过本次设计,我系统的了解了实时时钟的设计流程,尤其是硬、软件的设计方法,掌握了键盘显示电路的基本功能及编程方法,掌握了键盘电路和显示电路的一般原理,也进一步掌握了32位锁存器的使用和中断处理器程序的编程方法。
开拓了思路,锻炼了实践动手能力,提高了分工协作能力和分析问题、解决问题的能力,收获较大。
八思考题
1.简述Quartus的设计流程。
答:
按照一般编程逻辑设计的步骤,利用QuartusⅡ软件设计流程可以
分为以下几个步骤:
(1)输入设计文件;
(2)编译设计文件;
(3)仿真设计文件;
(4)编程下载设计文件。
2.功能仿真与时序仿真有什么不同?
功能仿真是直接对VHDL、原理图描述或其他描述形式的逻辑功能进行测试与模拟,以了解其实现功能是否满足设计要求。
仿真过程不涉及任何具体器件的硬件特性。
时序仿真则是接近真实器件运行特性的仿真,仿真文件中包含了器件的硬件特性参数,仿真精度高。
3.还有什么其他方法实现频率计功能?
还可以采用原理图输入法实现频率计。
实物方面,可以用单片机来实现,或用组合逻辑门来实现。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- EDA 实验 报告
![提示](https://static.bdocx.com/images/bang_tan.gif)