Digital IC Synthesis
Digital IC Synthesis
Digital IC Synthesis
Synthesis
Standard Cell Library
• A standard cell library
• A set of design constraints Design Constraints
• You finish with: module counter ( c l k , r s t n , l o a d , i n , out ) ;
input [ 1 : 0 ] i n ;
• A gate-level netlist, mapped to the output [ 1 : 0 ] o u t ;
input c l k , r s t n ,
standard cell library load;
• (For FPGAs: LUTs, flip-flops, and RAM blocks) w ire N6, N7, n5, n6, n7, n8;
6
Simple Example
module foo ( a , b , s 0 , s 1 , f ) ;
input [ 3 : 0 ] a;
input [ 3 : 0 ] b;
i n p u t s 0,s 1;
output [ 3 : 0 ] f ;
reg f ;
9
Basic Synthesis Flow
• Syntax Analysis:
• Read in HDL files and check for syntax errors.
read_hdl – v e r i l o g sourceCode/toplevel.v Syntax Analysis
• Library Definition:
• Provide standard cells and IP Libraries. Library Definition
read_libs “ / d e s i g n / d a t a / m y _ f a b / d i g i t a l / l i b / T T 1 V 2 5 C . l i b ”
• Constraint Definition:
• Define clock frequency and other design constraints.
read_sdc s dc /c ons trai nts .s dc
10
Basic Synthesis Flow Syntax Analysis
• Pre-mapping Optimization:
Library Definition
• Map to generic cells and perform additional heuristics.
syn_generic
Elaboration and
• Technology Mapping: Binding
• Map generic logic to technology libraries.
syn_map Constraint Definition
• Post-mapping Optimization:
• Iterate over design, changing gate sizes, Boolean literals, Pre-mapping
architectural approaches to try and meet constraints. Optimization
syn_opt
• Report and export Technology Mapping
• Report final results with an emphasis on timing reports.
r e p o r t ti mi ng –num paths 10 > r e p o r t s / t i m i n g _ r e p o r t s . r p t Post-mapping
Optimization
• Export netlist and other results for further use.
wri te_hdl > e x p o r t / n e t l i s t . v Report and export
11
Compilation
(What is Logic Synthesis?)
Syntax
Analysis
Library
Definition
Elaboration
and Binding
Pre-mapping
Optimization
Constraint
Compilation Definition
Technology
Mapping
of execution process
• Synthesis
• Recognizes a target dependent subset of a hardware
description language
• Maps to collection of concrete hardware resources
• Iterative tool in the design flow
14
Compilation with NC-Verilog
15
1 2 3 4 5 6
Introduction Compilation Library Def. LE Liberty Other
F
Syntax
Analysis
Library
Definition
Elaboration
and Binding
Pre-mapping
Optimization
Constraint
Definition
leaf cells for binding and the target library for technology Elaboration
and Binding
mapping. Pre-mapping
Optimization
• We can provide a list of paths to search for libraries in: Constraint
Definition
set_db init_lib_searc h_path “ / d e s i g n / d a t a / m y _ f a b / d i g i t a l / l i b / ” Technology
17
But what is a library? Syntax
Analysis
Library
Definition
Cell Height
Definition
• Voltage rails Technology
Mapping
• Well definition Post-mapping
• Pin Placement Optimization
Report and
• PR Boundary export
• Metal layers
NOR3D0 NOR3D4
AND2D0
2
Technology
Mapping
• This isn’t good for clock nets… Post-mapping
Optimization
• Unbalanced rising/falling delays will result in unwanted skew. Report and
• Special “clock cells” are designed with balanced rising/falling delays to export
minimize skew.
• These cells are usually less optimal for data and so should not be used.
• In general, only buffers/inverters should be used on clock nets
• But sometimes, we need gating logic.
• Special cells, such as integrated clock gates, provide
logic for the clock networks.
25
Sequentials Syntax
Analysis
Library
Definition
Elaboration
• Flip Flops and Latches, including and Binding
Pre-mapping
• Positive/Negative Edge Triggered Optimization
• Scan Optimization
Report and
• etc., etc. export
26
Example
Syntax
library?
Definition
Elaboration
and Binding
• Behavioral Views: Behavioral (.v) Pre-mapping
Syntax
Analysis
Library
Definition
Elaboration
and Binding
Pre-mapping
Optimization
Constraint
Definition
30
Syntax
Analysis
Technology LEF Library
Definition
Technology LEF W1
Library
Definition
Elaboration
and Binding
efficiency VSS
wikichip.org
Syntax
Analysis
Library
Definition
Elaboration
and Binding
Pre-mapping
Optimization
Constraint
Definition
• Goal:
Optimization
• Pin:
• Timing, power, capacitance,
leakage, functionality, etc.
characteristics of
37
each pin in each cell. Adam Teman, 201 8
Syntax
Analysis
(NLDM) Constraint
Definition
• Ramp voltage source
• Driver model: Technology
• Fixed drive resistance lu_table_template(delay_template_5x5) { Mapping
variable_1 : i n p u t _ n e t _ t r a n s i t i o n ;
• Receiver model: variable_2 : total_output_net_capacitance; Optimization
Post-mapping
39
Liberty (.lib): Timing Models
41 Courtesy: Synopsys A
Syntax
Analysis
47
1 2 3 4 5 6
Introduction Compilation Library Def. LE Liberty Other
F
Syntax
Analysis
Library
Definition
Elaboration
and Binding
Pre-mapping
Optimization
Constraint
Definition
• Ve r i l o g
Mapping
Post-mapping
• ATPG
Optimization
Report and
• OA Databases
• Spice Models
• etc.
45
Syntax
Analysis
46 www.vlsi.ce.titech.ac.jp/kunieda/lecture
Syntax
Analysis
47
Thank You