Changes between Version 2 and Version 3 of Component/Vci Fd Access
- Timestamp:
- Feb 9, 2008, 8:38:55 PM (17 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
Component/Vci Fd Access
v2 v3 1 1 [wiki:Component SocLib Components General Index] 2 2 3 = !VciFdAccess Functional Description = 3 = !VciFdAccess = 4 5 == 1) Functional Description == 4 6 5 7 This VCI component is both a target and an initiator. 6 * Addressing as a target allows to configure itfor a transfer.7 * I nitiator willdo the transfer8 * It is addressed as a target to be configured for a transfer. 9 * It is acting as an initiator to do the transfer 8 10 9 There is only one access context handled at a time, but fd can be changed for each operation, many fd can be open at the same time.10 11 There is only one access context handled at a time, but the file descriptor can be changed for each operation, 12 and several file descriptors can be open at the same time. 11 13 An IRQ is optionally asserted when transfer is finished. 12 14 … … 14 16 as a default target. 15 17 16 = Memory region layout = 18 It contains the following memory-mapped registers: 17 19 18 20 * `FD_ACCESS_FD` File descriptor for the transfer 19 21 20 * `FD_ACCESS_BUFFER` Buffer (in SoC memory) for the transfer22 * `FD_ACCESS_BUFFER` Physical address of the buffer in SoC memory 21 23 22 * `FD_ACCESS_SIZE` Size of the transfer 24 * `FD_ACCESS_SIZE` Size of the transfer (number of bytes) 23 25 24 26 * `FD_ACCESS_HOW` Type of open() operation … … 37 39 * `FD_ACCESS_MODE` (aliases with WHENCE) Mode for open() with a O_CREAT 38 40 39 = Operations codes = 41 The following operations codes are defined: 40 42 41 43 * `FD_ACCESS_NOOP` Nothing … … 54 56 * `FD_ACCESS_LSEEK` lseek() 55 57 56 = Component usage =57 58 58 For extensibility issues, you should access this component using globally-defined offsets. 59 60 59 You should include file `soclib/fd_access.h` from your software, it 61 60 defines `FD_ACCESS_FD`, `FD_ACCESS_BUFFER`, ... … … 130 129 (add -I/path/to/soclib/include to your compilation command-line) 131 130 132 = Component definition=131 == 2) Component definition & usage == 133 132 134 Available insource:trunk/soclib/module/connectivity_component/vci_fd_access/caba/metadata/vci_fd_access.sd133 source:trunk/soclib/module/connectivity_component/vci_fd_access/caba/metadata/vci_fd_access.sd 135 134 136 == Usage == 137 138 !VciFdAccess has no other parameter than VCI ones, it may be used like others, see [wiki:SoclibCc/VciParameters SoclibCc/VciParameters] 135 See [wiki:SoclibCc/VciParameters SoclibCc/VciParameters] 139 136 {{{ 140 137 Uses( 'vci_fd_access', **vci_parameters ) 141 138 }}} 142 139 143 = !VciFdAccess CABA Implementation=140 == 3) CABA Implementation == 144 141 145 The caba implementation is in 146 * source:trunk/soclib/module/connectivity_component/vci_fd_access/caba/source/include/vci_fd_access.h 147 * source:trunk/soclib/module/connectivity_component/vci_fd_access/caba/source/src/vci_fd_access.cpp 142 === CABA sources === 148 143 149 == Template parameters: == 144 * interface : source:trunk/soclib/soclib/module/connectivity_component/vci_fd_access/caba/source/include/vci_fd_access.h 145 * implementation : source:trunk/soclib/soclib/module/connectivity_component/vci_fd_access/caba/source/src/vci_fd_access.cpp 150 146 151 * The VCI parameters 147 === CABA Constructor parameters === 152 148 153 == Constructor parameters ==154 149 {{{ 155 150 VciFdAccess( … … 159 154 }}} 160 155 161 == Ports==156 === CABA Ports === 162 157 163 158 * sc_in<bool> '''p_resetn''' : Global system reset … … 166 161 * soclib::caba::!VciInitiator<vci_param> '''p_vci_initiator''' : The VCI initiator port 167 162 * sc_out<bool> '''p_irq''' : Interrupt port 163 164 == 4) TLM-T Implementation == 165 166 The TLM-T implementation is not yet available.