【发布时间】:2020-07-03 06:10:24
【问题描述】:
因此,我们在 Verilog 中获得了一个顺序模块,并受命创建一个测试平台来显示非阻塞分配和阻塞分配之间的区别。
提供的代码:
module sequential_module (A, B, C, D, clk);
input clk;
output A, B, C, D;
reg A, B, C, D;
always @(posedge clk)
begin
A = B;
B = A;
end
always @(posedge clk)
begin
C <= D;
D <= C;
end
endmodule
我似乎无法将任何值插入测试台中的任何变量(A、B、C、D),因为我收到“非法输出或输入端口连接”错误。
我设法创建的测试平台:
module testbench_sequential;
reg clk;
wire A, B, C, D;
sequential_module test(A, B, C, D, clk);
always
#5 clk = ~clk;
initial
begin
clk = 1'b0;
$display ("Simulating output for Activity 3a");
$monitor ($time,,, "clk = %b A = %b B = %b C = %b D = %b ", clk, A, B, C, D);
#25 $finish;
end
endmodule
我从上面的测试台得到的唯一输出是时钟似乎正在工作,但其他变量上有“无关”值(1'bx)。我对使用这个应用程序有点陌生,如果有任何帮助,我将不胜感激。
【问题讨论】:
标签: verilog test-bench