• verilog代码 想法验证---与寄存器输出有关


    verilog代码 想法验证---与寄存器输出有关

    1.

    module test_mind(
        input  wire clk,
        input  wire reset,
        input  wire i,
        output wire A,
        output wire B
        );
    
    reg reg_A;
    always @ (posedge clk or negedge reset)
        if(reset)
            reg_A <= 1'b0;
        else if(i)
            reg_A <= 1'b1;
        else 
            reg_A <= 1'b0;
    
    reg reg_B;
    always @ (posedge clk or negedge reset)
        if(reset)
            reg_B <= 1'b0;
        else if(reg_A)
            reg_B <= 1'b1;
        else 
            reg_B <= 1'b0;
    
    assign A = reg_A;
    assign B = reg_B;
    endmodule

    2.

    add_force {/test_mind/clk} -radix hex {0 0ns} {1 50000ps} -repeat_every 100000ps
    add_force {/test_mind/reset} -radix hex {1 0ns} {0 100000ps}
    add_force {/test_mind/i} -radix hex {0 0ns} {1 850000ps} {0 950000ps}

    3.

    4.

    add_force {/test_mind/clk} -radix hex {0 0ns} {1 50000ps} -repeat_every 100000ps
    add_force {/test_mind/reset} -radix hex {1 0ns} {0 100000ps}
    add_force {/test_mind/i} -radix hex {0 0ns} {1 850000ps} {0 900000ps}

    5.

    结论:1.第二级寄存器还是会比第一级延时一个周期

       2.输入信号一点被采集到,即使在一个时钟周期内发生跳变,也不会影响寄存器的输出结果。

  • 相关阅读:
    管道流
    构造方法中用泛型
    代码实现长提闪烁
    关联事件,向窗体中添加控件,设置控件属性等系列操作
    picturebox中添加图片
    typeof gettype
    groupbox
    static用法
    运算符重载
    类修饰符
  • 原文地址:https://www.cnblogs.com/chensimin1990/p/7842642.html
Copyright © 2020-2023  润新知