0% found this document useful (0 votes)
3 views12 pages

Synthesis

The document provides an introduction to synthesis in HDL design, detailing the components involved such as HDL constraints, simulation, synthesis, and timing-related constraints. It emphasizes the importance of clock, input, and output constraints for effective synthesis, along with specific commands for setting these parameters. Additionally, it outlines the process of specifying synthesis constraints, including clock frequency, input drive, output load, and timing exclusions.

Uploaded by

7js2pzy45g
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
3 views12 pages

Synthesis

The document provides an introduction to synthesis in HDL design, detailing the components involved such as HDL constraints, simulation, synthesis, and timing-related constraints. It emphasizes the importance of clock, input, and output constraints for effective synthesis, along with specific commands for setting these parameters. Additionally, it outlines the process of specifying synthesis constraints, including clock frequency, input drive, output load, and timing exclusions.

Uploaded by

7js2pzy45g
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 12

Introduction to Synthesis

HDL
Design

HDL Constraints

Provided by
Standard Custom Block
Simulation
Cell Designers
Synthesis Library
Macros
(ROM RAM PLA
& uP Core)
Gate Level
Netlist

Simulation Place
and
Route

Full Chip
Parasitic Layout
Gate Level Extraction
Netlist
Simulation
Sign−Off

1001
Introduction to Synthesis

HDL
Design

HDL Constraints

Provided by
Standard Custom Block
Simulation
Cell Designers
Synthesis Library
Macros
(ROM RAM PLA
& uP Core)
Gate Level
Netlist

Simulation Place
and
Route

Full Chip
Parasitic Layout
Gate Level Extraction
Netlist
Simulation
Sign−Off

1002
Introduction to Synthesis

HDL Constraints

Standard
Cell
Synthesis Library

Gate Level
Netlist

• HDL (Hardware Description Language)


SystemVerilog file (.sv)
• Constraints
Synopsys Design Constraints file (.sdc)
• Standard Cell Library
Liberty file (.lib)

1003
Introduction to Synthesis

Timing Related Constraints

• Clock Constraints

• Input Constraints

• Output Constraints

1004
Introduction to Synthesis

Timing Related Constraints

• Clock Constraints

What the synthesis tool needs to know about the clock

• Input Constraints

• Output Constraints

1004
Introduction to Synthesis

Timing Related Constraints

• Clock Constraints

What the synthesis tool needs to know about the clock

• Input Constraints

What the synthesis tool needs to know about the inputs

• Output Constraints

1004
Introduction to Synthesis

Timing Related Constraints

• Clock Constraints

What the synthesis tool needs to know about the clock

• Input Constraints

What the synthesis tool needs to know about the inputs

• Output Constraints

What the synthesis tool needs to know about the outputs

1004
Introduction to Synthesis

Clock Constraints
Period
Ideal Clock

Latency

Transition

Uncertainty

t=0

• Specify Clock Perid


create clock -period period value -name clock name clock port

• Model Clock Tree uncertainty = skew + jitter


set clock latency delay clock object
set clock transition transition clock object
set clock uncertainty uncertainty clock object

1005
Introduction to Synthesis

Input Constraints
Reference
Ideal Clock

Minimum Input Delay

Maximim Input Delay


t=0

• Specify Input Delay

set input delay max value -max -clock clock name port pin list

set input delay min value -min -clock clock name port pin list

With a longer input delay, our circuit has less time to respond before the next clock edge.

1006
Introduction to Synthesis

Output Constraints
Reference
Ideal Clock

Minimum Output Delay

Maximim Output Delay


t=0

• Specify Output Delay

set output delay max value -max -clock clock name port pin list
set output delay min value -min -clock clock name port pin list
With a longer output delay, our circuit has to produce an output earlier in the clock cycle.

1007
Introduction to Synthesis

Synthesis constraints (1)


• Specify Clock Frequency
create_clock -period 20 -name master_clock [get_ports Clock]

• Model Clock Tree uncertainty = skew + jitter


set_clock_latency 2.5 [get_clocks master_clock]
set_clock_transition 0.5 [get_clocks master_clock]
set_clock_uncertainty 1.0 [get_clocks master_clock]

• Specify Input and Output Timing


set_output_delay 2.0 -max -network_latency_included -clock master_clock \
[all_outputs]
set_output_delay 0.1 -min -network_latency_included -clock master_clock \
[all_outputs]

set_input_delay 2.0 -max -network_latency_included -clock master_clock \


[remove_from_collection [all_inputs] [get_ports Clock]]
set_input_delay 0.1 -min -network_latency_included -clock master_clock \
[remove_from_collection [all_inputs] [get_ports Clock]]

1008
Introduction to Synthesis

Synthesis constraints (2)

• Specify Input Drive and Output Load


set_load 1.0 -max [all_outputs]
set_load 0.01 -min [all_outputs]

set_driving_cell -max -library c35_IOLIB_WC -lib_cell BU24P -pin PAD [all_inputs]


set_driving_cell -min -library c35_IOLIB_WC -lib_cell BU1P -pin PAD [all_inputs]

• Specify Timing Exclusions


set_ideal_network [get_ports nReset]

• Other constraints
set_max_area 0

1009

You might also like