Skip to main content

Product Engineer II at Cadence Design Systems

Hello Dear Readers, Cadence Design Systems has a vacancy for a Product Engineer II role. Cadence is a pivotal leader in electronic design, building upon more than 30 years of computational software expertise. The company applies its underlying Intelligent System Design strategy to deliver software, hardware and IP that turn design concepts into reality.  Cadence customers are the world’s most innovative companies, delivering extraordinary electronic products from chips to boards to systems for the most dynamic market applications including consumer, hyperscale computing, 5G communications, automotive, aerospace industrial and health. The Cadence Advantage: The opportunity to work on cutting-edge technology in an environment that encourages you to be creative, innovative, and to make an impact. Cadence’s employee-friendly policies focus on the physical and mental well-being of employees, career development, providing opportunities for learning, and celebrating success in recog...

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

SDC (Synopsys Design Constraints) contents part 4

Today, we will be discussing the remaining constraints mentioned in the SDC, which pertain to timing exceptions and design rules. This is the final part of the SDC contents. This is going to be interesting, especially with multicycle paths. Take time to read and try to comprehend. 10. set_max_transition     By setting max transition value, our design checks that all ports and pins are meeting the specified limits mentioned in SDC. If these are not satisfied then timing report will give DRVs (design rule violations) in terms of slack. This is specified as               set_max_transition 0.5  UBUF1/A setting maximum limit of 500ps on pin A of Buffer1. 11. set_max_capacitance     This is same as max transition, setting the maximum capacitance value. if our design not meeting this value then violation will occur. This will also reports under design rule violations in terms of slack.     set_max_capacitance 0.7 [all_...

Apprenticeship CAI at MediaTek Bangalore

Hello Dear Readers,   Currently at MediaTek Bangalore vacancy for an Apprenticeship CAI role. Job Description: B.Tech degree in Electrical/Electronics Engineering with a strong educational background in Digital circuit design Experience in physical design of high performance design with frequencies > 2 Ghz. Experienced in hierarchical design, budgeting, multiple voltage domains and multiple clock domains. Strong skills with Cadence Encounter. Solid understanding of STA and timing constraints. Experienced in working on advanced process nodes (16nm). Strong expertise in Physical Verification to debug LVS/DRC issues at the block level. Requirement: B.Tech degree in Electrical/Electronics Engineering with strong educational background in Digital circuit design Experience in physical design of high performance design with frequencies > 2 Ghz. Experienced in hierarchical design, budgeting, multiple voltage domains and multiple clock domains. Strong skills with Cadence Enc...

IC Physical Design (PnR) at Ulkasemi

Hello Dear Readers,   Ulkasemi  has a vacancy for an IC Physical Design (PnR) role. Job Overview: As a full-time Trainee Engineer, the individual will be working on IC Physical Design implementation from RTL to GDSII to create design databases ready for manufacturing with a special focus on power, performance & area optimization with next-generation state-of-the-art process technologies. Job Responsibilities: Perform physical design implementation which includes Floor planning, Power Planning, Clock Tree Synthesis, Place and Route, ECO, Logic Equivalence checks Timing analysis, physical & electrical verification, driving the sign-off closure meeting schedule, and design goals Develop flow, methodologies, and automation scripts for various implementation steps Follow the instructions, compile documents, prepare deliverables, and report to the team lead Should remain up to date with the latest technology trends Educational Qualification:   B.Sc/M.Sc   in EEE or...