- 1、本文档共10页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
PAGE
PAGE1
实验二:加法器的设计与仿真
2.11位半加器的设计与仿真
2.1.1设计任务
完成第十二章12.3节半加器设计内容,完成设计输入、编译、时间约束设置,功能仿真,管脚分配。
2.1.2设计思路与原理
一位半加器有两输入两输出,输入为两个数据位相加,没有进位输入,输出为一个数据位一个进位,实现一位二进制加法。其中a,b为输入,cout为进位输出,sum为和输出。
一位半加器真值表
a
b
sum
cout
0
0
0
0
0
1
1
0
1
0
1
0
1
1
0
1
2.1.3Verilog源代码与注释
moduleh_add(cout,sum,a,b);
outputcout,sum;
inputa,b;
wirecout,sum;
assign{cout,sum}=a+b; //用assign进行线网赋值
endmodule //{}为连接符号
`timescale100ps/10ps
moduleh_add_vlg_tst();
rega,b;
wirecout,sum;
h_addi1(cout,sum,a,b);
parameterperiod1=50,period2=100; //period1为a的周期
parameterpulse=40; //period2为b的周期pluse重复四十次
initial
begin
a=1b0;
repeat(pulse)
#(period1/2)a=~a;
end
initial
begin
b=1b0;
repeat(pulse)
#(period2/2)b=~b;
end
endmodule
2.1.4仿真结果与分析
a,b为输入位,testbench设置a翻转周期50,b反转周期为100,在无时序延迟影响下,可从图中直观看出符合半加器设计要求。
图2-11位半加器的功能仿真截图
图2-21位半加器的时序仿真截图
时序仿真使用布局布线后器件给出的模块和连线的延时信息,在最坏的情况下对电路的行为作出实际地估价,时序仿真信号加载了时延,波形产生毛刺现象。
2.28位全加器的设计与仿真
2.2.1设计任务
利用1位半加器设计8位全加器,使用QuartusII软件进行仿真验证,测试功能。
2.2.2设计思路与原理
一位半加器与一位全加器的区别在于全加器有从低位进上来的进位位,可以使用两个半加器与一个二输入或门构成一位全加器,有三个输入信号分别问cin,a,b和两个输出信号cout和sum。
一位半加器真值表
cin
a
b
cout
sum
0
0
0
0
0
0
0
1
0
1
0
1
0
0
1
0
1
1
1
0
1
0
0
0
1
1
0
1
1
0
1
1
0
1
0
1
1
1
1
1
由八个一位全加器级联即可获得一个八位全加器
2.2.3Verilog源代码与注释
moduleadd_1(
a,
b,
cin,
cout,
sum
); //一位全加器有三个输入信号,两个输出信号
inputwire a;
inputwire b;
inputwire cin;
outputwire cout;
outputwire sum;
wire SYNTHESIZED_WIRE_0; //定义三个综合过的线网信号
wire SYNTHESIZED_WIRE_1; //用于全加器之间的连接
wire SYNTHESIZED_WIRE_2;
h_add b2v_inst1(
.a(a),
.b(b),
.cout(SYNTHESIZED_WIRE_2),
.sum(SYNTHESIZED_WIRE_0));
h_add b2v_inst2(
.a(SYNTHESIZED_WIRE_0),
.b(cin),
.cout(SYNTHESIZED_WIRE_1),
.sum(sum));
assign cout=SYNTHESIZED_WIRE_1|SYNTHESIZED_WIRE_2;
//一位全加器是否有进位是看低位是否有进位以及本位是否产生新的进位信号
endmodule
moduleadd_8( //八位全加器也是三个输入信号,两个输出信号
cin,
A,
B,
COUNT,
SUM
);
inputwire cin;
inputwire [7:0]A;
inputwire [7:0]B;
outputwire COUNT;
ou
您可能关注的文档
- 《可编程逻辑器件及应用》课程实验报告 凌智城 201806061211_实验三.pdf
- 《可编程逻辑器件及应用》课程实验报告 凌智城 201806061211_实验四.pdf
- 《可编程逻辑器件及应用》课程实验报告 凌智城 201806061211_实验一.pdf
- AVL数据结构课程设计.pdf
- 定量定性:代际关系、养老保险与中国城镇养老新图景.pdf
- 定量论文:温州民营企业主慈善捐赠行为研究.pdf
- 计算机网络课程设计报告.pdf
- 可编程逻辑器件及应用.pdf
- 面向对象程序设计Description of competition exercise.pdf
- 面向对象程序设计bigNumber.pdf
最近下载
- 数学四年级下册运算律复习课.pptx VIP
- [江苏]市政基础设施工程质量检测指引.docx
- 房屋建筑和市政基础设施工程质量检测指引(2022版).docx
- 最新小学数学单元素养作业设计模板.pdf
- Hasselblad哈苏相机X2D 100C User Manual - Simplified Chinese用户手册说明书(中文版).pdf
- 12S108-2真空破坏器选用与安装.docx
- 试卷合集4份2023届广东省佛山市高一数学下学期期末学业水平测试试题.pdf VIP
- 广东省汕尾市2020-2021学年高一下学期期末考试数学试题 .docx VIP
- 2020-2021学年广东省东莞市高一下学期期末考试数学试题.pdf
- 广东省中山市2024-2023高一下学期期末数学试题(教师版含解析).docx VIP
文档评论(0)