Changes between Version 23 and Version 24 of Writing Rules/Caba


Ignore:
Timestamp:
Apr 8, 2009, 2:34:53 PM (18 years ago)
Author:
Nicolas Pouillon
Comment:

Fix links

Legend:

Unmodified
Added
Removed
Modified
  • Writing Rules/Caba

    v23 v24  
    4444Any SoCLib hardware components having a VCI interface is called a ''VCI component'', and must include
    4545at least one of the the two following files, defining the VCI advanced ports :
    46  * [source:trunk/soclib/systemc/include/caba/interface/vci_target.h caba/interface/vci_target.h]
    47  * [source:trunk/soclib/systemc/include/caba/interface/vci_initiator.h caba/interface/vci_initiator.h]
    48 
    49 As VCI signals can have variable widths, all VCI components must be defined with templates. The [source:trunk/soclib/systemc/include/caba/interface/vci_param.h caba/interface/vci_param.h] file contains the definition of the VCI parameters object. This object must be passed as a template parameter to the component.
     46 * [source:trunk/soclib/soclib/communication/vci/caba/source/include/vci_target.h]
     47 * [source:trunk/soclib/soclib/communication/vci/caba/source/include/vci_initiator.h]
     48
     49As VCI signals can have variable widths, all VCI components must be defined with templates. The [source:trunk/soclib/soclib/communication/vci/caba/source/include/vci_param.h] file contains the definition of the VCI parameters object. This object must be passed as a template parameter to the component.
    5050
    5151A typical VCI component declaration is:
    5252{{{
    53 #include "caba/util/base_module.h"
    54 #include "caba/interface/vci_target.h"
     53#include "base_module.h"
     54#include "vci_target.h"
    5555
    5656namespace soclib { namespace caba {
    … …  
    6262
    6363};
     64
    6465}}
    6566}}}
    6667
    6768The SystemC top cell defining the system architecture must include the following file, defining the advanced VCI signals :
    68  * [source:trunk/soclib/systemc/include/caba/interface/vci_signals.h caba/interface/vci_signals.h].
     69 * [source:trunk/soclib/soclib/communication/vci/caba/source/include/vci_signals.h].
    6970
    7071A SoCLib hardware component that has no VCI interface should use a dedicated VCI  wrapper in order to be connected to the VCI interconnect.
    … …  
    8687In order to simplify the memory map definition, and the hardware component configuration, a
    8788generic object, called ''mapping table'' has been defined in
    88 [source:trunk/soclib/systemc/include/common/mapping_table.h common/mapping_table.h].
     89[source:trunk/soclib/soclib/lib/mapping_table/include/mapping_table.h mapping_table.h].
    8990This is an associative table of memory segments. Any segment must be allocated to one single
    9091VCI target. The segment object is defined in
    91 [source:trunk/soclib/systemc/include/common/segment.h common/segment.h],
     92[source:trunk/soclib/soclib/lib/segment/include/segment.h segment.h],
    9293and contains five attributes:
    9394{{{
    … …  
    136137
    137138All structural parameters should be be defined as member variables. The values are generally defined by a constructor argument.
    138 Instance name is stored in [source:trunk/soclib/systemc/include/common/base_module.h soclib::common::BaseModule], inherited by
    139 [source:trunk/soclib/systemc/include/caba/util/base_module.h soclib::caba::BaseModule].
     139Instance name is stored in [source:trunk/soclib/soclib/lib/base_module/include/base_module.h soclib::common::BaseModule], inherited by
     140[source:trunk/soclib/soclib/lib/base_module/include/caba/caba_base_module.h soclib::caba::BaseModule].
    140141For example, a VCI target will contain a reference to the the assigned segment, in order to check
    141142possible segmentation errors during execution.
    … …  
    150151a VCI index. Moreover, generic simulation models can have structural parameters. The parameter
    151152values must be defined as constructor arguments, and used by the constructor to configure the hardware ressources. A constructor  argument frequently
    152 used is a reference on the [source:trunk/soclib/systemc/include/common/mapping_table.h soclib::common::MappingTable], that defines the segmentation of the system address space.
     153used is a reference on the [source:trunk/soclib/soclib/lib/mapping_table/include/mapping_table.h soclib::common::MappingTable], that defines the segmentation of the system address space.
    153154A typical VCI component will have the following constructor arguments:
    154155
    … …  
    201202== C1) Component definition ==
    202203
    203 Let's take the [source:trunk/soclib/systemc/include/caba/target/vci_locks.h soclib::caba::VciLocks]
     204Let's take the [source:trunk/soclib/soclib/module/internal_component/vci_locks/caba/source/include/vci_locks.h soclib::caba::VciLocks]
    204205component definition and comment it.
    205206
    … …  
    274275== C2) Component implementation ==
    275276
    276 Here is the [source:trunk/soclib/systemc/src/caba/target/vci_locks.cc soclib::caba::VciLocks] component implementation:
     277Here is the [source:trunk/soclib/soclib/module/internal_component/vci_locks/caba/source/src/vci_locks.cc soclib::caba::VciLocks] component implementation:
    277278
    278279{{{