Download as pdf or txt
Download as pdf or txt
You are on page 1of 5

Timing analysis (STA) STA Advantages and Disadvantages: Clock uncertainty:

Advantages: Clock uncertainty is the variation in the arrival time of the clock signal
Static timing analysis (STA) is a method of validating the timing  Much faster than timing-driven, gate-level simulation at different points in the clock tree due to process, voltage, temperature, noise,
performance of a design by checking all possible paths for timing violations.  Exhaustive timing coverage and other effects. In physical design uncertainty will be used to model several
STA breaks a design down into timing paths, calculates the signal propagation
 Does not require input vectors factors like jitter, skew and Latency.
delay along each path, and checks for violations of timing constraints inside
 More efficient than DTA in memory and CPU resources
the design and at the input/output interface. Skew: The Difference between arrival times of the clock at different devices is
 Capacity for millions of gates
called cloch skew
Dynamic Timing Analysis (DTA): The process of verifying the timing Limitations:
Skew is the variation in signal arrival times among different paths
performance of integrated circuits by simulating their behavior over time with  Works best with synchronous (not asynchronous) logic within a chip. It represents the difference in propagation delay by signals
specific input vectors. This method captures the actual dynamic interactions  Complex to learn taking distinct routes from a common starting point to their respective
within the circuit, offering insights into how the circuit performs under  Must define timing requirements / exceptions destinations
realistic operating conditions. Here's a detailed overview of DTA in the  Difficulty in handling:
context of VLSI: Positive Skew: This occurs when signals arrive later at downstream
 Multiple clocks
components compared to upstream components. It can lead to setup time
 false paths violations.
 Multicycle paths Negative Skew: This occurs when signals arrive earlier at downstream
----------------------------------------------------------------------------------------------- components compared to upstream components. It can lead to hold time
what is setup and hold time? violations.
Setup and hold time are the minimum and maximum durations that a Local skew: is the difference in the arrival of clock signal at the clock pin of
data signal must be stable before and after the clock edge, respectively. related flops.
Set up time : The time required for the input signal to be stable before the Global skew :is the difference in the arrival of clock signal at the clock pin of
clock edge signal is called set up time. non-related flops.
If the data isn't stable/isn't captured at the expected clock edge then the Useful skew: If clock is skewed intentionally to resolve violations, it is called
data will be captured at next clock edge. useful skew. For example, there is setup violation in the design, then we add
Hold time : The time required for the input signal to be stable after the clock some skew along the clock path in order to eliminate the setup violation.
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
edge signal is called hold time. -----------------------------------------------------------------------------------------------
How does STA work? If the data isn't stable then the data might interpreted as 0 instead 1. Clock jitter: is the Frequency variation in the clock source, and the
When performing timing analysis, STA first breaks down the design into Difference between the actual clock period and ideal clock period.
----------------------------------------------------------------------------------------------
timing paths. Each timing path consists of the following elements: Power supply noise and variations in the temperature are the main sources of
How to fix setup violations?
 Start point. The start of a timing path where data is launched by a jitter
 Upsize the cell
clock edge or where the data must be available at a specific time. Every -----------------------------------------------------------------------------------------------
 Swap the cells from HVT to LVT
start point must be either an input port or a register clock pin. Clock Latency: (clock insertion delay) is defined as the amount of time
 Add buffer if net delay dominates the buffer delay
 Combinational logic network. Elements that have no memory or taken by the clock signal in traveling from its source to the sinks.
internal state. Combinational logic can contain AND, OR, XOR, and  Pushing the Capture path
inverter elements, but cannot contain flip-flops, latches, registers, or  Pulling the launch path. Source latency of clock (Source insertion delay): Source latency is defined
RAM.  Increasing the metal width as the time taken by the clock signal in traversing from clock source to the
 Endpoint. The end of a timing path where data is captured by a clock  Route with highest metal layer clock definition point. It is also known as source insertion delay. It can be used
edge or where the data must be available at a specific time. Every How to fix setup violations? to model off-chip clock latency when clock source is not part of the chip
endpoint must be either a register data input pin or an output port.  Down size the cell itself.
 Swap the cells from LVT to HVT Network latency of clock (Network insertion delay): Network latency is
Types of exceptions:  Add buffer at D-pin of the flip flop defined as the time taken by the clock signal in traversing from clock

False path: A path that is never sensitized due to the logic  Pushing the launch path definition point to the sinks of the clock. Thus, each sink of the clock has a
configuration, expected data sequence, or operating mode.  Pull the capture path. different network latency.
 Multicycle path. A path designed to take more than one clock cycle  Detour the net -----------------------------------------------------------------------------------------------------------------
from launch to capture.  Route with lower metal layer.
 Minimum or maximum delay path. A path that must meet a delay Clock Skew: Clock skew occurs when the clock signal arrives at different
-------------------------------------------------------------------------------------------------------- parts of the chip at different times. This can lead to timing discrepancies and
constraint that you explicitly specify as a time value. What is threshold voltage: The minimum voltage required to ON the
----------------------------------------------------------------------------------------------- impact the overall performance.
transistor is called Threshold voltage. It is observed as positive value for
DTA Advantages and Disadvantages: Signal Integrity: Issues such as reflections, crosstalk, and noise can
NMOS transistor and negative value for PMOS transistor.
degrade the quality of signals, leading to data corruption or timing violations.
Advantages: HVT : high Vtg threshold. Can be used in the path where timing is not critical.
-----------------------------------------------------------------------------------------------
 Can be very accurate (spice-level) So, by using HVT cells we can save power. It is more delay and less leakage
Slack: It is difference between the desired arrival times and the actual arrival
 Simulator calculates the logic value and delays power.
time for a signal.
Disadvantages: LVT: Low Vtg threshold. One should use these cells in timing critical paths.
Positive Slack indicates that the design is meeting the timing and still it can be
 Vector creation takes too long, slow These cells are fast but , consumes more power due to its leakage. So, use only
improved.
when timing is critical.
 Incomplete timing coverage Zero slack means that the design is critically working at the desired frequency.
SVT: Standard Vtg threshold. The range b/w HVT and LVT. Medium delay
 Analysis quality depends on stimulus vectors Negative slack means , design has not achieved the specified timings at the
and medium power requirement. So, if timing is not met by small margin with
 Requires more memory and CPU resources over STA HVT, you should try with SVT. And at last LVT.
specified frequency. Slack has to be positive always and negative slack
indicates a violation in timing.
List of input files Gate level netlist: Design Exchange Format (DEF)
Gate level netlist, SDC (Synopsys Design Constraint), .lib file (Library Timing This is the synthesized netlist. It performs synthesis on RTL code with DEF stands for Design Exchange Format. DEF file is a standardized
File), .lef file (Library Exchange Format), .tf (Technology file) TLU+ file, Scan the standard cell libraries and constraints and converts the RTL code data file that represents the physical layout of design. This file is given as an
def file. MMMC (Multi-Mode Multi Corner), UPF file (Power Intent File) and into the gate-level netlist based on available standard cells. input to the EDA tool. We can generate this file at every stage of design flow.
don’t touch and don’t use. This file contains To send placement information from one stage to another stage. By using this
------------------------------------------------------------------------------------------------  It contains the logical connectivity of all the cells. file, we can load the design from one EDA tool to another EDA tool (like from
Technology file:  It can also be a collection of resistors, capacitors or transistors. cadence Innovus tool to synopsis ICC tool or vice-versa).
----------------------------------------------------------------------------------------------- Contents of a DEF file
Tech file is an important type of input file for semiconductor industries. If you
Timing library (.lib) A DEF file contains detailed information about the physical placement
want to create a design, we must have it ready in your hand otherwise we can’t
Timing library (.lib) It can be readable through human because of it is and connectivity of all components, metal layers and other structures in the
design anything. Many companies start preparing their own tech file based on
implemented in ASCII format. These timing libraries generated by the library design.lt serves as a detailed representation of design.
design rule run sets provided by foundry.
vendors or foundries. Die Area • Tracks • Components (macros) • I/O Pins • Nets • Blockages
This file contains
A timing library will have information of standard cells like timing, area and • Halo • Scan Chain • Vias • Slots • Fills • Region • Row • Metal layers.
 It contains Contain the number of metal layers and vias and their name and
power. Timing can be implemented by using timing models under different Scan Chain: Scan chains are the elements in scan-based designs that are used
conventions.
operating conditions (PVT). to shift-in and shift-out test data. A scan chain is formed by a number of flops
 Design rules for metal layers like the width of metal layer and spacing
Timing libraries will have 3 parts: connected back-to-back in a chain with the output of one flop connected to
between two metal layers.
Header another.
 Metal layers resistance and capacitance as well as routing grid.
 It contains some information which is common for all the standard cells. Halo: Halo is special hard blockage around the macro which blocks the
 Unit, precision, color, and pattern of metal layer and via.
 The information is like library name, units, operating conditions and date placement of std. cells near the macro.
 Maximum current density is also present in the tech file. ----------------------------------------------------------------------------------------------
 It contains nwell,pwell, metal pitch Cell definition
 Contains ERC rules, Extraction rules, LVS rules.  Cell definition section contains cell information like cell name, cell area, Multi-Mode Multi Corner
 Physical and electrical characteristics of each layer and via. leakage power, rail connection for both VDD and VSS. MMMC means Multi Mode Multi corner. This file is used to analyze
-----------------------------------------------------------------------------------  This section includes pin definition also. Pin definition contains information the design in different Modes and corners Because the chip after manufacture
have to work properly for different temperatures, voltage, and while
UPF file (Power Intent File) like pin direction (input, output or in/out), signal level, pin capacitance, rise
capacitance, fall capacitance. manufacturing there might be some process variations which leads to variation
UPF is stands for "Unified Power Format". This file is mainly associated with in delays. This MMMC file usually develop using TCL script to execute all the
low-power (Multi-power domains) designs and important for optimizing  If the pin is output pin, then function of the cell (logic of cell).
commands into the tool.
 State tables are available for every sequential element.
power consumption in modern electronic devices. This file describes the power The above variations we represent as PVT (Process, Voltage and
LUT (Look-up table)
intent or power management specifications for low-power designs. This UPF Temperature). As I said these PVTs impact the delay of the design which
 LUT means look-up table. It can be find just below of header section.
file was implemented using CL Programming. leads to not meet the timing constraints. So, to create analysis view (MMMC
 It's the prototype of delay, hold, recovery and removal and power.
UPF generally contains: we can say) .
 Look-up table values are subjected to change inside pin definitions.
 Details of various power domains in the design like name, scope, ---------------------------------------------------------------------------------------------- we need some files they are:
supply ports and nets, power switches. Library Exchange Format (LEF) Timing Libraries (.libs)
LEF stands for Library Exchange Format. It is also termed as physical Timing constraints (.sdc)
 Power state tables- these define the states of various power domain
library, because this file contains physical abstract information of Layers and What is Corner?: A corner is set of parameters which describes the process,
states like ON/OFF for every domain.
standard cells / macros. It is implemented in ASCII format, so it can be supply voltage and temperature for the standard cells for the specific
 Level shifter, isolation, retention cell types, scope. readable by human. These physical libraries generated by the library vendors technology node. This information can be carried by the timing libraries.
Isolation cells: or foundries.
Isolations cells always used between two domains active mode domains and Physical libraries are two types: What is Mode? :The design will have multiple modes like Functional mode,
test mode, etc. Each mode will have separate SDC files (Timing Constraints)
shut down mode domain.  Technology LEF
Consider there are two power domains one D1 is in shutdown mode and D2 is like func_mode.sdc (functional mode), scan_mode.sdc (scan mode).
 Standard cell/macro LEF
in active mode, if data is passed through D1 to D2 this will not a valid data So, in MMMC by using those files multiple modes and corners have to create.
Technology LEF
received at D2. To prevent this condition, we insert an isolation cell b/w these Different set of libraries are available for each technology nodes which are ss
Technology LEF will have information of library version, units,
two power domains to clamp a known value at the D2 otherwise it will give (Slow-Slow), ff (Fast-Fast) and Typical.
manufacturing grid and layers information.
unknown value. Slow-Slow will have worst delays (Max delays). Both PMOS and NMOS
Library version: This field show the library version.
Level shifter: works slow.
Unit definition: This field contains information ofunits likedatabase, time,
The chip may be divided into multiple voltage domains, where each domain is Fast-Fast will have best delays (Min delays). Both PMOS and NMOS works
capacitance and resistance information. Values specified in the file will be
optimized for the needs of certain circuits. fast.
multiplied with units.
Retention Registers: Typical will have moderate delays. Both PMOS and NMOS works normally.
Manufacturing grid: The minimum metal length that can be manufacturedis
To reduce power consumption when the devices are not in use, the power -----------------------------------------------------------------------------------------------
called manufacturing grid.
domain is switched off for those devices. When the design blocks are in Site: Site is the minimum standard cell area that can be manufacturable. TLU+ file is the right location to have a look on net delay details. which
switched off or sleep mode, data in all flip-flops contained within a block will Layer information: This field contains information like Layer name, Type, contains only the complete details of net delay in the forms of combined
be lost. If the designer desires to retain this state, then retention registers are Direction, Pitch, Width, Area, Spacing and thickness, etc., Resistance and Capacitance. Table Look Up is an expansion for this file and
used. Retention register requires D flip-flop and latch and required always-on Standard cell/macro LEF: This LEF contains abstract view of each and every these files are with the extraction of “.tluplus”.
supply to retain the data. Using the retention register area required more as standard cell. The cell LEF contains basic information like Cell name, Class,
compared to normal flop because here we are using flip-flop with always-on Origin, Size, Symmetry, Pin information (pin name, direction, shape, etc...)
supply. So, the area required more when we are using retention registers.
SDC(for Synopsys Design Constraints) What is crosstalk? Clock: the clock is periodic synchronization signal used as a time
SDC stands for Synopsys Design Constraints. It was developed by It is the crossing of signal from one side to other or mixing due to reference for data transfers in synchronous digital systems
Synopsys Company. which distorted signal or completely other signal would be received. Asynchronous Clocks: In multiple clock domains, if these clocks do not have
It is an open-source file with ".sdc" as an extension. It can occur due to capacitive, inductive, or resistive effects. Crosstalk can a common base period, then they are called as asynchronous clocks. Clocks
SDC commands are developed based on TCL (Tool Command Language) cause signal distortion, delay, or switching errors, especially in high-speed or generated from two different crystals, PLLs are asynchronous clocks. Different
which is supported by almost all EDA tools. By using SDC, timing, area and low-voltage circuits. clocks having different frequencies generated from single crystal or PLL are
power constraints are provides to the tools like synthesis, PnR and STA The reasons for crosstalk are: not asynchronous clocks but they are synchronous clocks.
It contains design timing information like clock definitions, generated • High Routing density and large number of standard cells.
clocks, virtual clocks, clock transitions, input port delays, output port delays, Gated clocks: Clock signals that are passed through some gate other than
• Increase in number of metal layer resulting in increase in lateral capacitance. buffer and inverters are called gated clocks. These clock signals will be under
wireload model, timing exceptions and DRVs, etc... • Lower supply voltage leading to lesser noise margin.
Timing constraints: the control of gated logic.
How to fix crosstalk? Generated clocks: Generated clocks are the clocks that are generated from
create_clock create_generated_clock  set_clock_groups Increasing the twisting frequency of the wires can reduce the crosstalk
set_clock_latency  set_clock_transition set_clock_uncertainty other clocks by a circuit within the design such as divider/multiplier circuit.
influence in unshielded cable pairs. It prevents interference crossover between
Area and power constraints: twisted cable pairs. To reduce crosstalk in data communications, shielded pairs Virtual clock: is the clock which is logically not connected to any port of the
set_max_area ■ create_voltage_area ■ set_level_shifter_threshold of twisted cables are more effective than unshielded twisted pairs. design and physically doesn’t exist. A virtual clock is used when a block does
■ set_max_dynamic_power ■ set_level_shifter_strategy. --------------------------------------------------------------------------------------------- not contain a port for the clock that an I/O signal is coming from or going to.
Virtual clocks are used during optimization; they do not really exist in the
Design rule constraints: What is Congestion?
circuit.
■ set_max_capacitance ■ set_min_capacitance ■ set_max_transition If the number of required routing resources are more than the number
-----------------------------------------------------------------------------------------------
■ set_max_fanout of available routing tracks, then the area becomes congested. High congestion
causes detours and leads to worse results. Congestion makes the design non- Timing Paths
Interface constraints: Timing path: is defined as the path between start point and end point.
routable that means routing will not be converged if there are congestion in the
■ set_drive ■ set_driving_cell ■set_input_transition ■ set_load Start Point: All input ports or clock pins of a sequential element are
design.
■ set_fanout_load ■set_port_fanout_number considered as valid start point.
Timing exceptions: Types of Congestion
■ set_false_path ■ set_multi_cycle_path ■ set_disable_timing  placement congestion  Routing congestion. End Point: All output port or D pin of sequential element is considered as End
■ set_max_delay* Reasons for Congestion point.
------------------------------------------------------------------------------------------- o Bad Floorplan. Different Timing Paths:
o High standard cell density in particular area. Input to Output: It starts at input port and ends at output port. This is pure
Standard Parasitic Exchange Format (SPEF)
o High pin density in particular area. combinational path. we can hardly find this in a synchronous design.
SPEF stands for "Standard Parasitic Exchange Format”. It is commonly o Missing/Small Halos near macro cell. Input to Register: Semi synchronous; Register is controlled by the clock.
used file format to represent the parasitic information of a design. Parasitics o Huge number of cells sitting near the macro cell. Input data can come at any time.
means the unwanted resistance, capacitance and inductance are formed in the Fixes for Congestion Register to Register: Purely sequential; both starting and ending flops are
design interconnects (wires and vias). o Use blockages in the design, partial blockages help more in controlled by the clock.
The SPEF file provides accurate and detailed information about the optimized way. Register to Output: Data can come at any point of time.
parasitics and their impact in the design in an ASCII format (human readable). o Cell padding
The SPEF file supports specifications of all the cases like best, worst and Data path: The path where in data traverses is known as data path. Data path
o Module padding
typical. is a pure combinational path. It can have any basic combinational gates or
o Decomposition of large cells into small cells (Pin distribution
Content in SPEF file: group of gates.
happens).
Header section  Name mapping  Port section  Parasitic information Launch path: It refers to the path traversed by clock signal from clock source
to the start point.
Header section: In the Header section, here, some basic information about the --------------------------------------------------------------------------------------------
Launch path is part of clock path. Launch path is launch clock path
file available which includes design name, date of creation, vendor name, units Standard cell: is a cell with a pre-determined functionality. Its height is a which is responsible for launching the data at launch flip flop. Launch path and
of RLC etc., multiple of a library-specific fixed dimension. In the standard-cell data path together constitute arrival time of data at the input of capture register.
Name mapping: After the header section with the keyword " "NAME_MAP. methodology, the logic design is implemented with standard cells that are Capture path: It refers to the path traversed by clock signal from clock source
During this section all the nets and instances names are mapped to indices (a arranged in rows. to the endpoint.
unique integer value for each net) preceded by asterisk (*).This mapping done Macro cell is a cell without pre-defined dimensions. This term may also Capture path is part of clock path. And capture clock path which is
mainly to reduce the complexity and size of the file. refer to a large physical layout, possibly containing millions of transistors, e.g., responsible for capturing the data at capture flip flop. Capture clock period and
Port section: This section starts after the Name mapping section with the an SRAM or CPU core, and possibly having discrete dimensions, that can be its path delay together constitute required time of data at the input of capture
keyword ""PORTS". Here, mapped indices are defining their port directions incorporated into the IC physical design. register.
i.e., I (input), O (output), B (Bidirectional). Soft macros are synthesizable register transfer level (RTL) design forms, have Multi-Cycle Path: A multi-cycle path is a path that is allowed multiple clock
----------------------------------------------------------------------------------------------- more flexibility, and can be configured compared to hard complex macros. cycles for propagation. Again, it is a path that starts at a timing start points and
ECO Engineering change order: Using Soft macros in the design is a risk factor because of its being ends at timing ends point. However, for a multi-cycle path, the normal
After post route stage, the routed netlist is send to all sign off stages. At unpredictable behavior in timing, performance and power. Often However, constraint on this path is overridden to allow for the propagation to take
sign off stage if they found any timing , IR , lec and DRC’s related issues, then soft macros can provide better IP protection as the RTL source code is more multiple clocks.
sign off people wrote some ECO’s ( engineering change order) to solve those portable The critical path: is the longest path through a circuit from the input to the
issues and send back to the PD people. Hard macros are targeted Integrated Circuits (IC) manufacturing technology. output, where the delay is maximum. This path determines the maximum
One can only access pins of hard macros and cannot manipulate the RTL of speed at which the circuit can operate, as the circuit's clock period must be
this hard macro. Hard macros are block- level designs optimized for power, long enough to allow signals to propagate through this path.
area, or timing.
Synthesis PNR FLOW Placement
Synthesis: is the process of converting RTL (Register Transfer Level) code PNR (Place and Route) flow is part of flow which starts after synthesis. It is Placement: is the process of placing of all standard cells that are present in
netlist by the tool into the core area. Tool also optimizes the design while
(i.e.., Verilog format) to optimized Gate level netlist to the targeted technology termed as backend process in ASIC flow. During PnR flow, actual layout of
by meeting area, timing and power constraints. placing. During placement trail routing also can be done by the tool.
design can be implemented by using EDA tools like cadence - innovus,
Synopsys - ICC2 (These two are most famous for PnR). PnR Flow goal is to
Placement different techniques:
Types of synthesis  Timing driven placement: Placement happens with timing as a priority
Logic synthesis  Physical aware synthesis implement a layout of design for targeted technology without any timing and
 Congestion driven placement: Placement happens with routing as a priority
Logic Synthesis: The below flow chart shows the cadence logic synthesis DRC (Design Rule Check) errors after routing stage. If in case any violations  Power driven placement : Placement happens with power as a priority
flow to convert RTL code to netlist (almost all tools follow the same flow with are there after routing, we go for signoff stage. In this signoff stage, all -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

minimal changes) remaining violations (like timing, DRC, LVS, EM and IR) can be fixed. Goals of placement
Now a days most of the companies are moving to Fusion Compiler Flow Chart: ■ Timing, area and power optimization ■ No timing DRV'S
(Synosys) instead of Design Compiler. The main advantage of this tool is we Importing input files Sanity checksFloorplanPre-placement ■ Minimize congestion and congestion hotspots
can do both synthesis and PnR in the same tool. In other words, it is a PlacementCTS (Clock Tree Synthesis)Routingpost-RouteSignoff ■ Minimum cell density, pin density
combination of both Design Compiler & ICC2. GDSII File
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Inputs of placement
---------------------------------------------------------------------------------------------------------------------------------------------- ■ Netlist ■ Physical libraries (.lef) ■ Floorplan DEF file
Floorplan
Logic synthesis flow Floorplan is simply the planning of where things will be placed in an
■ MMMC (Multi Mode Multi Corner)
Importing Input files (RTL code and .lib files) ElaborateRead SDC file Timing libraries (lib) RC corners  SDC file
orderly manner. In simple words its similar to house construction, when you
Sanity checks (check_design, check_timing)Generic mapping ■ UPF file (if the design has multiple voltage domains).
are planning to construct a house first we need a plan right! similarly In PD -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Technology mappingOptimizationDFT (Design for Testability) also we need floorplan. During placement mainly 3 steps can be done:
implementation (Done by DFT team)Incremental optimization Generating Floorplan is the major stage in the PnR flow. It will decide how good Global placement :During global placement, tool places all the standard cells
outputs (Netlist, SDC, Scan DEF, Required reports). your design. A good floorplan gives better PPA (Power, Performance and into the core area. In this step, tool will not follow any DRCS (like standard
Inputs of logic synthesis: Area). cells overlapping, miss alignment to the std cell rows) and creates more density
• RTL code • Timing libraries(lib files) • SDC (synopsis design constraints) Floorplanning is the process of creating core area, specifying core to areas. Trail routing also can be done by the tool after one global
I/O boundary spacing, standard cell rows, placing I/O pins, placing macros placement iteration.
Elaborate: Elaboration is the process that occurs between parsing and using macro guidelines and adding placement blockages and halo. So, during
simulation. It binds modules to module instances, builds the model hierarchy, Legalization: During legalization tool tries to spread the standard cells. If the
this stage above things have to do to avail better area to place standard cells in
computes parameter values, resolves hierarchical names, establishes net cell density is more in a particular area in order to get rid of power issues, tool
the core area, to avoid congestion and to avoid IR drop.
connectivity, and prepares all of this for simulation. ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- will distribute the cells. In this step the tool exactly aligns all the overlapped
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Types of designs standard cells into standard cell rows by following DRC rules and it makes
Read SDC: Read SDC is a command used to read all the contents of SDC  Core limited design  Pad limited design sure that there are no standard cells placed out of the core area.
file. SDC means Synopsis Design Constraints. It contains design timing Core limited design: The size of the die is restricted by the core's area. High Fanout Net Synthesis: Some of the nets will have very high number of
information, wire load models and DRV'S. These constraints are like timing Possible lower number of IO pads. fanouts like Reset, Scan Enable etc... But, there is a restriction for maximum
guidelines for the design, tool always follows these constraints. Pad limited design: The size of the die is restricted by the Pad area. Core area fanout in timing constrains. The tool optimizes these nets by picking the right
Sanity checks: Before the mapping stage, we must perform sanity checks is dominated by the Pad area. drivers or adding buffers to drive the load, adding repeaters to reduce on delay
on RTL code and SDC file to check the quality of input files. Importing input files and signal integrity, and balancing the net's capacitance and resistance to
The various sanity checks are strengthen the signal integrity.
• Netlist (.v) • Physical libraries (.lef) - Tech LEF & Standard cell LEF ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
check_design_netlistempty modulesunloaded parts combinational Checks before placement check
• MMMC Timing libraries (.lib) RC Coefficient files SDC
loopsUnconstrained endpointsMissing Input/output delays for the ports.
• UPF (Unified Power Format) - (Optional) • Floorplan DEF (Optional). ■ Netlist should be clean. ■ Floorplan DEF should be good
Generic mapping: ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
■ Proper Pin placement ■ Macros and pre-placed cells should be in fix.
During generic mapping, tool converts RTL code to the symbolic gate Floorplan control parameters
level representation. Tool maps the cells to the generic library. It is Core area: Core area is part of the Die (Full chip) where all type of cells (like ■ Power routes should be free of DRCS
independent of technology. standard cells, macros, blockages, physical only cells) can be placed. All types ■ Check for don't use, don't touch cells and routes should be applied properly.
of cells must be place only inside the core area. After Placement check
Optimization core size=(Standard cell area + Macro area + Blockage’s area)/(Standard cell ■ timing (drv’s , setup and hold) ■ congestion Report ■ core area utilization
During optimization, tool optimizes the design to meet all design utilization)
■ cell Plcement in a legalized manner or not.
constraints (area, timing and power). Some of optimization techniques are Aspect Ratio: Aspect ratio is the difference between the height of the core and ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

changing VT of cells, changing drive strength of cells, logic restructuring, width of the core.
adding repeaters, cloning and buffering.
Macro Guidelines
Aspect ratio=(Height of the core area)/(width of the core area). ■ Macros should be place at periphery of the core boundary.
DFT (Design For Testability) implementation: Die area: Die is the combination of core area and I/O pad area.
■ Macro pins should be face towards the center of the core area.
 DFT is one of the most important process in the SOC design cycle, ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
which helps us in detecting manufacturing defects in the designs. Types of floorplans ■ Macros should not place at middle of the core area.
 DFT engineer works on inserting extra hardware blocks as part of the Abutted floorplan type: For this technique, no spacing can be maintained ■ If it places middle of the core it will routing paths.
design itself, for increasing the testability of chips. between the elements in the floorplan
■ Avoid notches in the core area. ■ Avoid criss-cross.
 Testing is required to guarantee fault-free chips. Non-Abutted floorplan type: For this technique, some spacing can be
■ Place talking Marcos near to each other.
 DFT team will insert scan chains to the design.Scan chains are nothing maintained among the elements in the floorplan.
but adding extra input and enable pin to the flops, these are used to Mixed floorplan type: For this technique, name of type itself explaining that ■ Maintain proper halo around the macros.
check whether the flop is working or not by giving test inputs during combination of both Abutted and Non-Abutted type floorplan techniques.
testing. There will be some spacing for few elements and no spacing for few elements.
CTS (Clock Tree Synthesis) Routing Power Planning
CTS (Clock Tree Synthesis) is the process of connecting the clock from clock Routing is the process of creating physical connections between or among the while technology got advanced (lower technology nodes), the power
port to the clock pin of sequential cells in the design by maintaining minimum signal pins by following DRC rules and also after routing timing (setup and started dominating the area and performance. Because nowadays all devices
insertion delay and balancing the skew between the cells using clock inverters hold) have to meet. are becoming portable, movable, and powering those devices using batteries,
and clock buffers. so small capacity batteries should last for more time while used. The best
Types of routing
example of portable devices is TWS earbuds, smart watches, fitness bands,
Types of clock tree structures ■ Pre-routing:also known as power routing which comes under power
etc...
Different structures are available to build clock tree to maintain planning
The main agenda of the power plan is to create a proper way to send
minimum insertion delay and balance the skew. ■ Clock routing: it can be done while building clock tree in CTS stage
the power from outside of the world to the standard cells and macros through
■ H-Tree structure ■ X-Tree structure ■ Geometric Matching Algorithm ■ Signal routing: it is the stage after CTS.
the power routes.
(GMA) ■ Pi Tree structure • Fish bone. Goals of routing
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ Power distribution shown in below flow:
■ Minimize the total interconnect or wire length and vias. Power pads are placed along with IO pads in the pads section of the full chip.
CTS Inputs: ■ Complete the routing within the area of the design. ■ No DRC violations.
■ Placement DB ■ Netlist after placement ■ LEF and Tech LEF files These pads pass the power from outside of the chip to the power rings. So,
■ Meeting the timing and No LVS (Layout Vs Schematic) errors. power pads act as a bridge to pass the power from the outside to the chip.
■ Placement DEF file ■ MMMC file . ■ LIB files ■ Tech files
■ SDC • UPF file ■ CTS spec file. Inputs of routing: Trunks: are the nets that connect the power pads and the core rings.
CTS outputs ■ Netlist and CTS DEF ■ Timing libraries and Physical libraries Core rings: A set of rings creates around the core (Exactly in the area of the
■ Netlist after CTS ■ CTS DEF Timing reports (setup and hold) ■ Tech LEF■ CapTables or QRC tech file. ■SDC. core to IO boundary). These rings get power from the pads and supplies to the
power stripes.
■ Skew and Latency reports Outputs of routing:
■ Routing DEF file with no opens & shorts ■ Timing & Congestion report Stripes: Power stripes are flies over the core area. The power stripes on both
Check before CTS: ends connect to the core rings. Power stripes are always created in the top
■ SPEF ■ SDC.
■ Placement – Completed ■ Power ground nets - Pre Routed metal layer. And these stripes supply power from the core rings to the power
■ Estimated Congestion – acceptable ■ Estimated Timing Routing Flow: rails (Sroutes).
■ Estimated Max Tran/Cap - No violations • High Fanout Nets Power rails (Sroutes): Power rails are connected to the power stripes using
■ Logical/physical library should have special clock cells (clkBuf or cikinv). Global routing :
Checks after CTS During the global routing tool removes all existing routing and do trail power vias. These rails are created at Metal layer I and vias are dropped from
routing again without following any DRCS. the top metal layer to the bottom layer. The power pins of standard cells are
■ Insertion delay (Target have to meet) ■ Skew (Target have to meet)
■ Routing congestion ■ Placement legality ■ Signal integrity and crosstalk In this stage, tool divides entire core area into global cells (gcells) and directly connected to the power rails which are present in layer I because the
■ Clock duty cycle ■ Clock tree power consumption tries to find the shortest path from pin to pin as per the logical connectivity to power pins of the standard cells are available in metal layer.
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

route using the gcells. While doing global routing tool tries to avoid routing
CTS Goals: Inputs of Power plan
over the routing blockages, and never touches the pre-routes (power
■ Minimum Skew ■ Minimum Insertion delay ■ Netlist ■ Timing libraries ■ Physical& technology libraries
planning) and CTS nets.
■ Complete the clock tree with no DRV (Tran, cap and fanout) violations. ■ RC coefficient ■ SDC ■ UPF (Unified Power Format) or CPF (Common
■ No timing violations (Setup and Hold). Track assignment: Power Format) - (if the design have multiple voltage domains)
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
During this stage, tool replaces the global routes with actual metals, Outputs of power plan
Steps in CTS: and those actual metals have to follow DRC rules. Then now those actual ■ Floorplan DEF with Power Distribution Network (PDN).
metals will get real DRC violations, signal integrity (SI) and timing violations. ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Clustering: During clustering, tool will build only a DRV-aware clock tree Those violations are fixed in the succeeding stages. Static power dissipation: When the circuit is not switching, means no change
and will not balance the clocks. AT the start of this step, tool will print the in input and the clock is also not applying to the circuit, under the presence of
maximum driver distance and the unit delay for the clock buffer/inverter from Detailed routing: a power supply. During this period, some power consumption happens by the
a user- provided list or from the library. This is the final stage of routing of the design and this can be done after circuit. This is known as static power dissipation.
Balancing: during this step, tool will balance the design per the skew group CTS stage. During this stage, tool takes care of routing and completes the ■ Reverse bias pn junction
constraint. Look for the pattern balancing in the log file. This pattern will routing without leaving DRC violations and also improves the signal integrity ■ Gate tunneling
repeat multiple times in the log file. (SI). While doing detail routing, tool divides entire block into multiple switch Dynamic power dissipation: When the circuit is switching from logic 0 to 1
Routing of clock tree: During this step, tool will route all the clock tree nets boxes or Sboxes. Each switch box will carry multiple gcells. The switch boxes or logic 1 to 0, it consumes power to charge and discharge the load capacitors
using a Nanoroute engine. boundaries are align to the gcells. in the circuit.
Post conditioning: This step is run to clean up any minor degradation after the Search and Repair: Dynamic power dissipation happens for two reasons. They are:
clock routing. This stage is the part of the detailed routing, but search and repair starts ■ Switching power: When the circuit is switching from logic 0 to logic 1 then
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

CTS Exceptions after first iteration of detailed routing. During this stage, all shorts and spacing power gets drawn from VDD which goes through the PMOS and charges the
■ Stop pin ■ Nonstop pin ■ Float pin ■ Exclude pin violations are identified and resolved by the tool. load capacitor along with other parasitic capacitors. Switching power depends
Stop pin also called as Leaf pin or sink pin. Stop pins are the indication to the on how often the load capacitor is getting charged and discharged.
Post routing: Short circuit power: is a disastrous condition in CMOS circuits, because
tool to stop building clock tree at that pin i.e. end point of the clock tree.
■ Signal Integrity (SI) Optimization by NDRs and Shielding for the sensitive when the input of the CMOS circuit is switching (transition) from logic 0 to
Float pin also called as macro modeling. Suppose, if there is some insertion
nets. logic 1 or vise-versa, during this transition some period of time both PMOS
delay inside of the sequential element which have to consider and balance
■ Types of Shielding for sensitive nets and NMOS transistors gets turned ON at the same time. Due to this a direct
accordingly while building the clock tree.
Same layer shielding path (low impedance path) can be formed from VDD to GND. Short circuit
Exclude pins: are isolates the pins from clock tree even clock is going to that
Adjacent layer/ Coaxial shielding. power is directly proportional to the transition times. Hence, if the transition
particular pin. Isolates means timing, balancing and optimization are not
consider for the clock tree calculations. time is more than short circuit power also more and vise-versa. Following
diagram gives you a basic idea of short circuit power.

You might also like