Skip to main content

Signal Electromigration (Signal EM): Violations, Examples, and Practical Fixes

  Hello Dear Readers,   Today in this post, I will provide some deep insight into the Signal Electromigration (Signal EM): Violations, Examples, and Practical Fixes. 1. Introduction: As technology nodes shrink into the deep‑submicron and nanometer regime (7nm, 5nm, 3nm and beyond), electromigration (EM) has become a first‑order reliability concern—not only for power/ground (PG) networks but also for signal nets. Signal EM failures are often underestimated because signal currents are transient and bidirectional. However, with higher switching activity, tighter metal pitches, thinner wires, and aggressive timing closure, signal EM can cause latent or early‑life failures if not addressed properly. This article explains: What Signal EM is and how it differs from PG EM Typical Signal EM violation scenarios Detailed, practical examples Root causes behind each violation Proven solutions and best practices to fix and prevent Signal EM issues 2. What is Signal Electromigration: El...

Internally Generated Clocks & Gated Clocks Modelling Using Verilog HDL

 Hello Dear Readers,

Today, I will explain how one can modeling an Internally and Gated clock using Verilog HDL.

1). Internally Generated Clocks:

Internally generated clock signals use a system or master clock and generate output as an internally generated clock signal. But, internally generated clock signals need to be avoided as it causes the functional and timing issues in the design. The functional and timing problems are due to the combinational logic propagation delays. The internally generated clock signals can generate a glitch or spike in the output. This can trigger the sequential logic multiple times or can generate undesired output. Even due to violation of setup or hold time these types of designs have timing violations. It is always recommended to generate the internal clocks by using register output logic. But still due to the propagation delay of the flip-flop, the overall cumulative delay or skew can generate glitches or spikes in the design. As shown below, Verilog RTL is described to generate the internal clocks. The generated internal clock signal is used by some other sequential procedural block. 

Verilog Code:

module internal_clock(in_1,in_2,clk,out);

input in_1,in_2,clk;

output reg out;

reg int_clk;

always@(posedge clk)

begin

int_clk<=in_1;

end

always@(posedge int_clk)

begin

out<=in_2;

end

endmodule

The synthesized logic is shown in Fig.1 and the first register is driven by clock ‘clk’ and the second register clock is driven by ‘int_clk’.

Fig.1

2). 
Gated Clocks:

Gated clock signals are used to enable switching at the clock input and can be used in single or multiple clock domain designs by using the enable inputs. When enable input is high the clock domain is on and when to enable input is low the clock domain is off. The clock gating logic is required to control the clock turn on or turn off. Clock gating is an efficient technique used in ASIC design to reduce the switching power at the clock input of the register. By using the clock gating structure, the clock switching can be stopped as and when required according to the design functional requirements. But the issue with the clock gating is it cannot be used in synchronous designs the reason being it introduces a significant amount of clock skew and even this technique introduces glitches. To avoid the glitches, special care needs to be taken by the ASIC design engineer. Verilog RTL is described below and uses enable input to control the clock switching activity. For ‘enable=1,’ the clock input ‘clk’ toggles, and for ‘enable=0’ clock input is permanently active low so no switching at the clock input. The synthesized logic is shown in Fig.2 where the clock is gated by using AND logic. 

Verilog Code:

module gated_clock(in_1,enable,clk,out);

input in_1,enable,clk;

output reg out;

wire clk_gated;

assign clk_gated=clk&&enable;

always@(posedge clk_gated)

begin

out<=in_1;

end

endmodule

Fig.2



Comments

  1. Thanks for posting

    ReplyDelete
  2. Now cleared doubts keep it up

    ReplyDelete
  3. wonderful explanation

    ReplyDelete
  4. Usually my lecture told that we should use OR gate for clock gating by giving input clock and Enable bar instead AND because
    Suppose En is high at level triggered with respective clk
    Then AND will do operation at Level trigger which is not absolutely correct.
    Clk gating must be high at edge trigger only.

    ReplyDelete
    Replies
    1. And gate has switching activity factor instead of OR gate so it's directly affect power dissipation during non operational time. Hope you understood.

      Good point of observation and discussion.

      Delete

Post a Comment

Popular posts from this blog

Exploring the Role of LEF Files in VLSI Chip Design: A Beginner's Guide

Hello Dear Readers,   Today in this post, I will provide some deep insight into the LEF file role during the VLSI Chip Design process. In VLSI (Very Large Scale Integration) design, a LEF file is a file that contains information about the physical geometry of the standard cells used in a circuit. LEF stands for Library Exchange Format. A standard cell is a pre-designed logic cell that contains a specific function, such as a flip-flop or an AND gate. Standard cells are designed to be easily combinable and scalable to create more complex circuits. The physical geometry of each standard cell is defined in the LEF file. The LEF file contains information such as the width, height, and position of the pins and metal layers of each standard cell. It also contains information about the physical design rules that govern the placement of these cells on the chip. LEF files are important in VLSI design because they enable the interoperability of different design tools from different vend...

Best Book for Designing Microarchitecture of Microprocessor Using Verilog HDL

  Hello Dear Readers, Currently, after succeeding in many topics now I starting to provide technical book reviews which were I have completed and still read books always. So let us start today's book review. Book Name:   Computer Principles and Design in Verilog  HDL Description:  Uses Verilog HDL to illustrate computer architecture and microprocessor design, allowing readers to readily simulate and adjust the operation of each design, and thus build industrially relevant skills Introduces the computer principles, computer design, and how to use Verilog HDL (Hardware Description Language) to implement the design Provides the skills for designing processor/arithmetic/cpu chips, including the unique application of Verilog HDL material for CPU (central processing unit) implementation Despite the many books on Verilog and computer architecture and microprocessor design, few, if any, use Verilog as a key tool in helping a student to understand these design techniques...

RTL Design Engineer at Skyroot Aerospace

Hello, Dear Readers, Skyroot Aerospace has a vacancy for the RTL Design Engineer role. About Skyroot Aerospace: A cutting-edge startup founded by ex-ISRO scientists. Dedicated to affordable space access, we're rewriting aerospace technology rules. Our dynamic team fosters inventiveness, collaboration, and relentless excellence. Join us on a transformative journey to redefine space possibilities. Welcome to the forefront of space innovation with Skyroot Aerospace! Purpose of role: Understand architectural requirements and Design micro-architecture, implement design blocks using VHDL/Verilog for FPGA based Avionics packages for orbital launch vehicles and ground infrastructure. Job Requirements: 2+ Years of RTL and system design experience. Strong knowledge on Digital System Design (DSD). Strong knowledge of RTL/SoC design/integration with VHDL/Verilog. Strong knowledge in problem solving and debugging skills. Ability to understand architectural requirements and Design micro-archite...