微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > FPGA,CPLD和ASIC > for循环还是不走啊。什么情况

for循环还是不走啊。什么情况

时间:10-02 整理:3721RD 点击:
刚刚学verilog编了一个加法器,代码如下,仿真的时候a怎么总是在00处,不往下面走啊。
`timescale 1ns/100ps
module adder2b(output reg [1:0] C,S, input [1:0] A,B);

  
  initial
  C[0]=1'b0;
  
  always@(A,B)
  begin
    #1 S[0]=A[0]^B[0]^C[0];
    #1 C[1]=(A[0]&B[0])|(C[0]&(A[0]^B[0]));
    #1 S[1]=A[1]^B[1]^C[1];
  end
endmodule
`timescale 1ns/100ps
module adder2b_tb;
  reg [1:0] a,b;
  reg i;
  
  initial
  begin
   #10 a[1:0]=2'b00;
       b[1:0]=2'b00;
       for( i=0;i<=3;i=i+1)
       #10 b=b+i;
  #10 a[1:0]=2'b01;
      b[1:0]=2'b00;
      for( i=0;i<=3;i=i+1)
      #10 b=b+i;
  
  #10 a[1:0]=2'b10;
      b[1:0]=2'b00;
      for( i=0;i<=3;i=i+1)
      #10 b=b+i;
   
   #10 a[1:0]=2'b11;
       b[1:0]=2'b00;
       for( i=0;i<=3;i=i+1)
       #10 b=b+i;
    end
    adder2b test(.C(),.S(),.A(a),.B(b));
  endmodule

好吧 解决了。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top