Wednesday, November 19, 2008

List of VLSI Companies

Alien Technology
AltaSens, Inc.
Altera Corporation
Amalfi Semiconductor
Ambric, Inc.
Amimon Ltd.
Amkor Technology, Inc. *
Analog Devices, Inc. (ADI)
Analogix Semiconductor
Apexone Microelectronics Inc.
Applied Micro Circuits Corporation (AMCC)
AppoTech Limited
ARM *
Aspex Semiconductor Ltd
Atheros Communications, Inc.
Audience, Inc.
austriamicrosystems AG
AuthenTec, Inc.
Avago Technologies
Azul Systems
Bay Microsystems, Inc.
BeSang Inc.
Bourns Inc.
BrightScale Inc.
Broadcom Corporation
BroadLogic Network Technologies
Cadence Design Systems, Inc. *
California Micro Devices Corp. (CMD)
Cambridge Semiconductor, Ltd. (CamSemi Ltd.)
Canesta, Inc.
Canova Tech Srl
Cavendish Kinetics *
Cavium Networks
CEC HuaDa Electronic Design Co., Ltd (HED)
Centillium Communications, Inc.
Chartered Semiconductor Manufacturing Inc. *
CHiL Semiconductor, Inc.
Chingis Technology Corporation
ChipX, Inc.
CISSOID S.A.
Comtech Advanced Hardware Architectures (AHA) Corporation
Conexant Systems, Inc.
Core Logic Inc.
Cortina Systems
Cpacket Networks
Crocus Technology SA
CSR, Plc.
Cswitch
Cyan Holdings Plc (Cyan Technology Ltd.)
Cypress Semiconductor Corporation
Datang Microelectronics Technology Co., Ltd (DMT)
Design of Systems On Silicon (DS2)
Dialog Semiconductor
DiBcom (Digital Broadband Communications)
Discera, Inc.
DisplayLink
DSP Group, Inc.
Dune Networks
Eastman Kodak - Image Sensor Solutions
Elonics Ltd
Ember Corporation
EMemory Technology Inc. (EMTC) *
Enpirion
EnSYNC Corporation *
Entropic Communications Inc.
eSilicon Corporation
Essensium
Etron Technology, Inc.
Exar Corporation
Fresco Microchip
Fujitsu Microelectronics America, Inc.
Fulcrum Microsystems
Gardere Wynne Sewell Llp
GCT Semiconductor
Gennum Corporation
GigOptix-Helix AG
Global Unichip Corporation (GUC)
GTronix, Inc.
Hifn
Himax Technologies, Inc.
HiSilicon Technologies Co., Ltd.
Holtek Semiconductor Inc.
IBM
Icera Inc.
Ikanos Communications, Inc.
Impinj, Inc.
Inapac Technology, Inc.
INCIDE, S.A.
Infineon Technologies AG
Innofidei Inc.
Innovasic Semiconductor
Innovision Research & Technology Plc
Inphi Corporation
Integrated Device Technology (IDT)
Integrated Silicon Solution, Inc. (ISSI)
Intel Corporation
IntellaSys Corp.
Intellon
International Rectifier
Intersil Corporation
IPextreme *
Jacket Micro Devices (JMD)
Jazz Semiconductor, Inc., a Tower Group Company *
Jennic, Ltd.
JSC Mikron
Key ASIC, Inc.
L-3 Communications, Infrared Products
Legend Silicon Corporation
LogicVision, Inc. *
LSI Corporation
Luminary Micro Inc.
LV Sensors, Inc.
M2000 International Inc.
Macronix International Co., Ltd. (MXIC)
MagIC Technologies
MagnaChip Semiconductor, Inc.
Magnolia Broadband, Inc.
Magnum Semiconductor
Marvell Semiconductor, Inc.
MediaTek Inc.
Medtronic Microelectronics Center
Mellanox Technologies, Inc.
Mentor Graphics Corporation *
MetaRAM
Micro Analog Systems Oy
Microbridge Technologies
Micronas Semiconductor Holding AG (Micronas Group)
Microsemi Corporation
Mindspeed Technologies, Inc.
Miradia Inc.
Mobilygen Corporation
Mobius Microsystems, Inc.
MosChip Semiconductor Technology
MSilica Incorporated
Multigig, Inc.
N-Trig Ltd.
Nanoradio AB
NEC Electronics Corporation
Nethra Imaging
NetLogic Microsystems, Inc.
Newport Media, Inc.
NextIO, Inc.
NextWave Wireless Inc.
Nordic Semiconductor ASA
Novatek Microelectronics Corporation
NVIDIA Corporation
NXP Semiconductors
Octasic, Inc.
Open-Silicon, Inc.
Optichron Inc.
Oxford Semiconductor, Inc.
ParkerVision, Inc.
Phyworks Ltd.
PicoChip Designs Limited
Pixelworks, Inc.
Pixim, Inc.
PLX Technology, Inc.
PMC-Sierra, Inc.
Powerchip Semiconductor Corporation (PSC)
Powervation Ltd.
Primarion, An Infineon Technologies Company
Pulse-Link Inc.
PulseCore Semiconductor
QP Semiconductor, Inc.
QUALCOMM
QuickLogic Corporation
Quintic Corporation
Rapid Bridge LLC *
Rapport, Inc.
Redpine Signals Inc.
RF Micro Devices (RFMD)
RichWave Technology Corp.
RMI Corporation
Samsung Electronics Co., Ltd.
SanDisk Corporation
Scintera Networks, Inc.
Semtech Corporation
Sequoia Communications
Shanghai Huahong Integrated Circuit Co., Ltd.
SiBEAM, Inc.
Sicon Semiconductor AB
SiGe Semiconductor, Inc.
Silicon Laboratories
Silicon Motion
Silicon Storage Technology, Inc. (SST)
Silterra Malaysia Sdn. Bhd. *
Simtek Corporation
SiPort
SiRF Technology, Inc.
SiTel Semiconductor B.V.
Skyworks Solutions, Inc.
Solid State Devices Inc.
Spreadtrum Communications Inc.
Staccato Communications
Standard Microsystems Corporation (SMSC)
STATS ChipPAC Ltd. *
STMicroelectronics
Summit Microelectronics, Inc.
Sunplus Technology Company
Symwave
Synopsys, Inc. *
Tabula, Inc.
Taiwan Semiconductor Manufacturing Corporation (TSMC) *
Tekmos
Teknovus, Inc.
Telegent Systems
Teradici Corporation
Teranetics
The Western Design Center, Inc. (WDC)
Thomson
Tilera Corporation
TM Technology Inc. (TMTECH)
Toshiba America Electronic Components, Inc.
Transmeta Corporation *
TranSwitch Corporation
Triad Semiconductor, Inc.
Tundra Semiconductor Corporation
TZero Technologies, Inc.
u-Nav Microelectronics Corporation
Ubicom, Inc.
Ubidyne
Union Semiconductor Inc.
United Microelectronics Corporation (UMC) *
Unity Semiconductor
Verigy Ltd. *
VeriSilicon, Inc. *
VIA Technologies, Inc.
Vimicro International Corporation
Vitesse Semiconductor Corporation
Vivace Semiconductor Inc.
ViXS Systems, Inc.
Volterra Semiconductor Corporation
VT Silicon
Wintegra, Inc.
WiQuest Communications, Inc.
WiSpry, Inc.
Wolfson Microelectronics
Xceive Inc.
Xelerated AB
Xilinx, Inc.
XMOS Semiconductor Ltd.
Zilker Labs, Inc.
ZiLOG, Inc.
Ziptronix, Inc. *
ZMOS Technology, Inc.
Zoran Corporation

Monday, November 17, 2008

CMOS Interview Questions

1. Explain why & how a MOSFET works
2. Draw Vds-Ids curve for a MOSFET. Now, show how this curve changes (a) with increasing Vgs (b) with increasing transistor width (c) considering Channel Length Modulation
3. Explain the various MOSFET Capacitances & their significance
4. Draw a CMOS Inverter. Explain its transfer characteristics
5. Explain sizing of the inverter
6. How do you size NMOS and PMOS transistors to increase the threshold voltage?
7. What is Noise Margin? Explain the procedure to determine Noise Margin
8. Give the expression for CMOS switching power dissipation
9. What is Body Effect?
10. Describe the various effects of scaling
11. Give the expression for calculating Delay in CMOS circuit
12. What happens to delay if you increase load capacitance?
13. What happens to delay if we include a resistance at the output of a CMOS circuit?
14. What are the limitations in increasing the power supply to reduce delay?
15. How does Resistance of the metal lines vary with increasing thickness and increasing length?
16. You have three adjacent parallel metal lines. Two out of phase signals pass through the outer two metal lines. Draw the waveforms in the center metal line due to interference. Now, draw the signals if the signals in outer metal lines are in phase with each other
17. What happens if we increase the number of contacts or via from one metal layer to the next?
18. Draw a transistor level two input NAND gate. Explain its sizing (a) considering Vth (b) for equal rise and fall times
19. Let A & B be two inputs of the NAND gate. Say signal A arrives at the NAND gate later than signal B. To optimize delay, of the two series NMOS inputs A & B, which one would you place near the output?
20. Draw the stick diagram of a NOR gate. Optimize it
21. For CMOS logic, give the various techniques you know to minimize power consumption
22. What is Charge Sharing? Explain the Charge Sharing problem while sampling data from a Bus
23. Why do we gradually increase the size of inverters in buffer design? Why not give the output of a circuit to one large inverter?
24. In the design of a large inverter, why do we prefer to connect small transistors in parallel (thus increasing effective width) rather than lay out one transistor with large width?
25. Given a layout, draw its transistor level circuit. (I was given a 3 input AND gate and a 2 input Multiplexer. You can expect any simple 2 or 3 input gates)
26. Give the logic expression for an AOI gate. Draw its transistor level equivalent. Draw its stick diagram
27. Why don’t we use just one NMOS or PMOS transistor as a transmission gate?
28. For a NMOS transistor acting as a pass transistor, say the gate is connected to VDD, give the output for a square pulse input going from 0 to VDD
29. Draw a 6-T SRAM Cell and explain the Read and Write operations
30. Draw the Differential Sense Amplifier and explain its working. Any idea how to size this circuit? (Consider Channel Length Modulation)
31. What happens if we use an Inverter instead of the Differential Sense Amplifier?
32. Draw the SRAM Write Circuitry
33. Approximately, what were the sizes of your transistors in the SRAM cell? How did you arrive at those sizes?
34. How does the size of PMOS Pull Up transistors (for bit & bit- lines) affect SRAM’s performance?
35. What’s the critical path in a SRAM?
36. Draw the timing diagram for a SRAM Read. What happens if we delay the enabling of Clock signal?
37. Give a big picture of the entire SRAM Layout showing your placements of SRAM Cells, Row Decoders, Column Decoders, Read Circuit, Write Circuit and Buffers
38. In a SRAM layout, which metal layers would you prefer for Word Lines and Bit Lines? Why?
39. How can you model a SRAM at RTL Level?
40. What’s the difference between Testing & Verification?
41. For an AND-OR implementation of a two input Mux, how do you test for Stuck-At-0 and Stuck-At-1 faults at the internal nodes? (You can expect a circuit with some redundant logic)
42. What is Latch Up? Explain Latch Up with cross section of a CMOS Inverter. How do you avoid Latch Up?
===============================================================
1. Give two ways of converting a two input NAND gate to an inverter
2. Given a circuit, draw its exact timing response. (I was given a Pseudo Random Signal Generator; you can expect any sequential ckt)
3. What are set up time & hold time constraints? What do they signify? Which one is critical for estimating maximum clock frequency of a circuit?
4. Give a circuit to divide frequency of clock cycle by two
5. Design a divide-by-3 sequential circuit with 50% duty circle. (Hint: Double the Clock)
6. Suppose you have a combinational circuit between two registers driven by a clock. What will you do if the delay of the combinational circuit is greater than your clock signal? (You can’t resize the combinational circuit transistors)
7. The answer to the above question is breaking the combinational circuit and pipelining it. What will be affected if you do this?
8. What are the different Adder circuits you studied?
9. Give the truth table for a Half Adder. Give a gate level implementation of the same.
10. Draw a Transmission Gate-based D-Latch.
11. Design a Transmission Gate based XOR. Now, how do you convert it to XNOR? (Without inverting the output)
12. How do you detect if two 8-bit signals are same?
13. How do you detect a sequence of "1101" arriving serially from a signal line?
14. Design any FSM in VHDL or Verilog.
15. Explain RC circuit’s charging and discharging.
16. Explain the working of a binary counter.
17. Describe how you would reverse a singly linked list.

FPGA Interview Questions

1) What is minimum and maximum frequency of dcm in spartan-3 series fpga?

Spartan series dcm’s have a minimum frequency of 24 MHZ and a maximum of 248

2)Tell me some of constraints you used and their purpose during your design?

There are lot of constraints and will vary for tool to tool ,I am listing some of Xilinx constraints
a) Translate on and Translate off: the Verilog code between Translate on and Translate off is ignored for synthesis.
b) CLOCK_SIGNAL: is a synthesis constraint. In the case where a clock signal goes through combinatorial logic before being connected to the clock input of a flip-flop, XST cannot identify what input pin or internal net is the real clock signal. This constraint allows you to define the clock net.
c) XOR_COLLAPSE: is synthesis constraint. It controls whether cascaded XORs should be collapsed into a single XOR.
For more constraints detailed description refer to constraint guide.

3) Suppose for a piece of code equivalent gate count is 600 and for another code equivalent gate count is 50,000 will the size of bitmap change?in other words will size of bitmap change it gate count change?

The size of bitmap is irrespective of resource utilization, it is always the same,for Spartan xc3s5000 it is 1.56MB and will never change.

4) What are different types of FPGA programming modes?what are you currently using ?how to change from one to another?

Before powering on the FPGA, configuration data is stored externally in a PROM or some other nonvolatile medium either on or off the board. After applying power, the configuration data is written to the FPGA using any of five different modes: Master Parallel, Slave Parallel, Master Serial, Slave Serial, and Boundary Scan (JTAG). The Master and Slave Parallel modes
Mode selecting pins can be set to select the mode, refer data sheet for further details.

5) Tell me some of features of FPGA you are currently using?

I am taking example of xc3s5000 to answering the question .

Very low cost, high-performance logic solution for
high-volume, consumer-oriented applications
- Densities as high as 74,880 logic cells
- Up to 784 I/O pins
- 622 Mb/s data transfer rate per I/O
- 18 single-ended signal standards
- 6 differential I/O standards including LVDS, RSDS
- Termination by Digitally Controlled Impedance
- Signal swing ranging from 1.14V to 3.45V
- Double Data Rate (DDR) support
• Logic resources
- Abundant logic cells with shift register capability
- Wide multiplexers
- Fast look-ahead carry logic
- Dedicated 18 x 18 multipliers
- Up to 1,872 Kbits of total block RAM
- Up to 520 Kbits of total distributed RAM
• Digital Clock Manager (up to four DCMs)
- Clock skew elimination
• Eight global clock lines and abundant routing

6) What is gate count of your project?

Well mine was 3.2 million, I don’t know yours.!

7) Can you list out some of synthesizable and non synthesizable constructs?

not synthesizable->>>>
initial
ignored for synthesis.
delays
ignored for synthesis.
events
not supported.
real
Real data type not supported.
time
Time data type not supported.
force and release
Force and release of data types not supported.
fork join
Use nonblocking assignments to get same effect.
user defined primitives
Only gate level primitives are supported.

synthesizable constructs->>
assign,for loop,Gate Level Primitives,repeat with constant value...

8)Can you explain what struck at zero means?

These stuck-at problems will appear in ASIC. Some times, the nodes will permanently tie to 1 or 0 because of some fault. To avoid that, we need to provide testability in RTL. If it is permanently 1 it is called stuck-at-1 If it is permanently 0 it is called stuck-at-0.

9) Can you draw general structure of fpga?

10) Difference between FPGA and CPLD?

FPGA:
a)SRAM based technology.
b)Segmented connection between elements.
c)Usually used for complex logic circuits.
d)Must be reprogrammed once the power is off.
e)Costly

CPLD:
a)Flash or EPROM based technology.
b)Continuous connection between elements.
c)Usually used for simpler or moderately complex logic circuits.
d)Need not be reprogrammed once the power is off.
e)Cheaper

11) What are dcm's?why they are used?

Digital clock manager (DCM) is a fully digital control system that
uses feedback to maintain clock signal characteristics with a
high degree of precision despite normal variations in operating
temperature and voltage.
That is clock output of DCM is stable over wide range of temperature and voltage , and also skew associated with DCM is minimal and all phases of input clock can be obtained . The output of DCM coming form global buffer can handle more load.


12) FPGA design flow?

13)what is slice,clb,lut?

I am taking example of xc3s500 to answer this question

The Configurable Logic Blocks (CLBs) constitute the main logic resource for implementing synchronous as well as combinatorial circuits.
CLB are configurable logic blocks and can be configured to combo,ram or rom depending on coding style
CLB consist of 4 slices and each slice consist of two 4-input LUT (look up table) F-LUT and G-LUT.

14) Can a clb configured as ram?

YES.

The memory assignment is a clocked behavioral assignment, Reads from the memory are asynchronous, And all the address lines are shared by the read and write statements.

15)What is purpose of a constraint file what is its extension?

The UCF file is an ASCII file specifying constraints on the logical design. You create this file and enter your constraints in the file with a text editor. You can also use the Xilinx Constraints Editor to create constraints within a UCF(extention) file. These constraints affect how the logical design is implemented in the target device. You can use the file to override constraints specified during design entry.

16) What is FPGA you are currently using and some of main reasons for choosing it?

17) Draw a rough diagram of how clock is routed through out FPGA?



18) How many global buffers are there in your current fpga,what is their significance?

There are 8 of them in xc3s5000
An external clock source enters the FPGA using a Global Clock Input Buffer (IBUFG), which directly accesses the global clock network or an Input Buffer (IBUF). Clock signals within the FPGA drive a global clock net using a Global Clock Multiplexer Buffer (BUFGMUX). The global clock net connects directly to the CLKIN input.

19) What is frequency of operation and equivalent gate count of u r project?

20)Tell me some of timing constraints you have used?

21)Why is map-timing option used?

Timing-driven packing and placement is recommended to improve design performance, timing, and packing for highly utilized designs.

22)What are different types of timing verifications?

Dynamic timing:
a. The design is simulated in full timing mode.
b. Not all possibilities tested as it is dependent on the input test vectors.
c. Simulations in full timing mode are slow and require a lot of memory.
d. Best method to check asynchronous interfaces or interfaces between different timing domains.
Static timing:
a. The delays over all paths are added up.
b. All possibilities, including false paths, verified without the need for test vectors.
c. Much faster than simulations, hours as opposed to days.
d. Not good with asynchronous interfaces or interfaces between different timing domains.

23) Compare PLL & DLL ?

PLL:
PLLs have disadvantages that make their use in high-speed designs problematic, particularly when both high performance and high reliability are required.
The PLL voltage-controlled oscillator (VCO) is the greatest source of problems. Variations in temperature, supply voltage, and manufacturing process affect the stability and operating performance of PLLs.

DLLs, however, are immune to these problems. A DLL in its simplest form inserts a variable delay line between the external clock and the internal clock. The clock tree distributes the clock to all registers and then back to the feedback pin of the DLL.
The control circuit of the DLL adjusts the delays so that the rising edges of the feedback clock align with the input clock. Once the edges of the clocks are aligned, the DLL is locked, and both the input buffer delay and the clock skew are reduced to zero.
Advantages:
· precision
· stability
· power management
· noise sensitivity
· jitter performance.


24) Given two ASICs. one has setup violation and the other has hold violation. how can they be made to work together without modifying the design?

Slow the clock down on the one with setup violations..
And add redundant logic in the path where you have hold violations.

25)Suggest some ways to increase clock frequency?

· Check critical path and optimize it.
· Add more timing constraints (over constrain).
· pipeline the architecture to the max possible extent keeping in mind latency req's.

26)What is the purpose of DRC?

DRC is used to check whether the particular schematic and corresponding layout(especially the mask sets involved) cater to a pre-defined rule set depending on the technology used to design. They are parameters set aside by the concerned semiconductor manufacturer with respect to how the masks should be placed , connected , routed keeping in mind that variations in the fab process does not effect normal functionality. It usually denotes the minimum allowable configuration.

27)What is LVs and why do we do that. What is the difference between LVS and DRC?

The layout must be drawn according to certain strict design rules. DRC helps in layout of the designs by checking if the layout is abide by those rules.
After the layout is complete we extract the netlist. LVS compares the netlist extracted from the layout with the schematic to ensure that the layout is an identical match to the cell schematic.

28)What is DFT ?

DFT means design for testability. 'Design for Test or Testability' - a methodology that ensures a design works properly after manufacturing, which later facilitates the failure analysis and false product/piece detection
Other than the functional logic,you need to add some DFT logic in your design.This will help you in testing the chip for manufacturing defects after it come from fab. Scan,MBIST,LBIST,IDDQ testing etc are all part of this. (this is a hot field and with lots of opportunities)

29) There are two major FPGA companies: Xilinx and Altera. Xilinx tends to promote its hard processor cores and Altera tends to promote its soft processor cores. What is the difference between a hard processor core and a soft processor core?

A hard processor core is a pre-designed block that is embedded onto the device. In the Xilinx Virtex II-Pro, some of the logic blocks have been removed, and the space that was used for these logic blocks is used to implement a processor. The Altera Nios, on the other hand, is a design that can be compiled to the normal FPGA logic.

30)What is the significance of contamination delay in sequential circuit timing?


31)When are DFT and Formal verification used?

DFT:
· manufacturing defects like stuck at "0" or "1".
· test for set of rules followed during the initial design stage.

Formal verification:
· Verification of the operation of the design, i.e, to see if the design follows spec.
· gate netlist == RTL ?
· using mathematics and statistical analysis to check for equivalence.

32)What is Synthesis?

Synthesis is the stage in the design flow which is concerned with translating your Verilog code into gates - and that's putting it very simply! First of all, the Verilog must be written in a particular way for the synthesis tool that you are using. Of course, a synthesis tool doesn't actually produce gates - it will output a netlist of the design that you have synthesised that represents the chip which can be fabricated through an ASIC or FPGA vendor.

33)We need to sample an input or output something at different rates, but I need to vary the rate? What's a clean way to do this?

Many, many problems have this sort of variable rate requirement, yet we are usually constrained with a constant clock frequency. One trick is to implement a digital NCO (Numerically Controlled Oscillator). An NCO is actually very simple and, while it is most naturally understood as hardware, it also can be constructed in software. The NCO, quite simply, is an accumulator where you keep adding a fixed value on every clock (e.g. at a constant clock frequency). When the NCO "wraps", you sample your input or do your action. By adjusting the value added to the accumulator each clock, you finely tune the AVERAGE frequency of that wrap event. Now - you may have realized that the wrapping event may have lots of jitter on it. True, but you may use the wrap to increment yet another counter where each additional Divide-by-2 bit reduces this jitter. The DDS is a related technique. I have two examples showing both an NCOs and a DDS in my File Archive. This is tricky to grasp at first, but tremendously powerful once you have it in your bag of tricks. NCOs also relate to digital PLLs, Timing Recovery, TDMA and other "variable rate" phenomena.

VHDL Interview Questions

What is the difference between using direct instntiations and component ones except that you need to declare the component ?

What is the use of BLOCKS ?

What is the use of PROCEDURES?

What is the usage of using more then one architecture in an entity?

What is a D-latch? Write the VHDL Code for it?

Implement D flip-flop with a couple of latches? Write a VHDL Code for a D flip-flop?

Differences between Signals and Variables in VHDL? If the same code is written using Signals and Variables what does it synthesize to?

Differences between functions and Procedures in VHDL?

Explain the concept of a Clock Divider Circuit? Write a VHDL code for the same?

What you would use in RTL a 'boolean' type or a 'std_logic' type and why.

What are/may be the implications of using an 'integer' type in RTL.

A timing path fails: what are your options?

What are VHDL structures, give an example to exploit them

What is grey coding, any example where they are used

Discuss Async interfaces

Metastability

Synopsys unwanted latch

Verilog blocking vs non-blocking

VHDL variables: example where you have to use them

What is pipelining and how it may improve the performance

What are multicycle paths.

What are false paths

What are Async counters, what are advantages of using these over sync counters. and what are the disadvantages

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

How you will implement a C language pointer in VHDL

What is Design For Test and why it is done.

What is clock gating? How and why it is done.
Low Power: discuss how it may be done

Discuss disadvantages/challenges of shrinking technology

What is pipelining, how may it affect the performance of a design
What is the difference between transport delays and inertial delays in VHDL
What determines the max frequency a digital design may work on
Why thold(hold time) is not included in the calculation for the above.
What will happen if output of an inverter is shorted to its input
What is noise margin.
Why are p-mos larger than n-mos in CMOS design.
Draw DC curve of inverter and Re-Draw it if pmos and nmos are equal.
What is Latch-up
How can an Inverter work as an amplifier
Design a state machine which divides the input frequency of a clock by 3.

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?

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.

How much is the max fan out of a typical CMOS gate. Or alternatively,

discuss the limiting factors.

What are dynamic logic gates? What are their advantages over conventional logic gates

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

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

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

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

Make a T Flip Flop using a D Flip Flop

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

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

What are MISRs, example usage?

Verilog Interview Questions

1. What is the difference between Behavior modeling and RTL modeling?
2. What is the benefit of using Behavior modeling style over RTL modeling?
3. What is the difference between blocking assignments and non-blocking assignments ?
4. How do you implement the bi-directional ports in Verilog HDL
5. How to model inertial and transport delay using Verilog?
6. How to synchronize control signals and data between two different clock domains?
7. Create 4 bit multiplier using a ROM and what will be the size of the ROM. How can you realize it when the outputs are specified.
8. How can you swap 2 integers a and b, without using a 3rd variable
9. Which one is preferred? 1's complement or 2's complement and why?
10. Which one is preferred in FSM design? Mealy or Moore? Why?
11. Which one is preferred in design entry? RTL coding or Schematic? Why?
12. Design a 2 input OR gate using a 2:1 mux.
13. Design a 2 input AND gate using a 2 input XOR gate.
14. Design a hardware to implement following equations without using multipliers or dividers.
a. out = 7x + 8y;
b. out = .78x + .17y;
15. Design Gray counter to count 6.
16. Design XOR gate using just NAND gates.
17. Create "AND" gate using a 2:1 multiplexer. (Create all other gates too.)
18. How are blocking and non-blocking statements executed?
19. How do you model a synchronous and asynchronous reset in Verilog?
20. What happens if there is connecting wires width mismatch?
21. What are different options that can be used with $display statement in Verilog?
22. Give the precedence order of the operators in Verilog.
23. Should we include all the inputs of a combinational circuit in the sensitivity list? Give reason.
24. Give 10 commonly used Verilog keywords.
25. Is it possible to optimize a Verilog code such that we can achieve low power design?
26. Which is updated first: signal or variable?

Basic Digital Interview Questions

What is the function of a D flip-flop, whose inverted output is connected to its input ?


Design a circuit to divide input frequency by 2.


Design a divide-by-3 sequential circuit with 50% duty cycle.


Design a divide-by-5 sequential circuit with 50% duty cycle.


What are the different types of adder implementations ?


Draw a Transmission Gate-based D-Latch.


Give the truth table for a Half Adder. Give a gate level implementation of it.

Design an XOR gate from 2:1 MUX and a NOT gate


What is the difference between a LATCH and a FLIP-FLOP ?


* Latch is a level sensitive device while flip-flop is an edge sensitive device.
* Latch is sensitive to glitches on enable pin, whereas flip-flop is immune to glitches.
* Latches take less gates (also less power) to implement than flip-flops.
* Latches are faster than flip-flops.

Design a D Flip-Flop from two latches.

Design a 2 bit counter using D Flip-Flop.

What are the two types of delays in any digital system ?

Design a Transparent Latch using a 2:1 Mux.

Design a 4:1 Mux using 2:1 Muxes and some combo logic.

What is metastable state ? How does it occur ?


What is metastability ?


Design a 3:8 decoder


Design a FSM to detect sequence "101" in input sequence.


Convert NAND gate into Inverter, in two different ways.


Design a D and T flip flop using 2:1 mux; use of other components not allowed, just the mux.


Design a divide by two counter using D-Latch.


Design D Latch from SR flip-flop.


Define Clock Skew , Negative Clock Skew, Positive Clock Skew.


What is Race Condition ?


Design a 4 bit Gray Counter.


Design 4-bit Synchronous counter, Asynchronous counter.


Design a 16 byte Asynchronous FIFO.


What is the difference between an EEPROM and a FLASH ?


What is the difference between a NAND-based Flash and a NOR-based Flash ?


You are given a 100 MHz clock. Design a 33.3 MHz clock with and without 50&37; duty cycle.


Design a Read on Reset System ?


Which one is superior: Asynchronous Reset or Synchronous Reset ? Explain.


Design a State machine for Traffic Control at a Four point Junction.


What are FIFO's? Can you draw the block diagram of FIFO? Could you modify it to make it asynchronous FIFO ?


How can you generate random sequences in digital circuits?

Physical Design Interview Questions

Companywise ASIC/VLSI Interview Questions

Below questions are asked for senior position in Physical Design domain. The questions are also related to Static Timing Analysis and Synthesis. Answers to some questions are given as link. Remaining questions will be answered in coming blogs.


Common introductory questions every interviewer asks are:


* Discuss about the projects worked in the previous company.
* What are physical design flows, various activities you are involved?
* Design complexity, capacity, frequency, process technologies, block size you handled.


Intel

* Why power stripes routed in the top metal layers?

The resistivity of top metal layers are less and hence less IR drop is seen in power distribution network. If power stripes are routed in lower metal layers this will use good amount of lower routing resources and therefore it can create routing congestion.

* Why do you use alternate routing approach HVH/VHV (Horizontal-Vertical-Horizontal/ Vertical-Horizontal-Vertical)?

Answer:

This approach allows routability of the design and better usage of routing resources.


* What are several factors to improve propagation delay of standard cell?

Answer:

Improve the input transition to the cell under consideration by up sizing the driver.
Reduce the load seen by the cell under consideration, either by placement refinement or buffering.
If allowed increase the drive strength or replace with LVT (low threshold voltage) cell.

* How do you compute net delay (interconnect delay) / decode RC values present in tech file?
* What are various ways of timing optimization in synthesis tools?

Answer:

Logic optimization: buffer sizing, cell sizing, level adjustment, dummy buffering etc.

Less number of logics between Flip Flops speedup the design.

Optimize drive strength of the cell , so it is capable of driving more load and hence reducing the cell delay.

Better selection of design ware component (select timing optimized design ware components).

Use LVT (Low threshold voltage) and SVT (standard threshold voltage) cells if allowed.


* What would you do in order to not use certain cells from the library?

Answer:

Set don’t use attribute on those library cells.

* How delays are characterized using WLM (Wire Load Model)?

Answer:

For a given wireload model the delay are estimated based on the number of fanout of the cell driving the net.

Fanout vs net length is tabulated in WLMs.

Values of unit resistance R and unit capacitance C are given in technology file.

Net length varies based on the fanout number.

Once the net length is known delay can be calculated; Sometimes it is again tabulated.

* What are various techniques to resolve congestion/noise?

Answer:

Routing and placement congestion all depend upon the connectivity in the netlist , a better floor plan can reduce the congestion.

Noise can be reduced by optimizing the overlap of nets in the design.

* Let’s say there enough routing resources available, timing is fine, can you increase clock buffers in clock network? If so will there be any impact on other parameters?

Answer:

No. You should not increase clock buffers in the clock network. Increase in clock buffers cause more area , more power. When everything is fine why you want to touch clock tree??

* How do you optimize skew/insertion delays in CTS (Clock Tree Synthesis)?

Answer:

Better skew targets and insertion delay values provided while building the clocks.

Choose appropriate tree structure – either based on clock buffers or clock inverters or mix of clock buffers or clock inverters.

For multi clock domain, group the clocks while building the clock tree so that skew is balanced across the clocks. (Inter clock skew analysis).

* What are pros/cons of latch/FF (Flip Flop)?


* How you go about fixing timing violations for latch- latch paths?
* As an engineer, let’s say your manager comes to you and asks for next project die size estimation/projection, giving data on RTL size, performance requirements. How do you go about the figuring out and come up with die size considering physical aspects?
* How will you design inserting voltage island scheme between macro pins crossing core and are at different power wells? What is the optimal resource solution?
* What are various formal verification issues you faced and how did you resolve?
* How do you calculate maximum frequency given setup, hold, clock and clock skew?
* What are effects of metastability?


* Consider a timing path crossing from fast clock domain to slow clock domain. How do you design synchronizer circuit without knowing the source clock frequency?
* How to solve cross clock timing path?
* How to determine the depth of FIFO/ size of the FIFO?



STmicroelectronics

* What are the challenges you faced in place and route, FV (Formal Verification), ECO (Engineering Change Order) areas?
* How long the design cycle for your designs?
* What part are your areas of interest in physical design?
* Explain ECO (Engineering Change Order) methodology.
* Explain CTS (Clock Tree Synthesis) flow.


* What kind of routing issues you faced?
* How does STA (Static Timing Analysis) in OCV (On Chip Variation) conditions done? How do you set OCV (On Chip Variation) in IC compiler? How is timing correlation done before and after place and route?


* If there are too many pins of the logic cells in one place within core, what kind of issues would you face and how will you resolve?
* Define hash/ @array in perl.
* Using TCL (Tool Command Language, Tickle) how do you set variables?
* What is ICC (IC Compiler) command for setting derate factor/ command to perform physical synthesis?
* What are nanoroute options for search and repair?
* What were your design skew/insertion delay targets?
* How is IR drop analysis done? What are various statistics available in reports?
* Explain pin density/ cell density issues, hotspots?
* How will you relate routing grid with manufacturing grid and judge if the routing grid is set correctly?
* What is the command for setting multi cycle path?
* If hold violation exists in design, is it OK to sign off design? If not, why?


Texas Instruments (TI)

* How are timing constraints developed?
* Explain timing closure flow/methodology/issues/fixes.
* Explain SDF (Standard Delay Format) back annotation/ SPEF (Standard Parasitic Exchange Format) timing correlation flow.
* Given a timing path in multi-mode multi-corner, how is STA (Static Timing Analysis) performed in order to meet timing in both modes and corners, how are PVT (Process-Voltage-Temperature)/derate factors decided and set in the Primetime flow?
* With respect to clock gate, what are various issues you faced at various stages in the physical design flow?
* What are synthesis strategies to optimize timing?
* Explain ECO (Engineering Change Order) implementation flow. Given post routed database and functional fixes, how will you take it to implement ECO (Engineering Change Order) and what physical and functional checks you need to perform?


Qualcomm

* In building the timing constraints, do you need to constrain all IO (Input-Output) ports?
* Can a single port have multi-clocked? How do you set delays for such ports?
* How is scan DEF (Design Exchange Format) generated?
* What is purpose of lockup latch in scan chain?
* Explain short circuit current.

* What are pros/cons of using low Vt, high Vt cells?

* How do you set inter clock uncertainty?

Answer:

set_clock_uncertainty –from clock1 -to clock2

* In DC (Design Compiler), how do you constrain clocks, IO (Input-Output) ports, maxcap, max tran?
* What are differences in clock constraints from pre CTS (Clock Tree Synthesis) to post CTS (Clock Tree Synthesis)?

Answer:

Difference in clock uncertainty values; Clocks are propagated in post CTS.

In post CTS clock latency constraint is modified to model clock jitter.

* How is clock gating done?

* What constraints you add in CTS (Clock Tree Synthesis) for clock gates?

Answer:

Make the clock gating cells as through pins.

* What is trade off between dynamic power (current) and leakage power (current)?

Answer:

* How do you reduce standby (leakage) power?

* Explain top level pin placement flow? What are parameters to decide?
* Given block level netlists, timing constraints, libraries, macro LEFs (Layout Exchange Format/Library Exchange Format), how will you start floor planning?
* With net length of 1000um how will you compute RC values, using equations/tech file info?
* What do noise reports represent?
* What does glitch reports contain?
* What are CTS (Clock Tree Synthesis) steps in IC compiler?
* What do clock constraints file contain?
* How to analyze clock tree reports?
* What do IR drop Voltagestorm reports represent?
* Where /when do you use DCAP (Decoupling Capacitor) cells?
* What are various power reduction techniques?


Hughes Networks

* What is setup/hold? What are setup and hold time impacts on timing? How will you fix setup and hold violations?
* Explain function of Muxed FF (Multiplexed Flip Flop) /scan FF (Scal Flip Flop).
* What are tested in DFT (Design for Testability)?
* In equivalence checking, how do you handle scanen signal?
* In terms of CMOS (Complimentary Metal Oxide Semiconductor), explain physical parameters that affect the propagation delay?
* What are power dissipation components? How do you reduce them?

* How delay affected by PVT (Process-Voltage-Temperature)?

* Why is power signal routed in top metal layers?


Avago Technologies (former HP group)

* How do you minimize clock skew/ balance clock tree?
* Given 11 minterms and asked to derive the logic function.
* Given C1= 10pf, C2=1pf connected in series with a switch in between, at t=0 switch is open and one end having 5v and other end zero voltage; compute the voltage across C2 when the switch is closed?
* Explain the modes of operation of CMOS (Complimentary Metal Oxide Semiconductor) inverter? Show IO (Input-Output) characteristics curve.
* Implement a ring oscillator.
* How to slow down ring oscillator?


Hynix Semiconductor

* How do you optimize power at various stages in the physical design flow?
* What timing optimization strategies you employ in pre-layout /post-layout stages?
* What are process technology challenges in physical design?
* Design divide by 2, divide by 3, and divide by 1.5 counters. Draw timing diagrams.
* What are multi-cycle paths, false paths? How to resolve multi-cycle and false paths?
* Given a flop to flop path with combo delay in between and output of the second flop fed back to combo logic. Which path is fastest path to have hold violation and how will you resolve?
* What are RTL (Register Transfer Level) coding styles to adapt to yield optimal backend design?
* Draw timing diagrams to represent the propagation delay, set up, hold, recovery, removal, minimum pulse width.


About Contributor

ASIC_diehard has more than 5 years of experience in physical design, timing, netlist to GDS flows of Integrated Circuit development. ASIC_diehard's fields of interest are backend design, place and route, timing closure, process technologies.


Readers are encouraged to discuss answers to these questions. Just click on the 'post a comment' option below and put your comments there. Alternatively you can send your answers/discussions to my mail id: shavakmm@gmail.com
Physical Design Objective Type of Questions and Answers

* 1) Chip utilization depends on ___.

a. Only on standard cells
b. Standard cells and macros
c. Only on macros
d. Standard cells macros and IO pads

* 2) In Soft blockages ____ cells are placed.

a. Only sequential cells
b. No cells
c. Only Buffers and Inverters
d. Any cells

* 3) Why we have to remove scan chains before placement?

a. Because scan chains are group of flip flop
b. It does not have timing critical path
c. It is series of flip flop connected in FIFO
d. None

* 4) Delay between shortest path and longest path in the clock is called ____.

a. Useful skew
b. Local skew
c. Global skew
d. Slack

* 5) Cross talk can be avoided by ___.

a. Decreasing the spacing between the metal layers
b. Shielding the nets
c. Using lower metal layers
d. Using long nets

* 6) Prerouting means routing of _____.

a. Clock nets
b. Signal nets
c. IO nets
d. PG nets

* 7) Which of the following metal layer has Maximum resistance?

a. Metal1
b. Metal2
c. Metal3
d. Metal4

* 8) What is the goal of CTS?

a. Minimum IR Drop
b. Minimum EM
c. Minimum Skew
d. Minimum Slack

* 9) Usually Hold is fixed ___.

a. Before Placement
b. After Placement
c. Before CTS
d. After CTS

* 10) To achieve better timing ____ cells are placed in the critical path.

a. HVT
b. LVT
c. RVT
d. SVT

* 11) Leakage power is inversely proportional to ___.

a. Frequency
b. Load Capacitance
c. Supply voltage
d. Threshold Voltage

* 12) Filler cells are added ___.

a. Before Placement of std cells
b. After Placement of Std Cells
c. Before Floor planning
d. Before Detail Routing

* 13) Search and Repair is used for ___.

a. Reducing IR Drop
b. Reducing DRC
c. Reducing EM violations
d. None

* 14) Maximum current density of a metal is available in ___.

a. .lib
b. .v
c. .tf
d. .sdc

* 15) More IR drop is due to ___.

a. Increase in metal width
b. Increase in metal length
c. Decrease in metal length
d. Lot of metal layers

* 16) The minimum height and width a cell can occupy in the design is called as ___.

a. Unit Tile cell
b. Multi heighten cell
c. LVT cell
d. HVT cell

* 17) CRPR stands for ___.

a. Cell Convergence Pessimism Removal
b. Cell Convergence Preset Removal
c. Clock Convergence Pessimism Removal
d. Clock Convergence Preset Removal

* 18) In OCV timing check, for setup time, ___.

a. Max delay is used for launch path and Min delay for capture path
b. Min delay is used for launch path and Max delay for capture path
c. Both Max delay is used for launch and Capture path
d. Both Min delay is used for both Capture and Launch paths

* 19) "Total metal area and(or) perimeter of conducting layer / gate to gate area" is called ___.

a. Utilization
b. Aspect Ratio
c. OCV
d. Antenna Ratio

* 20) The Solution for Antenna effect is ___.

a. Diode insertion
b. Shielding
c. Buffer insertion
d. Double spacing

* 21) To avoid cross talk, the shielded net is usually connected to ___.

a. VDD
b. VSS
c. Both VDD and VSS
d. Clock

* 22) If the data is faster than the clock in Reg to Reg path ___ violation may come.

a. Setup
b. Hold
c. Both
d. None

* 23) Hold violations are preferred to fix ___.

a. Before placement
b. After placement
c. Before CTS
d. After CTS


* 24) Which of the following is not present in SDC ___?

a. Max tran
b. Max cap
c. Max fanout
d. Max current density

* 25) Timing sanity check means (with respect to PD)___.

a. Checking timing of routed design with out net delays
b. Checking Timing of placed design with net delays
c. Checking Timing of unplaced design without net delays
d. Checking Timing of routed design with net delays

* 26) Which of the following is having highest priority at final stage (post routed) of the design ___?

a. Setup violation
b. Hold violation
c. Skew
d. None

* 27) Which of the following is best suited for CTS?

a. CLKBUF
b. BUF
c. INV
d. CLKINV

* 28) Max voltage drop will be there at(with out macros) ___.

a. Left and Right sides
b. Bottom and Top sides
c. Middle
d. None

* 29) Which of the following is preferred while placing macros ___?

a. Macros placed center of the die
b. Macros placed left and right side of die
c. Macros placed bottom and top sides of die
d. Macros placed based on connectivity of the I/O

* 30) Routing congestion can be avoided by ___.

a. placing cells closer
b. Placing cells at corners
c. Distributing cells
d. None

* 31) Pitch of the wire is ___.

a. Min width
b. Min spacing
c. Min width - min spacing
d. Min width + min spacing

* 32) In Physical Design following step is not there ___.

a. Floorplaning
b. Placement
c. Design Synthesis
d. CTS

* 33) In technology file if 7 metals are there then which metals you will use for power?

a. Metal1 and metal2
b. Metal3 and metal4
c. Metal5 and metal6
d. Metal6 and metal7

* 34) If metal6 and metal7 are used for the power in 7 metal layer process design then which metals you will use for clock ?

a. Metal1 and metal2
b. Metal3 and metal4
c. Metal4 and metal5
d. Metal6 and metal7

* 35) In a reg to reg timing path Tclocktoq delay is 0.5ns and TCombo delay is 5ns and Tsetup is 0.5ns then the clock period should be ___.

a. 1ns
b. 3ns
c. 5ns
d. 6ns

* 36) Difference between Clock buff/inverters and normal buff/inverters is __.

a. Clock buff/inverters are faster than normal buff/inverters
b. Clock buff/inverters are slower than normal buff/inverters
c. Clock buff/inverters are having equal rise and fall times with high drive strengths compare to normal buff/inverters
d. Normal buff/inverters are having equal rise and fall times with high drive strengths compare to Clock buff/inverters.

* 37) Which configuration is more preferred during floorplaning ?

a. Double back with flipped rows
b. Double back with non flipped rows
c. With channel spacing between rows and no double back
d. With channel spacing between rows and double back

* 38) What is the effect of high drive strength buffer when added in long net ?

a. Delay on the net increases
b. Capacitance on the net increases
c. Delay on the net decreases
d. Resistance on the net increases.

* 39) Delay of a cell depends on which factors ?

a. Output transition and input load
b. Input transition and Output load
c. Input transition and Output transition
d. Input load and Output Load.

* 40) After the final routing the violations in the design ___.

a. There can be no setup, no hold violations
b. There can be only setup violation but no hold
c. There can be only hold violation not Setup violation
d. There can be both violations.

* 41) Utilisation of the chip after placement optimisation will be ___.

a. Constant
b. Decrease
c. Increase
d. None of the above

* 42) What is routing congestion in the design?

a. Ratio of required routing tracks to available routing tracks
b. Ratio of available routing tracks to required routing tracks
c. Depends on the routing layers available
d. None of the above

* 43) What are preroutes in your design?

a. Power routing
b. Signal routing
c. Power and Signal routing
d. None of the above.

* 44) Clock tree doesn't contain following cell ___.

a. Clock buffer
b. Clock Inverter
c. AOI cell
d. None of the above

* Answers:

1)b
2)c
3)b
4)c
5)b
6)d
7)a
8)c
9)d
10)b
11)d
12)d
13)b
14)c
15)b
16)a
17)c
18)a
19)d
20)a
21)b
22)b
23)d
24)d
25)c
26)b
27)a
28)c
29)d
30)c
31)d
32)c
33)d
34)c
35)d
36)c
37)a
38)c
39)b
40)d
41)c
42)a
43)a
44)c
Backend (Physical Design) Interview Questions and Answers

* Below are the sequence of questions asked for a physical design engineer.



In which field are you interested?

* Answer to this question depends on your interest, expertise and to the requirement for which you have been interviewed.

* Well..the candidate gave answer: Low power design


Can you talk about low power techniques?
How low power and latest 90nm/65nm technologies are related?

Do you know about input vector controlled method of leakage reduction?

* Leakage current of a gate is dependant on its inputs also. Hence find the set of inputs which gives least leakage. By applyig this minimum leakage vector to a circuit it is possible to decrease the leakage current of the circuit when it is in the standby mode. This method is known as input vector controlled method of leakage reduction.


How can you reduce dynamic power?

* -Reduce switching activity by designing good RTL
* -Clock gating
* -Architectural improvements
* -Reduce supply voltage
* -Use multiple voltage domains-Multi vdd

What are the vectors of dynamic power?

* Voltage and Current


How will you do power planning?

If you have both IR drop and congestion how will you fix it?

* -Spread macros
* -Spread standard cells
* -Increase strap width
* -Increase number of straps
* -Use proper blockage


Is increasing power line width and providing more number of straps are the only solution to IR drop?

* -Spread macros
* -Spread standard cells
* -Use proper blockage


In a reg to reg path if you have setup problem where will you insert buffer-near to launching flop or capture flop? Why?

* (buffers are inserted for fixing fanout voilations and hence they reduce setup voilation; otherwise we try to fix setup voilation with the sizing of cells; now just assume that you must insert buffer !)

* Near to capture path.

* Because there may be other paths passing through or originating from the flop nearer to lauch flop. Hence buffer insertion may affect other paths also. It may improve all those paths or degarde. If all those paths have voilation then you may insert buffer nearer to launch flop provided it improves slack.


How will you decide best floorplan?

What is the most challenging task you handled?
What is the most challenging job in P&R flow?

* -It may be power planning- because you found more IR drop
* -It may be low power target-because you had more dynamic and leakage power
* -It may be macro placement-because it had more connection with standard cells or macros
* -It may be CTS-because you needed to handle multiple clocks and clock domain crossings
* -It may be timing-because sizing cells in ECO flow is not meeting timing
* -It may be library preparation-because you found some inconsistancy in libraries.
* -It may be DRC-because you faced thousands of voilations


How will you synthesize clock tree?

* -Single clock-normal synthesis and optimization
* -Multiple clocks-Synthesis each clock seperately
* -Multiple clocks with domain crossing-Synthesis each clock seperately and balance the skew


How many clocks were there in this project?

* -It is specific to your project
* -More the clocks more challenging !


How did you handle all those clocks?

* -Multiple clocks-->synthesize seperately-->balance the skew-->optimize the clock tree


Are they come from seperate external resources or PLL?

* -If it is from seperate clock sources (i.e.asynchronous; from different pads or pins) then balancing skew between these clock sources becomes challenging.

* -If it is from PLL (i.e.synchronous) then skew balancing is comparatively easy.


Why buffers are used in clock tree?

* To balance skew (i.e. flop to flop delay)


What is cross talk?

* Switching of the signal in one net can interfere neigbouring net due to cross coupling capacitance.This affect is known as cros talk. Cross talk may lead setup or hold voilation.


How can you avoid cross talk?

* -Double spacing=>more spacing=>less capacitance=>less cross talk
* -Multiple vias=>less resistance=>less RC delay
* -Shielding=> constant cross coupling capacitance =>known value of crosstalk
* -Buffer insertion=>boost the victim strength


How shielding avoids crosstalk problem? What exactly happens there?

* -High frequency noise (or glitch)is coupled to VSS (or VDD) since shilded layers are connected to either VDD or VSS.

* Coupling capacitance remains constant with VDD or VSS.


How spacing helps in reducing crosstalk noise?

* width is more=>more spacing between two conductors=>cross coupling capacitance is less=>less cross talk


Why double spacing and multiple vias are used related to clock?

* Why clock?-- because it is the one signal which chages it state regularly and more compared to any other signal. If any other signal switches fast then also we can use double space.

* Double spacing=>width is more=>capacitance is less=>less cross talk

* Multiple vias=>resistance in parellel=>less resistance=>less RC delay



How buffer can be used in victim to avoid crosstalk?

* Buffer increase victims signal strength; buffers break the net length=>victims are more tolerant to coupled signal from aggressor.

Physical Design Questions and Answers

* I am getting several emails requesting answers to the questions posted in this blog. But it is very difficult to provide detailed answer to all questions in my available spare time. Hence i decided to give "short and sweet" one line answers to the questions so that readers can immediately benefited. Detailed answers will be posted in later stage.I have given answers to some of the physical design questions here. Enjoy !



What parameters (or aspects) differentiate Chip Design and Block level design?

* Chip design has I/O pads; block design has pins.

* Chip design uses all metal layes available; block design may not use all metal layers.

* Chip is generally rectangular in shape; blocks can be rectangular, rectilinear.

* Chip design requires several packaging; block design ends in a macro.


How do you place macros in a full chip design?

* First check flylines i.e. check net connections from macro to macro and macro to standard cells.

* If there is more connection from macro to macro place those macros nearer to each other preferably nearer to core boundaries.

* If input pin is connected to macro better to place nearer to that pin or pad.

* If macro has more connection to standard cells spread the macros inside core.

* Avoid criscross placement of macros.

* Use soft or hard blockages to guide placement engine.


Differentiate between a Hierarchical Design and flat design?

* Hierarchial design has blocks, subblocks in an hierarchy; Flattened design has no subblocks and it has only leaf cells.

* Hierarchical design takes more run time; Flattened design takes less run time.


Which is more complicated when u have a 48 MHz and 500 MHz clock design?

* 500 MHz; because it is more constrained (i.e.lesser clock period) than 48 MHz design.


Name few tools which you used for physical verification?

* Herculis from Synopsys, Caliber from Mentor Graphics.


What are the input files will you give for primetime correlation?

* Netlist, Technology library, Constraints, SPEF or SDF file.



If the routing congestion exists between two macros, then what will you do?

* Provide soft or hard blockage


How will you decide the die size?

* By checking the total area of the design you can decide die size.


If lengthy metal layer is connected to diffusion and poly, then which one will affect by antenna problem?

* Poly


If the full chip design is routed by 7 layer metal, why macros are designed using 5LM instead of using 7LM?

* Because top two metal layers are required for global routing in chip design. If top metal layers are also used in block level it will create routing blockage.


In your project what is die size, number of metal layers, technology, foundry, number of clocks?

* Die size: tell in mm eg. 1mm x 1mm ; remeber 1mm=1000micron which is a big size !!

* Metal layers: See your tech file. generally for 90nm it is 7 to 9.

* Technology: Again look into tech files.

* Foundry:Again look into tech files; eg. TSMC, IBM, ARTISAN etc

* Clocks: Look into your design and SDC file !


How many macros in your design?

* You know it well as you have designed it ! A SoC (System On Chip) design may have 100 macros also !!!!


What is each macro size and number of standard cell count?

* Depends on your design.


What are the input needs for your design?

* For synthesis: RTL, Technology library, Standard cell library, Constraints

* For Physical design: Netlist, Technology library, Constraints, Standard cell library


What is SDC constraint file contains?

* Clock definitions

* Timing exception-multicycle path, false path

* Input and Output delays


How did you do power planning? How to calculate core ring width, macro ring width and strap or trunk width? How to find number of power pad and IO power pads? How the width of metal and number of straps calculated for power and ground?

* Get the total core power consumption; get the metal layer current density value from the tech file; Divide total power by number sides of the chip; Divide the obtained value from the current density to get core power ring width. Then calculate number of straps using some more equations. Will be explained in detail later.

How to find total chip power?

* Total chip power=standard cell power consumption,Macro power consumption pad power consumption.


What are the problems faced related to timing?

* Prelayout: Setup, Max transition, max capacitance

* Post layout: Hold


How did you resolve the setup and hold problem?

* Setup: upsize the cells

* Hold: insert buffers


In which layer do you prefer for clock routing and why?

* Next lower layer to the top two metal layers(global routing layers). Because it has less resistance hence less RC delay.


If in your design has reset pin, then it’ll affect input pin or output pin or both?

* Output pin.


During power analysis, if you are facing IR drop problem, then how did you avoid?

* Increase power metal layer width.

* Go for higher metal layer.

* Spread macros or standard cells.

* Provide more straps.


Define antenna problem and how did you resolve these problem?

* Increased net length can accumulate more charges while manufacturing of the device due to ionisation process. If this net is connected to gate of the MOSFET it can damage dielectric property of the gate and gate may conduct causing damage to the MOSFET. This is antenna problem.

* Decrease the length of the net by providing more vias and layer jumping.

* Insert antenna diode.


How delays vary with different PVT conditions? Show the graph.

* P increase->dealy increase

* P decrease->delay decrease


* V increase->delay decrease

* V decrease->delay increase


* T increase->delay increase

* T decrease->delay decrease


Explain the flow of physical design and inputs and outputs for each step in flow.

What is cell delay and net delay?

* Gate delay

* Transistors within a gate take a finite time to switch. This means that a change on the input of a gate takes a finite time to cause a change on the output.[Magma]


* Gate delay =function of(i/p transition time, Cnet+Cpin).


* Cell delay is also same as Gate delay.


* Cell delay


* For any gate it is measured between 50% of input transition to the corresponding 50% of output transition.


* Intrinsic delay


* Intrinsic delay is the delay internal to the gate. Input pin of the cell to output pin of the cell.


* It is defined as the delay between an input and output pair of a cell, when a near zero slew is applied to the input pin and the output does not see any load condition.It is predominantly caused by the internal capacitance associated with its transistor.


* This delay is largely independent of the size of the transistors forming the gate because increasing size of transistors increase internal capacitors.


* Net Delay (or wire delay)


* The difference between the time a signal is first applied to the net and the time it reaches other devices connected to that net.


* It is due to the finite resistance and capacitance of the net.It is also known as wire delay.


* Wire delay =fn(Rnet , Cnet+Cpin)


What are delay models and what is the difference between them?

* Linear Delay Model (LDM)

* Non Linear Delay Model (NLDM)


What is wire load model?

* Wire load model is NLDM which has estimated R and C of the net.


Why higher metal layers are preferred for Vdd and Vss?

* Because it has less resistance and hence leads to less IR drop.


What is logic optimization and give some methods of logic optimization.

* Upsizing

* Downsizing

* Buffer insertion

* Buffer relocation

* Dummy buffer placement


What is the significance of negative slack?

* negative slack==> there is setup voilation==> deisgn can fail


What is signal integrity? How it affects Timing?

* IR drop, Electro Migration (EM), Crosstalk, Ground bounce are signal integrity issues.

* If Idrop is more==>delay increases.

* crosstalk==>there can be setup as well as hold voilation.


What is IR drop? How to avoid? How it affects timing?

* There is a resistance associated with each metal layer. This resistance consumes power causing voltage drop i.e.IR drop.

* If IR drop is more==>delay increases.


What is EM and it effects?

* Due to high current flow in the metal atoms of the metal can displaced from its origial place. When it happens in larger amount the metal can open or bulging of metal layer can happen. This effect is known as Electro Migration.


* Affects: Either short or open of the signal line or power line.


What are types of routing?

* Global Routing

* Track Assignment

* Detail Routing


What is latency? Give the types?

* Source Latency

* It is known as source latency also. It is defined as "the delay from the clock origin point to the clock definition point in the design".


* Delay from clock source to beginning of clock tree (i.e. clock definition point).


* The time a clock signal takes to propagate from its ideal waveform origin point to the clock definition point in the design.


* Network latency


* It is also known as Insertion delay or Network latency. It is defined as "the delay from the clock definition point to the clock pin of the register".


* The time clock signal (rise or fall) takes to propagate from the clock definition point to a register clock pin.


What is track assignment?

* Second stage of the routing wherein particular metal tracks (or layers) are assigned to the signal nets.


What is congestion?

* If the number of routing tracks available for routing is less than the required tracks then it is known as congestion.


Whether congestion is related to placement or routing?

* Routing


What are clock trees?

* Distribution of clock from the clock source to the sync pin of the registers.


What are clock tree types?

* H tree, Balanced tree, X tree, Clustering tree, Fish bone


What is cloning and buffering?

* Cloning is a method of optimization that decreases the load of a heavily loaded cell by replicating the cell.

* Buffering is a method of optimization that is used to insert beffers in high fanout nets to decrease the dealy.

What is the difference between soft macro and hard macro?

* What is the difference between hard macro, firm macro and soft macro?


or

* What are IPs?



* Hard macro, firm macro and soft macro are all known as IP (Intellectual property). They are optimized for power, area and performance. They can be purchased and used in your ASIC or FPGA design implementation flow. Soft macro is flexible for all type of ASIC implementation. Hard macro can be used in pure ASIC design flow, not in FPGA flow. Before bying any IP it is very important to evaluate its advantages and disadvantages over each other, hardware compatibility such as I/O standards with your design blocks, reusability for other designs.


Soft macros

* Soft macros are in synthesizable RTL.

* Soft macros are more flexible than firm or hard macros.

* Soft macros are not specific to any manufacturing process.

* Soft macros have the disadvantage of being somewhat unpredictable in terms of performance, timing, area, or power.

* Soft macros carry greater IP protection risks because RTL source code is more portable and therefore, less easily protected than either a netlist or physical layout data.

* From the physical design perspective, soft macro is any cell that has been placed and routed in a placement and routing tool such as Astro. (This is the definition given in Astro Rail user manual !)

* Soft macros are editable and can contain standard cells, hard macros, or other soft macros.



Firm macros

* Firm macros are in netlist format.

* Firm macros are optimized for performance/area/power using a specific fabrication technology.

* Firm macros are more flexible and portable than hard macros.

* Firm macros are predictive of performance and area than soft macros.



Hard macro

* Hard macros are generally in the form of hardware IPs (or we termed it as hardwre IPs !).

* Hard macos are targeted for specific IC manufacturing technology.

* Hard macros are block level designs which are silicon tested and proved.

* Hard macros have been optimized for power or area or timing.

* In physical design you can only access pins of hard macros unlike soft macros which allows us to manipulate in different way.

* You have freedom to move, rotate, flip but you can't touch anything inside hard macros.

* Very common example of hard macro is memory. It can be any design which carries dedicated single functionality (in general).. for example it can be a MP4 decoder.

* Be aware of features and characteristics of hard macro before you use it in your design... other than power, timing and area you also should know pin properties like sync pin, I/O standards etc

* LEF, GDS2 file format allows easy usage of macros in different tools.



From the physical design (backend) perspective:

* Hard macro is a block that is generated in a methodology other than place and route (i.e. using full custom design methodology) and is brought into the physical design database (eg. Milkyway in Synopsys; Volcano in Magma) as a GDS2 file.



Synthesis and placement of macros in modern SoC designs are challenging. EDA tools employ different algorithms accomplish this task along with the target of power and area. There are several research papers available on these subjects. Some of them can be downloaded from the given link below.


What is difference between normal buffer and clock buffer?

Answer:


Clock net is one of the High Fanout Net(HFN)s. The clock buffers are designed with some special property like high drive strength and less delay. Clock buffers have equal rise and fall time. This prevents duty cycle of clock signal from changing when it passes through a chain of clock buffers.


Normal buffers are designed with W/L ratio such that sum of rise time and fall time is minimum. They too are designed for higher drive strength.
What is difference between HFN synthesis and CTS?

Answer:


HFNs are synthesized in front end also.... but at that moment no placement information of standard cells are available... hence backend tool collapses synthesized HFNs. It resenthesizes HFNs based on placement information and appropriately inserts buffer. Target of this synthesis is to meet delay requirements i.e. setup and hold.


For clock no synthesis is carried out in front end (why.....????..because no placement information of flip-flops ! So synthesis won't meet true skew targets !!) ... in backend clock tree synthesis tries to meet "skew" targets...It inserts clock buffers (which have equal rise and fall time, unlike normal buffers !)... There is no skew information for any HFNs.
Is it possible to have a zero skew in the design?

Answer:

Theoretically it is possible....!

Practically it is impossible....!!


Practically we cant reduce any delay to zero.... delay will exist... hence we try to make skew "equal" (or same) rather than "zero"......now with this optimization all flops get the clock edge with same delay relative to each other.... so virtually we can say they are having "zero skew " or skew is "balanced".
Physical Design Interview Questions

Below are the important interview questions for VLSI physical design aspirants. Interview starts with flow of physical design and goes on.....on....on..... I am trying to make your life easy..... let me prepare answers to all these if soft form.... as soon as it happens those answers will be posted in coming blogs.

*
What parameters (or aspects) differentiate Chip Design & Block level design??
*
How do you place macros in a full chip design?
*
Differentiate between a Hierarchical Design and flat design?
*
Which is more complicated when u have a 48 MHz and 500 MHz clock design?
*
Name few tools which you used for physical verification?
*
What are the input files will you give for primetime correlation?
*
What are the algorithms used while routing? Will it optimize wire length?
*
How will you decide the Pin location in block level design?
*
If the routing congestion exists between two macros, then what will you do?
*
How will you place the macros?
*
How will you decide the die size?
*
If lengthy metal layer is connected to diffusion and poly, then which one will affect by antenna problem?
*
If the full chip design is routed by 7 layer metal, why macros are designed using 5LM instead of using 7LM?
*
In your project what is die size, number of metal layers, technology, foundry, number of clocks?
*
How many macros in your design?
*
What is each macro size and no. of standard cell count?
*
How did u handle the Clock in your design?
*
What are the Input needs for your design?
*
What is SDC constraint file contains?
*
How did you do power planning?
*
How to find total chip power?
*
How to calculate core ring width, macro ring width and strap or trunk width?
*
How to find number of power pad and IO power pads?
*
What are the problems faced related to timing?
*
How did u resolve the setup and hold problem?
*
If in your design 10000 and more numbers of problems come, then what you will do?
*
In which layer do you prefer for clock routing and why?
*
If in your design has reset pin, then it’ll affect input pin or output pin or both?
*
During power analysis, if you are facing IR drop problem, then how did u avoid?
*
Define antenna problem and how did u resolve these problem?
*
How delays vary with different PVT conditions? Show the graph.
*
Explain the flow of physical design and inputs and outputs for each step in flow.
*
What is cell delay and net delay?
*
What are delay models and what is the difference between them?
*
What is wire load model?
*
What does SDC constraints has?
*
Why higher metal layers are preferred for Vdd and Vss?
*
What is logic optimization and give some methods of logic optimization.
*
What is the significance of negative slack?
*
What is signal integrity? How it affects Timing?
*
What is IR drop? How to avoid .how it affects timing?
*
What is EM and it effects?
*
What is floor plan and power plan?
*
What are types of routing?
*
What is a grid .why we need and different types of grids?
*
What is core and how u will decide w/h ratio for core?
*
What is effective utilization and chip utilization?
*
What is latency? Give the types?
*
How the width of metal and number of straps calculated for power and ground?
*
What is negative slack ? How it affects timing?
*
What is track assignment?
*
What is grided and gridless routing?
*
What is a macro and standard cell?
*
What is congestion?
*
Whether congestion is related to placement or routing?
*
What are clock trees?
*
What are clock tree types?
*
Which layer is used for clock routing and why?
*
What is cloning and buffering?
*
What are placement blockages?
*
How slow and fast transition at inputs effect timing for gates?
*
What is antenna effect?
*
What are DFM issues?
*
What is .lib, LEF, DEF, .tf?
*
What is the difference between synthesis and simulation?
*
What is metal density, metal slotting rule?
*
What is OPC, PSM?
*
Why clock is not synthesized in DC?
*
What are high-Vt and low-Vt cells?
*
What corner cells contains?
*
What is the difference between core filler cells and metal fillers?
*
How to decide number of pads in chip level design?
*
What is tie-high and tie-low cells and where it is used
*
What is LEF?
*
What is DEF?
*
What are the steps involved in designing an optimal pad ring?

* What are the steps that you have done in the design flow?
* What are the issues in floor plan?
* How can you estimate area of block?
* How much aspect ratio should be kept (or have you kept) and what is the utilization?
* How to calculate core ring and stripe widths?
* What if hot spot found in some area of block? How you tackle this?
* After adding stripes also if you have hot spot what to do?
* What is threshold voltage? How it affect timing?
* What is content of lib, lef, sdc?
* What is meant my 9 track, 12 track standard cells?
* What is scan chain? What if scan chain not detached and reordered? Is it compulsory?
* What is setup and hold? Why there are ? What if setup and hold violates?
* In a circuit, for reg to reg path ...Tclktoq is 50 ps, Tcombo 50ps, Tsetup 50ps, tskew is 100ps. Then what is the maximum operating frequency?
* How R and C values are affecting time?
* How ohm (R), fared (C) is related to second (T)?
* What is transition? What if transition time is more?
* What is difference between normal buffer and clock buffer?
* What is antenna effect? How it is avoided?
* What is ESD?
* What is cross talk? How can you avoid?
* How double spacing will avoid cross talk?
* What is difference between HFN synthesis and CTS?
* What is hold problem? How can you avoid it?
* For an iteration we have 0.5ns of insertion delay and 0.1 skew and for other iteration 0.29ns insertion delay and 0.25 skew for the same circuit then which one you will select? Why?
* What is partial floor plan?

Digital Design Interview Questions




























































































Q. Design a logic which mimics a infinite width register. It takes input serially 1 bit at a time.
Output is asserted high when this register holds a value which is divisible by 5.
For example as in Figure 1.

Q.Design a block which has 3 inputs as followed.
1. system clock of pretty high freq
2. asynch clock input P
3. asynch clock input Q
P and Q clocks have 50% duty cycle each. Their frequencies are close enough and they have
phase difference. Design the block to generate these outputs.
1. PeqQ : goes high if periods of P and Q are same
2. PleQ : goes high if P’s period is less than that of Q.
3. PgrQ : goes high if P’s period is greater than that of Q.


Q. What’s the difference between a latch and a flip-flop? Write Verilog RTL code for each. (This is
one of the most common questions but still some EE’s don’t know how to explain it correctly!)

Q. Design a black box whose input clock and output relationship as shown in Figure 2.

Q. Design a digital circuit to delay the negative edge of the input
signal by 2 clock cycles as shown in Figure 3.

Q. Design a Pattern matching block
- Output is asserted if pattern "101" is detected in last 4 inputs.
- How will you modify this design if it is required to detect same "101" pattern anywhere in last
8 samples?

Q. The digital circuit is shown in Figure 4 with logic delay (dly3) and two clock buffer delays (dly1,
dly2).
- How will you fix setup timing violations occurring at pin B?
- How will you fix hold violations occurring at pin B?
(Hint: Change the values of three delays to get desired effect)

Q. As shown in Figure 5 Sender sends data at the rate of 80 words / 100 clocks
Receiver can consume at the rate of 8 words / 10 clocks
Calculate the depth of FIFO so that no data is dropped.
Assumptions: There is no feedback or handshake mechanism. Occurrence of data in that
time period is guaranteed but exact place in those clock cycles is indeterminate.

Q. Optical sensors A and B are positioned at 90 degrees to each other as shown in Figure 6.
Half od the disc is white and remaining is black. When black portion is under sensor it
generates logic 0 and logic 1 when white portion is under sensor.
Design Direction finder block using digital components (flip flops and gates) to indicate
speed. Logic 0 for clockwise and Logic 1 for counter clockwise.

Q. Will the design in Figure 7 work satisfactorily?
Assumptions: thold = tsetup = tclock_out = tclock_skew = 1ns.
After reset A = 0, B = 1

Q. Design a 4:1 mux in Verilog as in Figure 8.
· Multiple styles of coding. e.g.
Using if-else statements
if(sel_1 == 0 && sel_0 == 0) output = I0;
else if(sel_1 == 0 && sel_0 == 1) output = I1;
else if(sel_1 == 1 && sel_0 == 0) output = I2;
else if(sel_1 == 1 && sel_0 == 1) output = I3;
Using case statement
case ({sel_1, sel_0})
00 : output = I0;
01 : output = I1;
10 : output = I2;
11 : output = I3;
default : output = I0;
endcase
· What are the advantages / disadvantages of each coding style shown above?
· How Synthesis tool will give result for above codes?
· What happens if default statement is removed in case statement?
· What happens if combination 11 and default statement is removed? (Hint Latch
inference)
(Comments : Though this questions looks simple and out of text books, the answers to
supporting questions can come only after some experience / experimentation.)

Q. Design a FSM (Finite State Machine) to detect a sequence 10110 as shown in Figure 9.
· Have a good approach to solve the design problem.
· Know the difference between Mealy, Moore, 1-Hot type of state encoding.
· Each state should have output transitions for all combinations of inputs.
· All states make transition to appropriate states and not to default if sequence is broken.
e.g. S3 makes transition to S2 in example shown.
· Take help of FSM block diagram to write Verilog code.

Q. One more sequence detector as in Figure 10:
Design a FSM (Finite State Machine) to detect more than one "1"s in last 3 samples.
For example: If the input sampled at clock edges is 0 1 0 1 0 1 1 0 0 1
then output should be 0 0 0 1 0 1 1 1 0 0 as shown in timing diagram.
And yes, you have to design this FSM using not more than 4 states!!

Q. Design a state machine to divide the clock by 3/2 as shown in Figure 11.
(Hint: 2 FSMs working on posedge and negedge)

Q. Draw timing diagrams for circuit in Figure 12.

Q. For Figure 13 waveforms,
· What is the maximum frequency at which this circuit can operate?
· What is the minimum width of input pulse and position?
· Problem can be given interesting twist by specifying all delays in min and max types.

Q. Design a Digital Peak Detector in Verilog as in Figure 14.

Q. Design a RZ (return to zero )circuit. Design a clock to pulse circuit in Verilog / hardware gates as in Figure 15.

Q: how to design a divide-by-3 counter with equal duty cycle ?
Here is one of the solutions...as shown in Figure 16.
Start with the timing diagram. It shows an input clock, an output of a regular divide-by-3
counter and an output of divide-by-3 counter with 50% duty cycle.

It is obvious from the diagram, that we have to use both rising and falling edges of the
input clock.
The next drawing is a state diagram as in Figure 17.
On this diagram R - is a rising edge of input clock, and F - is a falling edge.
How many FF do we need to implement 6 states? At least 3. In this example I am going
to use 4 D-type FF just to simplify the design.
Now, look at the Figure 18. Q0 ... Q3 are the outputs of FFs. Q - is the output of the
devider with 50% duty cycle. In the first raw the outputs are in the initial state: 0000. In
the second raw - the data after the first rising edge and so on.The status of the FFs’ ouputs
is changing on every rising or falling edge of the input clock according to the information
on D-inputs. So, D-inputs should have the data before the clock edge.

These equations are resulting from the table analysis:
D1 = Q0
D2 = Q1
D3 = Q2
D0 = (Q1+Q2+Q3)’
Q = Q0*Q1’*Q2’*Q3’+Q0*Q1*Q2’*Q3’+Q0’*Q1*Q2*Q3’ =
Q1*Q3’(Q0*Q2’+Q0’*Q2)+Q0*Q1’*Q2’*Q3’
'The circuit diagram is shown in Figure 19.