General Digital 1. General Digital Design Questions Design Questions
General Digital 1. General Digital Design Questions Design Questions
General Digital 1. General Digital Design Questions Design Questions
Ans: Inversion layer formed in the substrate connecting the source and drain when the gate
voltage exceeds the threshold. Thus the device conducts and the conduction is controlled by the
gate.
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
Vgs=1.2
Vgs=1.2
Vgs=0.8
Vgs=0.8
6) How do you size NMOS and PMOS transistors to increase the threshold voltage?
αCLVDDVswingf
When the substrate of a NMOS or PMOS is not connected to the source, there exists a bias
voltage Vsb across the source and substrate.
http://homepages.cae.wisc.edu/~ehoffman/ece555/l
http://homepages.cae.wisc.edu/~ehoffman/ece555/lectures/lecture2/lectur
ectures/lecture2/lecture2.pdf
e2.pdf
Delay increases given the VDD is the same…since it takes more time to charge and discharge the
capacitor.
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(switching threshold)
threshold) (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?
This is called legging or folding of devices…this gives a better aspect ratio for the layout
and also by sharing the source and drains we could reduce the parasitic cap and improve
the drive strength.
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?
Nmos doesn’t pass 1 well and pmos doesn’t pass 0 well..so Vt dro p….constant DC current and
DC power consumption…
28) For an 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)
It is used in memories for reading ..-> senses the change in voltage in the bit and bit_bar lines.
31) What happens if we use an Inverter instead of the Differential Sense Amplifier?
For inverter-> the voltage has to go below threshold to detect a change in level. So it is very slow.
Differential sense amplifier detects even a slight change so more fast in reading
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?
Memory cell
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?
I think the word line has to be in a higher metal layer because the signal has to propagate to
all the bits of the word to read or write from/to the particular word…higher metal layers
could be wider and carry more current.
6-transistor cell
Answer is in this website: http://www.vlsibank.com/ under EDA tools..I have copied then
for you : 3 answers
Answer1:verification proves conformance with a specification.
testing tries to find cases where the system does not meet its specification.
the different kinds of verification are timing and f unctional verification,
while timing verification is to verify or determine the longest delay path in a circuit to optimize
performance and to make sure that the clock cycles are correct.
Functional verification is to compare symbolic descriptions of circuit functionality with the
derived behavior of the individual parts of the circuit, also described symbolically. In each case a
specification is given (time delays or behavior) and the checker ensures that the rules are met.
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? ……..done
Digital Design:
1) Give two ways of converting a two input NAND gate to an inverter …….done
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? ……done
4) Give a circuit to divide frequency of clock cycle by two …D flip flop…connect the Q_bar to D
input..
5) Design a divide-by-3 sequential circuit with 50% duty circle. (Hint: Double the Clock) ….done
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) …done
either delay the clock to the second clock by intentionally adding skew or increase the clock
period…look at the answer below.
7) The answer to the above question is breaking the combinational circuit and pipelining it. What
will be affected if you do this? …done
9) Give the truth table for a Half Adder. Give a gate level implementation of the same. …done
11) Design a Transmission Gate based XOR. Now, how do you convert it to XNOR? (Without
inverting the output) …done
B
A
AxorB
B_bar
12) How do you detect if two 8-bit signals are same? ...XNOR and AND …we should get a 1…
done
13) How do you detect a sequence of "1101" arriving serially from a signal line? ……..done
Computer Architecture:
1) What is pipelining?...done
3) For a pipeline with 'n' stages, what’s the ideal throughput? What prevents us from achieving
this ideal throughput?....throuput=1 …bubbles prevent….due to data, control and structural
hazards….done
5) Instead of just 5-8 pipe stages why not have, say, a pipeline with 50 pipe
stages?....done…branch prediction , data forwarding paths become very long
9) What's the difference between Write-Through and Write-Back Caches? Explain advantages
and disadvantages of each …..done
Write-Through : whenever a value is updated in ca che, it is written back into the memory.
Advantage: Coherency is maintained easily
Disadvantage: High bandwidth reqd for memory
Write-Back: Memory writing is done only when the cache location which is to be copied is
updated with another value.
Advantage: Less Bandwidth – faster also
Disadvantage: Cache coherency problem in multi-processors
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 ….done
A protocol for managing the caches of a multiprocessor system so that no data is lost or
overwritten before the data is transferred from a cache to the target memory
Processors providing cache coherence commonly implement a MESI protocol - where the letters
of the acronym represent the four states that a cache line may be in:
Invalid
This cache line is not valid
Exclusive
This cache has the only copy of the data. The memory is valid.
Shared
More than one cache is holding a copy of this line. The memory copy is valid.
Modified
The line has been modified. The memory copy is invalid.
This shud be enuf, but if more details needed see:
http://ciips.ee.uwa.edu.au/~morris/CA406/cache_coh.html
Snooping -> A technique used in multi processors for maintaining cache coherency. When any
variable is updated in a particular processor’s cache, there are 2 ways it can be updated in the
other processors :
1. Write invalidate: Invalidate the caches of all other processors for the particular block and then
when there is a read or write request, it will result in a miss and will be directed to the main
memory.
2. Write update: Broadcast the new changed data to all caches as soon as it is changed along with
the write update signal.
16) What is ACBF(Hex) divided by 16?convert to decimal and then divide …done
19) The CPU is busy but you want to stop and do some other task. How do you do it?..done
2.Hitequest.com
Two capacitors are connected in parallel through a switch. C1= 1uF, C2= 0.25uF. Initially
switch is open,C1 is charged to 10V. What happens if we close the switch? No loss in the wires
and capacitors.
You have 2 switches to control the light in the long corridor. You want to be able to turn the
light on entering the corridor and turn it off at the other end. Do the wiring circuit.
This question is based on the previous one, but there are 3 switches that can turn on and off a
light in the room. How to wire them up?
Suppose, you work on a specification for a system with some digital parameters. Each
parameter has Min,Typ and Max colomns. In what column would you put a Setup time and a
Hold time?
Design a simple circuit based on combinational logic to double the output frequency.
8bit ADC with parallel output converts input signal into digital numbers. You have to come up
with the idea of a circuit , that finds MAX of every 10 numbers at the output of the ADC.
Implement comparator that compares two 2-bit numbers A and B. The comparator should
have 3 outputs: A > B, A < B, A = B. Do it two ways:
- using combinational logic;
- using multiplexers. Write HDL code for your schematic at RTL and gate level.
Hint from Hitequest
You have 8 bit ADC clocking data out every 1mS. Design a system that will sort the output
data and keep a statistics how often each binary number appears at the output of ADC.
You have two counters to 16, built from negedge D- FF . First circuit is synchronous and
second is "ripple" (cascading). Which circuit has a less propagation delay?
Describe the oper ation of DAC? What are the most important parameters of DAC? Do we
really need both INL and DNL to estimate linearity?
Hint from Hitequest
How will the output signal of an ideal integrator look like after
- a positive pulse is applied to the input;
- a series of 10 positive pulses ?
For an 8-bit flash A/D converter with an input range f rom 0V to 2.55V, describe what happens
when the input voltage changes from 1.27V to 1.28V
Your system has 2 memory cells and ALU. The ALU can only perform XOR operation. How
to swap the contence of the memory cells ? …xor a and b…xor the result with a and store in
a…xor the result with b and store in b.
I swapped 2 transistors in CMOS inverter (put n-transistor at the top and p-transistor at the
bottom). Can this circuit work as a noninverting buffer?
(By E.Martovetsky,design eng from Transmeta)
The circle can rotate clockwise and back. Use minimum hardware to build a circuit to indicate
the direction of rotating.
To enter the office people have to pass through the corridor. Once someone gets into the office
the light turns on. It goes off when noone is present in the room. There are two registration
sensors in the corridor. Build a state machine diagram and design a circuit to control the light.
Draw a transistor schematic of NOR gate,it's layout and a cross section of the layout.
This question is quite popular.
The silicon of a new device has memory leak. When all "0" are written into RAM, it reads
back all "0" whithout any problem. When all "1" are written, only 80% of memory cells are read
back correctly. What can be possibly the problem with the RAM?
Michael Altshuler, product engineer.
Draw a CMOS inverter. Why does CMOS technology dominate in VLSI manufacturing?
Leon Backer, DFT engineer
Design a FIFO 1 byte wide and 13 words deep. The FIFO is interfacing 2 blocks with different
clocks. On the rising edge of clk the FIFO stores data and increments wptr. On the rising edge of
clkb the data is put on the b-output,the rptr points to the next data to be read.
If the FIFO is empty, the b-output data is not valid. When the FIFO is full the existing data should
not be overriden.
When rst_N is asserted, the FIFO pointers are asynchronously reset.
Design a 2bit up/down counter with clear using gates. (No verilog or vhdl)
We have a circular wheel with half painted black and the other half painted white. There are 2
censors mounted 45 degree apart at the surface of this wheel (not touching the wheel) which give
a "1" for black and "0" for white passing under them. Design a circuit to detect which way the
wheel is moving. Can not assume any fixed position for start.
We have a fifo which clocks data in at 100mhz and clocks data out at 80MHz. On the input
there is only 80 data in any order during each 100 clocks. In other words, a 100 input clock will
carry only 80 data and the other twenty clocks carry no data (data is scattered in any order). How
big the fifo needs to be to avoid data over/under-run.
Instead of specifying SETUP and HOLD time, can we just specify a SETUP time for '1' and a
SETUP time for '0'?
3.Verilog questions
VERIFICATION:
VERILOG:
LOGIC DESIGN :
1. DeMorgan’s laws.
(A+B)’ = A’ . B’
(A.B)’ = A’ + B’
2. Big benefit of XOR?(Data+ code word <=> Data)
An important property of XOR functionality is
A^B=C
C^A=B
C^B=A
XOR is therefore used during encoding and decoding. In the above example you can
consider A as the data word tobe encoded. B is the key used in the encoding process. C is
the encoded word. On the receive side, C is received and XOR-ed with the key B to get
the data word A, back.
3. CPU has one register which is 16 bits. How do you set bit 7 to 1 and all the other bits to
0. XOR is the only instruction that is understood by the machine.
Lets say the name of the 16 bit register is A.
A = A ^ A ; this operation sets all 16 bits of A to 0.
A = A ^ 16’b0000_0000_1000_0000; this operation sets bit 7 to 1
4. Swap two registers without using temp register (use XOR).
Lets name the two registers as X and Y. The following are the series of operations which
will swap the values of registers X and Y.
X = X ^ Y;
Y = Y ^ X;
X = X ^ Y;
5. What is the difference between combinational and sequential logic. When do you use
either.
When data in current clock need to be stored and accessed in a future clock you need a
sequential logic. Sequential logic is clocked, so it is either a latch or a flop. Combinational logic
is independent of clock and hence asynchronous. Examples are multiplexers, decoders, next_state
logicand output logic in state machines etc.
6. How is a latch different froma flop.
Latch is a level sensitive storage device. Flop is an edge sensitive storage device. Latch has
less area, faster since only 2 gate delays are involved and has a quicker response time. But it
is asynchronous and glitchy. Also there are testability issues with using latches. Flops are
more commonly used in commercial chip designs.
7. Half and Full Adder
Half Adder: Sum = A ^ B; Carry = A & B;
Full Adder: Sum = A ^ B ^ Cin; Carry = A.B + B.Cin + A.Cin;
In a half adder we cannot account for the Carry from the previous column.
It is very similar to the decimal addition. If you have a carry from one column to the next
the next column has to include that carry.
A full adder is capable of doing that. In summary, to add two 4bit numbers, you need 4
full adders connected in series.
8. What are Mealy and Moore state machines.
Mealy State Machine has outputs that are afunction of the current state and primary
inputs.
9. Moore State Machine has outputs that are a function of the current state only.
10. Use 4 states to detect more than one 1’s in the last 3 states.
always @ (state or bit_in) begin
case (state)
S0: // 00
detect_out = 0;
if (bit_in) next_state = S1;
else next_state = S0;
S1: // 01
if (bit_in) begin
detect_out = 1;
next_state = S3;
end
else begin
detect_out = 0;
next_state = S2;
end
S2: // 10
if (bit_in) begin
detect_out = 1;
next_state = S1;
end
else begin
detect_out = 0;
next_state = S0;
end
S3: // 11
detect_out = 1;
if (bit_in)
next_state = S3;
else
next_state = S2;
endcase
end
2nd answer:
module pattern_detect(clk, rst, data_in, pattern);
input clk, rst, data_in;
output pattern;
reg pattern;
reg pipe1, pipe2;
always @(posedge clock or negedge rst)
if(rst) {pipe1, pipe2} = 2’b0;
else {pipe1, pipe2} <= {data_in, pipe1};
assign pattern = (pipe1 + pipe2 + data_in) > 1;
endmodule
4.This website has a lot of questions which are related to interviews and jobs.
http://www.vlsibank.com/
5.http://www.bawankule.com/verilogcenter/quest.html
6.
1. Describe a finite state machine that will detect three consecutive coin tosses (of one coin) that
results in heads.
2. In what cases do you need to double clock a signal before presenting it to a synchronous state
machine?
1. You have a driver that drives a long signal & connects to an input device. At the input device
there is either overshoot, undershoot or signal threshold violations, what can be done to correct
this problem?
10. Given a circuit and its inputs draw the outputs exact to the timing.
Logic design:
Notes:
1) gain of a MOSFET has a negative temp coeff…
2) The gain of a MOS transistor has a negative temperature coefficient: the gain
decreases as the temperature increases. Since the gains of the parallel transistors
can never be perfectly matched, one will have higher gain and conduct more
current than the others. However, this will cause increased h eat dissipation,
lowering the gain. Therefore, parallel MOS transistors will automatically match
each other. The gain of a bipolar transistor, however, increases with temperature.
The highest gain transistor will conduct more current, dissipate more power, and
increase its gain even further. This process is called thermal runaway and can
destroy the devices involved if the current is not somehow limited. Therefore,
MOS devices are often connected in parallel, while bipolar devices are usually
not. Designers using a BiCMOS process should keep this in mind.
footed unfooted