$ display如何在verilog中工作

时间:2016-02-16 21:48:44

标签: verilog

在此代码中出现$display时,出现错误。为什么呢?

module always_example();
reg clk,reset,enable,q_in,data;

always @ (posedge clk)
if (reset)  begin
   data <= 0;
end else if (enable) begin   
   data <= q_in;
end
     $display("data=%d", data);   
endmodule

错误消息是:

  

10:语法错误10:错误:模块项无效

1 个答案:

答案 0 :(得分:1)

您需要将显示放在always块中。

module always_example();
reg clk,reset,enable,q_in,data;

always @ (posedge clk) begin
    if (reset)  begin
       data <= 0;
     end else if (enable) begin   
       data <= q_in;
     end

     $display("data=%d", data);
end 

endmodule  

您仍需要初始化块来初始化变量并进行更改。您还需要创建一个时钟。如果您查看Verilog的一些教程并了解如何创建测试平台和设计模块,情况会更加清晰。