EDA技术实验报告cumtxinke 2.docx
- 文档编号:25932530
- 上传时间:2023-06-16
- 格式:DOCX
- 页数:15
- 大小:429.19KB
EDA技术实验报告cumtxinke 2.docx
《EDA技术实验报告cumtxinke 2.docx》由会员分享,可在线阅读,更多相关《EDA技术实验报告cumtxinke 2.docx(15页珍藏版)》请在冰豆网上搜索。
EDA技术实验报告cumtxinke2
EDA实验报告
学院:
计算机学院
专业:
计算机科学与技术
姓名:
李晨伟
班级:
计科10-5班
学号:
08103409
指导老师:
王冠军
实验一
一、实验目的
熟悉Quartus2的VHDL文本设计流程全过程,学习简单组合电路的设计、多层次电路设计、仿真和硬件测试。
二、实验原理
VHDL硬件描述语言是一种可以从多个层次上对数字逻辑电路进行建模的国际标准(IEEE),本次实验是用VHDL设计一个简单的组合电路,并结合QuartusII环境和实验电路进行硬件测试。
三、实验任务
1、首先利用Quartus2完成2选1多路选择器的文本编辑输入(mux21a.vhd)和仿真测试等步骤,给出仿真波形。
最后在试验系统上进行硬件测试,验证本项设计的功能;
2、将任务1中的多路选择器看成是一个元件mux21a,利用元件例话语句描述。
四、实验程序及实验图
程序代码;
2选1选择器:
LIBRARYIEEE;--mux21a
USEIEEE.STD_LOGIC_1164.ALL;
ENTITYmux21aIS
PORT(a,b,s:
INBIT;
y:
OUTBIT);
ENDENTITY;
ARCHITECTUREoneOFmux21aIS
BEGIN
PROCESS(a,b,s)
BEGIN
IFs='0'THENy<=a;
ELSEy<=b;
ENDIF;
ENDPROCESS;
ENDARCHITECTUREone;
时序图:
功能图;
4路选择器:
LIBRARYIEEE;
USEIEEE.STD_LOGIC_1164.ALL;
ENTITYmux21IS
PORT(a1,a2,a3,s0,s1:
INBIT;
outy:
OUTBIT);
ENDENTITY;
ARCHITECTUREbhvOFmux21IS
COMPONENTmux21aIS
PORT(a,b,s:
INBIT;
y:
OUTBIT);
ENDCOMPONENT;
signaltmp:
BIT;
BEGIN
U1:
mux21aPORTMAP(a=>a2,b=>a3,s=>s0,y=>tmp);
U2:
mux21aPORTMAP(a=>a1,b=>tmp,s=>s1,y=>outy);
ENDbhv;
时序图:
功能图:
五、实验总结
本次实验主要是熟悉Quartus2的具体操作,按照书上的操作进行,不过在这过程中也遇到不少问题,例如在进行任务2时我在mux21a文件夹里又新建了mux21文件夹,把mux21.vhd存放于其中,结果导致mux21.vhd编译总是出现错误,最后问了其他同学才知道错在哪里,虽然错了这么多次,不过对Quartus2的各个工具也十分熟悉了;同时也加深通过VHDL语言来实现组合电路的理解。
实验二
1、实验目的
学习计数器的设计、仿真和硬件测试,进一步熟悉VHDL设计技术。
二、实验原理
本试验中所要设计的计数器,由4位带异步清零的加法计数器和一个4位锁存器组成。
其中,RST是异步清零信号,高电平有效;CLK是计数时钟,同时也是锁存信号;EN为计数器输出使能控制。
当EN为‘1’时,加法计数器的输出值加载于锁存器的数据端;当EN为‘0’时锁存器输出为高阻态。
当计数器输出“1010”时,进位信号COUT为“1”。
三、实验任务
1、设计触发器,给出程序设计、软件编译、仿真分析、硬件测试及详细实验过程;
2、设计一个带有异步复位和同步时钟使能的十进制计数器。
四、实验程序及实验图
程序代码;
触发器:
LIBRARYIEEE;
USEIEEE.STD_LOGIC_1164.ALL;
ENTITYMUXIS
PORT(D,CLK:
INSTD_LOGIC;
Q:
OUTSTD_LOGIC);
END;
ARCHITECTUREONEOFMUXIS
SIGNALQ1:
STD_LOGIC;
BEGIN
PROCESS(CLK)
BEGIN
IFCLK='1'THEN
Q1<=D;
ENDIF;
ENDPROCESS;
Q<=Q1;
END;
时序图:
功能图:
下载端口设置;
计数器:
LIBRARYIEEE;
USEIEEE.STD_LOGIC_1164.ALL;
USEIEEE.STD_LOGIC_UNSIGNED.ALL;
ENTITYCNTIS
PORT(CLK,RST,EN:
INSTD_LOGIC;
Q:
OUTSTD_LOGIC_VECTOR(3DOWNTO0);
COUT:
OUTSTD_LOGIC);
END;
ARCHITECTUREBHVOFCNTIS
BEGIN
PROCESS(CLK,RST,EN)
VARIABLECQI:
STD_LOGIC_VECTOR(3DOWNTO0);
BEGIN
IFRST='1'THEN
CQI:
=(OTHERS=>'0');
ELSIFCLK'EVENTANDCLK='1'THEN
IFEN='1'THEN
IFCQI<9THENCQI:
=CQI+1;
ELSECQI:
=(OTHERS=>'0');
ENDIF;
ENDIF;
ENDIF;
IFCQI=9THENCOUT<='1';
ELSECOUT<='0';
ENDIF;
Q<=CQI;
ENDPROCESS;
END;
时序图:
功能图:
五、实验总结
本次实验主要是在上一次实验的基础上实现硬件的测试(引脚锁定和下载),而这次实验的难点也就在于如何从电脑上把VHDL下载到硬件上来。
除了书上的一些引导操作之外还要根据EP2C35用户手册V1查找资料进行端口的设置,在这其中我的电脑因为收不到信号,所以在这一次实验没有成功,不过在第三次实验的时候再次操作了一遍完成了本次试验;在做时序仿真时因为竞争冒险经常会出现毛刺现象,该做功能仿真毛刺就消失了。
实验三
1、实验目的
学习七段数码显示译码器设计;学习VHDL是我CASE语句应用级多层次设计方法。
二、实验原理:
七段数码管由7个(a,b,c,d,e,f,g,)按照一定位置排列的发光二极管构成,通常采取共阴极或者共阳极的设计,将7个二极管的同一极接在一起,通过分别控制另外的7个电极的电平,使二极管导通(发光)或截止(不发光)。
七段数码显示译码器的功能就是根据需要显示的字符,输出能够控制七段数码管显示出该字符的编码。
三、实验任务
1、用VHDL设计7段数码管显示译码电路,并在VHDL描述的测试平台下对译码器进行功能仿真,给出仿真的波形。
2、数码管显示电路设计
利用以上设计的译码器模块,设计一个可以在7个数码管上同时显示字符的电路。
快速轮流点亮7个数码管,这样就可以实现同时显示7个字符的效果(尽管实际上同一时间只有一个数码管被点亮)。
要实现以上功能,就必须按照一定时钟节拍,轮流使译码器输出所需要字符的编码;同时控制数码管的公共电极电平,轮流点亮数码管(可以使用异步复位和同步时钟使能的十进制计数器,加实验板上的74ls138来实现)。
3、用QuartusII对2)中的设计进行编译、综合、仿真,给出其所有信号的仿真波形和时序分析数据。
4、通过QuartusII集成环境,将设计下载到实验电路上进行硬件测试。
四、实验程序及实验图
程序代码;
计数器数码管显示:
LIBRARYIEEE;
USEIEEE.STD_LOGIC_1164.ALL;
USEIEEE.STD_LOGIC_UNSIGNED.ALL;
ENTITYCNTIS
PORT(CLK,RST,EN:
INSTD_LOGIC;
Q:
OUTSTD_LOGIC_VECTOR(6DOWNTO0);
COUT:
OUTSTD_LOGIC);
END;
ARCHITECTUREBHVOFCNTIS
BEGIN
PROCESS(CLK,RST,EN)
VARIABLECQI:
STD_LOGIC_VECTOR(3DOWNTO0);
BEGIN
IFRST='1'THEN
CQI:
=(OTHERS=>'0');
ELSIFCLK'EVENTANDCLK='1'THEN
IFEN='1'THEN
IFCQI<9THENCQI:
=CQI+1;
ELSECQI:
=(OTHERS=>'0');
ENDIF;
ENDIF;
ENDIF;
IFCQI=9THENCOUT<='1';
ELSECOUT<='0';
ENDIF;
CASECQIIS
WHEN"0000"=>Q<="1000000";--shumaguanxianshi
WHEN"0001"=>Q<="1111001";
WHEN"0010"=>Q<="0100100";
WHEN"0011"=>Q<="0110000";
WHEN"0100"=>Q<="0011001";
WHEN"0101"=>Q<="0010010";
WHEN"0110"=>Q<="0000010";
WHEN"0111"=>Q<="1111000";
WHEN"1000"=>Q<="0000000";
WHEN"1001"=>Q<="0011000";
WHENOTHERS=>NULL;
ENDCASE;
ENDPROCESS;
ENDBHV;
时序图:
功能图:
五、实验总结
本次实验有一个综合效果,将计数器与数码管显示连接起来,达到在数码管上铜鼓控制按键实现技术效果,实验中需要注意的是对Q的赋值,因为书上写的是阴极,而在实验机上的数码管是阳极的,所以应写成反码形式,而在做时序图的时候发现Q的输出值显示为十进制,不是二进制形式,是因为在赋值前未加“B”符号,如果加上的话就会显示为二进制了;
CASECQIIS
WHEN"0000"=>Q<=B"1000000";--shumaguanxianshi
WHEN"0001"=>Q<=B"1111001";
WHEN"0010"=>Q<=B"0100100";
WHEN"0011"=>Q<=B"0110000";
WHEN"0100"=>Q<=B"0011001";
WHEN"0101"=>Q<=B"0010010";
WHEN"0110"=>Q<=B"0000010";
WHEN"0111"=>Q<=B"1111000";
WHEN"1000"=>Q<=B"0000000";
WHEN"1001"=>Q<=B"0011000";
WHENOTHERS=>NULL;
ENDCASE;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- EDA技术实验报告cumtxinke EDA 技术 实验 报告 cumtxinke