VLSI Design
VLSI Design
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
6) How do you size NMOS and PMOS transistors to increase the threshold voltage?
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?
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?
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?
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?
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?
Infineon:
43) How do you tackle coupling when design deep submicron SRAM memories?
Digital Design:
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?
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.
11) Design a Transmission Gate based XOR. Now, how do you convert it to XNOR?
(Without inverting the output)
13) How do you detect a sequence of "1101" arriving serially from a signal line?
Computer Architecture:
1) What is pipelining?
3) For a pipeline with 'n' stages, what’s the ideal throughput? What prevents us from
achieving this ideal throughput?
5) Instead of just 5-8 pipe stages why not have, say, a pipeline with 50 pipe stages?
8) What is a cache?
10) Cache Size is 64KB, Block size is 32B and the cache is Two-Way Set Associative.
For a 32-bit physical address, give the division between Block Offset, Index and Tag.
19) The CPU is busy but you want to stop and do some other task. How do you do it?
1) How would you decide weather to use C, C++ or Perl for a particular project?
5) Write a C program to compare two arrays and write the common elements in another
array
6) Write a function in C to accept two integers and return the bigger integer
- ‘@’ – Array
- ‘&’ -
11) Perl Regular Expressions are greedy. What does that mean?
- They take up a lot of memory
Note that using key-value pairs means that each key must be unique. This is
not optional. Values can be repeated, however. This means that associative
arrays may not be good for some tasks. An example is keeping track of
street names based on zip code as the key. Because key values must be
unique, you could only have one street per zip code. You can keep track of
zip codes using street names as the key, but this wouldn't work all the time
either. It would work in cases where a street falls entirely within a certain
zip code, but that may not be true in larger cities with very long streets. So
you see, associative arrays are a great tool, but they don't work
everywhere.
13) Suppose a Perl variable has your name stored in it. Now, how can you define an array
by the name? (i.e., you have $a="Adarsh"; now you want @Adarsh=[.....])
- @Adarsh = $a
14) Write a Perl script to parse a particular txt file and output to another file in a desired
format. (You can expect the file to have some data arranged rows & columns)
15) Suppose you have the outputs of a test program in some big test file. In Perl, how can
you test if all the outputs match a particular string?
18) Commands for changing directory, making directory, going up one directory,
knowing the file permissions and changing file permissions.
19) How do you search for a particular string in all the text files in current directory from
command line?
- sort<filename>
2) What is Normal Distribution? Where is the Mean and Median on the graph for Normal
Distribution?
2) Tell me something about some problems you faced in a project and how did you
handle it?
Additional Links:
1) Hitequest