Implementing asynchronous circuit from output sequence

Thread Starter

seintti

Joined Dec 3, 2016
6
Hi!

I'm reviewing for my exam and this questing popped from questions that were previously asked in the exam. Problem is attached below.

Question:
How can I make the excitation functions from that sequence? My main problem is the state 00 (=Z1Z0) because from that state can come either 10 or 01.

Trial:
Only thing that I can come up with is that Z1 = x*(z1')*z0 and Z0 = x*z1*z0'. Is this correct?

Thanks!
 

Attachments

dl324

Joined Mar 30, 2015
18,328
Welcome to AAC!
upload_2017-5-15_6-23-58.png
I don't think I've seen a more poorly worded problem.

It seems to be asking about an asynchronous circuit, but it wants tables for a synchronous circuit.

Without a synchronous circuit, how can you have multiple outputs when you have only one input? Have you done other problems like this where you decoded the outputs of a synchronous circuit?

EDIT: Have you been using ripple counters where hazards could be a problem?
 
Last edited:

Thread Starter

seintti

Joined Dec 3, 2016
6
I hope I undestood you correctly. To your first question this question assumes that there are feedbacks with delays from the outputs so the combinational logic has three inputs, sort of. So there are stable and unstable states because of this. The picture doesn't show this properly but if you look closely I think there is delays to the output from the input.

I have done similiar problems but this left me confused. I assume for example that when the state is 00 the previous z0 and z1 affects the next state. Hope this clarifies!
 

RBR1317

Joined Nov 13, 2010
715
It is quite simple to design a circuit having the given inputs & outputs, but only if the internals include a flip-flop toggled by the "X" input. Is it possible that this could be a synchronous state machine that is designated "asynchronous" simply because the "X" input is not labeled "CLK"?
Can you design a T flip-flop using only gates?
Screenshot from 2017-05-15 21-11-46.png
 

Thread Starter

seintti

Joined Dec 3, 2016
6
WBahn: I think that 3 states (Z1Z0 = 00,10,01) is the minimum number of states.

RBR1317: From the picture the excitation functions would be z0= QX and z1 = xQ', where Q would be the output of T-ff. This sounds reasonable but as you said this assumes that x = CLK which I'm not sure.

Any thoughts on my solution trial? if the state is 00 and the circuit gets feedback (z0 = 1 and z1 = 0) next sate should be 01, from this Z1 = xz1'z0?
 

WBahn

Joined Mar 31, 2012
32,840
WBahn: I think that 3 states (Z1Z0 = 00,10,01) is the minimum number of states.
What is the information represented by each of those states and why does it have to be remembered?

Ask yourself what you would need to know about the past in order to determine what Z1 and Z0 should be given only the present value of X.
 

Thread Starter

seintti

Joined Dec 3, 2016
6
What is the information represented by each of those states and why does it have to be remembered?

Ask yourself what you would need to know about the past in order to determine what Z1 and Z0 should be given only the present value of X.
If the state is 00 I would need to know what the values of z1 and z0 were. e.g. if the state is 00 and previous was 01 then I know that the next state is 10.
If the state is either 01 or 10 I would need to know what the x is now, so the next state would be 00. Because x affects the present state, I hope.

So Z1 = xz1'+ xz0
and Z0 = xz1 + xz0' ? Where the small letters are for past state and Uppercase letters for present state and x is present input.
edit: I don't think this is right, the beginning of sequence would be messed up if the state is 00
 
Last edited:

WBahn

Joined Mar 31, 2012
32,840
Why would you need to know both what Z1 and Z0 were?

Consider this.

You know: The last time that X was HI, Z0 what HI.
X is currently LO, what should Z0 and Z1 be right now?

You know: The last time that X was HI, Z0 what HI.
X is currently HI, what should Z0 and Z1 be right now?

You know: The last time that X was HI, Z0 what LO.
X is currently LO, what should Z0 and Z1 be right now?

You know: The last time that X was HI, Z0 what LO.
X is currently HI, what should Z0 and Z1 be right now?

Are there any situations that are not covered?

What information from the past about the system do you need to keep track of?
 

Thread Starter

seintti

Joined Dec 3, 2016
6
So I only need to know previous Z0 and current x.

Z1 = xz0 and
Z0 = xz0' ?

wouldn't the transition table be then

prev.state / x 0 | 1
00 | 00 | 01
01 | 00 | 10
11 | x | x
10 | 00 | 01
Z1Z0
 

Thread Starter

seintti

Joined Dec 3, 2016
6
I'm still at lost with this one because I just don't get the states here. When state is 00 shouldn't the input x decide where to go next, but in this case with x =1 we should go to state 01 and 10 depending on the last z0. For me this implies that there are four states depending on what was previous. E.g. a -> b -> c -> d -> a , where a = 00 , b = 01 , c = 00, d = 10.

or should I model z0 as another input?
 
Top