AXI muckbucket
|
Extremely simple memory model with just write() and read() methods. More...
Public Member Functions | |
uvm_component_utils(memory) bit<7 | new (string name="memory", uvm_component parent=null) |
Constructor. More... | |
virtual void | write (input bit< ADDR_WIDTH-1:0 > addr, input bit< 7:0 > data) |
Writes into memory. More... | |
virtual bit< 7:0 > | read (input bit< ADDR_WIDTH-1:0 > addr) |
Reads from memory. More... | |
bit | seq_item_check (ref axi_seq_item item, input bit< ADDR_WIDTH-1:0 > lower_addr, input bit< ADDR_WIDTH-1:0 > upper_addr) |
Compares an axi_seq_item's data and burst_type against expected matching memory contents. More... | |
Extremely simple memory model with just write() and read() methods.
Definition at line 32 of file memory.svh.
memory::new | ( | string | name = "memory" , |
uvm_component | parent = null |
||
) |
Constructor.
Doesn't actually do anything except call parent constructor
Definition at line 51 of file memory.svh.
References new().
Referenced by new().
|
virtual |
Reads from memory.
uses an associative array. If reading from unwritten address, 'z is returned.
Definition at line 67 of file memory.svh.
Referenced by axi_monitor::read_address(), and seq_item_check().
automatic bit memory::seq_item_check | ( | ref axi_seq_item | item, |
input bit< ADDR_WIDTH-1:0 > | lower_addr, | ||
input bit< ADDR_WIDTH-1:0 > | upper_addr | ||
) |
Compares an axi_seq_item's data and burst_type against expected matching memory contents.
This function takes into account fixed, incrementing and wrapped burst types. That includes accounting for burst_size.
Definition at line 85 of file memory.svh.
References ADDR_WIDTH, calculate_axlen(), e_FIXED, e_INCR, e_WRAP, and read().
Referenced by axi_sequential_reads_seq::body(), axi_sequential_writes_seq::body(), axi_pipelined_reads_seq::response_handler(), and axi_pipelined_writes_seq::response_handler().
|
virtual |
Writes into memory.
Definition at line 58 of file memory.svh.
Referenced by axi_sequential_reads_seq::body(), axi_sequential_writes_seq::body(), axi_pipelined_reads_seq::body(), axi_pipelined_writes_seq::body(), and axi_monitor::write_data().