触发器的verilog表示
我正在自学verilog,并试图编写一个失败的模型。我在specify部分遇到了以下ck->q延迟弧的建模,但无法理解它到底是什么触发器的verilog表示,verilog,Verilog,我正在自学verilog,并试图编写一个失败的模型。我在specify部分遇到了以下ck->q延迟弧的建模,但无法理解它到底是什么 (posedge CK=>(Q:1'b1))=(0,0) 有人能给我解释一下它是怎么工作的吗?当D=1,CK->Q考虑到这些延迟时,会是这样吗? 如果是这样,我们是否需要 (posedge CK=>(Q:1'b0))=(0,0) 那么,关于引脚D上的X传播呢?Verliog可以用来模拟许多能级。简单行为模型,RTL(可综合)建模数据和控制的传输,或逻辑门级的门级(a
(posedge CK=>(Q:1'b1))=(0,0)代码>
有人能给我解释一下它是怎么工作的吗?当D=1,CK->Q
考虑到这些延迟时,会是这样吗?
如果是这样,我们是否需要
(posedge CK=>(Q:1'b0))=(0,0)代码>
那么,关于引脚D上的X传播呢?Verliog可以用来模拟许多能级。简单行为模型,RTL(可综合)建模数据和控制的传输,或逻辑门级的门级(and或or、触发器)。通常,只有门级必须知道这些延迟
RTL中模拟翻转行为的典型方法是:
always @(posedge clk) begin
q <= d;
end
始终@(posedge clk)开始
q您指的是边缘敏感路径。根据第30.4.3节,“它用于模拟输入到输出延迟的时间,该延迟仅在源信号出现指定边缘时发生”
在您的示例中,数据源表达式(D=1'b1)是一个任意表达式,用于描述到路径目标的数据流。这种任意数据路径描述不会影响数据或事件在模型中的实际传播;数据路径源上的事件如何传播到目标取决于模块的内部逻辑
在您的例子中,(posedge CK=>(Q:1'b1))=(0,0)
或(posedge CK=>(Q:1'b0))=(0,0)
都意味着在CK的正边缘,模块路径(也称为延迟弧)从CK延伸到Q,其上升和下降时间为0