Grokking FPGA clock management Philmon Gardet Jean-Franois - - PowerPoint PPT Presentation

grokking fpga clock management
SMART_READER_LITE
LIVE PREVIEW

Grokking FPGA clock management Philmon Gardet Jean-Franois - - PowerPoint PPT Presentation

Grokking FPGA clock management Philmon Gardet Jean-Franois Nguyen <phil@lse.epita.fr> <jf@lse.epita.fr> Architecture 2 Architecture Overview IO buffers PLLs / DLLs CLBs Interconnect Block RAM 3 CLB


slide-1
SLIDE 1

Grokking FPGA clock management

Philémon Gardet Jean-François Nguyen <phil@lse.epita.fr> <jf@lse.epita.fr>

slide-2
SLIDE 2

Architecture

2

slide-3
SLIDE 3

Architecture Overview

  • IO buffers
  • PLLs / DLLs
  • CLBs
  • Interconnect
  • Block RAM

3

slide-4
SLIDE 4

CLB - Configurable Logic Blocks

  • Logic Cell:

LUT, carry logic, storage

  • Chained carry
  • Fast adjacent

interconnect

  • clk signal

4

slide-5
SLIDE 5

PLL & DLL

Input clock Phase-locked loop Delay-locked loop

5

slide-6
SLIDE 6

Clock Networking

  • Fan-out

Clock signal intensity

  • Clock skew

Different phases from the same source

6

slide-7
SLIDE 7

Clock Networking - Clock Tree

  • Global networks

Low-skew / High fanout

  • Regional networks

Mid-skew / Mid fanout

  • Edge networks

Low-skew / high speed / IO

Global Regional

7

slide-8
SLIDE 8

Clock Tree Strategy

8

slide-9
SLIDE 9

Timing considerations

9

slide-10
SLIDE 10

Clock Skew

D Q D Q D Q clk

clk1 clk2 clk3

clk clk1 clk2 clk3

Clock skew

10

slide-11
SLIDE 11

Short Path

D Q D Q d q1 q2

clk

clk

d q1 q2

11

slide-12
SLIDE 12

Short Path

D Q D Q d q1 q2 clk clk1 clk2

clk d q1 q2 clk1 clk2

12

slide-13
SLIDE 13

Short Path - Fixes

  • Add delay in data path
  • Clock Reversing
  • Alternate Phase Clocking

○ DLL ○ Differents edge triggers ○ Clock buffering D Q D Q d q1 q2 clk clk1 clk2

Clock reversing

13

D Q D Q d q1 q2 clk1 clk2

Alternate Phase clocking

clk1 clk2

slide-14
SLIDE 14

Place and Route

  • Routability

○ Avoid coupling capacitance or detours

  • Timing constraints

○ Bound delay on each path

  • Power consumption
  • Yield

14

slide-15
SLIDE 15

Timing Analysis

  • Minimum clock period is dictated by

the largest delay

  • Slack is the tolerated delay before

increasing the minimum clock period

  • Critical path has a slack of 0

15

slide-16
SLIDE 16

Asynchronous &

  • thers dumb things

16

slide-17
SLIDE 17

Metastability

D Q

  • Real world

⟶ transitive time

  • Intermediate logic state
  • Unknown behaviour if output

feeds data to another stage

a c b

a b c

17

slide-18
SLIDE 18

Combinatory Logic as Trigger - Short paths

  • Without any synchronization

no hypothesis about order

  • Metastability possibility

a b c d q

18

slide-19
SLIDE 19

Latches - Race condition

  • Asynchronous control
  • Transitive state
  • Loop ⟶ No idea about

current state

19

D Q E a

Combinatory

logic

Combinatory

logic

slide-20
SLIDE 20

Combinatory Logic - Delay blocks

a b c d q

delay delay delay delay

  • Force delay on each input
  • Control transitive state

20

slide-21
SLIDE 21

Handshaking pipeline

Sender Receiver Req Ack Data path

delay

Delay to send req signal = worst data setting time

21

slide-22
SLIDE 22

Asynchronous data encoding protocols - dual rail

22

Sender Receiver

Ack

r0 d0 r1 d1

Double the data bus → Assure validity d r value 0 0 Null 1 0 1 0 1 0 1 1 Invalid

slide-23
SLIDE 23

Manual Place & Route

  • No depend to place & route

algorithms changes

  • Control clock skew and

delays

  • Automatization optimized for

asynchronous logic ?

23

slide-24
SLIDE 24

24

Thank you!

slide-25
SLIDE 25

25

Bibliography

  • FPGA Architecture, timing, software / Mose Wahlstrom - Lattice R&D Team,

2013

  • The real hardware / V. Angeloc - VHDL-FPGA@PI, 2013
  • 7 Series FPGAs Clocking Resources User Guide / Lattice, 2017
  • iCE40 LP/HX Family Data Sheet / Lattice, 2017
  • Routing Algorithms and Architectures for Field-Programmable Gate arrays /

Stephen Dean Brown, 1992

  • Design Guidelines for Optimal Results in High-Density FPGAs / Altera, 2003
  • Rapid System Prototyping with FPGAs / R.C. Coffer, Ben Harding - Elsevier,

2005

  • Application of Specific Delay Window Routing for Timing Optimization in FPGA

Designs / Evan Wegley, Qinhai Zhag - Lattice, 2015

  • Clock Skew and Short Paths Timing / Microsemi, 2011
  • The Art of hardware architecture / Mohit Arora - Springer, 2012