我需要帮助为各种输入输出路径建模具有不同延迟的块吗?
input A;
input [3:0] B, C;
output [3:0] Y;
Y = B xor C if A = 1 else Y = 0
A->Y
延迟10us,而当时间A(延迟延迟)时延迟为5us
且B,C - > Y
延迟为1us(仅在A = 1时适用)
对于我的情况,我可能需要使用程序方式,并且分配语句可能不合适。
答案 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