EDA技术与VHDL实验教案.docx
- 文档编号:1416583
- 上传时间:2022-10-22
- 格式:DOCX
- 页数:43
- 大小:219.72KB
EDA技术与VHDL实验教案.docx
《EDA技术与VHDL实验教案.docx》由会员分享,可在线阅读,更多相关《EDA技术与VHDL实验教案.docx(43页珍藏版)》请在冰豆网上搜索。
EDA技术与VHDL实验教案
EDA技术实验教案
实验一 1位全加器VHDL文本输入设计
一、实验目的
1、熟悉QuartusII软件的基本使用方法。
2、熟悉EDA实验开发系统的基本使用方法。
3、了解VHDL文本输入设计方法。
二、实验内容
设计并调试好一个1位二进制全加器,并用EDA实验开发系统(拟采用的实验芯片的型号为EPF10K20TC144-4或EP1K30TC144-3)进行系统仿真、硬件验证。
设计1位二进制全加器时要求先设计一个或门和一个1位二进制半加器,再由或门和1位二进制半加器构成1位二进制全加器。
三、实验条件
1、开发条件:
QuartusII
2、实验设备:
EDA实验开发系统、电脑
3、拟用芯片:
EPF10K20TC144-4或EP1K30TC144-3
四、实验设计
--或门逻辑描述(or2a.vhd)
LIBRARYIEEE;
USEIEEE.STD_LOGIC_1164.ALL;
ENTITYor2aIS
PORT(a,b:
INSTD_LOGIC;
c:
OUTSTD_LOGIC);
ENDENTITYor2a;
ARCHITECTUREoneOFor2aIS
BEGIN
c<=aORb;
ENDARCHITECTUREone;
--半加器描述(h_adder.vhd)
LIBRARYIEEE;
USEIEEE.STD_LOGIC_1164.ALL;
ENTITYh_adderIS
PORT(a,b:
INSTD_LOGIC;
co,so:
OUTSTD_LOGIC);
ENDENTITYh_adder;
ARCHITECTUREfh1OFh_adderis
BEGIN
so<=NOT(aXOR(NOTb));
co<=aANDb;
ENDARCHITECTUREfh1;
--1位二进制全加器顶层设计描述(f_adder.vhd)
LIBRARYIEEE;
USEIEEE.STD_LOGIC_1164.ALL;
ENTITYf_adderIS
PORT(ain,bin,cin:
INSTD_LOGIC;
Cout,sum:
OUTSTD_LOGIC);
ENDENTITYf_adder;
ARCHITECTUREfd1OFf_adderIS
COMPONENTh_adder
PORT(a,b:
INSTD_LOGIC;
Co,so:
OUTSTD_LOGIC);
ENDCOMPONENT;
COMPONENTor2a
PORT(a,b:
INSTD_LOGIC;
c:
OUTSTD_LOGIC);
ENDCOMPONENT;
SIGNALd,e,f:
STD_LOGIC;
BEGIN
u1:
h_adderPORTMAP(a=>ain,b=>bin,
co=>d,so=>e);
u2:
h_adderPORTMAP(a=>e,b=>cin,
co=>f,so=>sum);
u3:
or2aPORTMAP(a=>d,b=>f,c=>cout);
ENDARCHITECTUREfd1;
或门仿真波形
半加器仿真波形
全加器仿真波形
全加器引脚锁定
实验芯片:
EPF10K20TC144-4 选用模式:
模式5
设计实体I/O标识
I/O来源/去向
结构图上的信号名
芯片引脚号
ain
键1
PIO0
8
bin
键2
PIO1
9
cin
键3
PIO2
10
sum
二极管D1
PIO8
20
cout
二极管D2
PIO9
21
全加器真值表
ain
0
1
0
1
0
1
0
1
bin
0
0
1
1
0
0
1
1
cin
0
0
0
0
1
1
1
1
sum
0
1
1
0
1
0
0
1
cout
0
0
0
1
0
1
1
1
实验二 有时钟使能的两位十进制计数器VHDL文本输入设计
一、实验目的
1、熟悉QuartusII软件的基本使用方法。
2、熟悉EDA实验开发系统的基本使用方法。
3、学习时序电路的设计、仿真和硬件测试,进一步熟悉VHDL设计技术。
二、实验内容
设计并调试好一个有时钟使能的两位十进制计数器,并用EDA实验开发系统(拟采用的实验芯片的型号为EPF10K20TC144-4或EP1K30TC144-3)进行系统仿真、硬件验证。
设计有时钟使能的两位十进制计数器时要求先设计一个或门和一个十进制计数器,再由十进制计数器构成两位十进制计数器。
三、实验条件
1、开发条件:
QuartusII
2、实验设备:
EDA实验开发系统、电脑
3、拟用芯片:
EPF10K20TC144-4或EP1K30TC144-3
四、实验设计
--十进制计数器(cnt10.vhd)
LIBRARYIEEE;
USEIEEE.STD_LOGIC_1164.ALL;
USEIEEE.STD_LOGIC_UNSIGNED.ALL;
ENTITYcnt10IS
PORT(clk:
INSTD_LOGIC;
clr:
INSTD_LOGIC;
enb:
INSTD_LOGIC;
outy:
OUTSTD_LOGIC_VECTOR(3DOWNTO0);
cout:
OUTSTD_LOGIC);
ENDcnt10;
ARCHITECTUREbehavOFcnt10IS
BEGIN
PROCESS(clk,clr,enb)
VARIABLEcqi:
STD_LOGIC_VECTOR(3DOWNTO0);
BEGIN
IFclr='1'THENcqi:
="0000";
ELSIFCLK'EVENTANDCLK='1'THEN
IFenb='1'THEN
IFcqi<"1001"THENcqi:
=cqi+1;
ELSEcqi:
="0000";
ENDIF;
ENDIF;
ENDIF;
outy<=cqi;
cout<=cqi(0)AND(NOTcqi
(1))AND(NOTcqi
(2))ANDcqi(3);
ENDPROCESS;
ENDbehav;
--两位十进制计数器(cnt100.vhd)
LIBRARYIEEE;
USEIEEE.STD_LOGIC_1164.ALL;
USEIEEE.STD_LOGIC_UNSIGNED.ALL;
ENTITYcnt100IS
PORT(clkin:
INSTD_LOGIC;
clrin:
INSTD_LOGIC;
enbin:
INSTD_LOGIC;
outlow:
OUTSTD_LOGIC_VECTOR(3DOWNTO0);
outhigh:
OUTSTD_LOGIC_VECTOR(3DOWNTO0);
coutout:
OUTSTD_LOGIC);
ENDENTITYcnt100;
ARCHITECTUREoneOFcnt100IS
COMPONENTcnt10
PORT(clk:
INSTD_LOGIC;
clr:
INSTD_LOGIC;
enb:
INSTD_LOGIC;
outy:
OUTSTD_LOGIC_VECTOR(3DOWNTO0);
cout:
OUTSTD_LOGIC);
ENDCOMPONENT;
SIGNALa:
STD_LOGIC;
BEGIN
u1:
cnt10PORTMAP(clk=>clkin,clr=>clrin,enb=>enbin,outy=>outlow,cout=>a);
u2:
cnt10PORTMAP(clk=>a,clr=>clrin,enb=>enbin,outy=>outhigh,cout=>coutout);
ENDARCHITECTUREone;
十进制计数器仿真波形
两位十进制计数器仿真波形
两位十进制计数器管脚锁定
实验模式:
NO:
5
设计实体I/O标识
I/O来源/去向
信号名
芯片管脚序号
enbin
键1
PIO0
8
clrin
键2
PIO1
9
clkin
CLOCK0
CLOCK0
54
coutout
二极管D1
PIO8
20
outlow[3..0]
数码管1
PIO16~PIO19
30~33
outhigh[3..0]
数码管2
PIO20~PIO23
36~39
实验三7段数码显示译码器设计
一、实验目的:
1、学习7段数码显示译码器设计;
2、学习VHDL的多层次设计方法。
二、实验原理:
7段数码是纯组合电路,通常的小规模专用IC,如74或4000系列的器件只能作十进制BCD码译码,然而数字系统中的数据处理和运算都是2进制的,所以输出表达都是16进制的,为了满足16进制数的译码显示,最方便的方法就是利用译码程序在FPGA/CPLD中来实现。
但为了简化过程,首先完成7段BCD码译码器的设计。
例如输出为“1101101”时,数码管的7个段:
g、f、e、d、c、b、a分别接1、1、0、1、1、0、1;接有高电平的段发亮,于是数码管显示“5”。
图共阴数码管及其电路
三、实验内容
1、编程实现7段数码显示译码器设计;
2、对7段数码显示译码器设计进行编辑、仿真,给出其所有信号的时序仿真波形;
参考程序:
LIBRARYIEEE;
USEIEEE.STD_LOGIC_1164.ALL;
ENTITYDECL7SIS
PORT(A:
INSTD_LOGIC_VECTOR(3DOWNTO0);
LED7S:
OUTSTD_LOGIC_VECTOR(6DOWNTO0));
END;
ARCHITECTUREoneOFDECL7SIS
BEGIN
PROCESS(A)
BEGIN
CASEAIS
WHEN"0000"=>LED7S<="0111111";WHEN"0001"=>LED7S<="0000110";
WHEN"0010"=>LED7S<="1011011";WHEN"0011"=>LED7S<="1001111";
WHEN"0100"=>LED7S<="1100110";WHEN"0101"=>LED7S<="1101101";
WHEN"0110"=>LED7S<="1111101";WHEN"0111"=>LED7S<="0000111";
WHEN"1000
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- EDA 技术 VHDL 实验 教案