Verilog简单寄存器测试台

Verilog简单寄存器测试台,verilog,Verilog,我想用verilog推断一个简单的触发器。这是代码 module tb_simpleRegister(); reg clk; reg a; wire b; simpleRegister dut ( .clk(clk), .a(a), .b(b), .c(c) ); initial begin clk=1; a=0; #10 a=1; #10 a=0; end always

我想用verilog推断一个简单的触发器。这是代码

module tb_simpleRegister();

  reg clk;
  reg a;
  wire b;

  simpleRegister dut
  (
    .clk(clk),
    .a(a),
    .b(b),
    .c(c)
  );


  initial begin
    clk=1;
    a=0;
    #10
    a=1;
    #10
    a=0;
  end

  always #5 clk = ~clk;
endmodule

module simpleRegister(
    input clk,
    input a,
    output reg b,
    output reg c
    );

    always @(posedge clk) begin
        b <= a;
        c <= b;
    end
endmodule
模块tb_simpleRegister();
注册时钟;
注册a;
导线b;
简单注册器
(
.clk(clk),
.a(a),
.b(b),
.c(c)
);
初始开始
clk=1;
a=0;
#10
a=1;
#10
a=0;
结束
始终#5 clk=~clk;
端模
简单寄存器模块(
输入时钟,
输入a,
输出寄存器b,
输出寄存器c
);
始终@(posedge clk)开始

b我将重写测试台,如下所示:

initial begin
    @(posedge clk);
    a<=0;
    @(posedge clk);
    a<=1;
    @(posedge clk);
    a<=0;
  end

//Clock in separate process
initial begin
  clk=1;
  forever begin
    #5 clk = ~clk;
  end
end
初始开始
@(中电);

a你说“不象人字拖”是什么意思?预期的结果是什么?谢谢。您的代码运行良好。同样,当我将初始循环更改为“初始开始clk=1;a