触发器的verilog表示

触发器的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

我正在自学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(可综合)建模数据和控制的传输,或逻辑门级的门级(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