| | 1 | [wiki:Component SocLib Components General Index] |
| | 2 | |
| | 3 | = !VciMultiRam Functional Description = |
| | 4 | |
| | 5 | This VCI target is an embedded SRAM controller. This hardware component implements up to |
| | 6 | 16 independent memory segments : Each segment is defined by a BASE address and a SIZE (number of bytes). |
| | 7 | Both the BASE and the SIZE parameters must be multiple of 4. |
| | 8 | The segments allocated to a given instance of this component is defined in the mapping table. |
| | 9 | |
| | 10 | Each segment is implemented as aa array of ''int'' dynamically allocated in the constructor. |
| | 11 | A segment can be initialised using the |
| | 12 | |
| | 13 | = !VciMultiRam CABA Implementation = |
| | 14 | |
| | 15 | The caba implementation is in |
| | 16 | * source:trunk/soclib/systemc/include/caba/target/vci_multi_ram.h |
| | 17 | * source:trunk/soclib/systemc/src/caba/target/vci_multi_ram.cc |
| | 18 | |
| | 19 | == Template parameters: == |
| | 20 | * The VCI parameters |
| | 21 | |
| | 22 | == Constructor parameters == |
| | 23 | {{{ |
| | 24 | VciMultiRam( |
| | 25 | sc_module_name name, // Instance name |
| | 26 | const soclib::common::IntTab &index, // Target index |
| | 27 | const soclib::common::MappingTable &mt, // Mapping Table |
| | 28 | soclib::common::ElfLoader &loader); |
| | 29 | }}} |
| | 30 | |
| | 31 | == Ports == |
| | 32 | |
| | 33 | * sc_in<bool> '''p_resetn''' : Global system reset |
| | 34 | * sc_in<bool> '''p_clk''' : Global system clock |
| | 35 | * soclib::common::!VciiTarget<vci_param> '''p_vci''' : The VCI port |