High Level Synthesis of GALS Systems Mahdi Jelodari - - PowerPoint PPT Presentation

high level synthesis of gals systems
SMART_READER_LITE
LIVE PREVIEW

High Level Synthesis of GALS Systems Mahdi Jelodari - - PowerPoint PPT Presentation

High Level Synthesis of GALS Systems Mahdi Jelodari Mamaghani and Jim D. Garside School of Computer Science University of Manchester, UK 17 th March


slide-1
SLIDE 1

High ¡Level ¡Synthesis ¡of ¡GALS ¡Systems ¡

Mahdi ¡Jelodari ¡Mamaghani ¡and ¡Jim ¡D. ¡Garside ¡ School ¡of ¡Computer ¡Science ¡ University ¡of ¡Manchester, ¡UK ¡ 17th ¡March ¡2014 ¡

slide-2
SLIDE 2

¡Aggressive ¡technology ¡scaling ¡has ¡brought ¡up: ¡

 ¡ ¡ ¡ ¡Mismatch ¡between ¡gate ¡and ¡interconnect ¡delays ¡  ¡ ¡ ¡ ¡Variability ¡in ¡terms ¡of ¡power ¡and ¡clock ¡speed ¡  ¡ ¡ ¡ ¡Difficul>es ¡in ¡power ¡budget ¡management ¡  ¡ ¡ ¡ ¡Difficul>es ¡in ¡clock ¡distribu>on ¡within ¡a ¡chip ¡

Technology ¡Scaling: ¡Beyond ¡Moore’s ¡Law ¡

2 ¡

Advanced ¡Processor ¡Technologies ¡Group ¡

slide-3
SLIDE 3

CombaNng ¡On-­‑Chip ¡Variability ¡

  • StaNc ¡techniques ¡

 ¡ ¡Sta>s>cal ¡sta>c ¡>ming ¡analysis ¡  ¡ ¡Compiler-­‑assisted ¡techniques ¡ ¡

  • Dynamic ¡techniques ¡

 ¡ ¡SoCware-­‑level ¡techniques ¡ ¡ ¡  ¡ ¡Tuneable ¡replica ¡circuits ¡ ¡ ¡ ¡  ¡ ¡Dynamic ¡Voltage ¡Frequency ¡Scaling ¡  ¡ ¡Online ¡error ¡detec>on ¡and ¡correc>on ¡  ¡ ¡Delay ¡Insensi>ve/Elas>c/Handshake ¡circuits ¡

Are ¡these ¡all ¡applicable ¡to ¡SoC ¡design ¡with ¡heterogeneous ¡ >ming? ¡

3 ¡

Advanced ¡Processor ¡Technologies ¡Group ¡

slide-4
SLIDE 4

Our ¡ContribuNons ¡

 ¡to ¡provide ¡designers ¡with ¡an ¡interface ¡to ¡cover ¡their ¡unfamiliarity ¡with ¡ ElasNc ¡techniques, ¡protocols ¡or ¡data-­‑encoding ¡in ¡circuit ¡implementa>on ¡ ¡  to ¡specify ¡the ¡hardware ¡in ¡the ¡form ¡of ¡concurrent ¡data ¡flows ¡rather ¡than ¡ thinking ¡ ¡sequenNally ¡and ¡squeezing ¡tasks ¡into ¡>me ¡boundaries ¡  to ¡raise ¡the ¡level ¡of ¡abstracNon ¡giving ¡the ¡tool ¡a ¡beNer ¡chance ¡of ¡flexible ¡ exploraNon ¡of ¡the ¡design ¡space ¡based ¡on ¡formal ¡models ¡where ¡it ¡is ¡ possible ¡to ¡consider ¡different ¡analyses ¡and ¡measurements ¡targe>ng: ¡  Area ¡overhead ¡reduc>on ¡ ¡  Performance ¡improvement ¡  Op>mise ¡power ¡consump>on ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡... ¡All ¡integrated ¡into ¡an ¡EDA ¡flow ¡ ¡

4 ¡

Advanced ¡Processor ¡Technologies ¡Group ¡

slide-5
SLIDE 5

ElasNc ¡vs. ¡ConvenNonal ¡Circuits ¡

In ¡ConvenNonal ¡ Systems ¡ Latency ¡= ¡0 ¡ In ¡ ¡ ElasNc ¡Systems ¡ ¡ Latency ¡can ¡vary ¡ Timing ¡alignment ¡ by ¡InserNng ¡buffers ¡ in ¡post-­‑synthesis ¡ stage ¡ No ¡worries! ¡ ¡ System ¡tolerates ¡ variaNons ¡in ¡ latencies ¡

5 ¡

Advanced ¡Processor ¡Technologies ¡Group ¡

slide-6
SLIDE 6

Pros ¡

 Concurrency ¡  Robustness ¡ ¡  handshake ¡based ¡communica>on ¡and ¡computa>on ¡  Average-­‑case ¡performance ¡  Low ¡power ¡& ¡Low ¡EMI ¡ ¡  Distributed ¡control ¡and ¡intrinsic ¡clock ¡ga>ng ¡

Cons ¡

 Lack ¡of ¡mature ¡EDA ¡tools ¡  Complex ¡handshake ¡protocols ¡  Area-­‑expensive ¡structure ¡  Complex ¡>ming ¡analysis ¡

Asynchronous ¡ElasNcity ¡

6 ¡

Advanced ¡Processor ¡Technologies ¡Group ¡

slide-7
SLIDE 7

Cost ¡of ¡ElasNcity ¡

7 ¡

Advanced ¡Processor ¡Technologies ¡Group ¡

slide-8
SLIDE 8

Transfer ¡

2 ¡ 3 ¡ 2 ¡ 3 ¡ 5 ¡ 4 ¡ 5 ¡ 4 ¡ 9 ¡

+ ¡

Cycle ¡0 ¡ Cycle ¡1 ¡ Cycle ¡2 ¡ Cycle ¡3 ¡ Cycle ¡4 ¡

Idle ¡ Retry ¡

5 ¡ Cycle ¡5 ¡

Synchronous ¡ElasNc ¡Protocol ¡

E-­‑Control ¡

Vin ¡ Vout ¡ En ¡ Clk ¡ Sin ¡ Sout ¡

[Jordi ¡Cortadella ¡et ¡al.,2006] ¡ 8 ¡

Advanced ¡Processor ¡Technologies ¡Group ¡

slide-9
SLIDE 9

Takes ¡RTL ¡implementa>on ¡and ¡desynchronises ¡it ¡

Synchronous ¡ElasNc ¡Flow ¡(SELF) ¡

Synchronous ¡ ¡circuit ¡ Synchronous ¡ ¡ ElasNc ¡Flow ¡

[Josep ¡Carmona ¡et ¡al.,2009] ¡ 9 ¡

Advanced ¡Processor ¡Technologies ¡Group ¡

slide-10
SLIDE 10

 Emerged ¡in ¡2009 ¡as ¡a ¡Dataflow ¡Syntax-­‑directed ¡Synthesis ¡backend ¡for ¡Balsa ¡language ¡  From ¡the ¡communicaNon ¡perspec>ve: ¡  Point-­‑to-­‑point ¡communicaNon ¡between ¡computa>on ¡blocks ¡at ¡hardware ¡level; ¡ this ¡contributes ¡to ¡concurrency ¡and ¡synchronous ¡massage ¡passing. ¡  Slack ¡elasNc: ¡the ¡communica>on ¡channels ¡are ¡capable ¡of ¡storing ¡any ¡number ¡of ¡

  • tokens. ¡This ¡feature ¡enables ¡modifica>on ¡in ¡the ¡level ¡of ¡pipelining ¡over ¡the ¡

channels ¡without ¡affec>ng ¡the ¡behaviour ¡of ¡the ¡circuit ¡  From ¡the ¡computaNonal ¡perspec>ve: ¡  Macro-­‑module ¡style ¡with ¡separate ¡Go ¡and ¡Done ¡ac>va>on ¡signals. ¡These ¡ modules ¡are ¡chained ¡in ¡sequence ¡or ¡parallel ¡according ¡to ¡the ¡source ¡level ¡ direc>ves. ¡The ¡macro-­‑module ¡architecture ¡contributes ¡to ¡a ¡distributed ¡control ¡ mechanism ¡  Dataflow ¡which ¡realises ¡data-­‑dependent ¡computa>on. ¡It ¡means ¡that ¡ independent ¡data ¡streaming ¡can ¡exist ¡within ¡a ¡module ¡which ¡can ¡significantly ¡ influence ¡the ¡performance ¡of ¡the ¡circuit. ¡ ¡

10 ¡

Advanced ¡Processor ¡Technologies ¡Group ¡

Our ¡Approach: ¡Teak ¡Synthesis ¡System ¡

slide-11
SLIDE 11

 3(+) ¡ ¡latches ¡(places) ¡per ¡loop ¡to ¡ensure ¡deadlock ¡freedom ¡  Any ¡degree ¡of ¡storage ¡on ¡channels ¡  Decoupling ¡components ¡

  • 1. ¡ ¡Correctness ¡in ¡Teak ¡networks ¡

11 ¡

Advanced ¡Processor ¡Technologies ¡Group ¡

slide-12
SLIDE 12

 Variables ¡in ¡dataflow ¡networks: ¡Mul>ple ¡write/ ¡mul>ple ¡read ¡storage ¡ components ¡ ¡  Variable ¡provides ¡a ¡place ¡for ¡data ¡tokens, ¡so ¡2 ¡< ¡latches ¡to ¡ensure ¡deadlock ¡ freedom ¡

12 ¡

Advanced ¡Processor ¡Technologies ¡Group ¡

Correctness ¡in ¡Teak ¡networks ¡

slide-13
SLIDE 13

 ¡ ¡Variables ¡in ¡eTeak: ¡Elas>c ¡Controllers ¡with ¡a ¡pair ¡of ¡latches ¡opera>ng ¡at ¡

  • pposite ¡clock ¡phases ¡

 ¡ ¡Each ¡variable ¡provides ¡two ¡places ¡for ¡data ¡tokens ¡ ¡  ¡ ¡Loops ¡involved ¡in ¡write/read ¡opera>ons ¡do ¡not ¡need ¡extra ¡latches ¡

13 ¡

Advanced ¡Processor ¡Technologies ¡Group ¡

Correctness ¡in ¡eTeak ¡networks ¡

slide-14
SLIDE 14

14 ¡

Advanced ¡Processor ¡Technologies ¡Group ¡

  • 2. ¡ ¡CombinaNonal ¡Logic ¡Synthesis ¡using ¡EDA ¡
slide-15
SLIDE 15

 SSM ¡ ¡

  • is ¡a ¡network ¡of ¡combina>onal ¡logic ¡such ¡as ¡binary ¡gates, ¡and ¡sequen>al ¡logic ¡such ¡

as ¡registers. ¡ ¡

  • In ¡a ¡SSM ¡a ¡cycle ¡consis>ng ¡only ¡of ¡combina>onal ¡elements ¡is ¡not ¡allowed. ¡ ¡
  • Synchronous ¡EDA ¡is ¡able ¡to ¡synthesise ¡SSMs ¡from ¡behavioural ¡or ¡structural ¡HDL ¡

specifica>ons. ¡

 PaNent ¡SSM ¡ ¡

  • is ¡a ¡latency-­‑insensi>ve ¡machine ¡whose ¡registers ¡are ¡controlled ¡by ¡a ¡global ¡enable ¡
  • signal. ¡
  • When ¡this ¡signal ¡is ¡low, ¡the ¡state ¡of ¡the ¡sequen>al ¡elements ¡freezes; ¡no ¡state ¡

updates ¡occur. ¡ ¡

  • Any ¡SSM ¡is ¡transformable ¡into ¡a ¡pa>ent ¡SSM. ¡

 Bounded ¡Dataflow ¡Networks ¡ ¡

  • are ¡Dataflow ¡Networks ¡where ¡nodes ¡are ¡connected ¡by ¡bounded ¡FIFOs ¡of ¡any ¡size ¡

>= ¡1. ¡

Advanced ¡Processor ¡Technologies ¡Group ¡

15 ¡

Principles ¡for ¡ParNNoning ¡the ¡eTeak ¡Networks ¡

slide-16
SLIDE 16
  • 1. ¡Abstract ¡behavioural ¡specifica>on ¡of ¡a ¡ ¡

circuit ¡ ¡

  • 2. ¡Mid-­‑Level ¡representa>on ¡ ¡of ¡the ¡

¡circuit ¡with ¡annotated ¡physical ¡characteris>cs ¡ ¡

  • 3. ¡Synthesis ¡at ¡this ¡level ¡enables ¡us ¡to ¡

rapidly ¡explore ¡different ¡trade-­‑offs ¡ between ¡power, ¡performance ¡and ¡area ¡

16 ¡

Advanced ¡Processor ¡Technologies ¡Group ¡

  • 3. ¡ ¡ExploiNng ¡Synchrony ¡in ¡the ¡Async. ¡Domain ¡
slide-17
SLIDE 17

0 ¡ 10000 ¡ 20000 ¡ 30000 ¡ 40000 ¡ 50000 ¡ 60000 ¡

Asynchronous ¡ Synchronous ¡Elas>c ¡

Area ¡Cost ¡

Design ¡Style ¡

F-­‑J-­‑M-­‑S ¡ Variables ¡ Subtracter ¡ Latch ¡

 Case ¡Study: ¡SSEM, ¡A ¡three ¡stage ¡itera>ve ¡Processor ¡implemented ¡in ¡Balsa ¡  Deadlock-­‑free ¡design: ¡Async. ¡(65 ¡Buffers) ¡vs. ¡Sync. ¡Elas>c ¡(6 ¡Buffers) ¡  The ¡slack ¡elas>c ¡property ¡is ¡preserved ¡

17 ¡

Advanced ¡Processor ¡Technologies ¡Group ¡

  • Async. ¡vs. ¡Sync. ¡ElasNc: ¡Area ¡Cost ¡ ¡
slide-18
SLIDE 18

 Applica>on: ¡GCD ¡(67, ¡2) ¡: ¡250 ¡Instruc>ons ¡  Slack ¡Matching ¡is ¡required ¡to ¡improve ¡the ¡performance ¡

18 ¡

Advanced ¡Processor ¡Technologies ¡Group ¡

Asynchronous ¡ ¡vs. ¡Synchronous ¡ElasNc ¡SSEM ¡

Asynchronous* ¡ Synchronous ¡ Elas2c* ¡(f ¡= ¡ 1.250 ¡GHz ¡) ¡ Asynchronous ¡ ¡ Synchronous ¡ Elas2c ¡(f ¡= ¡435 ¡ MHz) ¡ Total ¡Cell ¡Area ¡(k) ¡ ¡ 68.41 ¡ 47.447 ¡ 56.183 ¡ 12.563 ¡

  • Exec. ¡Time ¡(ms) ¡

4.061 ¡ 14.747 ¡ 4.65 ¡ 6.204 ¡ 0 ¡ 10 ¡ 20 ¡ 30 ¡ 40 ¡ 50 ¡ 60 ¡ 70 ¡ 80 ¡

*Fully ¡buffered ¡to ¡approve ¡the ¡slack ¡elas>c ¡property ¡ ¡

slide-19
SLIDE 19

 We ¡presented ¡an ¡extension ¡to ¡the ¡Teak ¡EDA ¡flow ¡which ¡provides ¡a ¡ framework ¡for ¡exploring ¡GALSifica2on ¡techniques ¡ ¡  In ¡this ¡respect, ¡we ¡exploit ¡the ¡synchronous ¡elas>c ¡protocol ¡to ¡move ¡ from ¡the ¡asynchronous ¡domain ¡to ¡the ¡synchronous ¡domain ¡where ¡it ¡ is ¡possible ¡to ¡leverage ¡synchronous ¡EDAs ¡to ¡improve ¡the ¡circuits ¡  Whilst ¡poten>al ¡proper>es ¡of ¡the ¡dataflow ¡circuits ¡are ¡preserved ¡to ¡ be ¡employed ¡towards ¡par>>oning ¡the ¡network ¡ ¡ ¡ ¡  Currently, ¡we ¡are ¡working ¡on ¡a ¡high ¡performance ¡communica>on ¡ fabric ¡to ¡allow ¡SSMs ¡interact ¡with ¡each ¡other ¡efficiently ¡  we ¡will ¡consider ¡running ¡machines ¡with ¡different ¡clock ¡frequencies ¡ based ¡on ¡the ¡func>onal ¡behaviour ¡of ¡each ¡SSM ¡ ¡ ¡ ¡ ¡

19 ¡

Summary ¡& ¡Future ¡work ¡

Advanced ¡Processor ¡Technologies ¡Group ¡

slide-20
SLIDE 20

Thanks ¡for ¡Listening ¡

20 ¡

Advanced ¡Processor ¡Technologies ¡Group ¡