在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 2129|回复: 3

[求助] 大家帮我看看这个testbench

[复制链接]
发表于 2013-2-28 19:40:30 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
由于是新手,testbench还不是很会,一个王金明书本上的4位全加器的仿真,仿真出来的东西怎么都看不明白,现在求教一下大家:
源代码:
module adder4(ina,inb,cin,cout,sum);
  input[3:0] ina;
  input[3:0] inb;
  input cin;
  
  output cout;
  output[3:0] sum;
  
  assign {sum,cout}=ina+inb+cin;
endmodule

激励测试如下:
`timescale 1ns/1ns
`include"four_adder.v"
module adder4_tb;
  reg[3:0] a;
  reg[3:0] b;
  reg cin;
  
  wire[3:0] sum;
  wire cout;
  integer i;
  integer j;
  
  adder4 adder(a,b,cin,cout,sum);
  always #5 cin=~cin;
  
  initial
  begin
    a=0;
    b=0;
    cin=0;
    for(i=1;i<10;i=i+1)
    #10 a=i;
  end
  
  initial
  begin
    for(j=1;j<16;j=j+1)
    #10 b=j;
  end
  
  initial
  begin
    $monitor($time, , , "%d + %d +%b={%b,%d}",a,b,cin,cout,sum);
    #160 $finish;
  end
endmodule


然后仿真出来的结果:

#                    0   0 +  0 +0={0, 0}
#                    5   0 +  0 +1={1, 0}
#                   10   1 +  1 +0={0, 1}
#                   15   1 +  1 +1={1, 1}
#                   20   2 +  2 +0={0, 2}
#                   25   2 +  2 +1={1, 2}
#                   30   3 +  3 +0={0, 3}
#                   35   3 +  3 +1={1, 3}
#                   40   4 +  4 +0={0, 4}
#                   45   4 +  4 +1={1, 4}
#                   50   5 +  5 +0={0, 5}
#                   55   5 +  5 +1={1, 5}
#                   60   6 +  6 +0={0, 6}
#                   65   6 +  6 +1={1, 6}
#                   70   7 +  7 +0={0, 7}
#                   75   7 +  7 +1={1, 7}
#                   80   8 +  8 +0={0, 8}
#                   85   8 +  8 +1={1, 8}
#                   90   9 +  9 +0={0, 9}
#                   95   9 +  9 +1={1, 9}
#                  100   9 + 10 +0={1, 9}
#                  105   9 + 10 +1={0,10}
#                  110   9 + 11 +0={0,10}
#                  115   9 + 11 +1={1,10}
#                  120   9 + 12 +0={1,10}
#                  125   9 + 12 +1={0,11}
#                  130   9 + 13 +0={0,11}
#                  135   9 + 13 +1={1,11}
#                  140   9 + 14 +0={1,11}
#                  145   9 + 14 +1={0,12}
#                  150   9 + 15 +0={0,12}
#                  155   9 + 15 +1={1,12}

QQ截图20130228194135.png

结果和波形图怎么都那么怪异????


大家帮我试试

看看问题出在哪里
发表于 2013-2-28 21:25:31 | 显示全部楼层
这句话有问题吧:
{sum,cout}=ina+inb+cin;
应该是:
{cout, sum}=ina+inb+cin;
 楼主| 发表于 2013-2-28 21:47:44 | 显示全部楼层
回复 2# acgoal


    O
可以了
原来这里出问题了,修改了可以了
发表于 2013-3-20 13:51:10 | 显示全部楼层
yunsi yun si
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /2 下一条


小黑屋| 手机版| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-11-25 19:11 , Processed in 0.033131 second(s), 10 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表