Synthesis from HDL Other synthesis paradigms

Slides:



Advertisements
Similar presentations
Embedded System, A Brief Introduction
Advertisements

Delay models (I) A B C Real (analog) behaviorAbstract behavior A B C Abstractions are necessary to define delay models manageable for design, synthesis.
Andrey Mokhov, Victor Khomenko Danil Sokolov, Alex Yakovlev Dual-Rail Control Logic for Enhanced Circuit Robustness.
Combinational Logic.
ECE 3110: Introduction to Digital Systems
Reading1: An Introduction to Asynchronous Circuit Design Al Davis Steve Nowick University of Utah Columbia University.
1 BalsaOpt a tool for Balsa Synthesis Francisco Fernández-Nogueira, UPC (Spain) Josep Carmona, UPC (Spain)
1 Advanced Digital Design Synthesis of Control Circuits by A. Steininger and J. Lechner Vienna University of Technology.
Hazard-free logic synthesis and technology mapping I Jordi Cortadella Michael Kishinevsky Alex Kondratyev Luciano Lavagno Alex Yakovlev Univ. Politècnica.
Hardware and Petri nets Synthesis of asynchronous circuits from Signal Transition Graphs.
Direct synthesis of large-scale asynchronous controllers using a Petri-net-based approach Ivan BlunnoPolitecnico di Torino Alex BystrovUniv. Newcastle.
Logic Synthesis for Asynchronous Circuits Based on Petri Net Unfoldings and Incremental SAT Victor Khomenko, Maciej Koutny, and Alex Yakovlev University.
Hardware and Petri nets: application to asynchronous circuit design Jordi CortadellaUniversitat Politècnica de Catalunya, Spain Michael KishinevskyIntel.
Introduction to asynchronous circuit design: specification and synthesis Jordi Cortadella, Universitat Politècnica de Catalunya, Spain Michael Kishinevsky,
Introduction to asynchronous circuit design: specification and synthesis Part IV: Synthesis from HDL Other synthesis paradigms.
Digital System Design by Verilog University of Maryland ENEE408C.
Introduction to asynchronous circuit design: specification and synthesis Part III: Advanced topics on synthesis of control circuits from STGs.
1 Logic design of asynchronous circuits Part II: Logic synthesis from concurrent specifications.
Behavioral Design Outline –Design Specification –Behavioral Design –Behavioral Specification –Hardware Description Languages –Behavioral Simulation –Behavioral.
Introduction to asynchronous circuit design: specification and synthesis Part II: Synthesis of control circuits from STGs.
Combining Decomposition and Unfolding for STG Synthesis (application paper) Victor Khomenko 1 and Mark Schaefer 2 1 School of Computing Science, Newcastle.
1 Logic synthesis from concurrent specifications Jordi Cortadella Universitat Politecnica de Catalunya Barcelona, Spain In collaboration with M. Kishinevsky,
1 Clockless Logic Prof. Montek Singh Feb. 3, 2004.
Asynchronous Interface Specification, Analysis and Synthesis M. Kishinevsky Intel Corporation J. Cortadella Technical University of Catalonia.
1 Logic design of asynchronous circuits Part III: Advanced topics on synthesis.
Visualisation and Resolution of Coding Conflicts in Asynchronous Circuit Design A. Madalinski, V. Khomenko, A. Bystrov and A. Yakovlev University of Newcastle.
Bridging the gap between asynchronous design and designers Part II: Logic synthesis from concurrent specifications.
Resolution of Encoding Conflicts by Signal Insertion and Concurrency Reduction based on STG Unfoldings V. Khomenko, A. Madalinski and A. Yakovlev University.
STG-based synthesis and Petrify J. Cortadella (Univ. Politècnica Catalunya) Mike Kishinevsky (Intel Corporation) Alex Kondratyev (University of Aizu) Luciano.
Lab for Reliable Computing Generalized Latency-Insensitive Systems for Single-Clock and Multi-Clock Architectures Singh, M.; Theobald, M.; Design, Automation.
Introduction to VLSI Programming Lecture 6: Resource sharing (course 2IN30) Prof. dr. ir.Kees van Berkel.
1 State Encoding of Large Asynchronous Controllers Josep Carmona and Jordi Cortadella Universitat Politècnica de Catalunya Barcelona, Spain.
Synthesis of Asynchronous Control Circuits with Automatically Generated Relative Timing Assumptions Jordi Cortadella, University Politècnica de Catalunya.
Automatic synthesis and verification of asynchronous interface controllers Jordi CortadellaUniversitat Politècnica de Catalunya, Spain Michael KishinevskyIntel.
Asynchronous Circuit Verification and Synthesis with Petri Nets J. Cortadella Universitat Politècnica de Catalunya, Barcelona Thanks to: Michael Kishinevsky.
Behavioural synthesis of asynchronous controllers: a case study with a self-timed communication channel Alex Yakovlev, Frank Burns, Alex Bystrov, Albert.
Automated synthesis of micro-pipelines from behavioral Verilog HDL Ivan BlunnoPolitecnico di Torino Luciano LavagnoUniversità di Udine.
Maria-Cristina Marinescu Martin Rinard Laboratory for Computer Science Massachusetts Institute of Technology A Synthesis Algorithm for Modular Design of.
Reading1: An Introduction to Asynchronous Circuit Design Al Davis Steve Nowick University of Utah Columbia University.
Specification mining for asynchronous controllers Javier de San Pedro† Thomas Bourgeat ‡ Jordi Cortadella† † Universitat Politecnica de Catalunya ‡ Massachusetts.
1 Advanced Digital Design Asynchronous Design Automation by A. Steininger and J. Lechner Vienna University of Technology.
EMT 351/4 DIGITAL IC DESIGN Week # 1 EDA & HDL.
Service technology based on process models
Victor Khomenko Newcastle University
ASIC Design Methodology
Figure 8.1. The general form of a sequential circuit.
Asynchronous Interface Specification, Analysis and Synthesis
Synthesis of Speed Independent Circuits Based on Decomposition
SOFTWARE DESIGN AND ARCHITECTURE
Part IV: Synthesis from HDL Other synthesis paradigms
Graph Coverage for Specifications CS 4501 / 6501 Software Testing
Hazard.
Introduction to cosynthesis Rabi Mahapatra CSCE617
Hardware Description Languages
ECE 551: Digital System Design & Synthesis
ECE-C662 Introduction to Behavioral Synthesis Knapp Text Ch
FPGA Tools Course Answers
Asynchronous Sequential Logic
Synthesis of asynchronous controllers from Signal Transition Graphs:
Introduction to Digital Systems
Introduction to Silicon Programming in the Tangram/Haste language
Architectural-Level Synthesis
HIGH LEVEL SYNTHESIS.
De-synchronization: from synchronous to asynchronous
Clockless Logic: Asynchronous Pipelines
Performance-oriented Peephole Optimisation of Balsa Dual-Rail Circuits
ECE 551: Digital System Design & Synthesis
Synthesis of multiple rail phase encoding circuits
Optimizing RTL for EFLX Tony Kozaczuk, Shuying Fan December 21, 2016
Introduction to Silicon Programming in the Tangram/Haste language
Presentation transcript:

Synthesis from HDL Other synthesis paradigms Introduction to asynchronous circuit design: specification and synthesis Synthesis from HDL Other synthesis paradigms

Outline Disclaimer: this is NOT a comprehensive review Synthesis from standard HDL (Verilog) [L. Lavagno et al Async00] Subset for asynchronous specification Data-path/control partitioning Circuit architecture. Control generation Synthesis from asynchronous HDL (CSP, Tangram) CSP for control generation [A. Martin et al, Caltech] Tangram for silicon compilation [K. van Berkel et al, Philips] Control synthesis using FSMs [K. Yun, S. Nowick] Burst-mode machines Comparison with STGs Disclaimer: this is NOT a comprehensive review

Motivation Language-based design key enabler to synchronous logic success Use HDL as single language for specification logic simulation and debugging synthesis post-layout simulation HDL must support multiple levels of abstraction

Control-data partitioning Splitting of asynchronous control and synchronous data path Automated insertion of bundling delays CONTROL UNIT request DATA PATH delay acknowledge

Design flow HDL specification Synthesizable HDL (data) Control/data splitting STG (control) Synthesis (Synopsys) Logic delays Synthesis (petrify) Timing analysis (Synopsys) Logic implementation HDL implementation Delay insertion

Asynchronous Verilog subset by example always begin wait(start); R = SMP * 3; RES = SMP * 4 + R; if(RES[7] == 1) RES = 0; else begin if(RES[6] == 1) RES = 1; end; done = 1; wait(!start); done = 0; end SMP R R E S RES C.U. start done begin-end for sequencing, fork-join for concurrency, if-else for input choice Only structured mix of sequencing, concurrency and choice can be specified

Controller design flow HDL Syntax-directed translation Petri Net Transformations Reductions Trace Expressions Synthesis Circuit

Trace expressions: example || ;  a b c d e ( a || ( b ; c) ) || (d  e)

Reduction Example a d;a; ( b || f ) f b e c c h g; h;e d g

Transformation: concurrency reduction ; || a b c d f Concurrency in TE: b and f have a common parallel father f b c d

Transformation: concurrency reduction ; || a b c d f f and b are ordered f b ; c d

Synthesis Place-based encoding ( based on a David-cell approach) Transformations to improve area and performance Structural methods to derive a circuit [Pastor et al.] Transactions on CAD, Nov’98

Place-based encoding ER(t1) = 111- ER(t2) = --11 p2+ p1+ p1 p2 1100 0010 p4+ t2 ER(t2) = --11 t2 p3- p4 0001 p4-

Synthesis example: VME bus ldtack+ p2+ p1- LDS+ p8- p11- p3+ lds+ D+ LDTACK+ DSr+ LDTACK- p1+ p2- p7- p4+ p10- dsr+ dtack+ D+ DTACK- LDS- ldtack- p8+ p3- Place encoding p11+ p5+ DTACK+ D- p9- p6- dsr- lds- dtack- p4- DSr- p6+ p9+ p10+ p7+ D- p5-

VME bus spec after transforms ldtack+ p2+ ldtack+ p1- p8- p11- d+ lds+ p3+ lds+ D+ dtack+ dsr+ p1+ p2- p7- dsr- p9+ ldtack- p9- p4+ p10- dsr+ dtack+ ldtack- p8+ lds- dtack- Reductions Transforms p3- p11+ p5+ d- p9- p6- dsr- lds- dtack- p4- p6+ p9+ p10+ p7+ D- p5-

Deriving Next state function z+ z- y- x- y+ p1 p2 p3 p4 p5 p6 p7 000 1-0 1-1 0-1 -0- -1- 010 Next-state function of signal y ?

Deriving Next State function z+ z- y- x- y+ p1 p2 p3 p4 p5 p6 p7 000 1-0 1-1 0-1 10- -01 11- -11 010 Next-state function of signal y ? y = x + z

Conclusion Initial prototype of automated flow without state explosion for ASIC design From HDLs (control / data splitting) Existing tools for data-path synthesis Direct synthesis guarantees implementation (HDL  Petri net, Petri-net-based encoding) Synthesis of large controllers by efficient spec models (Free-choice Petri nets + trace expressions) Exploration of the design space (optimization) by property-preserving transformations Logic synthesis by structural methods Quality of design often acceptable Timing post-optimization can be applied

Synthesis from asynchronous HDL CSP based languages CSP = communicating sequential processes [T. Hoare] Two synthesis techniques based on program transformations [Caltech] based on direct compilation [Philips] Tools are more mature than for asynchronous synthesis from standard HDL Complete shift in design methodology is required

Using CSP for control generation After li goes high do full handshake at the right, then complete handshake at the left and iterate. ro li Q element ri lo STG: li+ ro+ ri+ ro- ri- lo+ li- lo- CSP: *[[li];ro+;[ri];ro-;[not ri];lo+;[not li];lo-] “;” = sequencing operator ro+ = ro goes high; ro- = ro goes low [li] = wait until li is high; [not li] = wait until li is low

Using CSP for control generation *[[li];ro+;[ri];ro-;[not ri];lo+;[not li];lo-] weak ri Production rules: li -> ro+; ri -> ro- not ri -> lo+; not li -> lo- ro li Conflict: ro+ and ro- are not mutually exclusive (since ri+ and li+ are not) Eliminate conflict by state signal insertion (= CSC)

Conflict elimination CSP: *[[li];ro+;[ri];x+;[x];ro-;[not ri];lo+;[not li];x-;[not x];lo-] Production rules: not x and li -> ro+; x or not li -> ro- x and not ri -> lo+; not x or ri -> lo- ri -> x+; not li -> x- ro li x FF not x lo ri

Conclusions Generating circuits from CSP control program is similar to STG synthesis One can be reduced to the other Particular technique may vary. Direct CSP program transformations can be (and were) used instead of methods based on state space generation See reference list for more details

Buffer example in Tangram (a?byte & b!byte) begin x0: var byte | forever do a?x0 ; b!x0 od end a Buffer b passive port * active port Each circle mapped to a netlist ; Q element a T x T b Data path

Summary Tangram program is partitioned into data path and control Data path is implemented as dual or single rail Control is mapped to composition of standard elements (“;” “||” etc) Each standard element is mapped to a circuit Post-optimization is done Composing islands of control elements and re-synthesis with STG can give more aggressive optimization Philips made a few chips using Tangram, including a product: 8051 micro-controller in low-power pager Muna (25 wks battery life from one AAA battery) Similar approach used in Balsa (Manchester Univ., public domain)

Burst mode FSM Close to synchronous FSMs with binary encoded I/O Work in bursts: Input transitions fire Output transitions fire State signals change Mostly limited to fundamental mode: next input burst cannot arrive before stabilization at the outputs s1 b-/x- a+b+/y+ a-/x+y- s2 s4 c-/y+ c+/y- s3

Extended Burst mode Directed don’t cares (b*): some concurrency is allowed for input transitions that do not influence an output burst Conditional guards <b+> = “if b=1 then …” s1 b-/x- a+b*/y+ <b+>a-/x+y- s2 s4 c-/y+ <b+>c+/y- s3

Synthesis of XBM Next state and output functions free of functional and logic hazards Sequential feedbacks should not introduce new hazards State assignment one state of the BM spec to one layer of Karnaugh map compatible layers are merged layers are compatible if merging does not introduce CSC violations or hazards Layers are encoded using race free encoding

XBM and STG s1 s2 s4 s3 x- a+ b+ b-/x- a+b*/y+ y+ <b+>a-/x+y- c-/y+ <b+>c+/y- a- c+ s3 eps y- x+ y- c- y+ b-

Summary Specification: XBM is subclass of STGs Synthesis: techniques are extensions of synchronous state assignment and logic minimization Timing: environment is limited to fundamental mode (difficult for pipelined and highly concurrent systems) internals are delay insensitive See reference list for details