EDAVHDL实验Word文档下载推荐.docx

上传人:b****2 文档编号:5131592 上传时间:2023-05-04 格式:DOCX 页数:30 大小:345.66KB
下载 相关 举报
EDAVHDL实验Word文档下载推荐.docx_第1页
第1页 / 共30页
EDAVHDL实验Word文档下载推荐.docx_第2页
第2页 / 共30页
EDAVHDL实验Word文档下载推荐.docx_第3页
第3页 / 共30页
EDAVHDL实验Word文档下载推荐.docx_第4页
第4页 / 共30页
EDAVHDL实验Word文档下载推荐.docx_第5页
第5页 / 共30页
EDAVHDL实验Word文档下载推荐.docx_第6页
第6页 / 共30页
EDAVHDL实验Word文档下载推荐.docx_第7页
第7页 / 共30页
EDAVHDL实验Word文档下载推荐.docx_第8页
第8页 / 共30页
EDAVHDL实验Word文档下载推荐.docx_第9页
第9页 / 共30页
EDAVHDL实验Word文档下载推荐.docx_第10页
第10页 / 共30页
EDAVHDL实验Word文档下载推荐.docx_第11页
第11页 / 共30页
EDAVHDL实验Word文档下载推荐.docx_第12页
第12页 / 共30页
EDAVHDL实验Word文档下载推荐.docx_第13页
第13页 / 共30页
EDAVHDL实验Word文档下载推荐.docx_第14页
第14页 / 共30页
EDAVHDL实验Word文档下载推荐.docx_第15页
第15页 / 共30页
EDAVHDL实验Word文档下载推荐.docx_第16页
第16页 / 共30页
EDAVHDL实验Word文档下载推荐.docx_第17页
第17页 / 共30页
EDAVHDL实验Word文档下载推荐.docx_第18页
第18页 / 共30页
EDAVHDL实验Word文档下载推荐.docx_第19页
第19页 / 共30页
EDAVHDL实验Word文档下载推荐.docx_第20页
第20页 / 共30页
亲,该文档总共30页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

EDAVHDL实验Word文档下载推荐.docx

《EDAVHDL实验Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《EDAVHDL实验Word文档下载推荐.docx(30页珍藏版)》请在冰点文库上搜索。

EDAVHDL实验Word文档下载推荐.docx

3.最后在实验系统上进行硬件测试,验证本项设计的功能。

四.参考程序12

1.设计一个半加器12

2.设计一个或门12

3.设计一个全加器12

4.利用例化语句设计一个两位全加器。

13

5.利用例化语句设计一个四位全加器。

五.提高内容13

1.直接编写一位全加器的VHDL程序,利用获得的1位全加器构成2位全加器,并完成编译、综合、适配、仿真和硬件测试。

2.不用例化语句直接设计一个4位全加器,修改程序并验证。

六.实验报告13

1.详细叙述4位加法器的设计流程;

给出各层次的原理图及其对应的仿真波形图;

给出加法器的时序分析情况;

最后给出硬件测试流程和结果。

2.写出提高内容和参考程序不同的部分。

实验三用原理图输入法设计4位全加器14

一.实验目的14

1.熟悉利用ispLEVER的原理图输入方法设计简单组合电路,掌握利用原理图设计的硬件的方法。

14

2.通过一个1位全加器的设计。

比较利用原理图的方法设计和利用VHDL语言文本设计的优缺点。

二.实验原理14

1.半加器14

2.一位全加器14

3.两位全加器15

4.四位全加器15

三.实验步骤15

1.设计一个半加器并仿真。

15

2.设计一个1位全加器,分别仿真和下载,验证逻辑关系16

3.设计一个2位全加器,分别仿真和下载,验证逻辑关系16

4.设计一个4位全加器,分别仿真和下载,验证逻辑关系16

四.提高内容16

1.利用前面介绍的方法与流程,完成半加器和全加器的设计,包括原理图输入、编译、综合、适配、仿真、实验板上的硬件测试,并将此全加器电路设置成一个硬件符号入库。

17

2.设计一个8位全加器。

五.实验报告17

1.将实验原理、设计过程、编译仿真波形和分析结果、硬件测试实验结果写进实验报告。

18

2.写出仿真图形,根据仿真图中的输入和输出和硬件测试结果比较。

实验四6位八段数码扫描显示电路设计19

一.实验目的19

1.学习7段数码显示译码器设计;

了解教学系统中6位八段数码管显示电路的工作原理,设计标准扫描驱动电路模块,以备下一个实验用。

19

2.学习VHDL的select语句应用及多层次设计方法。

二.实验原理19

三.参考程序19

1.19

四.实验内容20

1.说明参考程序中各语句的含义,以及该例的整体功能。

在计算机上对该例进行编辑、编译、综合、适配、仿真,给出其所有信号的时序仿真波形。

20

2.引脚锁定及硬件测试。

硬件验证译码器的工作性能。

五.提高内容:

1.轮换显示A,B,C,D,E,F,H,P,L字母。

21

设计程序、程序分析报告、仿真波形图及其分析报告。

实验五6位计时器的设计(设计型)22

一.实验目的:

22

1.学习十进制计数器的设计;

2.学习数码显示数字的设计方法。

3.学习时序电路的设计、仿真和硬件测试,进一步熟悉VHDL设计技术。

二.实验原理22

三.参考程序22

四.实验内容26

1.设计六进制、十进制、六十进制和百进制计数器26

2.用六进制计数器,实现六个数码管轮流显示。

26

3.用百进制计数器实现百分之一秒和十分之一秒的数值的产生26

4.用六十进制计数器实现十秒和秒数值的产生。

5.用六十进制计数器实现十分和分数值的产生。

6.设计7段数码显示译码器。

五.提高内容26

1.实现分和秒具有预置和复位功能。

2.画出实验设计的完整电路图,详细说明其各部分的工作原理。

第二章软件使用参考27

实验一实验软件安装27

一.安装ispLEVER5.127

二.添加许可文件28

1.在crack文件中破解文件MentorKG拷贝MentorKG.exe到电脑上,点击它,产生一个license.txt.28

2.打开license.txt,把里面的内容全部拷贝到license_lattice.dat里面去(注意,要保留原来license_lattice.dat里面的文件,在顶部或者最底部粘贴上licese.txt里面内容。

另存到D:

\ispTOOLS5_1\license\license.dat。

28

三.添加ispLSI1032E28

实验二ispLEVER简介29

1.软件主要特征:

29

二.ispLSI系列介绍30

1.Synplify31

2.ispEXPERTCompiler32

实验三ispLEVER开发工具的FPGA设计输入方法32

一.创建一个新的设计项目32

2.VHDL设计输入的操作步骤33

3.编译35

二.功能仿真35

1.建立波形仿真文件36

2.使用BUS(总线)输入、输出37

3.看仿真结果38

三.下载39

1.ConstraintEditor约束编辑器(引脚对应)39

2.FitDesign(生成熔丝文件)40

3.下载到芯片内41

实验四原理图输入42

一.新建原理图文件42

1.建立原理图42

2.设计半加器命名成h_adder43

3.添加门电路43

4.加NetName45

5.加I/OMarker项。

45

6.保存46

二.设计的编译与仿真46

1.更新所有原理图文件(UpdateAllSchematicFiles)46

2.编译工程(MergedEDIFNetlist)46

3.建立波形仿真文件(WaveformStimulus)47

4.生成半加器原理图47

5.设计全加器47

6.设计一个两位全加器48

第一章实验指导

实验一简单组合电路设计

一.实验目的

1.熟悉QuartusII9.1的VHDL文本设计流程全过程,学习简单组合电路的设计。

2.初步了解可编程器件设计的软件仿真和硬件下载测试全过程。

3.设计并实现一个8选1多路数据选择器。

二.实验原理

在VHDL语言中描述一个2选一的多路选择器的方法有多种,例如:

在一个进程中使if-when-else语句;

在一个进程中case语句;

使用withselect构造或使用结构VHDL。

推荐的使用方法是使用whenelse构造,这样在VHDL代码中只用1行就可以描述2选1多路选择器。

例如:

libraryieee;

useieee.std_logic_1164.all;

entitymux2is

port(a,b,sel:

instd_logic;

q:

outstd_logic);

end;

architectureaofmux2is

begin

q<

=awhensel=’0’elseb;

但我们在描述一个8选1的多路选择器时,若采用同样的方法,则就需要许多行VHDL代码,此时我们可以在进程中使用case语句会很清晰,但无论使用哪一种描述方法,综合

得到的结果是一样的。

三、实验连线

输入信号DATA0~DATA7对应IO1—IO8接地或者3.3V;

S0~S3对应IO9—IO12接拨码开关;

输出信号Z对应IO13接发光二极管。

改变拨码开关S0~S3的状态,观察实验结果。

1.编写二选一多路选择器的源代码,编译完成后,新建波形仿真文件,进行功能仿真,验证真值关系是否满足。

2.引脚指定后,下载到芯片中,测试逻辑关系。

3.修改源程序设计成四选一选择器,最后在实验系统上进行硬件测试,验证本项设计的功能。

三.提高内容

1.如要设计一个8选1的选择器,如何修改程序。

四.实验报告:

1.根据以上的实验内容写出实验报告,包括程序设计、软件编译、仿真分析、硬件测试和实验过程;

2.程序源代码、程序分析报告、仿真波形图及其分析报告。

3.写出提高内容和参考程序不同的部分。

实验二用VHDL语言设计4位全加器

1.熟悉QuartusII的CycloneIIIEP3C25F324C8N芯片的引脚锁定以及硬件下载测试全过程。

2.掌握利用VHDL设计全加器的基本方法,设计并实现一个一位全加器。

计算机中的加法器一般就是全加器,它实现多位带进位加法。

下面以一位全加器介绍。

一位全加器有三个输入、两个输出,见图3-1。

图3-1一位全加器示意图

图中的“进位入”Ci-1指的是低位的进位输出,“进位出”Ci即是本位的进位输出。

一位全加器的真值表见表3-1。

表3-1:

输入

输出

Ci-1

Bi

Ai

Si

Ci

1

根据表3-1便可写出逻辑函数表达式:

全加功能的硬件实现方法有多种,例如:

可以把全加和看作是Ai与Bi的半加和Hi与进位输入Ci-1的半加和来实现。

多位全加器就是在一位的原理上扩展而成的。

集成电路全加器有7480、7481、7483等。

实验源程序文件名是fulladder.vhd。

全加器的三个输入所对应IO1—IO3同三位拨码开关相连,三个输入端子是a、b、cin,分别代表Ai、Bi、Ci-1;

两个输出所对应IO4,IO5同两位发光二极管相连,两个输出端子是co、sum,分别代表Ci、Si。

三.参考程序

1.设计一个半加器

LIBRARYIEEE;

USEIEEE.STD_LOGIC_1164.ALL;

ENTITYh_adderIS

PORT(a,b:

INSTD_LOGIC;

co,so:

OUTSTD_LOGIC);

ENDENTITY;

ARCHITECTUREfh1OFh_adderIS

BEGIN

so<

=aXORb;

co<

=aANDb;

ENDARCHITECTUREfh1;

2.设计一个或门

ENTITYor2aIS

c:

ENDENTITY;

ARCHITECTUREONEOFor2aIS

C<

=aORb;

ENDARCHITECTUREONE;

3.设计一个全加器

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:

co,so:

OUTSTD_LOGIC);

ENDCOMPONENT;

COMPONENTor2a

PORT(a,b:

c:

ENDCOMPONENT;

SIGNALd,e,f:

STD_LOGIC;

BEGIN

u1:

h_adderPORTMAP(a=>

ain,b=>

bin,co=>

d,so=>

e);

u2:

e,b=>

cin,co=>

f,so=>

sum);

u3:

or2aPORTMAP(a=>

d,b=>

f,c=>

cout);

ENDARCHITECTUREfd1;

4.利用例化语句设计一个两位全加器。

程序自编。

5.利用例化语句设计一个四位全加器。

四.提高内容

1.直接编写一位全加器的VHDL程序,利用获得的1位全加器构成2位全加器,并完成编译、综合、适配、仿真和硬件测试。

2.不用例化语句直接设计一个4位全加器,修改程序并验证。

五.实验报告

1.详细叙述4位加法器的设计流程;

2.写出提高内容和参考程序不同的部分。

实验三用原理图输入法设计4位全加器

1.熟悉利用ispLEVER的原理图输入方法设计简单组合电路,掌握利用原理图设计的硬件的方法。

2.通过一个1位全加器的设计。

1.半加器

根据真值表得到逻辑关系,然后生成半加器原理图

图一-三-1半加器原理图

2.一位全加器

图一-三-1一位全加器原理图

3.两位全加器

图一-三-1二位全加器原理图

4.四位全加器

图一-三-1四位全加器原理图

三.实验步骤

1.设计一个半加器并仿真。

图一-三-1半加器功能仿真波形图

2.设计一个1位全加器,分别仿真和下载,验证逻辑关系

图一-三-1一位全加器功能仿真波形图

3.设计一个2位全加器,分别仿真和下载,验证逻辑关系

(1)验证CI='

1'

A[1:

0]="

11"

、B[1:

10"

则COUT='

和S[1:

图一-三-1二位全加器功能仿真波形图

(2)利用总线输入信号

参考功能仿真中的使用BUS(总线)输入、输出

4.设计一个4位全加器,分别仿真和下载,验证逻辑关系

1.利用前面介绍的方法与流程,完成半加器和全加器的设计,包括原理图输入、编译、综合、适配、仿真、实验板上的硬件测试,并将此全加器电路设置成一个硬件符号入库。

2.设计一个8位全加器。

图一-三-1用4位全加器原理图设计8位全加器原理图

图一-三-2设计8位全加器功能仿真图

图一-三-38位全加器功能仿真结果

1.将实验原理、设计过程、编译仿真波形和分析结果、硬件测试实验结果写进实验报告。

2.写出仿真图形,根据仿真图中的输入和输出和硬件测试结果比较。

六.

实验四8位八段数码扫描显示电路设计

一.实验目的

1.学习8段数码显示译码器设计;

了解教学系统中8位八段数码管显示电路的工作原理,设计标准扫描驱动电路模块,掌握数码管显示的基本方法。

2.学习VHDL的BLOCK、SELECT和WHEN_LESE语句;

PROCEE语句的使用方法。

二.实验步骤

7段数码是纯组合电路,通常的小规模专用IC,如74或4000系列的器件只能作十进制BCD码译码,然而数字系统中的数据处理和运算都是2进制的,所以输出表达都是16进制的,为了满足16进制数的译码显示,最方便的方法就是利用译码程序在FPGA/CPLD中来实现。

作为7段译码器,输出信号LED7S的7位分别接如图5-18数码管的7个段,高位在左,低位在右。

例如当LED7S输出为“1101101”时,数码管的7个段:

g、f、e、d、c、b、a分别接1、1、0、1、1、0、1;

接有高电平的段发亮,于是数码管显示“5”。

如果要考虑小数点的发光管,需要增加段h。

1、设计一个分频器;

2、设计一个译码器;

3、8个数码管显示相同内容(0~F任一数字);

4、8个数码管显示从0~F显示相同内容;

5、8个数码管显示01234567。

三.实验任务

1、完成编译、综合、配置、仿真、下载和硬件测试。

2、用手机记录个过程的图像

四.参考程序

--IO1--IO3分别连接SEL_A,SEL_B,SEL_C

--IO4--IO11分别连接数码管的A-Dp

USEIEEE.STD_LOGIC_ARITH.ALL;

USEIEEE.STD_LOGIC_UNSIGNED.ALL;

ENTITYSeg7_Dspis

PORT(

CP:

--CLOCK

SEGOUT:

OUTSTD_LOGIC_VECTOR(7DOWNTO0);

--SEG7DisplayO/P

SELOUT:

OUTSTD_LOGIC_VECTOR(2DOWNTO0)--SelectSEG7O/P);

ENDSeg7_Dsp;

ARCHITECTUREaOFSeg7_DspIS

SIGNALNUM:

STD_LOGIC_VECTOR(3DOWNTO0);

--NumberDisplaySignalSIGNALSEG:

STD_LOGIC_VECTOR(7DOWNTO0);

--SEG7DisplaySignal

SIGNALSEL:

STD_LOGIC_VECTOR(2DOWNTO0);

--SelectSEG7Signal

Connection:

Block

Begin

SELOUT<

=SEL;

--Seg7DispSelection

SEGOUT(7DOWNTO0)<

=SEG;

--SevenSegmentDisplay

EndBlockConnection;

Free_Counter:

Block--计数器--产生扫描信号

SignalQ:

STD_LOGIC_VECTOR(29DOWNTO0);

SignalS:

STD_LOGIC_VECTOR(2DOWNTO0);

PROCESS(CP)--计数器计数

Begin

IFCP'

EventANDCP='

then

Q<

=Q+1;

ENDIF;

ENDPROCESS;

--NUM<

=Q(29DOWNTO26);

--about1Hz

S<

=Q(10DOWNTO8);

--about300Hz扫描信号

SEL<

="

000"

WHENS=0ELSE

"

001"

WHENS=1ELSE

010"

WHENS=2ELSE

011"

WHENS=3ELSE

100"

WHENS=4ELSE

101"

WHENS=5ELSE

110"

WHENS=6ELSE

111"

WHENS=7ELSE

;

EndBlockFree_Counter;

NUM1:

BLOCK

NUM<

="

0000"

WHENSEL="

ELSE

0001"

0010"

0011"

0100"

0101"

0110"

0111"

1111"

ENDBLOCKNUM1;

SEVEN_SEGMENT:

Block--BinaryCode->

Segment7Code

SEG<

00111111"

WHENNUM=0ELSE

00000110"

WHENNU

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

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

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2