用modelsim进行仿真时,编写testbench,inout信号应该如何处理

2019-07-15 20:37发布

用modelsim进行仿真时,编写testbench,inout信号应该如何处理。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
1条回答
zyh34997
1楼-- · 2019-07-15 22:44
看下这个
  1. module inout_1_tb;

  2. // Inputs

  3. reg clk;

  4. reg rst_n;

  5. reg read;

  6. reg data;

  7. // Outputs

  8. wire b;

  9. // Bidirs

  10. wire a;

  11. // Instantiate the Unit Under Test (UUT)

  12. inout_1 uut (

  13. .clk(clk),

  14. .rst_n(rst_n),

  15. .read(read),

  16. .data(data),

  17. .a(a),

  18. .b(b)

  19. );

  20. reg in_a;

  21. assign a = read == 1 ? in_a : 1'bz;

  22. always #1 clk = ~clk;

  23. initial begin

  24. // Initialize Inputs

  25. clk = 0;

  26. rst_n = 0;

  27. read = 0;

  28. data = 0;

  29. in_a = 0;

  30. #10 rst_n = 1;

  31. repeat(10) begin //a作为输出 此时a的值等于data

  32. #2 data = {$random}%2;

  33. end

  34. read = 1;

  35. repeat(10) begin //a作为输入,此时a的值为in_a

  36. #2 in_a = {$random}%2;

  37. end

  38. // Add stimulus here

  39. end

  40. endmodule
复制代码