80 likes | 204 Views
CRKit R4 Architecture rev 0.1. WINLAB – Rutgers University Date : April 29 2011. R4 - top level. R4 - app2host. Lookup using StreamID (sID), direct-mapped. dMAC/sMAC from IP Processor. VRT Emitters. VRT Receiver. Support : VITA packets Non-VITA packets : IP Non-IP e.g. ARP/DHCP.
E N D
CRKit R4 Architecturerev 0.1 WINLAB – Rutgers University Date : April 29 2011
R4 - app2host Lookup using StreamID (sID), direct-mapped dMAC/sMAC from IP Processor VRT Emitters VRT Receiver • Support : • VITA packets • Non-VITA packets : • IP • Non-IP e.g. ARP/DHCP • for VITA packets: • table lookup using sID • forward dMAC/sMAC • append dIP/sIP • For non-VITA packets: • IP : • table lookup using sID (terminate sID at IP Processor) • forward dMAC/sMAC • append dIP/sIP • non-IP : • table lookup using sID (terminate sID at IP Processor) • forward dMAC/sMAC • bypass IP Processor e.g. no IP level processing
R4 - app2host MMU • drdy - data ready • dreq - data request • sID - streamID • dtype - data type : • VITA • IP • non-IP CMD FORMAT dtype : 0000 - VITA 0001 - IP 0010 - non-IP sID : for APP - fetch from VRT data stream (MEM CTL) for PCORE - pcore writes sID into CMD FIFO size : data size in bytes ptr : pointer to data in memory Support both VITA and non-VITA mode of operations.
R4 - host2app CMD FORMAT ptype : ethertype/VITA • Forward ethernet payload if : • incoming MAC = dMAC • incoming MAC = Broadcast • Append Ethertype field (16-bit) to ethernet payload if (ethertype == IPv4 & Incoming IP == dIP & UDP = 1000) then forward UDP payload to VITA PARSER else forward packet to PCORE
R4 - PCORE PCORE – RMAP RD/WR IP Host -> PCORE (UDP-1001) RTYPE: 0x2000 – RMAP READ 0x2001 – RMAP WRITE RADDR: Register address RDATA: Register data Address Decoding IP PCORE -> Host (UDP-1000)
R4 – Memory Map Upper 4 MSBs : 0x0-0x1 : PCORE 0x2 : CRKIT Others : Unused 0x0 : CMN 0x1 : ETH 0x2 : PKT 0x3-0xA : APP 0xB : DAC IF 0xC : ADC IF INT SPI, LED DCM/CLOCK CE