Download presentation
Presentation is loading. Please wait.
Published byBrett Benson Modified over 9 years ago
1
Automatic Pipelining during Sequential Logic Synthesis Jordi Cortadella Universitat Politècnica de Catalunya, Barcelona Joint work with Marc Galceran-Oms (eSilicon) and Mike Kishinevsky (Intel)
2
Synthesis and Verification Dec 10, 2015Automatic pipelining2 Behavior (SystemC, Matlab,…) RTL (Verilog) NetlistNetlist HLS Loop unrolling Common expr. Scheduling Binding Logic Synth. Combinational & Sequential = ? Simulation (Testbenchs) Equivalence Checking (mostly combinational) Sequential? ABC, Calypto’s SLEC
3
How far can Logic Synthesis go? Dec 10, 2015Automatic pipelining3 UnpipelinedPipelined
4
Combinational logic synthesis The sequential elements are unmovable. Combinational logic synthesis preserves the cycle-by-cycle behavior of all sequential elements. Dec 10, 2015Automatic pipelining4 CombinationalCombinational CLK
5
Why is verification easy? Dec 10, 2015Automatic pipelining5 Verification reduced to combinational equivalence
6
Dec 10, 2015Automatic pipelining6 Retiming: The sequential elements are movable !!! But the observable timing behavior is preserved External cycle accuracy AABB Data CLK
7
The future ahead Dec 10, 2015Automatic pipelining7 Source: Davide Sacchetto (EPFL) Source: Franz Kreupl (TUM) Time becomes more unpredictable
8
Introducing time elasticity
9
Elasticity is known from long ago Dec 10, 2015Automatic pipelining9 VME bus AMBA AHB
10
Rigid vs. Elastic timing Dec 10, 2015Automatic pipelining10 987654321 S InOut 987654321 CLK time 54321 S InOut 654321 6 req ack req ack 54321 S InOut 54321 CLK valid stop valid stop
11
Elastic timing Can we elasticize time automatically? What are the benefits? Can we check elastic equivalence? Dec 10, 2015Automatic pipelining11
12
Transforming sync into elastic Automatic pipeliningDec 10, 201512
13
Generalization: bounded FIFOsIn Out B1 B3 B2 Bounded Dataflow Networks Automatic pipeliningDec 10, 201513
14
Transforming sync into elastic Automatic pipeliningDec 10, 201514
15
Transforming sync into elastic Automatic pipelining Behavioral equivalence is preserved Dec 10, 201515
16
16Automatic pipelining V S V S V S V S V S CLK Control layer Generation of filtered (gated) clocks Gated clocks Data path Dec 10, 2015
17
17Automatic pipelining V S V S V S V S V S CLK Control layer Generation of filtered (gated) clocks Gated clocks Dec 10, 2015
18
18Automatic pipelining V S V S V S V S V S CLK Gated clocks Dec 10, 2015
19
19Automatic pipelining 1 0 1 0 1 0 1 0 1 0 CLK Gated clocks 0 0 Dec 10, 2015
20
Behavioral equivalence Automatic pipelining D: a b c d e f g h i j k … Synchronous: Elastic: D: a a b b b c d e e f g g h i i i j k … D: a a b b b c d e e f g g h i i i j k … V: 1 0 1 0 0 1 1 1 0 1 1 0 1 1 0 0 1 1 … V: 1 0 1 0 0 1 1 1 0 1 1 0 1 1 0 0 1 1 … Dec 10, 201520
21
Elastic transformations
22
We can insert and retime bubbles Dec 10, 2015Automatic pipelining22 986 4 4 3 9 10 4 5 registers, 4 tokensRetimingBubblesCycle PeriodThroughput Effective Period 211 161 124/515 Bubble insertion + Retiming “Bubble insertion + Retiming” can be solved optimally using MILP Bufistov et al., 2007.
23
PC+4 Branch target address Example: mux for next-PC calculation Jump? Only wait for required inputs Late arriving tokens are cancelled by anti-tokens No jump Early evaluation Dec 10, 2015Automatic pipelining23
24
How to implement anti-tokens ? Valid + Valid – Valid + Stop + Valid – Stop – + - Automatic pipeliningDec 10, 201524
25
Memory bypass Dec 10, 2015Automatic pipelining25 R0 R1 R2 R3 wa ra wd rd R0 R1 R2 R3 wd wa ra = rd
26
Elastic pipelining Dec 10, 2015Automatic pipelining26 rd wd ra READ WRITE wa A B2B1 Kam, et al. Correct-by-construction Microarchitectural Pipelining, ICCAD 08 Sequential execution: R B1 B2R AR B1 B2R A
27
Elastic pipelining Dec 10, 2015Automatic pipelining27 rd wd ra READ WRITE wa A B2B1
28
Elastic pipelining Dec 10, 2015Automatic pipelining28 A B2B1 2 bypasses rd wd = wd’ wa’ READ WRITE rawa wd’’ wa’’
29
Elastic pipelining Dec 10, 2015Automatic pipelining29 A B2B1 Forwarding rd = wa’ READ WRITE rawa wa’’
30
Elastic pipelining Dec 10, 2015Automatic pipelining30 A B2B1 Retiming rd = wa’ READ WRITE rawa wa’’
31
Elastic pipelining Dec 10, 2015Automatic pipelining31 A B2B1 Retiming with anti-tokens rd = wa’ READ WRITE rawa wa’’ Anti-token insertion allows retiming combinations that are not possible in a conventional synchronous circuit
32
Elastic pipelining Dec 10, 2015Automatic pipelining32 B2 B1 R R R R A A B2 B1 R R R R A A B2 B1 R R B2 B1 R R Stall
33
Micro-architectural exploration Apply Memory Bypass iteratively to RF and MEM Insert bubbles and retime Evaluate performance (effective cycle time) Dec 10, 2015Automatic pipelining33
34
Micro-architectural exploration Dec 10, 2015Automatic pipelining34
35
Dec 10, 2015Automatic pipelining35 Marc Galceran-Oms et al., Microarchitectural transformations using elasticity. JETCS, Dec 2011.
36
The Achilles’ heel: equivalence checking Combinational equivalence checking is easy (structural + SAT) Sequential equivalence checking is hard (the time dimension appears) Even retiming is hard to verify ! A possible way to go: logs – Create logs of tiny transformations – Incremental (step by step) verification 41Dec 10, 2015Automatic pipelining
37
LOGLOG Incremental verification Dec 10, 2015Automatic pipelining37 N0N0 N n-1 N1N1 N2N2 N3N3 NnNn T1T1 T2T2 T3T3 TnTn T n-1 Synthesis Verification A standard language for sequential transformations: Retime Add bubble Inject anti-token Add bypass to Regfile …
38
Conclusions Rigid systems preserve timing equivalence (data always valid at every cycle) Elastic systems waive timing equivalence to enable more concurrency (bubbles decrease throughput, but reduce cycle time) A new avenue of performance optimizations can emerge to build general-purpose, correct-by-construction pipelines ΘΘΘΘ Dec 10, 2015Automatic pipelining38
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.