用UVM写一个支持outstanding的传输AXI协议的driver
时间: 2024-05-14 14:19:13 浏览: 394
入门UVM_UVM_AXI_
5星 · 资源好评率100%
好的,我可以为您提供一个简单的UVM AXI传输驱动程序示例,它支持outstanding。以下是代码:
```systemverilog
class axi_driver extends uvm_driver #(axi_transaction);
`uvm_component_utils(axi_driver)
virtual task run_phase(uvm_phase phase);
axi_transaction trans;
int unsigned outstandings = 1; // 设置outstanding数量
while(1) begin
seq_item_port.get_next_item(trans);
// 发送AXI事务
while(outstandings) begin
seq_item_port.item_done();
outstandings--;
end
endtask
endclass
```
在此示例中,我们设置了一个outstanding数量,然后在while循环中发送AXI事务。如果outstanding数量为1,则每次只能发送一个AXI事务。如果要支持更多的outstanding数量,可以在while循环中增加计数器并相应地调整代码。
阅读全文