Nevar pievienot vairāk kā 25 tēmas Tēmai ir jāsākas ar burtu vai ciparu, tā var saturēt domu zīmes ('-') un var būt līdz 35 simboliem gara.

pirms 4 mēnešiem
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. class seq_item extends uvm_sequence_item;
  2. `uvm_object_utils (seq_item)
  3. /////////////////write_address channel///////////////////
  4. rand bit [3:0] awid;
  5. rand logic [31:0]awaddr;
  6. rand logic [3:0] awlen;
  7. rand logic [2:0] awsize;
  8. rand logic [1:0] awburst;
  9. rand logic [3:0] awcache;
  10. rand logic [2:0] awprot;
  11. rand logic [1:0] awlock;
  12. logic awvalid;
  13. logic awready;
  14. ////////////write_data channel///////////////////////////
  15. rand bit[3:0] wid;
  16. rand logic [31:0]wdata[];
  17. logic [3:0]wstrb;
  18. logic wlast;
  19. logic wvalid;
  20. logic wready;
  21. //////////write_response channel////////////////////////
  22. bit [3:0]bid;
  23. logic [1:0]bresp;
  24. logic bvalid;
  25. logic bready;
  26. /////////////read_address//////////////////////////////
  27. randc bit [3:0] arid;
  28. rand logic [31:0]araddr;
  29. rand logic [3:0]arlen;
  30. rand logic [2:0]arsize;
  31. rand logic [1:0]arburst;
  32. rand logic [3:0]arcache;
  33. rand logic [2:0]arprot;
  34. rand logic [1:0]awlock;
  35. logic arvalid;
  36. logic arready;
  37. //////////////read_data/////////////////////////////
  38. bit [3:0] rid;
  39. logic [31:0]rdata[];
  40. logic [1:0]rresp;
  41. logic rlast;
  42. logic rvalid;
  43. logic rready;
  44. bit wr_rd;
  45. int lower_boundary;
  46. int upper_boundary;
  47. constraint burst{awburst !=2'b11;}
  48. constraint wrap{if(awburst==2'b10) awlen inside {1,3,7,15};}
  49. constraint id {arlen == awlen;arsize == awsize;awid == wid;awid == arid;}
  50. constraint aligned {(awaddr%(2**awsize)==0);}
  51. constraint awburst{awburst inside {0,1,2}; awburst dist {2'b00:/10 , 2'b01:/60 , 2'b10:/30};}
  52. constraint arburst{arburst inside {0,1,2}; arburst dist {2'b00:/10 , 2'b01:/60 , 2'b10:/30};}
  53. constraint 4kb{((awaddr%4096) >=(awaddr+(awlen*awsize)%4096;}
  54. function new(string name = "seq_item");
  55. super.new(name);
  56. endfunction
  57. endclass