26
Performed by: Yulia Turovski Lior Bar Lev Instructor: Mony Orbach תתתת תתתתתתת תתתתתתת תתתתתתh speed digital systems laboratory תתתת- תתתתתתת תתתתתתתת תתתתתת תתתתתתת תתתתתת תתתתTechnion - Israel institute of technology department of Electrical Engineering Final Presentation I Subject: gh-Speed Communication Channel( Switch Winter semester 2010 1

Performed by:Yulia Turovski Lior Bar Lev Instructor: Mony Orbach

Embed Size (px)

DESCRIPTION

Technion - Israel institute of technology department of Electrical Engineering. הטכניון - מכון טכנולוגי לישראל הפקולטה להנדסת חשמל. High speed digital systems laboratory. המעבדה למערכות ספרתיות מהירות. Final Presentation I Subject:. High-Speed Communication Channel(s) Switch. - PowerPoint PPT Presentation

Citation preview

Page 1: Performed by:Yulia Turovski Lior Bar Lev Instructor: Mony Orbach

Performed by: Yulia TurovskiLior Bar Lev

Instructor: Mony Orbach

High speed digital systems laboratoryהמעבדה למערכות ספרתיות מהירות

הטכניון - מכון טכנולוגי לישראל

הפקולטה להנדסת חשמל

Technion - Israel institute of technologydepartment of Electrical Engineering

Final Presentation ISubject:

High-Speed Communication Channel(s)Switch

Winter semester 20101

Page 2: Performed by:Yulia Turovski Lior Bar Lev Instructor: Mony Orbach

OutlineHigh speed digital systems laboratoryהמעבדה למערכות ספרתיות מהירות

2

•Reminder – Motivation and Goal•Stratix II SI Development Kit•Project Basics•SerialLite II•Network & Data Link Packet Format•Architecture and Components•Simulations•Validation Method•Gantt diagram

Page 3: Performed by:Yulia Turovski Lior Bar Lev Instructor: Mony Orbach

Motivation and GoalHigh speed digital systems laboratoryהמעבדה למערכות ספרתיות מהירות

2

Motivation: •High-speed communication between devices.•Utilizing high frequency achievable with new hardware.•Demand for reliable communication

Goal: •Design & implementation of high speed communication switch.•Use of advanced communication protocols.•Connect between as many devices as possible.•Best transmission rate possible.

Page 4: Performed by:Yulia Turovski Lior Bar Lev Instructor: Mony Orbach

Stratix II SI Development KitHigh speed digital systems laboratoryהמעבדה למערכות ספרתיות מהירות

2

•The hardware for the project: Stratix II GX Transceiver Signal Integrity Development Board•Clocking: Numerous oscillators, we chose PCI-Express standard 156.25 MHz.•Communication channels:•4 identical stripline channels - USED•2 unique channels (microstrip and long trace simulator) – not used

•Stratix II GX EP2SGX90EF1152C3 FPGA – 90,960 LE’s, Max Transceiver data rate 6.375Gbps, 4,520K RAM, 192 18X18 Multipliers, 48 DSP blocks, 8 PLLs, 558 I/O pins

Page 5: Performed by:Yulia Turovski Lior Bar Lev Instructor: Mony Orbach

Stratix II SI Development KitHigh speed digital systems laboratoryהמעבדה למערכות ספרתיות מהירות

2

Page 6: Performed by:Yulia Turovski Lior Bar Lev Instructor: Mony Orbach

Project BasicsHigh speed digital systems laboratoryהמעבדה למערכות ספרתיות מהירות

2

•Communication using board’s transceivers.•Basic element: ALT2GXB MegaCore:•Receiver-transmitter from transfer size (32bit max for 1 lane) to serial interface.•Multiplies core clock to reach desired data rate•Tested thoroughly in previous project•Successfully burnt and tested

•Alternative: SerialLite II MegaCore:•Uses ALT2GXB as a component•Adds optional data link services i.e. reliability, CRC, flow control etc.

Page 7: Performed by:Yulia Turovski Lior Bar Lev Instructor: Mony Orbach

Altera SerialLite IIHigh speed digital systems laboratoryהמעבדה למערכות ספרתיות מהירות

2

•By documentation, core can act as physical and data link layers of this project.•Use was forsaken due to technical difficulties.•Instead:•using the physical layer from a previous project•created our own data link layer.•Simple but sufficient GBN protocol of fixed window (10^(-12) error probability).

Page 8: Performed by:Yulia Turovski Lior Bar Lev Instructor: Mony Orbach

Network Layer FormatHigh speed digital systems laboratoryהמעבדה למערכות ספרתיות מהירות

2

•Network Layer (routing):•Constant packet size of 128 bytes•Variable packet size: •Would be more efficient and versatile•Complicates the design significantly

•Constant packet size:•Simplifies design•Enables determining quality of service, i.e. number of packets in memory

•Reminder: Mid-semester presentation showed 32-byte packets, which were increased to minimize overhead.•but not so much, as needs to fit in FPGA!

Address 8bit Data 123Byte 32bit CRCPacket

Page 9: Performed by:Yulia Turovski Lior Bar Lev Instructor: Mony Orbach

Data Link Format & ProtocolHigh speed digital systems laboratoryהמעבדה למערכות ספרתיות מהירות

2

•Data Link Layer (reliability over single connection):•Simple GBN with constant generic window <=7•GBN: •Provides enough reliability•Simplifies the design (but is still not trivial)•Ack for every message – 1/33 additional overhead

•Alternative – Selective Repeat•Provides same reliability•Requires Nack and discards a packet, but only for bad messages – very low probability (10^-9)

•Project demand was GBN.

FF+msgnum (4 byte) Network layer packet (128 byte)Frame

F0+msgnum (4 byte)ACK

Page 10: Performed by:Yulia Turovski Lior Bar Lev Instructor: Mony Orbach

Architecture DiagramHigh speed digital systems laboratoryהמעבדה למערכות ספרתיות מהירות

3

ALTGX

TRNS

RECV

Trans Mem

32

32

SPLIT128

INBUF

INBUF

INBUF

INBUF

OUTBUF128

ALTGX

TRNS

RECV

Trans Mem

32

32

SPLIT128

INBUF

INBUF

INBUF

INBUF

OUTBUF128

ALTGX

TRNS

RECV

Trans Mem

32

32

SPLIT128

INBUF

INBUF

INBUF

INBUF

OUTBUF128

ALTGX

TRNS

RECV

Trans Mem

32

32

SPLIT128

INBUF

INBUF

INBUF

INBUF

OUTBUF128

ROUTER

Page 11: Performed by:Yulia Turovski Lior Bar Lev Instructor: Mony Orbach

Architecture DiagramHigh speed digital systems laboratoryהמעבדה למערכות ספרתיות מהירות

3

ALTGX

TRNS

RECV

Trans Mem

32

32SPLIT

128

INBUF

INBUF

INBUF

INBUF

OUTBUF128

ROUTER

Page 12: Performed by:Yulia Turovski Lior Bar Lev Instructor: Mony Orbach

Architecture NotesHigh speed digital systems laboratoryהמעבדה למערכות ספרתיות מהירות

2

•Serial interfaces send 32 bits on every channel every clock•The switch core (between receiver and transmitter) sends 128 bits every clock•Reason: To compensate for changing routes•Serial interfaces always send to same line•In-switch routing may be occupied due to routing options•i.e. all ports transmit to the same port

•X4 rate for 4 ports means no congestion in switching (avg)•Disadvantages:•Complicates design•Lots of logic for parallel data transfer (128-bit muxes)

Page 13: Performed by:Yulia Turovski Lior Bar Lev Instructor: Mony Orbach

Architecture NotesHigh speed digital systems laboratoryהמעבדה למערכות ספרתיות מהירות

2

•Many ways to implement queues, fairness, buffering\GBN.•Simple FIFO per input:•Seems memory efficient – single queue•Packets to full destinations block packets to others not full• - which fills buffers => more memory!

•Single non-FIFO per input:•Most memory efficient – single buffer with bypasses•Requires memory management – very complicated

•FIFO per input per destination:•Most memory-consuming – even when some directions idle•Most parallel – actually a switch to each destination•Each FIFO can be smaller to minimize consumption•But needed to deal with pre-switch congestion

Page 14: Performed by:Yulia Turovski Lior Bar Lev Instructor: Mony Orbach

ALTGX BlockHigh speed digital systems laboratoryהמעבדה למערכות ספרתיות מהירות

ALTGX

•The physical layer of the switch.•Parallel interface is 32-bit wide, chosen clock is the PCI-Express standard 156.25 (multiplied)•Serial interface is a multiple of said clock, up to 6.25GB•Used in previous projects•Successfully synthesized and burnt onto our FPGA•ALTGX is a sub-block of the forsaken SerialLite megacore

Page 15: Performed by:Yulia Turovski Lior Bar Lev Instructor: Mony Orbach

Receiver BlockHigh speed digital systems laboratoryהמעבדה למערכות ספרתיות מהירות

•The receiver side of the Data Link layer•Receives 32 bits of data every clock•Packs data to 128-bit words•CRC check•Informs transmitter of:•Good packets to ACK•Received ACKS to forward GBN window

•Outputs the virtual 8-bit address to translation memory•Result 2-bit port is forwarded to next block with some delay

RECV

Page 16: Performed by:Yulia Turovski Lior Bar Lev Instructor: Mony Orbach

SPLIT BlockHigh speed digital systems laboratoryהמעבדה למערכות ספרתיות מהירות

•Destination port arrives 3-clocks late from translation memory•Unit includes a shift-register to synchronize•Outputs the data to all 4 In Buffers•WREN is enabled for the destination port only

SPLIT

Page 17: Performed by:Yulia Turovski Lior Bar Lev Instructor: Mony Orbach

INBUF BlockHigh speed digital systems laboratoryהמעבדה למערכות ספרתיות מהירות

•16 such buffers – one per input-output pair•When receives signal from router, sends 8 128-bit words in 8 clocks•Uses dual-port ram•FIFO

INBUF

Page 18: Performed by:Yulia Turovski Lior Bar Lev Instructor: Mony Orbach

OUTBUF BlockHigh speed digital systems laboratoryהמעבדה למערכות ספרתיות מהירות

•4 such buffers – one per output•Mux in entrance to buffer•When receives signal from router, stores 8 128-bit words in 8 clocks•Mux transfers the data from the INBUF activated by router

•Uses dual-port ram•FIFO•Data is read by transmitter•When finished, entries are invalidated

OUTBUF

Page 19: Performed by:Yulia Turovski Lior Bar Lev Instructor: Mony Orbach

ROUTER BlockHigh speed digital systems laboratoryהמעבדה למערכות ספרתיות מהירות

•Algorithm:•Hold start index (Round Robin)•For each output port j

•For each in port i (start index to N and then 1 to start-1)•Each buffer offers first message for each output port (4)•If size(i)>Max

•Max=size(i), Pchoose(j)=i•Transfer Pchoose[j]

4

ROUTER

•Chooses an input entry for each available output buffer and starts transmission at both ends•Fairness using Round Robin for start index

Page 20: Performed by:Yulia Turovski Lior Bar Lev Instructor: Mony Orbach

Transmitter BlockHigh speed digital systems laboratoryהמעבדה למערכות ספרתיות מהירות

•The transmitter side of the Data Link layer•Reads 128-bit words directly from OUTBUF•Adds 32 bit header•Transmits 32 bits of data every clock•Handles GBN protocol window for the port•Actions:•Advance window when receives ACK•Sends ACK as asked by receiver

TRNS

Page 21: Performed by:Yulia Turovski Lior Bar Lev Instructor: Mony Orbach

Architecture DiagramHigh speed digital systems laboratoryהמעבדה למערכות ספרתיות מהירות

3

ALTGX

TRNS

RECV

Trans Mem

32

32SPLIT

128

INBUF

INBUF

INBUF

INBUF

OUTBUF128

ROUTER

Page 22: Performed by:Yulia Turovski Lior Bar Lev Instructor: Mony Orbach

Architecture DiagramHigh speed digital systems laboratoryהמעבדה למערכות ספרתיות מהירות

3

ALTGX

TRNS

RECV

Trans Mem

32

32

SPLIT128

INBUF

INBUF

INBUF

INBUF

OUTBUF128

ALTGX

TRNS

RECV

Trans Mem

32

32

SPLIT128

INBUF

INBUF

INBUF

INBUF

OUTBUF128

ALTGX

TRNS

RECV

Trans Mem

32

32

SPLIT128

INBUF

INBUF

INBUF

INBUF

OUTBUF128

ALTGX

TRNS

RECV

Trans Mem

32

32

SPLIT128

INBUF

INBUF

INBUF

INBUF

OUTBUF128

ROUTER

Page 23: Performed by:Yulia Turovski Lior Bar Lev Instructor: Mony Orbach

SimulationsHigh speed digital systems laboratoryהמעבדה למערכות ספרתיות מהירות

8

•…

Page 24: Performed by:Yulia Turovski Lior Bar Lev Instructor: Mony Orbach

Validation MethodHigh speed digital systems laboratoryהמעבדה למערכות ספרתיות מהירות

8

•4 transmitters with pre-initialized dual port rams•Simple data validation control (to keep track of number of packets sent)•Various scenarios can be implemented this way•Measure latency•Measure Throughput•Parallel transmission•Congestion – all ports transmit to same port•Deliberate errors

•Output the data through JTAG (as told by our instructor)

Page 25: Performed by:Yulia Turovski Lior Bar Lev Instructor: Mony Orbach

Validation Method (2)High speed digital systems laboratoryהמעבדה למערכות ספרתיות מהירות

2

Port I

Port II

Port III

Port IV

Port I

Port II

Port III

Port IV

Test device Switch

TRNS

TRNS

TRNS

TRNS

Valid control

RECV

RECV

RECV

RECV

OUT

OUT

OUT

OUT

Page 26: Performed by:Yulia Turovski Lior Bar Lev Instructor: Mony Orbach

Project ScheduleHigh speed digital systems laboratoryהמעבדה למערכות ספרתיות מהירות

9

Tasks17-23/1024-30/1031/10 – 6/117-13/1114-20/1121-27/1127/11 – 3/12

Part A presentation

Handling Clocking

RT Test

System Connection Sim

Validation system

Burning + tests

Part B presentaion

Minimum goal: showing one or two tests on boardMaximum goal: showing all tests planned