为组合逻辑建模偏斜延迟

时间:2017-08-08 06:53:04

标签: system-verilog

我需要帮助为各种输入输出路径建模具有不同延迟的块吗?

input A;
input [3:0] B, C;
output [3:0] Y;

Y = B xor C if A = 1 else Y = 0

当p(上升延迟)时,A->Y延迟10us,而当时间A(延迟延迟)时延迟为5us

B,C - > Y延迟为1us(仅在A = 1时适用)

对于我的情况,我可能需要使用程序方式,并且分配语句可能不合适。

2 个答案:

答案 0 :(得分:1)

这对我来说最有效。

`timescale 1us/1ns

module xor_w_enabled(input A, input B, input C, output Y);
wire A_delayed;
wire B_xor_C_delayed;

assign #1 B_xor_C_delayed = B^C;
assign #(10,5) A_delayed = A;

assign Y = (A_delayed == 1) ? B_xor_C_delayed : 0;

endmodule

如果我遗失任何东西,请告诉我。

答案 1 :(得分:0)

对于非可合成模型,您可以使用#delay构造与`timescale结合来模拟延迟。类似下面的代码

span