1位全加器的设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1位全加器的设计
一、实验目的
1.熟悉QUARTUSII软件的使用;
2.熟悉实验箱的使用;
3.掌握利用层次结构描述法设计电路。
二、实验原理及说明
由数字电路知识可知,一位全加器可由两个一位半加器与一个或门构成,其原理图如图1所示。
该设计利用层次结构描述法,首先设计半加器电路,将其打包为半加器模块;然后在顶层调用半加器模块组成全加器电路;最后将全加器电路编译下载到实验箱,其中ain,bin,cin信号可采用实验箱上SW0,SW1,SW2键作为输入,并将输入的信号连接到红色LED管LEDR0,LEDR1,LEDR2上便于观察,sum,cout信号采用绿色发光二极管LEDG0,LEDG1来显示。
图1.1 全加器原理图
三、实验步骤
1.在QUARTUSII软件下创建一工程,工程名为full_adder,芯片名为EP2C35F672C6
注意工程路径放到指定的数据文件夹,不可放到软件安装目录中;
2.新建Verilog语言文件,输入如下半加器Verilog语言源程序;
module half_adder(a,b,s,co);
input a,b;
output s,co;
wire s,co;
assign co=a & b;
assign s=a ^ b;
endmodule
3.保存半加器程序为half_adder.v,进行功能仿真、时序仿真,验证设计的正确性
4.选择菜单Fil e→Create/Update→Create Symbol Files for current file,创建
半加器模块;
5.新建一原理图文件,在原理图中调用半加器、或门模块和输入,输出引脚,按照图
1所示连接电路。
并将输入ain,bin,cin连接到FPGA的输出端,便于观察。
完成后另保存full_adder。
6.对设计进行全编译,如出现错误请按照错误提示进行修改。
7.分别进行功能与时序仿真,验证全加器的逻辑功能。
9.下载
采用JATG方式进行下载,通过SW0,SW1,SW2输入,观察的LEDR[0],LEDR[1],LEDR[2],LEDG[0],LEDG[1]亮灭验证全加器的逻辑功能。
四、思考题
1.为什么在实验步骤3中,将半加器保存为half_adder,可否保存为full_adder?
2.对电路进行功能仿真与时序仿真时,发现二者有什么样的区别?
3.为什么要进行引脚锁定?
4.采用层次结构法描述电路有什么样的优点?。