wiki:Component/VciMultiRam

Version 2 (modified by Nicolas Pouillon, 17 years ago) (diff)

--

SocLib Components General Index

VciMultiRam Functional Description

This VCI target is an embedded SRAM controller. This hardware component handles independent memory segments. Each segment is defined by a base address and a size (number of bytes). Both the base and the size parameters must be multiple of 4. The segments allocated to a given instance of this component are defined in the Mapping Table.

Each segment is implemented as a dynamically allocated array in the constructor.

A MultiRam will initialize its segments from a binary if an ElfLoader? is attached to it.

VciMultiRam CABA Implementation

The caba implementation is in

Template parameters:

  • The VCI parameters

Constructor parameters

  • Elf-initialized MultiRam:
    VciMultiRam(
         sc_module_name name,                     // Instance name
         const soclib::common::IntTab &index,     //  Target index
         const soclib::common::MappingTable &mt,  // Mapping Table
         soclib::common::ElfLoader &loader);
    
  • Uninitialized MultiRam:
    VciMultiRam(
         sc_module_name name,                     // Instance name
         const soclib::common::IntTab &index,     //  Target index
         const soclib::common::MappingTable &mt,  // Mapping Table
         soclib::common::ElfLoader &loader);
    

Ports

  • sc_in<bool> p_resetn : Global system reset
  • sc_in<bool> p_clk : Global system clock
  • soclib::common::VciTarget<vci_param> p_vci : The VCI port