Changes between Version 2 and Version 3 of Component/Vci Vgmn
- Timestamp:
- May 16, 2007, 3:41:24 PM (18 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
Component/Vci Vgmn
v2 v3 2 2 3 3 = !VciVgmn Functional Description = 4 5 [[Image(vci_vgmn.png, nolink, align=right)]] 4 6 5 7 This hardware component is a generic micro-network respecting the … … 7 9 simultaneous transaction, and behaves as two fully independent packet switched 8 10 network for VCI commands and VCI responses. 11 9 12 When several initiators try to reach the same target, the arbitration 10 13 policy is round-robin. … … 36 39 37 40 == Template parameters == 41 38 42 {{{ 39 template< 40 typename vci_param, // VCI parameters 41 size_t NB_INITIATOR, // number of VCI initiators 42 size_t NB_TARGET, // number of VCI targets 43 size_t MIN_LATENCY, // minimal latency 44 size_t FIFO_DEPTH> // network storage capacity 43 template<typename vci_param> 45 44 }}} 46 45 47 46 == Constructor parameters == 47 48 48 {{{ 49 49 VciVgmn( … … 58 58 * soclib::caba::!VciTarget<vci_param> '''p_from_initiator[NB_INITIATOR]''' : Ports from VCI initiators 59 59 * soclib::caba::!VciInitiator<vci_param> '''p_to_target[NB_TARGET]''' : Ports to VCI targets 60 61 == Implementation notes == 62 63 Each micro network (Command and Response packets interconnects) is implemented within the same 64 templated code. This code is instanciated twice, once for each network. 65 66 [[Image(micro_network.png, nolink, align=right)]] 67 68 There is one !InputRouter object per input port, it handles incoming packets and 69 forwards them to the right !OutputPortQueue. 70 71 There is one !OutputPortQueue per output port, handling as many fifos as input ports, 72 and one delay line. It handles putting packets on output port.