2/23/2025

What is Global Routing in VLSI Physical Design?


In this article, we dive deep into the world of global routing and the crucial design flow behind it. We begin with an introduction to essential routing terminology and explore the concept of a switchbox in routing. Learn how optimization goals play a vital role in global routing and how routing regions are represented for effective design. We’ll take you through the global routing flow, covering topics like single-net routing, global routing in connectivity graphs, and the key algorithms used for finding the shortest path—Dijkstra’s Algorithm and A* Search. The video also explores the full netlist routing process and the role of a global router. We then discuss optimization techniques for different design types: full custom designs, standard cell designs, and gate array designs. This article offers a comprehensive understanding of global routing, its flow, and optimization strategies, making it a must-read for anyone interested in VLSI design and routing techniques.


Design Flow & Global Routing: 


In VLSI , routing is a crucial step that connects the various components like logic gates, transistors, and memory cells on a chip. It involves determining the paths for electrical connections, which are implemented through metal layers on the chip.

Routing is divided into three major stages:

(i) Global, (ii) Detailed & (iii) Specialized Routing.

Global Routing: Initial stage of the routing process, where the chip's overall routing framework is determined. It defines the general paths for each connection/net without focusing on precise details. The goal of global routing is to create an approximate plan for how the nets will be routed across the chip.

Key Aspects of Global Routing:

(i) Calculates approximate net paths and assigns them to regions or grids within the chip.

(ii) Allocates appropriate metal layers for detailed routing without specifying exact geometry.

(iii) Prevents congestion by ensuring sufficient routing space for all nets.

(iv) Divides the chip into grids, systematically determining regions for each net.

(v) Focuses on optimizing overall interconnection layout rather than precise routing geometry. 


Detailed & Specialized Routing:


Detailed Routing:

This stage refines global routing into precise, manufacturable paths, finalizing the layout of electrical interconnections for fabrication.

Key Aspects of Detailed Routing:

Detailed routing defines precise wire paths while adhering to design rules, including spacing, width, via placement, and metal layer usage. It optimizes vias, ensures signal integrity by minimizing RC delay and crosstalk, and resolves congestion by redistributing wires or using alternative layers. Special attention is given to power and ground routing to guarantee reliable voltage delivery across the chip.

Specialized Routing:

Specialized routing handles nets with specific requirements, such as clocks, power networks, and high-speed signals, ensuring they meet performance constraints.

Key Aspects of Specialized Routing:

Specialized routing includes critical net and clock routing, ensuring precise timing and reliability. It also covers power and ground distribution, high-speed signal routing and shielding for noise reduction. These ensure optimal performance and signal integrity in complex designs.


Essential Terminology for Global Routing:

1. Routing Track : A routing track represents a horizontal or vertical wiring path that facilitates the routing of signals. Signal nets traverse these paths by alternating between horizontal tracks and vertical columns, connected using inter-layer vias.

2. Routing Region : A routing region is a defined area containing routing tracks or columns. It serves as the guide for allocating wiring paths to connect signal nets efficiently.

3. Uniform Routing Region: These regions consist of evenly spaced horizontal and vertical grid lines, forming what’s known as a "global grid" or "grid." The grid comprises unit cells called "global cells" (gcells). Typically, the spacing between grid lines ranges from 7 to 40 routing tracks, balancing the complexities of chip-scale global routing and detailed routing tasks.

4. Non-Uniform Routing Region: Unlike their uniform counterparts, non-uniform regions are defined by boundaries aligned with external pin connections or macro-cell edges. That regions include channels and switch boxes of varying dimensions.

5. Channel : A channel is a rectangular routing region designed to connect pins located on its two opposite sides, while the other two sides remain pin-free. Channels are further classified as:

(a) Horizontal Channel: Features pins along the top and bottom boundaries.

(b) Vertical Channel: Features pins along the left and right boundaries.

6. Gcells (Global Cells) : Global cells, or gcells, are the fundamental units within a global grid. They serve as the basic building blocks for defining paths in routing regions and are instrumental in the routing process.

What is SwitchBox in Routing?


Switchbox : 

A switchbox is a square or rectangular region where multiple channels intersect. These critical structures enable connections between different routing tracks or columns, enhancing the routing network's flexibility.



2-D Switchbox : A 2-D switchbox exists in a single plane and connects horizontal and vertical routing channels within a single metal layer. It serves as a connection hub, enabling routing paths to switch directions (e.g., horizontal to vertical or vice versa) within a specific routing layer. Frequently used in PCB design or simpler VLSI designs where inter-layer routing is minimal or non-existent. The region typically resembles a rectangular or square grid with intersection points for connecting different channels.

3-D Switchbox : A 3-D switchbox incorporates connections across multiple layers of a chip, often through inter-layer vias. It facilitates interconnections not only between horizontal and vertical tracks but also between different metal layers. This capability is crucial for modern multi-layered Ics. Widely used in advanced VLSI designs where chips have multiple layers of metal routing, such as in 3D ICs or multi-layer ASICs. Extends the concept of the 2-D switchbox to include vertical pathways, allowing signals to traverse different physical planes within the chip.

Optimization Goals in Global Routing :

1. Minimizing Total Wire length :  Wire length minimization is a fundamental goal in global routing. Reducing the total wire length enhances performance. Shorter wires reduce signal propagation delays, leading to faster circuits. Less wire length means reduced capacitance and, consequently, lower power dissipation. Shorter interconnects decrease the chances of defects and increase manufacturability.

2. Managing Routing Congestion :  Congestion arises when multiple signal nets compete for the same routing resources. Effective congestion management ensures efficient resource utilization, prevents overloading specific regions while under utilizing others, avoids unnecessary detours that can increase wire length and delays. Reduces the risk of violating constraints such as spacing between wires.

3. Maximizing Timing Slack : Timing slack refers to the difference between the required arrival time and the actual arrival time of a signal. Maximizing timing slack is crucial for meeting timing constraints. That ensures that all signals arrive within their designated time windows. Provides a buffer against variations in manufacturing or operational conditions.

4. Balancing Via Usage : Vias connect different metal layers in a chip’s layout. Excessive via usage can  increase manufacturing costs, lead to reliability issues due to thermal stress, add delays by introducing additional resistance and capacitance. Balancing via usage is therefore vital for cost-efficient and reliable designs.

5. Optimizing for Power Efficiency : Power optimization is critical, especially for portable devices and data centers. Efficient global routing minimizes dynamic power by reducing switching activity and interconnect capacitance, minimizes static power through efficient use of routing resources to minimize leakage.

6. Adapting to Design Constraints : Modern VLSI designs face constraints like fixed-die boundaries, specific routing resources, and pre-defined placement. Optimization ensures that these constraints are respected without compromising the overall design quality.

Representing Routing Regions:

In Global routing channels and switch boxes are represented as graph, where nodes represent routing regions and edges represent adjoining regions.There are 3 graph techniques :

(i) Grid Graph :

Also defined a s Global Grid/ggrid . A uniform grid overlays the chip layout. It consists of horizontal and vertical grid lines that divide the chip into smaller cells, known as global cells (gcells). Grid lines are spaced at regular intervals to balance global and detailed routing complexity.


(ii) Channel connectivity graph :

G = (V,E), where the nodes v ∈ V represent channels, and the edges E represent adjacency of the channels. Capacity of each channel is represented in its respective graph node.

(iii) Switchbox connectivity graph : 

G = (V, E), where the nodes v ∈ V represent  switch boxes and an edge exists between two nodes if the corresponding switch boxes are on opposite sides of the same channel .

Global Routing Flow :

1. Defining The Routing Regions:

- Partition the layout area into routing regions.

- Allow nets to be routed over standard cells in some cases.

- Structure the routing regions as 2D/3D channels, switch boxes, or other region types.

- Represent the regions, along with their capacities and connections, as a graph.

2. Mapping Nets to the Routing Regions:

- Provisionally assign each net in the design to one or more routing regions to connect all its pins.

- Ensure the number of nets passing through a routing region does not exceed its routing capacity.

- Consider timing and congestion as factors influencing the path selection for each net.

 3. Assigning Cross points:

- Assign routes to specific spots/cross points, along the edges of routing areas.

- Align crosspoints to simplify handling designs with millions of cells.

- Enable faster processing through parallel and distributed methods by allowing independent work on each routing area.

- Analyze the dependencies between net connections and the order of routing channels to optimize cross point assignments.


Single Net Routing:

A set of pins that electrically connected is called net. A single-net routing task deals with routing one such net at a time, ensuring it adheres to design rules while optimizing for factors such as wire length, timing, and congestion. For a two-pin net, the task is relatively straightforward, requiring a path between the two pins.  For a multi-pin net, the net is decomposed into smaller two-pin sub nets before routing.

Objectives of Single-Net Routing:

1. Minimize Wire length: Reducing the total length of the wire connecting pins minimizes delays and power consumption.

2. Adhere to Design Rules: Ensure the route meets constraints like spacing, via limits, and layer assignments.

3. Avoid Obstacles: Navigate around fixed blocks, macros, and other routed nets.

4. Optimize Timing: Critical nets must be routed with minimal delay to meet performance requirements.

Techniques for Single-Net Routing:

1. Rectilinear spanning tree: 


A rectilinear spanning tree connects all terminals (pins) using only direct pin-to-pin connections with vertical and horizontal segments. These connections are restricted to meeting exclusively at pins, meaning that “crossing” edges do not intersect, and no additional junction points (Steiner points) are introduced. When the total length of the segments is minimized, it is called a rectilinear minimum spanning tree (RMST).

2. Rectilinear Steiner tree (RST): 


A rectilinear Steiner tree (RST) connects all pin locations and may include additional locations known as Steiner points. While any rectilinear spanning tree for a p-pin net qualifies as an RST, introducing strategically placed Steiner points can often reduce the total net length. An RST becomes a rectilinear Steiner minimum tree (RSMT) when the total length of the segments used to connect all pins is minimized.


Global Routing in Connectivity Graph:

Global Routing in connectivity graph is done in following

sequence steps.

(a) Defining the Routing Regions : 

The vertical and horizontal routing regions are formed by stretching the bounding box of cells in each direction until a cell or chip boundary is reached.

(b) Defining the Connectivity Graph: 

In the connectivity graph, nodes represent routing regions, edges  indicate their continuity, and each node stores the horizontal and vertical capacities of its region.

(c) Determining the Net Order : 

The order of net processing can be set before or during routing, based on factors like criticality, pin count, bounding box size (larger gets higher priority), or electrical properties. Some algorithms adjust dynamically based on layout characteristics observed during routing.


(d) Assigning Tracks for all pin Connections : 

A horizontal and vertical track are reserved in each pin's routing  region to ensure connectivity.

(e) Global Routing of all Nets : 

Each net is processed sequentially, involving steps such as net or sub-net ordering, track assignment using a maze-routing algorithm, and capacity updates in the connectivity graph.

Finding Shortest Path by Dijkstra’s Algorithm :

Finds shortest paths from a source node to all other nodes in a graph. Works with graphs that have non-negative edge weights. Commonly used in maze routing and shortest path problems.

Input Parameters :

1. Graph (G(V, E)) with non-negative edge weights (W).

2. Source node (s) as the starting point.

3. Target node (f) as the destination.

Node Groups :

1. Group 1/Unvisited Nodes – Nodes have not been visited. 

2. Group 2/Considered Nodes – Nodes visited but shortest

path cost not finalized.

3. Group 3/Known Nodes– Nodes for which the shortest

path cost is determined.

Optimize objectives :

1. Geometric distance , 2. Electrical properties , 3. Routing congestion , 4. Wire densities

 Algorithm Initialization :

1. All nodes start in Group 1.

2. The cost of reaching each node is set to infinity (∞) except

for the source node, which has cost 0.

3. Parent of each node is initially unknown.

4. The source node (s) is moved to Group 3 as the first known node.

Algorithm Execution :

While the target node (f) is not reached -

1. Compute the cost of reaching neighboring nodes from the current node.

2. If a node is in Group 1, record its cost and update its parent.

3. If a node is already in Group 2, compare and update its cost if a better (lower-cost) path is found.

4. Select the lowest-cost node in Group 2 and move it to Group 3.

5. Repeat until the target node(f) is added to Group 3.

Path Reconstruction : 

Once f is found, back trace from f to s using parent nodes to determine the shortest path.

Efficiency Considerations : Each iteration only considers neighbors of the most recently added node (curr_node), reducing redundant calculations. Nodes move sequentially into Group 3 based on the increasing order of their shortest-path cost. The algorithm stops once the target node (f) is added to Group 3, ensuring an optimal path.

Handling Node Costs : When nodes have traversal costs, each node is replaced by a d-clique (a complete sub-graph of d nodes). Clique edges have weights equal to the original node cost. The original d incident edges are connected to different clique nodes. This transformation ensures that path traversal accounts for node traversal costs efficiently.

Finding Shortest Path : A* Search :

Similar to Dijkstra’s algorithm but extends the cost function.  Includes an estimated distance from the current node to the target. Guarantees the shortest path if a path exists. The estimated distance should never exceed the actual distance (admissibility criterion). Efficiency Compared to Dijkstra’s Algorithm Expands only the most promising nodes (best-first search). Reduces the solution space compared to Dijkstra’s algorithm.  A tight lower bound estimate can significantly improve runtime.  Can be derived from Dijkstra’s algorithm by adding distance-to-target estimates. 

Node priority is determined by the sum of:

- Cost from the start node (like Dijkstra’s label).

- Estimated remaining distance to the target.

- Bidirectional A* Search is a variant. Expands nodes from both source and target until regions meet. Reduces the number of nodes considered slightly. However, tracking the order of visited nodes, along with the complexity of implementing an efficient solution, poses significant challenges. In practice, these difficulties can outweigh the potential benefits of bidirectional search.

Methods of  Full Netlist Routing:

1. Integer Linear programming:

A linear program (LP) is a mathematical problem that includes a set of conditions (called constraints) and an optional goal/objective function to maximize or minimize. Both the constraints and the objective function must be written as linear equations or inequalities. If all variables in a linear program only take whole number values, it is called an integer linear program (ILP).  When these variables are restricted to only 0 or 1, it is referred to as a 0-1 ILP.  There are various software tools, like GLPK, CPLEX, and MOSEK, that can solve (integer) linear programs.  

The ILP takes 3 inputs : 

(1) an W × H routing grid G, 

(2) routing edge capacities, and 

(3) the netlist Netlist.

The ILP uses 2 sets of variables. The first set includes k Boolean variables, each representing an indicator for one of k specific paths or routes for a net in the Netlist.

- The second set contains k real variables, each of which represents a net weight for a specific route for a net in Netlist.


Rip-Up & ReRoute(RRR):

Modern ILP solvers can handle hundreds of thousands of routes efficiently, but commercial EDA tools require faster and more scalable methods. The rip-up and reroute (RRR) framework addresses this by focusing on problematic nets.  When a net faces obstacles or interference, RRR temporarily allows violations, routes all nets, then iteratively removes and reroutes some to reduce conflicts.  Alternatively, push-and-shove strategies move existing nets to new positions to resolve congestion or make unroutable nets feasible.  A greedy routing approach avoids violations but often causes large detours.  In contrast, RRR permits temporary over-capacity routing to optimize overall paths.  Allowing violations and rerouting enables more efficient routing with fewer detours than strictly violation-free methods. In the RRR framework, not all violating nets are ripped  up, reducing runtime significantly with only a small increase in wire length.

Global Router: 

A global router first divides multi-pin nets into two-pin subnets and generates an initial routing solution on a 2D  grid. If there are no violations, it assigns layers by mapping the 2D routes onto a 3D grid. If violations occur, problematic nets are ripped up and rerouted iteratively until the design is violation-free or a stopping condition, such as a CPU limit, is reached. Some routers include an optional cleanup pass to minimize wire length after rip-up. Alternatively, some global routers route directly on the 3D grid, which can improve wire length but is slower and may fail to complete routing. Nets are routed using maze and pattern routing, with negotiated congestion routing managing costs.  A global router determines paths for two-pin nets while adhering to capacity constraints, prioritizing minimal wire length. It employs maze routing methods like Dijkstra's or A* search to ensure the shortest path between points. However, these methods can be excessively slow, especially when topologies involve edges requiring minimal vias.

Modern routers implement RRR (Rip-up and Reroute) using negotiated congestion routing. In this approach, each edge is assigned a cost or value that represents the demand for that edge. Higher costs discourage nets from utilizing heavily used edges, indirectly encouraging them to explore alternative, less congested paths.


Optimization for Different Design Types : 


1. Full Custom Design:  


A full custom design features a layout  dominated by macro cells with irregular, non-uniform routing regions. Key initial tasks include channel definition and channel ordering. Channel definition partitions the global routing area into routing channels and switchboxes. Channel ordering is determined using floorplan tree. If a part of floorplan cannot be represented using  horizontal and vertical  cuts atleast one switchbox is used along with channels. Once all of the regions, channels and switchboxes are determined the ents canm be routed. Steiner tree routing and Minimum Spanning tree routing are two methods used. Shortest path is determined by Dijkstra’s algorithm.


Standard Cell Design :

In standard cell design, when the number of metal layers is limited, feedthrough cells are used to route a net across multiple cell rows. If the cell rows and netlist are fixed, the number of unoccupied sites within the cell rows is also fixed, which restricts the number of possible feedthroughs. As a result, standard cell global routing aims to (1) ensure the design is routable and  (2) identify a low-congestion solution that minimizes the total wirelength.


Gate Array Design :



In gate array design, the cell sizes and the routing region sizes—i.e., the routing capacities—are fixed. Since adding extra routing resources is not an option to ensure routability, key tasks involve assessing the placement’s routability and finding a feasible routing solution. Additional optimization objectives include minimizing the total routed wire length and reducing the length of the longest timing path.


Watch the video lecture here:


Courtesy: Image by www.pngegg.com




2/12/2025

Verilog to SystemVerilog Transition : An Introduction | Episode- 00




Verilog has been the backbone of digital design for decades, but as ASICs and SoCs grew more complex, it simply wasn’t enough. That’s when VLSI industry experts came together and created something revolutionary—SystemVerilog!

More than just an HDL, SystemVerilog is a powerful Hardware Description AND Verification Language (HDVL)! To bridge the gap from Verilog to SystemVerilog, concepts were borrowed from languages like C, C++, Java, and Python—but don’t be fooled! While the names may sound familiar, their application in hardware verification is a whole new world! We’ve got an exciting Verilog Series for you, and if you love fast-paced learning, there’s also a Marathon Episode covering everything in one go! But that’s not all… This time, we’re taking things to the next level—introducing a SystemVerilog Transition Series that will guide you step by step through this powerful language! You’ll learn by comparison, exploring how SystemVerilog improves upon Verilog and how it connects to concepts from software programming languages!

Expected Verilog Knowledge Before Learning SV:

1. Module Basics:

- Syntax (`module`, `endmodule`).

- Ports (`input`, `output`, `inout`).

2. Data Types:

- `wire` and `reg` usage.

- Bit vectors and bus declarations (`[n:0]`).

3. Assignments:

- Continuous assignment (`assign`).

- Procedural assignments (`=` for blocking, `<=` for non-blocking).

4. Procedural Blocks:

- `always` for sequential and combinational logic.

- Sensitivity lists (`@(*)`, `@(posedge clk)`).

5. Control Flow:

- `if-else`, `case`, and loops (`for`, `repeat`, `while`).

6. Hierarchy:

- Module instantiation and port connection (positional and named).

7. Testbenches:

- Stimulus generation using `initial` and `always`.

- Simulation constructs like `$monitor`, `$display`, delays (`#`).

8. Basic Operators:

- Arithmetic (`+`, `-`), bitwise (`&`, `|`, `^`), logical (`&&`, `||`).


Verilog vs SV : Fundamental Difference

1. VERILOG: 

Introduction:  Verilog was created in 1984 as a Hardware Description Language (HDL) to help describe how electronic circuits work, kind of like writing a blueprint for a building but for digital systems.

• IEEE standard : In 1995, Verilog was officially recognized as a global standard by the IEEE  (IEEE 1364) ensuring everyone could use it in the same way without confusion. 

• Widely Used :  Even though newer tools exist, Verilog is still popular for designing older systems and straightforward circuits because it’s reliable and familiar. Verilog is widely used for basic design tasks, especially in legacy systems and simpler digital circuits.

• Primary Usage : Primarily used for structuring, modeling, simulating, and verifying electronic systems at the RTL (Register Transfer Level). Verilog is mostly used to create and test digital designs at a level that focuses on how data moves and gets processed within a system.

2. SYSTEM VERILOG (SV): 

• Introduction: Developed in the early 2000s as both a Hardware Description Language (HDL) and Hardware Design & Verification Language (HDVL). SV not only describe how circuits work (likeVerilog) but also to test and verify them. It combines design and testing in one language.

• IEEE standard : Became an IEEE standard in 2005 (IEEE 1800). In 2005, SystemVerilog was officially recognized as a global standard, making it consistent and widely accepted for use.

• Industry Standard : SV is now the industry standard for designing, simulating, and verifying complex digital systems, especially in large-scale ASIC and FPGA projects. Today, System Verilog is the go-to choice for creating and testing large and complicated digital systems, such as those used in advanced SoC chips and programmable hardware.

• Significance: Essential for advanced modeling, comprehensive verification, and supporting the full electronic system development life-cycle. System Verilog is crucial for detailed designs, thorough testing, and managing every stage of building an electronic system, from start to finish.


Verilog to System Verilog Transition

VERILOG GENERATIONS: 

• Verilog 1.0 (1995): Initial IEEE standard (IEEE Std. 1364-1995) is the first official version of Verilog was standardized in 1995, setting the rules and format for using it globally.

• Verilog 2.0 (2001): Enhanced IEEE standard (IEEE Std. 1364-2001) with significant updates to Verilog, marking the first major improvements since its 1990 public release In 2001, Verilog got a big update with many new features, making it more powerful and easier to use for designing and testing circuits. This was the first big change since it became public in 90's era.

SYSTEM VERILOG GENERATIONS:

• SystemVerilog 3.0 (2002): Added features for high-level architectural modeling. In 2002, System Verilog introduced tools to help design circuits at a high level, focusing on the overall structure of a system.

• SystemVerilog 3.1 (2003): Introduced advanced verification features and C language integration in 2003. SystemVerilog added powerful tools for testing circuits and made it easier to work with the C programming language interface , bridging software and hardware design.

• SystemVerilog 3.1a (2004):  Provided corrections, clarifications, and further enhancements, including VCD and PLI specifications, in 2004, this version fixed issues, clarified previous features, and added more improvements, like better support for tracking signal changes (VCD) and extending functionality (PLI).

New Data Types in SV:

• Extended Data Types (for Improved encapsulation and code compactness): New types were added to make code more organized and easier to write by grouping multiple  related data together. vb

• C Data Types (int, typedef, struct, union, enum):   System Verilog includes types similar to those in the C programming language, like integers, grouped data (struct), shared memory (union), and predefined sets of values (enum).

• Other Data Types: (Bounded queues, logic (0, 1, X, Z), bit (0, 1), tagged unions): Additional types like queues with limits, signals with more digital states (0, 1, unknown X, high- impedance Z), and unions with labels for easy  identification were introduced.

• Dynamic Data Types (string, classes, dynamic queues, dynamic arrays, associative arrays) : Flexible types like text strings, reusable objects (classes), and various adjustable or searchable data collections were added for advanced verification.

• Dynamic Casting & Bit-Stream Casting (Added for flexibility ) : These features allow converting one type of data to another and rearranging bits easily for different uses.

• Automatic/Static Specification (Per variable instance):  You can now decide for each variable whether its memory is dynamically managed or fixed from beginning in place, giving more control over how it’s used.


Operators & Procedural Statements :

1. Operators:

• Extended Operators (Wild equality/inequality, streaming operators, set membership):

In Sv, new operators were added, like those to check approximate matches (wild equality), process data streams, or see if something belongs to a group (set membership).

• Built-In Methods (Extend language capabilities):

SystemVerilog includes built-in functions to make certain tasks easier, like manipulating data or arrays.

• Operator Overloading (Customizable operators):

In SV, you can define how certain operators (like + or *) behave when used with specific types of data, making them more flexible.

2. Procedural Statements : 

• Extended Statements(Enhanced loops, foreach, pattern matching, C-like jump statements):

SV has loops which were  improved with options like foreach for simpler iteration, regular expressions for matching patterns in data, and familiar jump commands like break and continue for precise control of loops.

• Final Blocks(Executed at the end of simulation): 

SV has special sections of code, called final blocks, run automatically when the simulation finishes,  useful for clean-up tasks or final reports.

• Extended Event Control (Sequence events and control): 

SV has better tools to manage and synchronize events during simulations, making complex behaviors easier to handle.


Process Control :

1.Enhanced Control( Extensions to always blocks for synthesis consistency):

SV made improvements to always blocks ensure they work better for creating hardware designs that match the intended behavior during simulations and synthesis. SV has multiple always blocks for various usage.

2. Fork…Join Extensions (Modeling pipelines and improved control)

In SV, new avatar in fork…join make it easier to run multiple tasks at the same time, such as simulating data pipelines and managing processes more efficiently.

3. Fine-Grain Control (Detailed task and function management):

In SV, mechanisms  were added to give precise control over how tasks and functions operate, helping manage complex processes better.


Tasks and Functions:

1.  C-Like Functions (Void functions, pass by reference, default/optional arguments):

System Verilog functions adopted C functions, supporting features like void (no return value), passing variables directly by reference, and using optional/default values for arguments.

2. DPI Functions( Import/export capabilities for the Direct Programming Interface):

IN SV, The Direct Programming Interface (DPI) allows easy interaction between SystemVerilog and other programming languages like C, making it simpler to integrate external code and enhance verification capabilities.


Objct Oriented Programming (OOP):

SV has introduced OOP which was not there in Verilog.

1. OOP Classes ( Abstraction, encapsulation, and safe pointers):

Classes help organize code by grouping related data and functions, hiding unnecessary details (encapsulation), and safely managing object references (pointers).

2. Interfaces ( Encapsulation: Facilitates communication-oriented design):

Interfaces make it easier to manage communication between different parts of a design by grouping related signals and ensuring clean, organized connections. These are more compact and easy to use as compared to its Verilog counterpart and less error prone.


Testbench Support:

1.  Automated Testbench (Random constraints, synchronization via semaphores/mailboxes):

SV Testbenches can now automate testing with random value inputs that follow specific rules and restrictions (constraints) and manage communication between parts using semaphores and mailboxes which are also new features in SV..

2. Event Extensions(Event variables and sequencing):

In SV, New features were added to handle events more flexibly, like storing events in variables and setting up sequences of events for testing.

3. Scheduling Semantics(Clarifications and extensions):

IN SV, improved rules and features introduced for how tasks are scheduled during simulations, ensuring more accurate and predictable testing.

Assertions and Coverage :

These are new features in SV.

1. Assertion Mechanism ( Verifying design and functional coverage):

SV assertions check if a design behaves as expected, while functional coverage measures how thoroughly the design has been tested.

2. Property/Sequence Declarations ( Assertion and coverage statements with action blocks):

In SV, you can define specific behaviors or conditions (properties/sequences) for checking correctness and include actions to take when these conditions are met or fail.

Hierarchy and Modular Design:

1.  Extended Hierarchy ( Packages, nested modules, external modules):

System Verilog allows better organization of code with reusable packages, modules within modules (nested), and external modules that can be defined separately. Hence you can get a lot of flexibility.

2. Port Declarations( Support for interfaces, events, variables):

Ports, which connect different parts of a design, now support interfaces (grouped connections), events, and variables for more flexible communication. Such easy to use feature reduces complicated process of verification.

3. $root (Clear hierarchical references):

$root provides a top-level reference for organizing and accessing design elements, making it easier to navigate complex designs. Please don't confuse this with LINUX superuser 'root'. In later episode we will discuss in detail.

Cycle-Based Functionality:

1. Clocking Blocks (Cycle-based signal drives and samples, synchronous samples):

In SV, clocking blocks help manage signals based on clock cycles, ensuring proper timing for driving and sampling data in synchronous designs.

2. Race-Free Context (Safe program execution):

Features were added to prevent timing conflicts (races) during program execution, ensuring accurate and reliable behavior in simulations.

Enhanced APIs & Formal Semantics :

1. APIs:

In general API's are plug and play parts of software or language.

i) DPI (Efficient inter-operation with other languages (e.g., C):

In SV,  the Direct Programming Interface (DPI) allows SystemVerilog code to interact smoothly with external or other programming languages like C, making it easier to integrate external code.

ii)  Assertion, Coverage, Data Read APIs (Tools for verification and data handling):

These SV APIs provide functions to help verify the correctness of designs, check how well they’re tested (coverage), and manage data during simulation.

iii) VPI Extensions (For SystemVerilog constructs):

VPI (Verilog Programming Interface) extensions allow better interaction with SystemVerilog constructs, helping developers work with designs more effectively. These are very popular in recent times.

2. Concurrent Assertion Formal Semantics :

Enhanced support for concurrent assertions in verification:

In SV, there’s improved support for checking multiple conditions at the same time (concurrent assertions) during the verification process, making it easier to detect issues in complex systems.


Watch the Video here: 


Courtesy : Image by www.pngegg.com




1/29/2025

🎙️ Agile Moves: Career Growth, AI Trends & Tech Leadership | TSP | Guest - Subhasish Chakraborti




In this podcast series, discussion on VLSI and its related fields is presented, focusing on recent developments and advancements in the industry. Topics such as the latest trends and innovations in semiconductor technology are explored, offering insights into the evolving landscape.

Career guidance is shared, providing practical advice for navigating the field, along with success stories that highlight the journeys of professionals who have made their mark in VLSI. Whether for students, professionals, or those interested in the subject, valuable knowledge is offered to help stay informed and succeed in this dynamic area. Join us for a fascinating conversation with Subhasish Chakroborti, a seasoned expert in the semiconductor industry. 🎙️ In this episode, we delve deep into his remarkable journey, from Engineer to Entrepreneur, Career Pivots, AI Adventures, and the Future of VLSI 🌟📚✨ 🎤 In this episode, we cover: 🌱 The Journey: From first steps in engineering to founding Agile Semiconductor 🛠️💡 🔄 Career Transitions: Changing jobs 7 times in 20 years—how to thrive through change 🔑📈 🏫 Back to School: Embracing the role of a student after decades of leadership 📚🤓 🤖 AI in VLSI: How AI is revolutionizing design automation tools 🌐⚙️ 📘 The Book: A sneak peek into the trends shaping the tech industry in 2025 and beyond 🚀✨ 💡 Wisdom for the Future: Advice for the next generation of tech professionals 🌟👩‍💻 This conversation is packed with colorful stories, laughs, and actionable advice to inspire your journey in the ever-evolving tech world. 🌈✨ 🎧 Tune in now and join us on this exciting exploration of innovation, learning, and leadership! 🤩

Watch the Podcast here : Guest - Subhasish Chakraborti Subhasish Chakraborti is a seasoned expert in the semiconductor industry, with over 21 years of experience in Electronic Design Automation (EDA) and Semiconductor Technologies. Throughout his career, he has contributed to leading companies such as Ansys, Synopsys, Cadence, Interra Systems, and Infineon Technologies. In addition to his corporate roles, Subhasish is an entrepreneur, currently building his own startups at Agile Semiconductor (agilesemiconductor.com). He is also an active semiconductor blogger, sharing insights and industry trends on his blog at edasemi.blogspot.com. Subhasish's deep expertise and passion for innovation make him a respected voice in the field of semiconductors.

Blog by SubhaShish :https://edasemi.blogspot.com/ Agile Semiconductor : https://agilesemiconductor.com/ Book by Subhashish : https://www.amazon.in/dp/B0DTGD98TR



Credits : Image by Lucas Wendt from Pixabay


🎙️Semiconductor Sparks: Insights, Innovations, and India’s Global Rise | TSP | Guest - Nitin Dahad



In this podcast series, discussion on VLSI and its related fields is presented, focusing on recent developments and advancements in the industry. Topics such as the latest trends and innovations in semiconductor technology are explored, offering insights into the evolving landscape.

Career guidance is shared, providing practical advice for navigating the field, along with success stories that highlight the journeys of professionals who have made their mark in VLSI. Whether for students, professionals, or those interested in the subject, valuable knowledge is offered to help stay informed and succeed in this dynamic area.

Description:

Join us for an exciting episode featuring Nitin Dahad, where we delve into the dynamic world of semiconductors and uncover the trends shaping the industry's future! 🌍✨ From inspiring personal journeys to groundbreaking innovations, this episode has something for everyone—whether you're an industry veteran or a curious fresher.

Podcast Discussion Points: 1️⃣ Inspiring Journeys – A firsthand account of the speaker’s journey in the semiconductor industry, offering insights and motivation for freshers entering the field. 🌟 2️⃣ Pre & Post-COVID Transformation – Exploring the key shifts in India and the global semiconductor industry before and after the pandemic. 🔄🌍 3️⃣ The Global View on 'Make in India' – How international perspectives on India's semiconductor capabilities are evolving. 🇮🇳🌏 4️⃣ Building a Thriving Ecosystem in India – Lessons from developed semiconductor hubs worldwide and what India needs to establish a strong industry. 🏗️💡 5️⃣ Must-Attend Semiconductor Conferences – A guide to global events catering to research, production, and business professionals at different career stages. 🎟️📅 6️⃣ The Power of Trade Fairs & Conferences – Why industry events are crucial for networking, learning, and staying ahead in the semiconductor world. 🤝📢 7️⃣ Game-Changing Tech of 2024 – A deep dive into the top 5 significant events that shaped the semiconductor industry last year. 🚀⚡ 8️⃣ The Rise of Robotics & Mechatronics – Innovations in automation and their real-time impact on human civilization. 🤖🌍 9️⃣ Global Semiconductor Investments & India – Examining Europe's major investments in semiconductors and their implications for India’s growth in the sector. 💰🌐 🔟 The Next Big Disruption in Consumer Electronics – Beyond smartphones, what technology will redefine the next decade? 📱➡️🔮 🎧 Tune in for expert insights and in-depth discussions on the future of semiconductors! 🚀💡

Watch the podcast Here: https://youtube.com/live/O2OtRdZ5-tc?feature=share Guest : Nitin Dahad Nitin Dahad is editor-in-chief of EE Times. An electronic engineering graduate from City University, London, his 40 year career in the global electronics industry has involved roles as an engineer, journalist, mentor and entrepreneur. He was part of 32-bit configurable RISC processor ARC International’s startup team that took it public, with an IPO on the London Stock Exchange, and he co-founded a publication called The Chilli in the early 2000s, focused on tech startups and investors. Nitin has worked companies like National Semiconductor, GEC Plessey Semiconductors, Dialog Semiconductor, Marconi Instruments, Coresonic, Center for Integrated Photonics, IDENT Technology and Jennic. Nitin also held a role with government promoting U.K. technology globally in the U.S., Brazil, Middle East and Africa, and India. He also has served on public and private boards, including with two universities in the UK, and startups like Hiyacar, plus charities like The Rajasthani Foundation.


Watch Silicon Grapevyne Podcast by Nitin here : https://www.eetimes.com/silicon-grapevine/ Credits : Image by Lucas Wendt from Pixabay




1/20/2025

🎙️Campus to Corporate: The Future Blueprint | TSP | Guest : Balajee Shesadri (Part -2)


In this podcast series, discussion on VLSI and its related fields is presented, focusing on recent developments and advancements in the industry. Topics such as the latest trends and innovations in semiconductor technology are explored, offering insights into the evolving landscape.

Career guidance is shared, providing practical advice for navigating the field, along with success stories that highlight the journeys of professionals who have made their mark in VLSI. Whether for students, professionals, or those interested in the subject, valuable knowledge is offered to help stay informed and succeed in this dynamic area. 🔥 Key Topics We Discuss: 🎓 M.S. vs. M.Tech – Is higher education essential for success? 💼 Campus vs. Off-Campus Jobs : Which is better, and how can students prepare for off-campus challenges? 🎯 Leadership & MBA Pathways : How to recognize and nurture leadership potential for future business leaders? 💡 India’s Semiconductor Boom : What curriculum changes are needed to match industry demands? 🤖 The Power of Embedded Systems : How are they transforming healthcare, consumer tech, and beyond? 📈 Tech Evolution & Platforms : RISC-V vs. Arduino vs. Raspberry Pi—where should students start? Join experts, industry leaders, and students as they share insights, experiences, and practical advice. Whether you're planning your next career move or just curious about the future of tech, this podcast has something for you! 🎙️🚀

Watch the Podcast Episode Here : HERE
Guest : Balajee Shesadri Balajee Seshadri is an experienced consultant currently working with Infineon Technologies. With a Master of Technology in Instrumentation from the Indian Institute of Technology, Kharagpur, and a Bachelor of Engineering in Electrical and Electronics Engineering from Alagappa Chettiar College of Engineering and Technology, Karaikudi, he has built an extensive career spanning 35 years. His expertise encompasses embedded hardware, VLSI, software, and training, with significant contributions in both India and the USA. Balajee has worked with reputed organizations, including HCL Limited and GDA Technologies, and has held leadership roles at firms like SAP Computers and ACCEL Automation. An accomplished author and educator, he has delivered corporate and academic training, authored books on electrical and embedded systems, and served as an industry advisor on academic boards. Watch Balaje Sir's videos on Embedded Systems: HERE Credits : Image by Lucas Wendt from Pixabay



🎙️ Learning to Learn: Insights from Balajee Shesadri 📚✨|TSP | Guest : Balajee Shesadri ( Part - I)

 




In this podcast series, discussion on VLSI and its related fields is presented, focusing on recent developments and advancements in the industry. Topics such as the latest trends and innovations in semiconductor technology are explored, offering insights into the evolving landscape.

Career guidance is shared, providing practical advice for navigating the field, along with success stories that highlight the journeys of professionals who have made their mark in VLSI. Whether for students, professionals, or those interested in the subject, valuable knowledge is offered to help stay informed and succeed in this dynamic area. In this episode, we explore: 🚀 Balajee Shesadri's journey: How he started, his achievements, and what fuels his passion for education. 📱 Generational shifts: How students today approach learning differently, especially with the influence of social media. 🧠 The memorization trap: Why students forget what they’ve learned and how to foster lasting, deeper learning. 🌐 Online learning post-pandemic: Strategies for using digital resources to become independent learners. This is a must-listen for students, educators, and anyone curious about the evolving world of learning! 🎧
Watch the podcast episode : HERE Guest : Balajee Shesadri

Balajee Seshadri is an experienced consultant currently working with Infineon Technologies. With a Master of Technology in Instrumentation from the Indian Institute of Technology, Kharagpur, and a Bachelor of Engineering in Electrical and Electronics Engineering from Alagappa Chettiar College of Engineering and Technology, Karaikudi, he has built an extensive career spanning 35 years. His expertise encompasses embedded hardware, VLSI, software, and training, with significant contributions in both India and the USA. Balajee has worked with reputed organizations, including HCL Limited and GDA Technologies, and has held leadership roles at firms like SAP Computers and ACCEL Automation. An accomplished author and educator, he has delivered corporate and academic training, authored books on electrical and embedded systems, and served as an industry advisor on academic boards.


Watch Balaje Sir's Lectures on Embedded Systems: Here

Credits : Image by Lucas Wendt from Pixabay