- 1、本文档共4页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
题目:1位全加器的设计
一.实验目的
熟悉QUARTUSI软件的使用;
熟悉实验硬件平台的使用;
掌握利用层次结构描述法设计电路。
?实验原理
由于一位全加器可由两个一位半加器与一个或门构成, 为半加器模块;然后在顶层调用半加器模块组成全加器电路; 实验箱,其中ai n,bi n,cin 信号可采用实
验箱上SW0,SW1,SW2键作为输入,并将输
首先设计半加器电路, 将其打包
最后将全加器电路编译下载到
入的信号连接到红色 LED管
LEDR0,LEDR1 ,L EDR上便于观察,sum,cout 信号采用绿色发光二极管 LEDG0,LEDG1来 显示。
三.实验步骤
在QUARTUSI软件下创建一工程,工程名为
新建Verilog语言文件,输入如下半加器 module half_adder(a,b,s,co);
in put a,b;
output s,co;
wire s,co;
assig n co=a b;
assig n s=a A b;
n
U2
0 b-
半加器
suu
■ w
o c
H
CD
n
1 -rk
为 名 芯
al
Verilog语言源程序;
半加器
UO_s
En dmodule
3.保存半加器程序为,进行功能仿真、时序仿真,验证设计的正确性。
其初始值、功能仿真波形和时序仿真波形分别如下所示
— —
—
10V3Al0和AC11VS1£ 76A F m10 0A£h m a:ilEvatkiier me : rIbiTtra■H77feS51 rE』” FWta-
10
V3
Al
0
和
AC
11
VS
1£ 76
A F m
10 0A£
h m a:
ilEvat
kiier me : r
IbiTtra
■H77fe
S51 rE
』” FWta-
模块;
5.新建一原理图文件,在原理图中调用半加器、或门模块和输入, 输出引脚,按照图1所示
连接电路。并将输入 ain,bin,cin 连接到FPGA的输出端,便于观察。完成后另保存
full_adder 。
4.选择菜单
File
t Create/Update 宀 Create Symbol Files for current file
,创建半加器
电路图如下
6.对设计进行全编译,锁定引脚,然后分别进行功能与时序仿真,验证全加器的逻辑功能。
其初始值、功能仿真波形和时序仿真波形分别如下所示
16. Wk
it 7T$ os
wiu ti
16.16 ns
)ps ID. 0 ns
S T1
呼]
aia
A 1
邮1
A1
血
AO
AO
CITI
AO
陥_:
AO
cant
AO
A:
1
7.下载
采用JATG方式进行下载,通过SW0,SW1,SW输入,观察LEDR[O]丄EDR[1]丄EDR[2]丄EDG[O], LEDG[1]亮灭验证全加器的逻辑功能。波动波动开关并观察红色、绿色 LED的变化,验证设
计的正确性。结果验证正确。
四?思考题
为什么在实验步骤 3中,将半加器保存为 half_adder,可否保存为full_adder
答:不能,因为在程序中, module half_adder(a,b,s,co) 已经给程序定义了一个名字叫
half_adder , VHDL语言中,要求程序名与实体名一致,因此保存的文件名必须和程序名一 致,否则在编译程序的时候就会出现错误。
对电路进行功能仿真与时序仿真时,发现二者有什么样的区别
答:功能仿真就是将综合后的 VHDL网表文件再送到VHDL仿真器中所进行仿真。这时的仿真
仅对VHDL描述的逻辑功能进行测试模拟,以了解其实现的功能是否满足原设计的要求,仿 真过程不涉及具体器件特性,如延时特性。时序仿真就是将布线器 /适配器所产生的 VHDL
网表文件送到VHDL仿真器中所进行的仿真。该仿真已将器件特性考虑进去了,因此可以得 到精确的时序仿真结果。
总而言之, 功能仿真不需要综合, 所以也不需要延时, 时序仿真要走完整个电路要计算各个 模块的时延,所以要延时。
什么要进行引脚锁定
答:每种芯片的不同引脚( pin )对应着不同的功能。比如,有的引脚对应着发光二极管, 有的是数码管的控制端,有的是输入时钟; FPGA 一般都有几百个管脚,我们的设计也会有
很多管脚,进行引脚锁定,编引脚接到到了 FPGA的哪一个管脚上,如果不进行引脚锁定,
编译,下载后就无法知道你设计的模块中的哪一个信号练到了 FPGA的哪一个管脚上。
如果只是进行编译, 综合,并不下载,就不需要引脚锁定,如果想把程序编译综合后下载到 FPGA去运行,就必须进行引脚锁定,锁定后重新编译综合,然后下载,验证。
采用层次结构法描述电路有什么样的优点 答:可以大大降低设计成本,缩短设计周期; 极大地简化设计文
文档评论(0)