Changes between Version 19 and Version 20 of Writing Rules/Caba
- Timestamp:
- Sep 7, 2007, 5:28:27 PM (18 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
Writing Rules/Caba
v19 v20 39 39 will communicate through a "flat", shared address space, and all system interconnect will respect the VCI advanced standard. Therefore, most SoCLib components have VCI interfaces : 40 40 41 [[Image(WritingRules:mandatory.png, nolink)]] 42 43 All SoCLib hardware components having a VCI interface is called a ''VCI component'', and must include 41 Any SoCLib hardware components having a VCI interface is called a ''VCI component'', and must include 44 42 at least one of the the two following files, defining the VCI advanced ports : 45 43 * [source:trunk/soclib/systemc/include/caba/interface/vci_target.h caba/interface/vci_target.h] … … 64 62 }}} 65 63 66 [[Image(WritingRules:mandatory.png, nolink)]]67 68 64 The SystemC top cell defining the system architecture must include the following file, defining the advanced VCI signals : 69 65 * [source:trunk/soclib/systemc/include/caba/interface/vci_signals.h caba/interface/vci_signals.h]. 70 66 71 [[Image(WritingRules:guideline.png, nolink)]]72 73 67 A SoCLib hardware component that has no VCI interface should use a dedicated VCI wrapper in order to be connected to the VCI interconnect. 74 68 75 69 == B3) Address space segmentation == 76 70 77 [[Image(WritingRules:guideline.png, nolink)]]78 71 In a shared memory architecture, the address space segmentation (or memory map) is a global characteristic of the system. 79 72 This memory map must be defined by the system designer, and is used by both software, and hardware components. … … 85 78 command packet. Therefore, the base address and size of the segment allocated to a given 86 79 VCI target must be ''known'' by this target. 87 * A cache controller supporting uncached segments mustcontain a ''cacheability table''80 * A cache controller supporting uncached segments can contain a ''cacheability table'' 88 81 addressed by the VCI address MSB bits. 89 90 [[Image(WritingRules:guideline.png, nolink)]]91 82 92 83 In order to simplify the memory map definition, and the hardware component configuration, a … … 109 100 == B4) Component definition == 110 101 111 [[Image(WritingRules:guideline.png, nolink)]]112 113 102 The component ''XXX.h'' file contains the following informations 114 103 … … 143 132 '''Structural parameters definition''' 144 133 145 All structural parameters mustbe be defined as member variables. The values are generally defined by a constructor argument.134 All structural parameters should be be defined as member variables. The values are generally defined by a constructor argument. 146 135 Instance name is stored in [source:trunk/soclib/systemc/include/common/base_module.h soclib::common::BaseModule], inherited by 147 136 [source:trunk/soclib/systemc/include/caba/util/base_module.h soclib::caba::BaseModule].