Interview Vlsi
Interview Vlsi
'DWD ' 4 4
&ON
4
Setup time and hold time describe the timing requirements on the D input of a Flip-Flop
with respect to the Clk input. Setup and hold time define a window of time which the D
input must be valid and stable in order to assure valid data on the Q output.
Setup Time (Tsu) – Setup time is the time that the D input must be valid before the
Flip-Flop samples.
Hold Time (Th) – Hold time is the time that D input must be maintained valid after
the Flip-Flop samples.
Propagation Delay (Tpd) – Propagation delay is the time that takes to the sampled D
input to propagate to the Q output.
W
W
'DWD
&ON
Figure Error!
Bookmark not defined.: Timing
Diagram
Simple Encryption
System
The question is to design minimal hardware system, which encrypts 8-bit parallel
data. A synchronized clock is provided to this system as well. The output-
encrypted data should be at the same rate as the input data but no necessarily with
the same phase.
&6
! !"
&ON # %$& '
2(
0HPRU\
The encryption system is centered around a memory device that perform a LUT
(Look-Up Table) conversion. This memory functionality can be achieved by using a
PROM, EPROM, FLASH and etc. The device contains an encryption code, which
may be burned into the device with an external programmer. In encryption
operation, the data_in is an address pointer into a memory cell and the
combinatorial logic generates the control signals. This creates a read access from
the memory. Then the memory device goes to the appropriate address and outputs
the associate data. This data represent the data_in after encryption.
$GGUHVV 'DWD
))
The question is to design a black box that receive a signal input (pulse) and multiply
the duration of it by five.
Note: the longer pulse can be transmitted at any time. The length of the longer pulse
may not be accurate.
click here if you don’t see pictures
W W
Fig
ure Error!
Bookmark
not defined.:
Pulse
Duration
Extender
'
N<OQP
4
&QWBGQ
6LJQDOBLQ
R;S T 4
6WRSBFQW
&RXQWHU
6WRSBFQW
4>Q@ U!V
6LJQDOBLQ
&ONBXS
&QWBGQ
&ONBGQ
@BA C2DEF G
HI J2I K2L&M
Figure Error! Bookmark not defined.: General Block Diagram of Duration Extender
After reset (or power-up), the counter, and Cnt_dn are de-asserted. When the
Signal_in set to high (externally), the counter starts receiving clocks and counts up.
The clock frequency must by higher then the Signal_in, could be about 100-1000
times to achieve good resolution on the output. When the Signal_in set to low, the
counter stop counting up and the Cnt_dn set to high. Now the Clk_dn pin on the
counter receives the clocks and start counting down.
When the counter stop counting up and start counting down, the value its’ holds
represents the number of “Clock Generator” ticks that happened when the
Signal_in was high. The idea now is to count down but with slower clock, in this
solution we are using a clock divider to divide the “Clock Generator” by 5.
Therefore the counter will counter five times slower.
When the counter reaches zero. It means that it finishes to count down and the time
passed was five times longer then the Signal_in duration. Stop_cnt create a pulse,
which reset the Cnt_dn and put the system in its idle state.
Note: The above describe general block diagram and general concept. The details
are not mention.
This question is really common. Design a clock divider that divides by odd number.
The following answer shows how to design a divider by 3 which is asymmetrical.
The trivial way is to use a state-machine concept; therefore the answer explains
state-machine design step-by-step, from functional specifications towards a
complete detailed design and implementation.
&ON
2XWSXW
The first step is to draw a state diagram that describes the logical behavior of the
circuit. Figure 2 introduces the state diagram of the divider. We can easily see that the
divider consist of 3 states which means 2 Flip-Flops. Each step is done every clock
cycle.
c.d2ed [
WX!Y2Z[Q\
] \_^
WX!Y2Z[ `
]a ^
WX!Y2Z[ b
]a ^
We name the state with a unique name and define the outputs in the square
brackets. Whenever the state-machine is in Count1, the output shall be 1. Whenever
the state-machine is in Count2 or Count3, the output shall be 0.
After obtaining the state diagram it is possible to describe the design with a symbolic
state transition table. In this step we put all the information we gathered as shown in
the following table.
The next step is to go into details. We have 2 Flip-Flops and one output. This
information is entered into an encoded state transition table. The functions can be
extracted from a Karnaugh map, or in this case, use the table as a truth table.
fhg i2ji&kl&mnl ol i phiql&mnl i!r
2XWSXW
4 4 ' '
• D0 = Q1
• • D1 = NOT(Q0+Q1)
• • OUT = D1
s7t u s7t u
' 4 ' 4
v5w x 4 v5w x 4
y{ yz
This “ one-shot” shall produce a single output pulse for any long pulse in the input.
The length of the output pulse shall be one clock cycle. Assume that the input pulse
is as you see in the following figure. click here if you don’t see pictures
Figure Error! Bookmark not defined.:
One Shot Timing Diagram
The answer is showed in Figure 2. It’s based on two flip-flops, which create a delay
on the signal input. Then the result of the outputs (Q0, Q1) are logically AND, and
output the result.
|7} ~ 2XWSXW
,QSXW
|7} ~
' 4 ' 4
5 4 5 4
&ON
This is a simplified design and thus has some problems (hint: asynchronous input).
Please write to us with your improvement ideas and we will update the entire
solution with your inputs.
The following are some of the questions I was asked in my interviews. The questions of
course, depend on the position you are being interviewed and also on your Resume. So if
you find any questions not relevant to your Resume, you can safely ignore them. Also,
these questions are limited to VLSI Design, Computer Architeture and some basic
Programming. If you are looking for something in Analog, RF etc, this is NOT the place.
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
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?
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?
42) What is Latch Up? Explain Latch Up with cross section of a CMOS Inverter. How do
you avoid Latch Up?
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?
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?
2) What are the five stages in a DLX pipeline?
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
11) Perl Regular Expressions are greedy. What does that mean?
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=[.....])
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?
2) What is Normal Distribution? Where is the Mean and Median on the graph for Normal
Distribution?
3) Draw a simple RC-Low pass circuit.
2) Tell me something about some problems you faced in a project and how did you
handle it?
I gat hered t hese quest ions f rom several emails, sent t o me by st udent s
who at t ended on- sit e int erviews at varios dif f erent companies. I shall
t ry t o add more of t hem in near f ut ure.
1. W hat is t he dif f er ence bet ween a lat ch and a f lip f lop. For t he same input ,
how
would t he out put look f or a lat ch and f or a f lip-f lop.
2. Finit e st at e machines:
(2.1)Design a st at e-machine (or dr aw a st at e-diagr am) t o give an out put ’ 1’
when t he # of A’ s ar e even
and # of B’ s ar e odd. The input is in t he f or m of a ser ial-st r eam (one-bit
per clock cycle). The input s could be of t he t ype A, B or C. At any given
clock cycle, t he out put is a ’ 1’ , pr ovided t he # of A’ s ar e even and # of B’ s
ar e odd. At any given clock cycle, t he out put is a ’ 0’ , if t he above condit ion
is not sat isf ied.
10. Given a cir cuit and it s input s dr aw t he out put s exact t o t he t iming.
11. Given an inver t er wit h a par t icular t iming der ive an inver t er
using t he pr evious one but wit h t he r equir ed t iming ot her t han t he
pr evious one.
12. Change t he r ise t ime and f all t ime of a given cir cuit by not
changing t he t r ansist or sizes but by using cur r ent mir r or s.
1. Given a r ect angular (cuboidal f or t he pur it ans) cake wit h a r ect angular
piece r emoved (any size or or ient at ion), how would you cut t he r emainder of
t he cake int o t wo equal halves wit h one st r aight cut of a knif e ?
2. You’ r e given an ar r ay cont aining bot h posit ive and negat ive int eger s and
r equir ed t o f ind t he sub-ar r ay wit h t he lar gest sum (O(N) a la KBL).
Wr it e a r out ine in C f or t he above.
3. Given an ar r ay of size N in which ever y number is bet ween 1 and N,
det er mine if t her e ar e any duplicat es in it . You ar e allowed t o dest r oy t he
ar r ay if you like.
5. Given only put char (no spr int f , it oa, et c.) wr it e a r out ine put lon t he pr int s
out an unsigned long in decimal.
8. How many point s ar e t her e on t he globe wher e by walking one mile sout h,
one mile east and one mile nor t h you r each t he place wher e you st ar t ed.
10. What ar e t he dif f er ent ways t o say, t he value of x can be eit her a 0 or a
1. Appar ent ly t he if t hen else solut ion has a j ump when wr it t en
out in assembly.
if (x == 0)
y=0
else
y =x
Logic design:
7. W hat is t he f unct ion of a D-f lipf lop, whose inver t ed out put s ar e
connect ed t o it s input ?
Introduction :
A fresh graduate faces some tough questions in his first job interview. The questions themselves
are simple but require practical and innovative approach to solve them. I started collecting some
questions from my own experience and from my friends. Answers to most questions are not
given. Spend some time to solve these and let me know if you have some more interesting ones.
Please do not send me emails asking for solutions. You are not supposed to answer these
questions in 10 seconds like some university multiple choice questions. Some questions may
have more than correct answers and some may not even have correct answer :)
What matters is your approach to solution and understanding of basic hardware design principles.
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:
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 diagram.
__ __ __ __ __ __ __ __ __
clk __| |__| |__| |__| |__| |__| |__| |__| |__| |__
__ __ __ __ __
Output __| |________| |________| |________| |________| |__
Questions:
Q1.
The digital circuit is shown with logic delay (dly3) and two clock buffer delays (dly1,
dly2).
Q2.
Q3
Optical sensors A and B are positioned at 90 degrees to each other as shown in Figure.
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.
Q4
• 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.)
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!!
4. Design a state machine to divide the clock by 3/2.
7. Design a RZ (return to zero )circuit. Design a clock to pulse circuit in Verilog / hardware gates.
8. Miscellaneous Basic Verilog Questions:
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.
in_clk Q Q0 Q1 Q2 Q3 D0 D1 D2 D3
R1 1 1 0 0 0 1 1 0 0
F1 1 1 1 0 0 0 1 1 0
R2 1 0 1 1 0 0 0 1 1
F2 0 0 0 1 1 0 0 0 1
R3 0 0 0 0 1 0 0 0 0
F3 0 0 0 0 0 1 0 0 0
Q:I swapped transistors in CMOS inverter (put n-transistor at the top and p-transistor at
the bottom).
Can I use this circuit as a noninverting buffer?
Not really. High input level can’t open n-transistor,because it’s source has the same high
potential (Vdd) as a gate. By the same reason low level will not open p-transistor.
Further discussion:
I didn’t quite understand this because I thought the source and drain
were
interchangeable depending on which one is at a higher potential.In the
case of
NMOSFET, if one of the 2 terminals is tied to VDD,then, doesn’t that
become the
drain since it is at a higher potential? I’d really appreciate if you
could
enlighten me on this whenever you get time.Thank you and have a great
day:-)
Thanks,Sriram
---------------------------
I still am not clear with one thing.Perhaps,I should rephrase my
question:
Consider the swapped circuit with NMOS on top and PMOS below.One
terminal of
the NMOS is connected to Vdd(this becomes the drain due to its higher
potential).The gate is connected to Vdd as well.So shouldn’t it act
like a pass
transistor and conduct current? there is a voltage difference between
source
and drain since drain is connected to Vdd,right?
I’m really curious to know the answer.Thanks for your time and have a
great
day:-)
Thanks Sriram
---------------------------
> > OK, think about it this way: what does the current between drain
and
> > source depend on? (Vgs - Vt) - any book at the first page,right?
> > If you put nmos transistor at the top, it’s Vs = Vdd/2. You can
barely
> > open it applying Vg=Vdd. In order to open it you need to apply Vg
> > greater than Vdd.
> > Same story with pmos tarnsistor.
> > Does it make sense?
> > Take care.
> > alex
---------------------------
---------------------------
hello Sriram,
if both transistors are closed,the output is in the tristate,which is
Vdd/2 (think about these transistors like of 2 large value
resistors).If
you apply "1" to n_mos transistor, it is trying to open ,and it’s Vs
would be close to Vdd.But it can’t happen,because your Vg is not high
enough.
alex
A:
_____________________
| _______ |
| | | Q |
‘----|D |---- |
clock | | |
-----> | _ |
| | Q |
| |--------’
|_______|
____ ___
_ | |
Q |_______|
Any system with clock should meet setup and hold time conditions.
Besides since there is a feedback from !Q to D, we should take care of
D input timing: the data on D input should not change while clock is
high!
Otherwise the results are unpredictable.
To meet these conditions:
endmodule
0 <-- rptr
1
2
3
wptr --> 4
5
6
7
8
9
10
11
12
Multiple clocks add complexity to this design. We need to define conditions for Empty
and Full signals, take care of WR and RD pointers. Here is one of the solutions.
where w_flag is set when wptr =12 (end of FIFO). After that wptr is reset to 0. The same
for r_flag and rptr.
Pointer handling:
if (wptr == 12) {w_flag,wptr} <= {~w_flag,4’b0000};
else wptr <= wptr+1;
if (rptr == 12) {r_flag,rptr} <= {~r_flag,4’b0000};
else rptr <= rptr+1;
Q: 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.
A:
Since no loss in the circuit the charge remains the same:
U1C1 + U2C2 = U3(C1+C2)
U3 = (U1C1+U2C2)/(C1+C2) = (10*1 + 0*0.25)/1+0.25 = 8
U3= 8V
Q: You work on a specification of a system with some digital parameters. Each
parameter has Min,Typ and Max colomns.
What colomn would you put setup and hold time?
A: put SETUP time into the Min colomn, put HOLD time into the Min colomn too.
Example:
usually the data must be set at least (minimum) X nS before clock and being held at least
Y nS after the clock. You need to specify Min setup and Min hold time.
clk J K Q
=========================
+ 0 0 hold
+ 0 1 0
+ 1 0 1
+ 1 1 switch to opposite
J K D
=================
0 0 Q
0 1 0
1 0 1
1 1 !Q
_______________________________
| |
___|___ _______ |
| | | | |
_J__| |_______________|D Q |---’
| A | | |
| | | |
K | | |clk _ |
----| | --| Q |--.
|_______| |_______| |
| |
|_______________________________|
Q:You have two counters to 16 built from negedge D- FF . First circuit is synchronous
and second is "ripple" (cascading). Which circuit has less delay?
1 - is ripple counter;
2 - synchronous.
Both consist of 4 FF, synchronous counter also has some logic to control it’s operation.
From diagram 3 (for ripple) and 4 (for synchronous) it is seen that propagation delay of
ripple counter is 4* t_prop , while synchronous counter has only 1* t_prop.
_______ _______
D | | Q D | | Q
-----| |---- -----| |----
clock | | enable | |
-----> | _ -----| | _
| | Q | | Q
| |---- | |----
|_______| |_______|
endmodule
endmodule
What is the most significant responsibility you have ever had in your life?
Matovolwa Peter, email: [email protected]
Tell us about one of the technical problems you had to solve recently
Bill Benson, technical recruter from Silicon Valley, says this question is
quite frequent on interviews. Don’t miss this chance ! Tell how good you
are in solving technical problems.
Tell me about a conflict you encountered and how you handled it.
HINT : This is one of the toughest interview questions of all. It’s sort of a
trick question, as a matter of fact. Never speak negatively about anyone.
The ability to successfully resolve conflicts is important for all members
of an IS team.. It may be the most important factor if you’re working in a
service environment, such as a large consulting firm that deals with
outside clients. The answer you give here could go a long way toward
getting you a job offer. Managers want to see that you are mature and
unselfish. The answer should involve proof of your maturity level. They
are looking for your ability to handle conflict. Compromise and working it
out without external intervention are the keys. A disgruntled person is not
going to be productive, and tends to bring down coworkers’ morale as
well.
What changes have you made in your life that you are most proud of?
HINT : This tells the manager more about your ability to take control of
your life. It illustrates your leadership potential, and suggests just how
promotable you might be. After all, if he produces a star, he looks good.
MT1 practice questions. These questions aren’t to test your reasoning capabilities, just
your knowledge of the basics.
CLK 1
0
Ex 1
0
Ey 1
0
LOADA 1
5. FSM Analysis
What does this circuit do? ( Is it a Mealy or Moore? Where are the NSD, OD & State FFs. )
Z
S1 OUT
RESE
T S0
6. STD & STT
Draw a Moore STD for a circuit that does the same thing as the circuit in problem 5 and then
make it’ s STT.
S1 S0
Solutions:
1. a) STT:
PS2 PS1 PS0 NS2 NS1 NS0
0 0 0 0 0 1
0 0 1 0 1 0
0 1 0 0 1 1
0 1 1 1 0 0
1 0 0 1 0 1
Equations:
NS0 = PS0
NS1 = PS1 PS0
NS2 = PS2 PS0 + PS2 PS1 + PS2 PS1 PS0
b) Any problems?
Check for hold time violations ( Can value from flip-flop output propagate back
to the flip-flop inputs so quickly that the hold time is violated? ):
> Find the shortest propagation path: Looks like NS0 ( XOR gates have bigger
delay ?
than inverters ).
Tckpmin + Tinvmin > Thold
?
3ns + 2ns > 6ns This isn’ t true Æ hold time violation
possible.
Check for setup time violations ( Can value from flip-flop output propagate back
to the flip-flop inputs so slowly that the next clock’ s setup time is violated? )
> Find the longest propagation path: Looks like NS2. ?
Tckomax + Tinvmax + Tandmax + Tormax + Tsetup ?< Period ( 1/40MHz =
25ns )
8ns + 4ns + 6ns + 5ns + 4ns < 25ns False Æ setup
time
violation
possible.
2. 2a) By increasing the delay, you’ re delaying the change in D1’ s value. Which means that
you can increase T1-T0.
2b) The delay won’ t affect
the minimum T1-T0.
2c) Tckomax + INVTpmax + Tsumax < T – (T1-T0).
2d) Tckomax + Tdelaymax + Tsumax < T – (T1-T0).
4. This should be a Moore machine with two states and no logic on the output – the
output should come directly from the state bits. Because... any combinational logic,
no matter how simple may cause glitches. It should change states when a counter
counts up to 100. Since the output of this circuit is a clock, we have to make
especially sure that there aren’ t glitches on the output. Moore is safer than a Mealy in
this case. Why?
5. It’ s a Mealy pattern detector ( 1011 ).
Equations: RESET PS1 PS0 Z NS1 NS0
NS1 = R ( PS0 Z + PS1 OUT
PS0 Z ) 0 0 0 0 0 0 0
NS0 = Z R 0 0 0 1 0 1 0
OUT = Z PS1 PS0 0 0 1 0 1 0 0
0 0 1 1 0 1 0
STT: 0 1 0 0 0 0 0
STD: 0 1 0 1 1 1 0
0 1 1 0 1 0 0
RESET 1/0 0/0
0 1 1 1 0 1 1
1/0
1 0 0 0 0 0 0
00 01 10 11 1 0 0 1 0 0 0
1 0 1 0 0 0 0
1 0 1 1 0 0 0
1 1 0 0 0 0 0
0/0 1/0 0/0 1 1 0 1 0 0 0
0/0 1/1
7. ------
8. STT: Bookkeeping
Equations found for T1 and T0:
PS1 PS0 T1 T0 NS1 NS0
0 0 1 1 1 1
0 1 0 1 0 0
1 0 1 1 0 1
1 1 0 1 1 0
OUT1
T1
Q1
1 OUT0
9. STT:
Equations:
Bookkeeping
PS1 PS0 J1K1J1 J0K0 NS1 NS0
= PS0 0 0 0X 1X 0 1
0 1 1X X1 1 0
1 0 X0 K1 1X 1 1
= PS0 1 1 X1 X1 0 0
J0
= PS0
K0
= PS0
S0
T
A S1
T
X means “ don’ t care” . S0
E
10. A
00
B
B
01 OUT OUT
T S0
C
10 S1
Î D C E
11
E S0
S1 S0
D