1 / 32

Network-on-FPGA

Network-on-FPGA. Aleksander Ś lusarczyk Matthijs Visser Henk Corporaal. Overview. Hardware Network Router Topologies Network interface mMIPS processor Memory Software Communication library Software tools Two applications. Xilinx university board. Network-on-FPGA. Network

tareq
Download Presentation

Network-on-FPGA

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Network-on-FPGA Aleksander Ślusarczyk Matthijs Visser Henk Corporaal

  2. Overview • Hardware • Network • Router • Topologies • Network interface • mMIPS processor • Memory • Software • Communication library • Software tools • Two applications HC Adv. Computer Architecture

  3. Xilinx university board HC Adv. Computer Architecture

  4. Network-on-FPGA • Network • topologies • routing • Data processor • mMIPS • network interface uP NI uP Mem IF HC Adv. Computer Architecture

  5. Dally’s network • Torus topology • E-cube routing • Unidirectional links • deadlock-free (2 virtual channels per link) HC Adv. Computer Architecture

  6. Router HC Adv. Computer Architecture

  7. H D T 16b 16b 16b Sub-router HC Adv. Computer Architecture

  8. Dally’s network • Guaranteed delivery, deadlock-free • no software required, reliable out-of-the-box • Fixed route • therefore no congestion avoidance, and load balancing • no timing and bandwidth guarantees HC Adv. Computer Architecture

  9. Topologies - Mesh • Bidir links (double the connections) • Asymetric at edges HC Adv. Computer Architecture

  10. Topologies - Tree • One route • Bidir links • Top-level nodes overloaded HC Adv. Computer Architecture

  11. Routing – Static or Dynamic • Static routing: Header contains routing information • E.g. streetsign routing: “goto x, turn left, goto y, turn right, … ” (= source routing) • Determined by user application or Network Interface (e.g. routing table) • Dynamic routing: Intermediate router determines best route HC Adv. Computer Architecture

  12. E-cube Routing Route dimensions in fixed order • e.g. first X-dim, then Y-dim Consequence: • no routing freedom • certain turns not used x-dim (0.0) (2,2) HC Adv. Computer Architecture

  13. 1 [2,5] [1,2] [1,1] [3,5] 3 2 [4,5] 4 5 [1,2] [3,5] [1,4] Interval routing • Range of addresses assigned to output port • Deadlock-free labellings for many topologies HC Adv. Computer Architecture

  14. t \ o O1 O2 O3 t1 I1 t2 I2 t3 I1 O2 I1 O1 I3 O3 I2 Using route tables • Time slot allocation • In a time slot one connection active • Compile-time fixed • Scheduling required • Contention-free • Guaranteed timing HC Adv. Computer Architecture

  15. miniMIPS Data processor • pipelined • 28 instructions • separate D/I memory • synthesizable SystemC HC Adv. Computer Architecture

  16. IM DM NI mMIPS Data: 0x8000000 Ctl: 0x8000004 address send data_rdy send_rdy Network interfacing • Memory mapped network device HC Adv. Computer Architecture

  17. I$ D$ NI NI+ RAM IM DM MEMIF mMIPS Memory • Data and instruction cache • Currently : local main memory • Extension: network access to remote memory HC Adv. Computer Architecture

  18. Implementation mMIPS : 600 slices Cache : 2 x 300 slices Router : 500 slices N.I. : 100 slices + : 1800 Virtex2 3000 : 15,000 slices + 200 KB RAM @ 30-50 MHz HC Adv. Computer Architecture

  19. Software for the Network-on-FPGA January 2004 , version 1.0

  20. C compiler (LCC) • Advantages • Designed for retargetability • Ported by Jan Hoogerbrugge for mMips • Different memory layouts supported without recompilation • Disadvantages • ANSI/POSIX libraries not implemented • No debugging information HC Adv. Computer Architecture

  21. mMips communication revisited Memory mapped communication • Request transmission of Data_word • Check whether Data_word valid? • Set destination node address Status_word Data_word • Contains received data, • Location to write outgoing data to Max. physical address 0x0000 32 bits HC Adv. Computer Architecture

  22. C communications library Possible communication scheme:Message passing • Blocking send and receive • Non-blocking send (= try) and receive (= peek) Possible implementation: ¥ ¥Retry count as optional parameter HC Adv. Computer Architecture

  23. C communications library Advantages of Message Passing • Directly supported by hardware • Small code base (meets memory constraints) • Easy to implement (meets time constraints) • Forms basis for more complex protocols • Only two operations (meets constraints for simplicity) • Uses message passing (= a standard, as required) HC Adv. Computer Architecture

  24. Simulator (SystemC) System level design tool • C++ Class Libraries forhardware constructs, such as adders • SystemC model of the mMips network • Standalone executable can be generated HC Adv. Computer Architecture

  25. Simulator (SystemC) Important debugging tool • VCD tracings • Memory dumps (ROM & RAM) • Spy module: • Spy on instruction pointer (IP) & communication • Watch read/writes on specific addresses • Stop simulation when IP at specific address • Additional options… HC Adv. Computer Architecture

  26. C library for debugging Desirable because: • LCC cannot generate debugging info • No CRT/console, so no printf() HC Adv. Computer Architecture

  27. C library for debugging Solution to debugging problem? • Implements a printf()-variant • Writes output to memory • Useful for both Simulator and FPGA implementation. FPGA memory 0x8000 Program data and Stack - Reserved - 0x4000 Output of printf() is stored here Instructions 0x0000 HC Adv. Computer Architecture

  28. NoC applications Two online and tested applications • Multi processor JPEG decoder • “Gossip”: a small message circulates the network HC Adv. Computer Architecture

  29. JPEG decoder 2x2 mMipsNetwork Input:JPEG image Output:BITMAP image HC Adv. Computer Architecture

  30. "Gossip" application Send a short message over the network Node 0 (x0y0) Node 0 (x1y1) Message (18 bytes):“I know something!” Node 1 (x1y0) Node 2 (x0y1) HC Adv. Computer Architecture

  31. “Gossip”: from idea to hardware • Create the C program • All nodes are identical except for their node ID • Node ID: pointer to address in user_data segment. • Compilation • Compile one node (lcc) • Separate code anddata using ashell script • Insert user_data Program data and Stack User data File withUser data(e.g. Node ID) 3 Program code 2 1 Node 0 HC Adv. Computer Architecture

  32. “Gossip”: from idea to hardware • Use the SystemC simulator to test & debug • Upload to and run in FPGA Program data and Stack User data 3 Program code 2 1 Node 0 HC Adv. Computer Architecture

More Related