Changes between Version 8 and Version 9 of Component/Vci Master Nic
- Timestamp:
- Apr 2, 2020, 9:02:46 PM (5 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
Component/Vci Master Nic
v8 v9 12 12 13 13 To improve the throughput, this component supports up to 8 channels. 14 These channels are indexed by an index derived from the (source) remote IP address and port 14 These channels are indexed by an index derived from the (source) remote IP address and port for the received (RX) packets, 15 15 and from the (destination) remote IP address and port for the sent (TX) packets. 16 16 The actual number of channels is an hardware parameter. … … 22 22 * '''NIC_MODE_TAP''': The TX and RX packet streams are send and received to and from the physical network controller of the workstation running the simulation. 23 23 24 The packet length can have any value, in the range [54 to 1514] bytes.24 The Ethernet packet length can have any value, in the range [44 to 1514] bytes. 25 25 26 26 The minimal data transfer unit between software and the NIC is a 4K bytes '''container''', 27 27 containing an integer number of variable size packets. 28 The max number of packets in a container is 66packets.28 The max number of packets in a container is 88 packets. 29 29 30 30 The received packets (RX) and the sent packets (TX) are stored in … … 33 33 defining the queue depth, is a software defined parameter. 34 34 35 The container format is defined below:35 The container is handled as an array of 32 bits word, with the following format: 36 36 37 The first 34 wordsdefine the fixed-format container header :37 The first 45 words (180 bytes) define the fixed-format container header : 38 38 || word0 || NB_WORDS || NB_PACKETS || 39 39 || word1 || PLEN[0] || PLEN[1] || 40 40 || ... || ... || ... || 41 || word 33 || PLEN[64] || PLEN[65] ||41 || word44 || PLEN[86] || PLEN[87] || 42 42 43 43 * NB_PACKETS is the actual number of packets in the container. … … 45 45 * PLEN[i] is the number of bytes for packet[i]. 46 46 47 The packets are stored in the (1024 - 34) following words,48 The max number of packets in a container is 66 packets,and the packets are word-aligned.47 The packets are stored in the (1024 - 45) following words (3916 bytes), 48 and the packets are word-aligned. 49 49 50 50 For the DMA engines, a container has only two states (full or empty), defined … … 63 63 chained buffer implementing the TX queue in memory, to the internal TX 2 slots chained buffer. 64 64 65 To improve the throughput for one specific channel, the DMA engines use ''pipelined bursts'': The burst length cannot be larger than 64 bytes, but each channel send 4 pipelined VCI transactions to mask the round-trip latency. Therefore, thi NIC controller can control up to 32 parallel VCI transactions (4 channels * 4 bursts * 2 directions). 65 To improve the throughput for one specific channel, the DMA engines use ''pipelined bursts'': The burst length 66 cannot be larger than 64 bytes, but each channel send 4 pipelined VCI transactions to mask the round-trip latency. 67 Therefore, this NIC controller can control up to 64 parallel VCI transactions (8 channels * 4 bursts * 2 directions). 66 68 The CMD/RSP matching uses both the VCI TRDID and PKTID fields: 67 * the channel index is sent in TRDID[3:2]69 * the channel index is sent in SRCID 68 70 * the burst index is sent in TRDID[1:0] 69 * the is_rx bit is sent in SRCID71 * the is_rx bit is sent in TRDID[2] 70 72 71 73 == 2) Addressable registers and buffers ==