输入信号与时钟变化一致时,非阻塞方式内部信号变化分析

程序:

module non_block(
    input            clk,
    input    [2:0]    a,
    output[2:0]    b,
    output[2:0]    c
    );
reg[2:0]    b,c;

always@(posedge clk)
begin
    b    <=    a;
    c    <=    b;
end

endmodule

激励:

module tb_block;

    // Inputs
    reg clk;
    reg [2:0] a;

    // Outputs
    wire [2:0] b;
    wire [2:0] c;

    // Instantiate the Unit Under Test (UUT)
    block uut (
        .clk(clk), 
        .a(a), 
        .b(b), 
        .c(c)
    );

    initial 
    begin
        clk = 0;
        forever #50 clk = ~clk;
    end
    
    initial
    begin
        a = 4'h3;
    //    $display("____________________________");
        # 50 a = 3'h7;
    //    $display("____________________________");
        # 100 a = 3'h5;
    //    $display("____________________________");
        # 100 a = 3'h2;
    //    $display("____________________________");
        # 100 a = 3'h4;
    //    $display("____________________________");
    //    # 100 $display("____________________________");
        //$stop;
    end
      
endmodule

仿真结果:

 

posted @ 2018-03-23 16:11  行舟人  阅读(236)  评论(0编辑  收藏  举报