EDA实验报告.docx
《EDA实验报告.docx》由会员分享,可在线阅读,更多相关《EDA实验报告.docx(12页珍藏版)》请在冰豆网上搜索。
EDA实验报告
EDA实验报告
学院:
计算机科学与技术学院
专业:
信息科学与技术
姓名:
班级:
学号:
指导老师:
实验一四位比较器
一、实验目的
1.设计四位二进制码比较器,并在实验开发系统上验证。
2.学习层次化设计方法。
二、实验仪器与器材
1.EDA开发软件一套
2.微机一台
3.实验开发系统一台
4.打印机一台
5.其它器件与材料若干
三、实验说明
本实验实现两个4位二进制码的比较器,输入为两个4位二进制码
和
,输出为M(A=B),G(A>B)和L(A
用高低电平开关作为输入,发光二极管作为输出,具体管脚安排可根据试验系统的实际情况自行定义。
四、实验要求
G
COMP4
1.用硬件描述语言编写四位二进制码
比较器的源文件;
M
2.对设计进行仿真验证;
3.编程下载并在实验开发系统上进行
硬件验证。
L
四位比较器功能框图
五、实验结果
四位比较器VHDL源文件:
libraryieee;
useieee.std_logic_1164.all;
entitycomp4is
port(A3,A2,A1,A0:
instd_logic;
B3,B2,B1,B0:
instd_logic;
G,M,L:
outstd_logic);
endcomp4;
architecturebehaveofcomp4is
begin
p1:
process(A3,A2,A1,A0,B3,B2,B1,B0)
variablecomb1,comb2:
std_logic_vector(3downto0);
begin
comb1:
=A3&A2&A1&A0;
comb2:
=B3&B2&B1&B0;
if(comb1>com2)thenG<=’1’;M<=’0’;L<=’0’;
elsif(comb1elseL<=’1’;G<=’0’;M<=’0’;
endif;
endprocessp1;
endbehave;
仿真波形图:
管脚分配:
实验二计数器
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.设计一个4位加法器。
2.体会用VHDL进行逻辑描述的优点。
3,熟悉层次化设计方法。
二、试验仪器与器材
1.EDA开发软件一套
2.微机一台
3.试验开发系统一台
4.打印机一台
5.其他器材和材料若干
三、试验说明
a3
本试验实现一个4位二进制数加法器,其功能框图如图所示。
试验时用高低电平开关作为输入,用数码管作为输出(或用发光二极管),管脚锁定可根据试验系统自行安排。
四、实验要求
1.用硬件描述语言编写4位二进制数全加器的源文件;
2.对设计文件进行编译;
3.仿真设计文件;
4.编程下载并进行试验验证。
五、试验结果
4位二进制全加器的源文件:
libraryieee;
useieee.std_logic_1164.all;
entityadder4is
port(a,b:
instd_logic_vector(3downto0);
cin:
instd_logic_vector(3downto0);
sum:
outstd_logic_vector(3downto0);
count:
outstd_logic);
endadder4;
architecturebehavioralofadder4is
begin
p1:
process(a,b,cin)
variablevsum:
std_logic_vector(3downto0);
variablecarry:
std_logic;
begin
carry:
=cin;
foriin0to3loop
vsum(i):
=(a(i)xorb(i))xorcarry;
carry:
=(a(i)andb(i))or(carryand(a(i)orb(i)));
endloop;
sum<=vsum;
count<=carry;
endprocessp1;
endbehavioral;
仿真波形图:
管脚分配:
六、实验总结
本次实验主要是熟悉Quartus2的具体操作,按照书上的操作进行,不过在这过程中也遇到不少问题,虽然错了这么多次,不过对Quartus2的各个工具也十分熟悉了;同时也加深通过VHDL语言来实现组合电路的理解。