In this article , we explore a range of essential topics related to the synthesis process in VLSI design. We begin with an introduction to synthesis, providing an overview of its role and importance in the design flow. Next, we discuss the V-curve of VLSI design, explaining its significance and how it illustrates the different phases of the design process. We then delve into what synthesis means in a general context, offering a comprehensive understanding of its purpose and functions. The concept of abstraction and its various levels is thoroughly examined, highlighting how abstraction helps manage design complexity. We also introduce the Y-diagram, which demonstrates the co-existence of different domains in VLSI design, and discuss the mapping of levels and domains to show their interrelationships. The differences between HDL compilers and synthesis compilers are explained, emphasizing their respective roles. Finally, we provide both a brief and detailed overview of the VLSI design flow, giving viewers a complete picture of the entire process from start to finish.
Once you complete the article you will be able to understand:
1. Difference between HDL compiler and synthesis compiler.
2. Howw synthesis does attach the technology node to your design?
3. Various levels of abstraction in VLSI design and their importance .
4. Correlation of various levels of abstraction with the V curve of the VLSI design?
Introduction to Synthesis :
Electronic Design Automation (EDA) tools play a vital role in VLSI design by automating various stages of the process. EDA tools revolutionize VLSI design, combining human ingenuity with automation to streamline the synthesis cycle. Synthesis is a foundational step where abstract Hardware Description Language (HDL) is transformed into a physically realizable design. Synthesis involves complex algorithms and optimizations to consider factors like power, timing, and area efficiency. Analysis and Verification (Design Verification - DV) phase ensures the correctness of the design through tests, simulations, and UVM/OVM verifications. DV phase identifies and rectifies functional, timing, and logical discrepancies, enhancing the quality of the final product. Testing (Design for Testability - DFT) phase focuses on identifying and fixing errors that might occur during fabrication and manufacturing. DFT phase subjects the design to various tests to ensure its resilience against fabrication anomalies.
V-Curve Of VLSI Design:
What Synthesis Means in General ?
What Is Abstraction ?
Abstraction is a conceptual method used to simplify complex systems or ideas by focusing on the essential aspects while ignoring unnecessary details. It involves creating a higher-level representation that captures the core features and functionality of something, while leaving out the intricacies that aren't relevant to the current context. Abstraction doesn't eliminate the complexity; it just focuses on what's important for a particular purpose. It's like looking at the world through different lenses, each revealing a specific facet. Abstraction is a powerful tool for managing complexity, encourage understanding, and enabling innovation by allowing us to work with complex systems without being overwhelmed by their minute details.
Abstraction Levels:
Behavioral domain is all about how a system functions. We imagine a part of the design as a mysterious black box and focus on the relationship between inputs outputs. In structural domain we describe a system by its different parts or subsystems. Geometrical or Physical domain gives information on how the sub-parts can be seen in structural domain. Level of abstraction could be defined as the amount the information that level is hiding within it. Higher level of abstraction means less detailed a level is, so more information is hidden. Lower level of abstraction means more detailed a level is, so less information is hidden. System/Processor level is highest level of abstraction. Switch/Transistor/Circuit Level is the innermost level of abstraction.
Y-Diagram : Co-existence of Domains
Helps us understand digital hardware design.
3 Axes represent the three domains of VLSI :
Behavioral: what a particular system does.
Structural: how entities are connected together.
Physical: how to build a structure on Si that has the required connectivity to implement the behavior.
5 concentric circles represent five levels of importance or detail in the design: System, Algorithm, Register Transfer, Logic, Circuit Level. Outermost circle is the most general and each circle closer to the center, represents a smaller and more specific part of the design. The five main characteristics at each level of abstraction are basic building blocks, signal representation, time representation, behavioral representation and physical representation.
Mapping of Levels & Domains:
Now, let's focus on the mapping of abstraction levels and domains, as seen in the Y-chart framework. For detailed insights, refer to the relevant episode in the Y-chart series.
This table illustrates the abstraction levels (behavioral, structural, and physical) and their mapping across different design domains:
1. System/Processor Level:
- Behavioral: Written specifications.
- Structural: Modules.
- Physical: Physical partitioning.
2. Algorithm/Architecture Level:
- Behavioral: Algorithms, flowcharts.
- Structural: Processor, RAM, ROM.
- Physical: Clusters.
3. Functional (RTL):
- Behavioral: Data flow, register transfers.
- Structural: ALU, MUX, registers.
- Physical: Floor planning, standard cells.
4.Gate/Structural Logic:
- Behavioral: Boolean equations.
- Structural: AND, OR, XOR gates.
- Physical: Standard cells.
5. Switch/Transistor Level:
- Behavioral: Equations.
- Structural: Transistors, resistors, capacitors.
- Physical: Mask geometry, fabrication details.
Understanding this mapping helps contextualize VLSI design stages and clarify roles within the workflow. For example, you can identify your position in the design process, understand inputs from preceding teams, and anticipate deliverables for subsequent teams. This framework is critical for distinguishing between various design engineering roles and navigating the VLSI design flow effectively.
HDL Compiler Vs Synthesis Compiler:
VLSI Design Flow : Detailed
We also have a detailed episode on this topic, which you can check out for more information. This diagram summarizes the complete VLSI design flow. While we have covered nearly every step, some areas could be broken down further. For now, I’ve condensed it to fit within this slide.
In this series, we’ll focus specifically on synthesis and not delve into the steps that follow. Synthesis is critical because it prepares the design for fabrication. At this stage, the design transitions from being technology-independent to becoming tied to a specific technology node (e.g., 5nm, 10nm, or 22nm). From this point onward, technology constraints, design rules, and node-specific considerations come into play.
Synthesis marks the shift from a flexible design process to one that requires meticulous attention to technology details. It’s like moving from an open road to a busy, rule-bound highway, where careful navigation is essential.
Watch the video lecture here:
Courtesy: Image by www.pngegg.com