1位全加器原理图输入设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
附表1:
广州大学学生实验报告
开课学院及实验室:物理与电子工程学院-电子楼317室2016年 4 月25 日
图1-1连接好原理图并存盘
现在利用已设计好的半加器,完成顶层项目全加器的设计,详细步骤如下:
、打开一个新的原理图编辑窗,然后在本工程目录中找到已包装好的半加器元件h_adder,并将它调入原理图编辑窗中。这时如果对编辑
窗中的半加器元件h_adder双击,即可弹出此元件内部的原理图。
2、完成全加器原理图设计(图1-2),并以文件名f_adder.bdf存在同一目录中。
图1-2 在顶层编辑窗中设计好全加器
3、将当前文件设置成Project,并选择目标器件为CycloneIII系列的EP3C40Q240C8N。
4、编译此顶层文件f_adder.bdf,然后建立波形仿真文件。
5、对应f_adder.bdf的波形仿真文件如图1-3所示,参考图中输入信号cin、bin和ain输入信号电平的设置,启动仿真器Simulator,观察输出波形的情况。
6、锁定引脚、编译并编程下载,硬件实测此全加器的逻辑功能。
三、实验HDL描述:
module add_1bit (ain, bin, cin, sum, cout)
input ain, bin, cin; //cin为上个进位。
output reg sum, cout; //cout为当前的进位,sum为加结果
always@(*)
begin
cout = (ain & bin) | (bin & cin) | (cin & ain);
if (cin)
s = ! (ain^bin);
else
s = (ain^bin);
end
endmodule
四、仿真结果:
半加器波形仿真图
由波形图可以看出,当A和B都为1是,产生进位,此时CO为1,SO为0,只有A或者B为1时,不产生进位,CO为0,SO为1,A和B 都为0时,CO和SO都为0。
1位全加器波形仿真图
1位全加器真值表
输入输出
ain bin cin cout sum
0 0 0 0 0 1 0 1 0
0 1 1
1 0 0 1 0 1
0 1 0
1 1 1 0 0 0 1
0 1
1 0
0 1
1 0 1 0 1 1
与1位全加器逻辑表达式:sum=ain⊕bin⊕cin ; cout=ain ∙ bin+(ain ∙ bin)cin 符合。
六、硬件测试结果:
下载程序到目标机上进行硬件测试
注:键1:ain、键2:bin、键3:cin;LED-D1:cout、LED-D2:sum。(模式5)
项目名称”栏以上部分统一。