Skip to content

VLSIFacts

Let's Program the Transistors

  • Home
  • DHD
    • Digital Electronics
    • Fault Tolerant System Design
    • TLM
    • Verification
    • Verilog
    • VHDL
    • Xilinx
  • Embedded System
    • 8085 uP
    • 8086 uP
    • 8051 uC
  • VLSI Technology
    • Analog Electronics
    • Memory Devices
    • VLSI Circuits
  • Interview
    • Interview Experience
    • Training Experience
    • Question Bank
  • Notifications
  • QUIZ
  • Community
  • Job Board
  • Contact Us
  • Toggle search form

Synopsys – Interview Questions – based on Synthesis and Simulation

Posted on January 19, 2016June 16, 2025 By Priyadarshi No Comments on Synopsys – Interview Questions – based on Synthesis and Simulation

This post contains some very interesting interview questions asked by Synopsys the EDA giant in its interview. The questions are based on Verilog Synthesis and Simulation. Though I have included the answers; I would encourage the reader to experiment himself or herself and then discuss these in the forum.

1. How a latch gets inferred in RTL design?

Ans. A latch gets inferred in the RTL design:-

  • When there is no “else / default” statement in the “if / case” statements; in short if all possibilities of the conditions are not covered.
  • When all the outputs reg are not assigned the values in every condition of the “if / case” statement and some are left out, on the left out signals a latch gets inferred.

2. Does a latch get inferred when there is no else statement but multiple ifs covering whole functionality?

Ans. Conceptually no latch should be inferred but sometimes the synthesis tools are not intelligent enough and they might infer a latch. In order to avoid that, the safest way is to use an “else / default” statement in “if / case” respectively.

3. If there is an asynchronous feedback loop what is the problem?

Ans. If there is an asynchronous loop in the design the circuit becomes oscillatory or it may reach a stable state where it might get hung and it could not get out.

4. If an oscillatory circuit is there; what happens during (a) RTL Synthesis (b) Simulation?

Ans. (a) During the RTL synthesis, the synthesis tool will give a warning during synthesis about the combinatorial feedback loop.

(b) During the simulation the simulation will get stopped saying the Iteration limit reached.

5. Where can we use Linting tools ? Can we use them to debug syntax?

Ans. Linting tools are used to evaluate the design for the synthesizability of the design. These tools are use to check for potential mismatches between simulation and synthesis. No they are not used to check the syntax.

6. What can be done to break the combinational loop?

Ans. By adding synchronous elements in the path. If it is really needed and if the design permits then by adding the buffers in the path.

7. why we use B.A (Blocking Assignments) and N.B.A (Non Blocking Assignments)?

Ans. B.A are used to model combinatorial logic as the value is of continuous assignment and doesn’t depend on the previous value, while N.B.A are used to model sequential circuits as the previous value is needed to propagate.

8. What will be the output of the following code?

always ( * )
begin
   a = b + d;
   a = c + b;
end

Ans. This is actually a race condition and the tool will take the last assignment on “a”.

9. Is there a latch in the following code? What if the “sel” value is “X”. What will be the simulation result?

always @ ( en )
begin
   dout = 0
   case ( sel )
      1'b0: dout = in ;
end

Ans. No There is no Latch as dout=0 before the case statement will be executed. Even if the “sel” value is “X”, no latch would be formed as “dout” has been already initialized to “0”.

10. Is there a latch in the following code? What if the “sel” value is “X”. What will be the simulation result?

always @ ( en )
begin
   dout = 0
   case ( sel )
      1'b0: dout = in ;
      default : dout = 1;
end

Ans. No There is no latch as the default statement is present and the output will be govern by the case statement.

11. If no parameters in the always sensitivity list, how the always block executes?

Ans. It will repeat itself like a forever loop but the performance will degrade.

12. Tell the scenarios where synthesis error occurs.

Ans. A synthesis error can occur in the following scenarios:

  1. When there is multiple assignments on the same signal in two different blocks, “a multiple driver found” message will come.
  2. When there is mixture of asynchronous reset with some other signal and that signal is not used in the sensitivity list; basically mixing of multiple edges and synchronous and asynchronous elements are not allowed.
  3. No element in the always block sensitivity list.
  4. Mixing of B.A and N.B.A on the same signal in two different conditional statements.
  5. If reg datatypes are used in assign statements, etc.

13. Is the following code synthesizable?

always @ (posedge clk1 or negedge clk2)
begin
    if (!clk2) // Asynchronous active-low reset
        dout <= 0;
    else
        dout <= din; // Update dout with din on the rising edge of clk1
end

Ans. Yes it is synthesizable try to read clk2 as active low reset.

Spread the Word

  • Click to share on Facebook (Opens in new window) Facebook
  • Click to share on X (Opens in new window) X
  • Click to share on LinkedIn (Opens in new window) LinkedIn
  • Click to share on Pinterest (Opens in new window) Pinterest
  • Click to share on Tumblr (Opens in new window) Tumblr
  • Click to share on Pocket (Opens in new window) Pocket
  • Click to share on Reddit (Opens in new window) Reddit
  • Click to email a link to a friend (Opens in new window) Email
  • Click to print (Opens in new window) Print

Like this:

Like Loading...

Related posts:

  1. Synthesis and Functioning of Blocking and Non-Blocking Assignments.
  2. Case and Conditional Statements Synthesis CAUTION !!!
  3. Verilog vs VHDL
  4. Interview Experience – Silicon Interfaces – for Trainee VLSI Design (Off Campus)
DHD, Digital Electronics, Interview, Interview Experience, Verilog Tags:Interview, Simulation, Synopsys, Synthesis, Verilog

Post navigation

Previous Post: Aricent Technologies – Technical Interviews Question Bank – Part 4
Next Post: Aricent Technologies – Technical Interviews Question Bank – Part 5

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

Top Posts & Pages

  • ASCII Code
  • Circuit Design of a 4-bit Binary Counter Using D Flip-flops
  • NAND and NOR gate using CMOS Technology
  • AND and OR gate using CMOS Technology
  • Difference between $display, $monitor, $write and $strobe in Verilog


 

Copyright © 2025 VLSIFacts.

Powered by PressBook WordPress theme

%d