VLSI Interview Questions

--------------------------------------------------------------------------
For Any answers you may contact Aviral Mittal at avimit@yahoo.com
CopyRight (C) Aviral Mittal

--------------------------------------------------------------------------

1(a). What you would use in RTL a 'boolean' type or a 'std_logic' type and why.
1(b). What are/may be the implications of using an 'integer' type in RTL.
2). What you would use a RAM or a regfile discuss:
RAM: Low Power, Low Area
REGFILE: better timing.
3). A timing path fails: what are your options?
Ans: a). Look for parallelism in RTL.
     b). Look for small RAMs which might be synthesized
     c). Look for better placement
     d). Look for Pipelining opportunity
     e). Look for moving logic before the Reg
     f). Look for replicating the drivers to reduce load if the delay is
      caused by loading
     g). '< or >' are better than -, when comparators are used in RTL
     h). Look for if..elsif..elseif..elsif
     i). Use One Hot instead of Binary coded State Registers
4). Any example you can provide in which verilog might be a prob
5). What are VHDL structures, give an example to exploit them
6). What is grey coding, any example where they are used
7). Discuss Async interfaces
8). Metastability
9). Synopsys unwanted latch
10). Verilog blocking vs non-blocking
11). VHDL variables: example where you have to use them
12). What is pipelining and how it may improve the performance
13). What are multicycle paths.
14). What are false paths
15). What are Async counters, what are advantages of using these
     over sync counters. and what are the disadvantages
16). q_in : IN std_logic
     variable q0 : std_logic
     variable q1 : std_logic
     variable q2 : std_logic
     q_out : OUT std_logic;

     if(rising_edge(clk)) then
       q0 := q_in;
       q1 := q0;
       q2 := q1;
       q_out <= q2;
     endif;

     what will be the result.

17). Sensitivity List:
     How does it matter.What will happen
     if you dont include a signal in the sensitivity list
     and use/read it inside the process
 

18). process(a_sig,b_sig)
     begin
     if(a_sig = '1' and b_sig = '0') then
       sig_out <= '1';
     else
       sig_out <= '0';
     end if;
     end process

     process(c_sig,d_sig)
     begin
     if(c_sig = '1' and d_sig = '0') then
       sig_out <= '1';
     else
       sig_out <= '0';
     end if;
     end process

Any thing wrong with the above code
Ans: Same signal being driven in two different processes

19). While writing a state machine in RTL
     it is generally recommended that the seq and combi logics
     should be written in different processes
     Even if its not a state machine, it is recommended
     that seq and combi logics should be written in
     different processes
     Any example you may give to support this recommendation
 

Ans: Sometime its desired to use the 'next_RegValue' which can
     only be accessed in recommended method, not in the
     method where you combine seq and combi parts into one
     seq process.

20). Following are two methods to determine if 'a_sig' is greater than 'b_sig'
Which one would you use and why?
     signal a_sig : std_logic_vector(n downto 0);
     signal b_sig : std_logic_vector(n downto 0);

     process(a_sig,bsig)
       variable c_sig : std_logic_vector(n downto 0);
     begin
       c_sig := a_sig-bsig;
       a_is_smaller <= c_sig(c_sig'high);
     end process;

     process(a_sig,bsig)
       variable c_sig : std_logic_vector(n downto 0);
     begin
       if(asig < bsig) then
         a_is_smaller <= '1';
       else
         a_is_smaller <= '0';
       end if;
     end process;

21). How you will implement a C language pointer in VHDL

22). A certain chip(silicon) fails hold test and another
     fails a setup test. Which one MAY still be used how and why

23). What is Design For Test and why it is done.

24). What is clock gating? How and why it is done.

25). Low Power: discuss how it may be done
Ans :  a) Clock Gating
       b) Reducing the frequency of operation using pipelining
       c) Shutting the power down
       d) Different voltage domains
       e) Reducing number of transitions, eg. using grey coding
       f) Bus Invert coding: invert bus if hamming distance is greater
          than 1/2 word size
       g) Async design techniques
26). Discuss disadvantages/challenges of shrinking technology
Ans : Leakage Power

27). Simulation Problem. Register going 'X' even when RTL has reset
     pin defining the state of register at power up reset. And such
     a reset has been applied in simulation.
28). Generally dc_shell tries to optimise the path with worst violation.
     Is there any thing that you can do to make it work on more paths
     parallely
Ans :Use group_path may be with 'critical_range' on that group

29). What is pipelining, how may it affect the performance of a design

30). What is the difference between transport delays and inertial delays in VHDL

31). What determines the max frequency a digital design may work on.
     Why thold(hold time) is not included in the calculation for the above.

32). What will happen if output of an inverter is shorted to its input

33). What is noise margin.

34). Why are p-mos larger than n-mos in CMOS design

35). Draw DC curve of inverter and Re-Draw it if pmos and nmos are
     equal
36). What is Latch-up

37). How can an Inverter work as an amplifier

38). Design a state machine to implement a edge detector That is.
The output of this state machine is a pulse of logic '1' of duration one
clock when ever there is a negative edge on an input signal. Given that
the frequency at which the negative edge is appearing on the input signal is
low as compared to the clock of the state machine

39). Design a state machine which divides the input frequency of a clock by 3.
Given that the phase change in the output due to propogation delay in of the
flip flop is acceptable up to a delay offered by a single flip flop only.

40). Why does a pass gate requires two transistors(1 N and 1 P type) Can we use a
single transistor N or P type in a pass gate? If not why? and if yes then in what conditions?

41). Why CMOS why not N-MOS or P-MOS logic, when we know that the number
of gates required in CMOS are grater than in n-mos or p-mos logic.

42). How much is the max fan out of a typical CMOS gate. Or alternatively,
discuss the limiting factors.

43). What are dynamic logic gates? What are their advantages over conventional logic gates

44). Design a digital circuit to delay the negative edge of the input signal by 2 clock cycles

45). What is the relation between binary encoding and grey(or gray) encoding.

46). Write a vhdl function to implement a length independent grey code counter.
alternatively, discuss the logic to do that.

47). How you will constraint a combinational logic path through your design
in dc_shell.

48). Make a T Flip Flop using a D Flip Flop

49). How you will make a Nand Gate function like an inverter.

50). Design a state machine to detect a '1101' pattern in a stream.
Detect both, overlapping and non overlapping patterns.

51). From a CMOS logic gate IC, the 40xx series, Take an inverter IC,
power it up, and leave the input of the inverter floating. Comment upon the
ouput of this inverter.
Similarly take a TTL logic gate IC, the 74xx series. Take an inverter IC,
power it up, and leave the input of the inverter floating. Comment upon the
output of this inverter.
52). What are LFSRs, example usage?

53). What are MISRs, example usage?