Skip to content

Commit da9a57b

Browse files
committed
Added protection unit support and write strobe support
1 parent 82460bc commit da9a57b

3 files changed

Lines changed: 18 additions & 0 deletions

File tree

src/agent/ahb_driver.svh

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -190,6 +190,8 @@ class ahb_driver#(`_AHB_AGENT_PARAM_DEFS) extends uvm_driver#(ahb_transaction#(`
190190
m_vif.hsize = addr_trans.size;
191191
m_vif.haddr = addr_trans.addr;
192192
m_vif.hwrite = addr_trans.write;
193+
m_vif.hwstrb = addr_trans.wstrb;
194+
m_vif.hprot = addr_trans.hprot;
193195
end
194196
else begin
195197
m_vif.hsel = 1'b0;

src/agent/ahb_monitor.svh

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -119,6 +119,8 @@ class ahb_monitor#(`_AHB_AGENT_PARAM_DEFS) extends uvm_monitor;
119119
trans.addr = m_vif.haddr;
120120
trans.write = ahb_write_e'(m_vif.hwrite);
121121
trans.size = ahb_size_e'(m_vif.hsize);
122+
trans.hprot = m_vif.hprot;
123+
trans.hwstrb = m_vif.hwstrb;
122124

123125
for (int i = 0; i < int'(trans.size); i++) begin
124126
if (trans.addr[i] !== 1'b0) begin

src/agent/ahb_transaction.svh

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,18 @@ class ahb_transaction#(`_AHB_AGENT_PARAM_DEFS) extends uvm_sequence_item;
5353
// Set by the agent in AHB_MANAGER_AGENT mode.
5454
rand ahb_size_e size = WORD_SIZE;
5555

56+
// Property: wstrb
57+
// The write strobe use in this transaction
58+
// Set by the sequence in AHB_SUBORDINATE_AGENT mode.
59+
// Set by the agent in AHB_MANAGER_AGENT mode.
60+
rand logic [DATA_WIDTH/8-1:0] wstrb = '1;
61+
62+
// Property: hprot
63+
// The protection unit support for the tranaction.
64+
// Set by the sequence in AHB_SUBORDINATE_AGENT mode.
65+
// Set by the agent in AHB_MANAGER_AGENT mode.
66+
rand logic [HPROT_WIDTH-1:0] hprot = '0;
67+
5668
// Property: wait_states
5769
// The number of wait states in the transaction.
5870
// Set by sequence in AHB_MANAGER_AGENT mode.
@@ -100,6 +112,8 @@ class ahb_transaction#(`_AHB_AGENT_PARAM_DEFS) extends uvm_sequence_item;
100112
write.rand_mode(0);
101113
addr.rand_mode(0);
102114
size.rand_mode(0);
115+
hprot.rand_mode(0);
116+
wstrb.rand_mode(0);
103117
return;
104118
end
105119

0 commit comments

Comments
 (0)