@@ -117,49 +117,49 @@ class ahb_driver#(`_AHB_AGENT_PARAM_DEFS) extends uvm_driver#(ahb_transaction#(`
117117 end
118118 join_none
119119
120- m_vif.haddr = '0 ;
121- m_vif.hburst = SINGLE ;
122- m_vif.hmastlock = 1'b0 ;
123- m_vif.hprot = (HPROT_WIDTH == 7 ) ? 7'b000_0011 : 4'b0011 ;
124- m_vif.hsize = (DATA_WIDTH <= 8 ) ? BYTE_SIZE :
125- (DATA_WIDTH <= 16 ) ? HALFWORD_SIZE :
126- (DATA_WIDTH <= 32 ) ? WORD_SIZE :
127- (DATA_WIDTH <= 64 ) ? DOUBLEWORD_SIZE :
128- (DATA_WIDTH <= 128 ) ? FOUR_WORD_SIZE :
129- (DATA_WIDTH <= 256 ) ? EIGHT_WORD_SIZE :
130- (DATA_WIDTH <= 512 ) ? SIXTEEN_WORD_SIZE :
131- THIRTY_TWO_WORD_SIZE ;
132- m_vif.hnonsec = 1'b1 ;
133- m_vif.hexcl = 1'b0 ;
134- m_vif.hmaster = '0 ;
135- m_vif.htrans = IDLE ;
136- m_vif.hwdata = '0 ;
137- m_vif.hwstrb = '1 ;
138- m_vif.hwrite = 1'b0 ;
139-
140- m_vif.hsel = 1'b0 ;
120+ m_vif.drv_mgr_cb. haddr < = '0 ;
121+ m_vif.drv_mgr_cb. hburst < = SINGLE ;
122+ m_vif.drv_mgr_cb. hmastlock < = 1'b0 ;
123+ m_vif.drv_mgr_cb. hprot < = (HPROT_WIDTH == 7 ) ? 7'b000_0011 : 4'b0011 ;
124+ m_vif.drv_mgr_cb. hsize < = (DATA_WIDTH <= 8 ) ? BYTE_SIZE :
125+ (DATA_WIDTH <= 16 ) ? HALFWORD_SIZE :
126+ (DATA_WIDTH <= 32 ) ? WORD_SIZE :
127+ (DATA_WIDTH <= 64 ) ? DOUBLEWORD_SIZE :
128+ (DATA_WIDTH <= 128 ) ? FOUR_WORD_SIZE :
129+ (DATA_WIDTH <= 256 ) ? EIGHT_WORD_SIZE :
130+ (DATA_WIDTH <= 512 ) ? SIXTEEN_WORD_SIZE :
131+ THIRTY_TWO_WORD_SIZE ;
132+ m_vif.drv_mgr_cb. hnonsec < = 1'b1 ;
133+ m_vif.drv_mgr_cb. hexcl < = 1'b0 ;
134+ m_vif.drv_mgr_cb. hmaster < = '0 ;
135+ m_vif.drv_mgr_cb. htrans < = IDLE ;
136+ m_vif.drv_mgr_cb. hwdata < = '0 ;
137+ m_vif.drv_mgr_cb. hwstrb < = '1 ;
138+ m_vif.drv_mgr_cb. hwrite < = 1'b0 ;
139+
140+ m_vif.drv_mgr_cb. hsel < = 1'b0 ;
141141
142142 forever begin
143- @ (posedge m_vif.hclk );
143+ @ (m_vif.drv_mgr_cb );
144144
145145 if (! m_vif.hreset_n)
146146 continue ;
147147
148148 // First Check if the data_transaction is done
149- if (m_vif.hready && data_trans != null ) begin
149+ if (m_vif.drv_mgr_cb. hready && data_trans != null ) begin
150150 if (data_trans.write == AHB_WRITE ) begin
151- data_trans.data = m_vif.hwdata;
151+ data_trans.data = m_vif.drv_mgr_cb. hwdata;
152152 end
153153 else begin
154- data_trans.data = m_vif.hrdata;
154+ data_trans.data = m_vif.drv_mgr_cb. hrdata;
155155 end
156156
157157 `uvm_info (get_type_name (), " Finished Transaction" , UVM_HIGH )
158158 seq_item_port.put (data_trans);
159159 data_trans = addr_trans;
160160 addr_trans = null ;
161161 end
162- else if (m_vif.hready) begin
162+ else if (m_vif.drv_mgr_cb. hready) begin
163163 data_trans = addr_trans;
164164 addr_trans = null ;
165165 end
@@ -174,7 +174,7 @@ class ahb_driver#(`_AHB_AGENT_PARAM_DEFS) extends uvm_driver#(ahb_transaction#(`
174174
175175 // Check if there is a data_trans to update the transaction with
176176 if (data_trans != null ) begin
177- m_vif.hwdata = data_trans.data;
177+ m_vif.drv_mgr_cb. hwdata < = data_trans.data;
178178 end
179179
180180 // Check if we should fetch the next transaction
@@ -185,17 +185,17 @@ class ahb_driver#(`_AHB_AGENT_PARAM_DEFS) extends uvm_driver#(ahb_transaction#(`
185185
186186 // Check if there is a transaction in the address phase
187187 if (addr_trans != null ) begin
188- m_vif.hsel = 1'b1 ;
189- m_vif.htrans = NONSEQ ;
190- m_vif.hsize = addr_trans.size;
191- m_vif.haddr = addr_trans.addr;
192- m_vif.hwrite = addr_trans.write;
193- m_vif.hwstrb = addr_trans.wstrb;
194- m_vif.hprot = addr_trans.hprot;
188+ m_vif.drv_mgr_cb. hsel < = 1'b1 ;
189+ m_vif.drv_mgr_cb. htrans < = NONSEQ ;
190+ m_vif.drv_mgr_cb. hsize < = addr_trans.size;
191+ m_vif.drv_mgr_cb. haddr < = addr_trans.addr;
192+ m_vif.drv_mgr_cb. hwrite < = addr_trans.write;
193+ m_vif.drv_mgr_cb. hwstrb < = addr_trans.wstrb;
194+ m_vif.drv_mgr_cb. hprot < = addr_trans.hprot;
195195 end
196196 else begin
197- m_vif.hsel = 1'b0 ;
198- m_vif.htrans = IDLE ;
197+ m_vif.drv_mgr_cb. hsel < = 1'b0 ;
198+ m_vif.drv_mgr_cb. htrans < = IDLE ;
199199 end
200200
201201 end
@@ -215,29 +215,29 @@ class ahb_driver#(`_AHB_AGENT_PARAM_DEFS) extends uvm_driver#(ahb_transaction#(`
215215 end
216216 join_none
217217
218- m_vif.hrdata = '0 ;
219- m_vif.hreadyout = 1'b1 ;
220- m_vif.hresp = 1'b0 ;
221- m_vif.hexokay = 1'b1 ;
218+ m_vif.drv_sub_cb. hrdata < = '0 ;
219+ m_vif.drv_sub_cb. hreadyout < = 1'b1 ;
220+ m_vif.drv_sub_cb. hresp < = 1'b0 ;
221+ m_vif.drv_sub_cb. hexokay < = 1'b1 ;
222222
223223 forever begin
224- m_vif.hreadyout = 1'b1 ;
224+ m_vif.drv_sub_cb. hreadyout < = 1'b1 ;
225225
226226 seq_item_port.get_next_item (trans);
227- m_vif.hreadyout = 1'b0 ;
227+ m_vif.drv_sub_cb. hreadyout < = 1'b0 ;
228228
229229 repeat (trans.wait_states) begin
230- @ (posedge m_vif.hclk );
230+ @ (m_vif.drv_sub_cb );
231231 end
232232
233233 if (trans.write == AHB_READ ) begin
234- m_vif.hrdata = trans.data;
234+ m_vif.drv_sub_cb. hrdata < = trans.data;
235235 end
236236
237- m_vif.hreadyout = 1'b1 ;
238- m_vif.hresp = trans.error;
237+ m_vif.drv_sub_cb. hreadyout < = 1'b1 ;
238+ m_vif.drv_sub_cb. hresp < = trans.error;
239239
240- @ (posedge m_vif.hclk );
240+ @ (m_vif.drv_sub_cb );
241241 seq_item_port.item_done ();
242242 end
243243 endtask : manager_run_phase
0 commit comments