Asic Design Flow
Asic Design Flow
The ASIC (Application-Specific Integrated Circuit) design flow is a systematic process that engineers
follow to design, verify, and fabricate custom integrated circuits tailored for a specific application. The
ASIC design flow typically involves several stages, each with its own set of tasks and tools. Here is a
general overview of the ASIC design flow:
Each step in the ASIC design flow is critical, and iterations may be required to refine the design and
address any issues that arise during verification and testing. The process involves collaboration among
various engineering teams and the use of specialized EDA (Electronic Design Automation) tools at
different stages.
ASIC DESIGN FLOW SIMULATION
Simulation is a crucial aspect of the ASIC design flow, helping engineers verify the functionality,
performance, and correctness of the design before moving on to synthesis and physical implementation.
The simulation process involves using simulation tools to model and analyze the behavior of the digital
circuits at various abstraction levels. Here's an overview of ASIC design flow simulation:
1. RTL Simulation:
After completing the Register-Transfer Level (RTL) design in hardware description languages
(HDLs) like Verilog or VHDL, engineers perform RTL simulation.
RTL simulation verifies the functional correctness of the design by simulating the behavior of the
digital logic at the register-transfer level.
Engineers create testbenches (sets of input vectors and expected outputs) to verify that the RTL
code behaves as intended.
2. Functional Simulation:
Functional simulation verifies that the ASIC meets the specified functional requirements.
Engineers use testbenches to apply various input scenarios and observe the corresponding outputs.
Tools such as ModelSim, VCS, or Questa are commonly used for functional simulation.
3. Gate-Level Simulation:
After RTL simulation, the design is synthesized to generate a gate-level netlist.
Gate-level simulation is performed to verify that the synthesized netlist behaves correctly and
meets timing constraints.
This simulation helps catch issues introduced during synthesis and optimization.
4. Timing Simulation:
Timing simulation is crucial to ensure that the design meets timing requirements, such as setup and
hold times.
Engineers use static timing analysis (STA) tools and conduct timing simulations to identify and fix
any timing violations.
5. Power Simulation:
Power consumption is a critical consideration in modern ASIC designs.
Power simulation is performed to estimate power consumption under different operating
conditions and usage scenarios.
Engineers use tools like PrimeTime or PowerArtist for power analysis and simulation.
6. Fault Simulation (Optional):
Fault simulation is performed to assess the design's robustness against manufacturing defects.
Engineers insert faults into the design and simulate to check if the fault can be detected by built-in
test structures.
7. Mixed-Signal Simulation (if applicable):
In cases where the ASIC includes both digital and analog components, mixed-signal simulation is
conducted.
This simulation ensures that the digital and analog parts interact correctly and meet the overall
system requirements.
8. Simulation Debugging:
During simulation, engineers may encounter issues or unexpected behavior.
Debugging involves analyzing simulation results, waveform traces, and identifying and fixing
issues in the design.
Simulation is an iterative process, and multiple iterations may be needed to refine the design and address
issues uncovered during simulation. Successful completion of simulation is a crucial milestone before
proceeding to synthesis and physical design stages in the ASIC design flow.
SIMULATION TYPES
In ASIC design flow, there are different types of simulations performed at various stages to verify different
aspects of the design. Here are some key simulation types in the ASIC design flow:
1. RTL Simulation:
Purpose: To verify the functionality of the design at the Register-Transfer Level (RTL).
Description: This simulation is conducted after the RTL code is written in HDL (Verilog or
VHDL). Engineers create testbenches to apply input vectors and verify that the RTL code behaves
as intended.
2. Functional Simulation:
Purpose: To ensure that the ASIC meets the specified functional requirements.
Description: Engineers use testbenches to simulate different functional scenarios, applying a
variety of input vectors to validate the functionality of the design.
3. Gate-Level Simulation:
Purpose: To verify the correctness of the synthesized gate-level netlist.
Description: Conducted after synthesis, gate-level simulation helps ensure that the design behaves
correctly at the gate level. It helps catch issues introduced during synthesis.
4. Timing Simulation:
Purpose: To verify that the design meets timing requirements.
Description: Engineers perform timing simulations to assess whether the design meets setup and
hold times, and to identify and address any timing violations.
5. Power Simulation:
Purpose: To estimate and analyze power consumption.
Description: Power simulation is conducted to estimate power consumption under various
operating conditions and scenarios. Tools like PrimeTime or PowerArtist may be used for power
analysis.
6. Fault Simulation (Optional):
Purpose: To assess the design's robustness against manufacturing defects.
Description: Fault simulation involves inserting faults into the design and simulating to check if
the fault can be detected by built-in test structures.
7. Mixed-Signal Simulation (if applicable):
Purpose: To ensure correct interaction between digital and analog components.
Description: Conducted when the ASIC includes both digital and analog parts. It ensures that
digital and analog components interact correctly and meet system requirements.
8. Post-Silicon Validation:
Purpose: To validate the design on actual silicon after fabrication.
Description: Involves testing the fabricated ASIC to ensure that it behaves as expected. This can
include functional testing, performance testing, and other validation procedures.
9. Monte Carlo Simulation (Statistical Analysis):
Purpose: To assess the impact of process variations.
Description: Monte Carlo simulations involve running multiple simulations with variations in
process parameters to evaluate the statistical variation in the performance of the design.
10. Back-Annotated Simulation:
Purpose: To account for parasitics and real-world conditions.
Description: After the physical design is completed, back-annotated simulation includes
information about parasitics, delays, and other physical effects. This helps to verify the design
under more realistic conditions.
These simulation types collectively contribute to ensuring the functionality, performance, and reliability of
the ASIC design at different levels of abstraction throughout the design flow.
1. RTL Description:
Engineers start with a high-level RTL description of the digital logic using hardware description
languages (HDL) such as Verilog or VHDL.
2. Functional Verification:
Before synthesis, the RTL design undergoes functional verification to ensure that it meets the
specified requirements and behaves correctly.
3. Library Mapping:
The design is mapped to a target technology library that contains standard cells, flip-flops, and
other elements provided by the semiconductor foundry.
4. Technology Mapping:
The RTL code is mapped to the cells in the target library, transforming the design into a gate-level
representation.
5. Optimization:
Various optimization techniques are applied to the design to improve its characteristics, such as
area, power, and timing.
Optimization may involve reducing the number of gates, minimizing wire delays, and other
transformations to enhance performance.
6. Timing Analysis:
Static Timing Analysis (STA) is performed to ensure that the design meets the specified timing
constraints.
STA identifies critical paths and helps optimize the design to meet setup and hold times.
7. Clock Tree Synthesis:
A clock distribution network, known as the clock tree, is synthesized to ensure efficient and
synchronized clock signals reach all parts of the design.
Clock tree synthesis minimizes clock skew and helps meet timing requirements.
8. Power Optimization:
Power optimization techniques are applied to minimize power consumption, considering factors
like dynamic power, static power, and leakage power.
Techniques may include clock gating, power gating, and voltage scaling.
9. Scan Insertion (Design for Testability):
Testability features such as scan chains are inserted into the design to facilitate testing during
manufacturing.
Scan chains help with the application of test vectors and the observation of results for testing
purposes.
10. Gate-Level Simulation:
After synthesis, gate-level simulation is performed to verify that the synthesized netlist behaves
correctly and meets the design specifications.
This simulation helps catch any issues introduced during the synthesis process.
11. Back-Annotation:
Information about parasitics, delays, and other physical effects obtained during the physical design
stage may be back-annotated into the design to provide more accurate simulations.
12. Output:
The final output of synthesis is a gate-level netlist in a standard format (e.g., Verilog or EDIF) that
represents the detailed implementation of the digital logic.
Once synthesis is complete, the design proceeds to the physical design stages, including floorplanning,
placement, and routing, before the final GDSII file is generated for fabrication. The synthesis process is
essential for translating the high-level design into a form that can be manufactured as an ASIC.
ASIC DESIGN FLOW SYNTHESIS METHODOLOGIES
ASIC design synthesis methodologies involve the application of specific techniques, tools, and
methodologies to transform a high-level RTL (Register-Transfer Level) description into a gate-level netlist.
Several synthesis methodologies have been developed over the years to address different aspects of the
design process, including optimization, power efficiency, and design for manufacturability. Here are some
common ASIC design flow synthesis methodologies:
These methodologies are often integrated into comprehensive ASIC design flows, and designers may
choose and combine methodologies based on the specific requirements of their designs. The choice of
synthesis methodology depends on factors such as design goals, technology node, and the complexity of
the application.
ASIC DESIGN FLOW TRANSLATION
In ASIC design flow, the term "translation" typically refers to the process of converting a higher-level
representation of the design into a lower-level representation. This can involve the translation of design
descriptions from one abstraction level to another, such as from RTL (Register-Transfer Level) to gate-
level netlists or from a behavioral description to RTL. Here are some key stages of translation in the ASIC
design flow:
Optimization in ASIC design is an ongoing and collaborative effort involving designers, tool
vendors, and sometimes foundry support. Each optimization stage contributes to achieving the
desired balance between performance, power consumption, and area while meeting specific
design constraints.
ASIC DESIGN FLOW FLOOR PLANNING
Floor planning is a critical stage in the ASIC design flow, occurring after logic synthesis and
preceding physical implementation. It involves the strategic placement of various functional
blocks and elements on the silicon die to optimize performance, minimize signal delays, and meet
design goals. The floor planning process sets the foundation for subsequent stages, including
placement, routing, and ultimately, the fabrication of the ASIC. Here are the key aspects of ASIC
floor planning:
1. Objectives of Floor Planning:
Optimize Performance: Minimize signal delays, reduce clock skew, and enhance overall
performance.
Minimize Area: Efficiently utilize the available silicon area while meeting design
constraints.
Simplify Routing: Facilitate a clean and efficient routing process in subsequent stages.
Facilitate Power Distribution: Plan for efficient power distribution and minimize power
grid issues.
Meet Design Goals: Accommodate specific design goals, such as area constraints, signal
integrity, and thermal considerations.
2. Floor Planning Steps:
Block Partitioning:
Divide the entire chip area into functional blocks based on the design's hierarchical
structure.
Group related logic elements and IP blocks together to enhance modularity.
Core Area Definition:
Define the core area where the most critical functional blocks, such as the
processor or main logic, will be placed.
Reserve space for clock distribution and power planning.
I/O Planning:
Plan the location of input and output pads, ensuring efficient I/O placement for
connectivity.
Consider the grouping of related I/O pads to simplify routing.
Power Planning:
Plan for the distribution of power and ground lines to ensure uniform power
delivery.
Strategically place power grid cells to minimize voltage drop and power supply
noise.
Clock Tree Planning:
Allocate space for the clock tree to minimize clock skew and facilitate efficient
clock distribution.
Consider the placement of clock source(s) and clock sinks in the design.
Decoupling Capacitors:
Strategically place decoupling capacitors to mitigate voltage fluctuations and
improve noise margins.
Consider the capacitance requirements of different functional blocks.
Signal Planning:
Plan the routing channels for signals, ensuring sufficient space between blocks for
routing lines.
Minimize the length and delay of critical signals.
Hierarchy and Abutment:
Define hierarchical levels to manage the complexity of the design.
Plan for abutment regions to specify the adjacency of specific blocks.
3. Tools Used in Floor Planning:
Place and Route Tools:
Tools like Cadence Innovus, Synopsys IC Compiler, and Mentor Graphics Olympus-
SoC are commonly used for floor planning and subsequent physical design stages.
Electronic Design Automation (EDA) Tools:
EDA tools provide features for automated floor planning, including power
planning, clock tree synthesis, and signal planning.
4. Considerations for Advanced Nodes:
For designs in advanced technology nodes, additional considerations may include
optimizing for finFET technology, handling new manufacturing challenges, and leveraging
features specific to the advanced process.
5. Iteration and Refinement:
Floor planning is an iterative process that involves refinement based on simulation results,
physical considerations, and the feedback from subsequent design stages.
Iterative improvements may be made to optimize the placement of blocks and achieve
design goals.
Effective floor planning is crucial for achieving a balanced and efficient layout, setting the stage
for subsequent physical design steps. It requires collaboration between logic designers and
physical designers to meet the design specifications and constraints.
1. Placement Objectives:
Minimize Wirelength: Reducing the total length of interconnect wires helps minimize
signal delays and improve overall performance.
Optimize Timing: Placing critical paths efficiently to meet timing constraints and
minimize clock skew.
Balance Load: Distributing logic cells evenly to achieve balanced loading on power and
signal distribution networks.
Facilitate Routing: Creating a placement that simplifies subsequent routing by providing
clear paths for interconnects.
Meet Design Constraints: Adhering to constraints specified in the floor plan, such as
core area boundaries and block locations.
2. Placement Techniques:
Global Placement:
Initially places blocks on the chip in a high-level, rough manner, focusing on
overall area utilization and proximity to critical resources.
Global placement algorithms consider high-level objectives such as minimizing
total wirelength.
Detailed Placement:
Refines the placement at a lower level, focusing on the exact locations of
individual cells within each block.
Balances cell density, optimizes for signal delays, and adheres to constraints more
precisely.
Incremental Placement:
An iterative placement process where small adjustments are made to the
placement iteratively to achieve better results.
Used for refinement after initial global and detailed placements.
Legalization:
Ensures that the final placement adheres to specified constraints and floor plan
guidelines.
Resolves issues such as overlapping cells and violations of block boundaries.
3. Timing-Driven Placement:
Considers timing constraints during placement to achieve better timing closure.
Considers the critical paths, clock domains, and signal arrival times.
4. Clock Tree Synthesis (CTS) Integration:
Coordinates with the clock tree synthesis process to place clock-related elements
strategically for reduced clock skew.
Considers the location of clock source(s), sinks, and clock distribution network.
5. Power Planning Integration:
Considers the placement of power grid cells to ensure uniform power delivery.
Addresses the placement of decoupling capacitors for effective noise reduction.
6. Technology-Specific Considerations:
For advanced process nodes, considerations may include handling FinFET technology,
specialized optimization techniques, and addressing manufacturing challenges.
7. Abutment and Density Considerations:
Abutment regions are respected to maintain the adjacency of specific blocks.
Cell density is considered to achieve uniform utilization of the chip area.
8. Place and Route Tools:
Commercial Electronic Design Automation (EDA) tools, such as Cadence Innovus,
Synopsys IC Compiler, and Mentor Graphics Olympus-SoC, are widely used for the
placement stage.
9. Physical Verification:
After placement, physical verification checks are performed to ensure compliance with
design rules, such as spacing constraints and blockage rules.
10. Iteration and Refinement:
Placement is an iterative process, and designers may go through multiple iterations to
achieve the desired PPA targets.
Feedback from subsequent stages, such as routing and optimization, may lead to further
refinement of the placement.
Effective placement is essential for achieving a well-balanced layout that meets design goals and
constraints. The success of subsequent stages, including routing and physical verification,
depends significantly on the quality of the placement.
ASIC DESIGN FLOW ROUTING
Routing is a critical stage in the ASIC design flow that follows placement. During this stage,
interconnects between the placed logic elements (cells) are established to create the physical
connections required for the designed circuit. The goal of routing is to meet design constraints,
minimize signal delays, and optimize the overall performance of the chip. Here are key aspects of
ASIC routing:
1. Routing Objectives:
Minimize Wirelength: Reducing the total length of interconnect wires helps minimize
signal delays and improve overall performance.
Optimize Timing: Achieving proper timing closure by routing critical paths efficiently.
Facilitate Signal Integrity: Ensuring the quality of signals by minimizing the impact of
noise, crosstalk, and other signal integrity issues.
Adhere to Design Constraints: Meeting constraints specified in the floor plan and
placement, such as routing channels, blockages, and spacing rules.
2. Routing Techniques:
Global Routing:
Establishes the overall routing grid and defines major routes at a higher level.
Focuses on connecting the most critical nets and creating a skeleton for detailed
routing.
Detailed Routing:
Fine-tunes the routing at a lower level, filling in the details of the global routes.
Optimizes for wirelength, timing, and congestion at the individual net level.
Congestion-Aware Routing:
Considers congestion levels on the routing tracks and avoids overloading specific
areas.
Balances routing density to prevent bottlenecks.
Clock Tree Routing:
Routes clock signals efficiently, considering clock skew, clock tree topology, and
balancing loads on clock networks.
Coordinates with clock tree synthesis for optimal clock distribution.
Power Routing:
Ensures proper distribution of power and ground lines, avoiding voltage drops and
maintaining uniform power delivery.
Integrates with the power grid created during floor planning.
Signal Integrity Optimization:
Analyzes and addresses signal integrity issues such as crosstalk, reflections, and
timing violations.
May involve buffer insertion, spacing adjustments, and other techniques to
improve signal quality.
Antenna Avoidance:
Addresses issues related to charge build-up during the manufacturing process that
can lead to reliability problems.
Utilizes techniques such as antenna diode insertion and metal fill to mitigate the
impact of trapped charges.
Via Insertion:
Determines the placement of vias (vertical interconnect access) to establish
connections between different metal layers.
Optimizes via locations to minimize signal delays and meet design constraints.
3. Routing Tools:
Commercial Electronic Design Automation (EDA) tools, such as Cadence Innovus,
Synopsys IC Compiler, and Mentor Graphics Olympus-SoC, are widely used for the routing
stage.
4. Physical Verification:
After routing, physical verification checks are performed to ensure compliance with design
rules, such as spacing constraints, metal density rules, and manufacturing rules.
5. Design Closure:
Design closure is the process of ensuring that the design meets all specified constraints,
including timing, power, and area.
Iterative adjustments in routing may be necessary to achieve closure.
6. Signal and Power Integrity Analysis:
Conducted to assess the quality of signals and power delivery in the routed design.
Includes analysis for timing violations, noise margins, and other integrity-related issues.
7. Final Verification:
Comprehensive verification checks are performed on the fully routed design to ensure
that it meets all design specifications before moving on to the final stages of the ASIC
design flow.
Routing is a complex process that requires careful consideration of various factors, including
design constraints, signal integrity, and manufacturability. The success of the routing stage
significantly influences the performance and reliability of the final ASIC design.
The success of clock tree synthesis significantly influences the overall performance, power
consumption, and reliability of the ASIC design. A well-designed clock distribution network is
essential for maintaining synchronous operation and achieving timing closure in the final chip.
ASIC DESIGN FLOW PHYSICAL VERIFICATION
Physical verification is a critical step in the ASIC design flow, ensuring that the physical layout
adheres to design rules, meets manufacturing constraints, and is free from potential issues that
could affect the functionality, reliability, or yield of the final integrated circuit. Physical verification
is performed after the placement and routing stages and before moving on to the manufacturing
phase. Here are key aspects of ASIC physical verification:
Successful physical verification is crucial for ensuring the manufacturability and reliability of the
ASIC design. It helps prevent costly errors and improves the chances of a successful tape-out and
subsequent fabrication of the integrated circuit.