- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Verilog HL数字设计与综合(第二版) 第六章课后习题答案
1.一个全减器具有三个一位输入:x,y和z(前面的借位),两个一位输出D(差)和B(借位)。计算D和B的逻辑等式如下所示:
D = x’( y’( z’ + x’( y ( z’ + x ( y’( z’ + x ( y ( z
B = x’( y + x’( z + y ( z
根据上面的定义写出Verilog描述,包括I/O端口(注意:逻辑等式中的+对应于数据流建模中的逻辑或(| |)操作符)。编写激励块,在模块中实例引用全减器。对x,y和z这三个输入的8种组合及其对应的输出进行测试。
x y z B D 0 0 0 0 0 0 0 1 1 1 0 1 0 1 1 0 1 1 1 0 1 0 0 0 1 1 0 1 0 0 1 1 0 0 0 1 1 1 1 1 答:代码及测试激励如下:(D 应该= x’( y’( z + x’( y ( z’ + x ( y’( z’ + x ( y ( z)
`timescale 1ns/1ns
module full_sub(x,y,z,D,B);
input x,y,z;
output D,B;
assign D=((!x)(!y)(z))||((!x)y(!z))||(x(!y)(!z))||(xyz);
assign B=((!x)y)||((!x)z)||(yz);
endmodule
module test61;
reg x,y,z;
wire D,B;
initial
begin
x=0;y=0;z=0;
#10 x=0;y=0;z=1;
#10 x=0;y=1;z=0;
#10 x=0;y=1;z=1;
#10 x=1;y=0;z=0;
#10 x=1;y=0;z=1;
#10 x=1;y=1;z=0;
#10 x=1;y=1;z=1;
#10 $stop;
end
full_sub fsubtracter(x,y,z,D,B);
initial
$monitor($time,x= %b,y= %b,z= %b,B= %b,D= %b,x,y,z,B,D);
endmodule
最终输出观测结果:
# 0x= 0,y= 0,z= 0,B= 0,D= 0
# 10x= 0,y= 0,z= 1,B= 1,D= 1
# 20x= 0,y= 1,z= 0,B= 1,D= 1
# 30x= 0,y= 1,z= 1,B= 1,D= 0
# 40x= 1,y= 0,z= 0,B= 0,D= 1
# 50x= 1,y= 0,z= 1,B= 0,D= 0
# 60x= 1,y= 1,z= 0,B= 0,D= 0
# 70x= 1,y= 1,z= 1,B= 1,D= 1
2.大小比较器的功能是比较两个数之间的关系:大于、小于或等于。一个四位大小比较器的输入是两个四位数A和B。我们可以将它们写成下面的形式,最左边的位为最高有效位:
A =A(3) ( A(2) ( A(1) ( A(0)
B =B(3) ( B(2) ( B(1) ( B(0)
两个数的比较可以从最高有效位开始,逐位进行。如果两个位不相等,则该位值为0的数为较小的数。为了用逻辑等式实现这个功能,我们需要定义一个中间变量x。注意下面实现的是同或(xnor)的功能。
x (i) = A(i) ( B (i) + A (i)’ ( B (i)’
大小比较器的三个输出为:A_gt_B,A_lt_B和A_eq_B。其计算公式为:
A_gt_B = A(3) ( B(3)’ + x(3) ( A(2) ( B(2)’ + x(3) ( x(2) ( A(1) ( B(1)’ + x(3) ( x(2) ( x(1) ( A(0) ( B(0)’
A_lt_B = A(3)’ ( B(3) + x(3) ( A(2)’( B(2) + x(3) ( x(2) ( A(1)’ ( B(1) + x(3) ( x(2) ( x(1)( A(0)’( B(0)
A_eq_B = x (3) ( x (2) ( x (1) ( x (0)
写出模块magnitude_comparator的Verilog描述。写出激励模块并在模块中实例引用magnitude_ comparator模块。选择A和B的几种组合,对模块的功能进行测试。
答:代码以及测试激励:
`timescale 1ns/1n
您可能关注的文档
最近下载
- 高一数学(必修二)立体几何初步单元测试卷及答案.docx VIP
- “二次元经济”崛起背后的商业逻辑.docx VIP
- 【阶段测试】人教版数学六年级上册第一单元《分数乘法》单元测试卷27.doc VIP
- 中国谷子经济分析:从哪吒旋风看二次元IP衍生品市场崛起.pdf VIP
- 2025年全国高考山东省物理真题试卷(含答案).pdf
- 2025年人教版数学六年级上册单元测试卷-第一单元 分数乘法(含答案).pdf VIP
- 《不负'食'光拒绝浪费》班会课件.pptx VIP
- 部编本《一块奶酪》优质课公开课教案课堂教学实录.docx VIP
- DB13T 5448.3-2021 工业取水定额 第3部分:医药行业.docx VIP
- 山东省安装工程消耗量定额(2016).pdf
文档评论(0)