/*********************************************
  ** Clocks & Reset
  *********************************************/
  `define CLOCK_FREQ    200e6  //时钟频率
  `define RESET_TIME    100

  reg clk;
  initial clk = 1'b0;
  localparam CLOCK_PERIOD = 1e9/`CLOCK_FREQ;
  always
    #(CLOCK_PERIOD) clk = ~clk;

  reg reset;
  initial begin
    reset = 1'b1;
    #(`RESET_TIME);
    @(posedge clk);
    reset = 1'b0;
  end

 边沿触发模板

    @(posedge clk);
    if (o_tvalid) begin
      $display("Test 1 FAILED!");
      $error("o_tvalid still asserted after emptying FIFO!");
      $stop;
    end

 inout型testbench的写法

使用相反控制信号inout口,等于两个模块之间用inout双向口互连。
这种方法要注意assign 语句只能放在initial和always块内。 

module test(); 

wire data_inout; 
reg data_reg; 
reg link; 
initial 
begin .......... end  
assign data_inout=link?data_reg:1'bz; 

endmodule 

 

相关文章:

  • 2022-12-23
  • 2021-06-19
  • 2021-10-16
  • 2021-05-11
  • 2021-04-23
  • 2022-01-08
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2022-01-04
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-09-02
  • 2021-11-14
相关资源
相似解决方案