Du kannst nicht mehr als 25 Themen auswählen Themen müssen entweder mit einem Buchstaben oder einer Ziffer beginnen. Sie können Bindestriche („-“) enthalten und bis zu 35 Zeichen lang sein.

66 Zeilen
1.7 KiB

  1. Interfate axi_intf(input bit clk, reset);
  2. ///////////////////write address channel/////////////
  3. input logic awvalid;
  4. output logic awready; input logic [3:0] awid;
  5. input logic [3:0] awlen;
  6. input logic [2:0] awsize;
  7. input logic [31:0] awaddr;
  8. input logic [1:0] awburst;
  9. /////////////////////write data channel//////////////////////////
  10. input logic wvalid;
  11. output logic wready;
  12. input logic [3:0] wid;
  13. input logic [31:0] wdata;
  14. input logic [3:0] wstrb;
  15. input logic wlast;
  16. ///////////////write response channel/////////////////////
  17. input logic bready;
  18. output logic bvalid;
  19. output logic [3:0] bid;
  20. output logic [1:0] bresp;
  21. ////////////// read address channel////////////////
  22. output logic reg arready;
  23. input logic [3:0] arid;
  24. input logic [31:0] araddr;
  25. input logic [3:0] arlen;
  26. input logic [2:0] arsize;
  27. input logic [1:0] arburst;
  28. input logic arvalid;
  29. ///////////////////read data channel////////////////////
  30. output logic [3:0] rid;
  31. output logic [31:0]rdata;
  32. output logic [1:0] rresp;
  33. output logic rlast;
  34. output logic rvalid;
  35. input logic rready;
  36. ////////////////////bvalid assertion//////////////
  37. property wvalid_wready;
  38. @(posedge clk) (wvalid && wready)|=> bvalid;
  39. endproperty
  40. assert property(wvalid_wready)
  41. $display("bvalid is asserted after wvalid and wready:assertion passed");
  42. else
  43. 'uvm_error("assertion failed");
  44. ////////////////////rvalid assertion//////////////
  45. property arvalid_arready;
  46. @(posedge clk) (arvalid && arready)|=> rvalid;
  47. endproperty
  48. assert property(arvalid_arready)
  49. $display("rvalid is asserted after arvalid and arready:assertion passed");
  50. else
  51. 'uvm_error("assertion failed");
  52. endinterface