EDA技术与VHDL实验教案.docx

上传人:b****3 文档编号:1416583 上传时间:2022-10-22 格式:DOCX 页数:43 大小:219.72KB
下载 相关 举报
EDA技术与VHDL实验教案.docx_第1页
第1页 / 共43页
EDA技术与VHDL实验教案.docx_第2页
第2页 / 共43页
EDA技术与VHDL实验教案.docx_第3页
第3页 / 共43页
EDA技术与VHDL实验教案.docx_第4页
第4页 / 共43页
EDA技术与VHDL实验教案.docx_第5页
第5页 / 共43页
点击查看更多>>
下载资源
资源描述

EDA技术与VHDL实验教案.docx

《EDA技术与VHDL实验教案.docx》由会员分享,可在线阅读,更多相关《EDA技术与VHDL实验教案.docx(43页珍藏版)》请在冰豆网上搜索。

EDA技术与VHDL实验教案.docx

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

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

当前位置:首页 > 经管营销

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

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