完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
|
`这是verilog代码 module adder4 (cout, sum, ina, inb, cin); input [3:0] ina, inb; input cin; output [3:0] sum; output cout; assign {cout, sum} = ina+inb+cin; endmodule 这是仿真 module test_adder4; reg [3:0] ina, inb; reg cin; wire [3:0] sum; wire cout; adder4 adder(sum, cout, ina, inb, cin); //调用测试对象 initial begin #0 ina = 4'b0001; inb = 4'b1010; cin = 1'b0; #5 ina = 4'b0010; inb = 4'b1010; cin = 1'b1; #5 ina = 4'b0010; inb = 4'b1110; cin = 1'b0; #5 ina = 4'b0011; inb = 4'b1100; cin = 1'b1; #5 ina = 4'b0111; inb = 4'b1001; cin = 1'b0; #5 ina = 4'b0001; inb = 4'b1100; cin = 1'b1; #5 ina = 4'b0011; inb = 4'b1100; cin = 1'b0; #5 ina = 4'b0111; inb = 4'b1111; cin = 1'b1; #5 $finish; end initial begin $monitor("At time %t, ina(%b) + inb(%b) + cin(%b) = sum(%b) (%2d), cout(%b)", $time,ina, inb, cin, sum, sum, cout); end endmodule 在vivado2017.3 Run Behavioral Simulation下的运行结果,sum是高阻态,这是为什么呀? `
|
|
相关推荐
3个回答
|
|
|
用modelsim仿真时可以的啊!我估计是assign {cout, sum} = ina+inb+cin;这句话的问题,你换个写法
wire [4:0] sum0; assign sum0 = ina+inb+{3'd0,cin}; assign sum = sum0[3:0]; assign cout = sum0[4]; 应该可以
最佳答案
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
NVMe高速传输之摆脱XDMA设计51:主要功能测试结果与分析3 nvmePCIe高速存储 PCIe高速存储
447 浏览 0 评论
NVMe高速传输之摆脱XDMA设计50:主要功能测试结果与分析2 nvmePCIe高速存储
403 浏览 0 评论
NVMe高速传输之摆脱XDMA设计49:主要功能测试结果与分析1
1521 浏览 0 评论
959 浏览 0 评论
900 浏览 0 评论
4439 浏览 63 评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-3 23:12 , Processed in 0.786316 second(s), Total 78, Slave 59 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
6229