Maker Pro
Maker Pro

sequential logic or asequential logic?

A

Andrew Crook

Jan 1, 1970
0
sequential logic or asequential logic?

I have a circuit based on states that I need to build. I don't know which
method to use.
none of the rest of the project needs a clock, but it needs to be cheap.

ps any sources to help me design this circuit

many thanks

Andi
 
J

Jim Thompson

Jan 1, 1970
0
sequential logic or asequential logic?

I have a circuit based on states that I need to build. I don't know which
method to use.
none of the rest of the project needs a clock, but it needs to be cheap.

ps any sources to help me design this circuit

many thanks

Andi

It depends ;-)

Can you tolerate glitches?

Post a truth table and let the gang jump on it ;-)

...Jim Thompson
 
P

Paul Burke

Jan 1, 1970
0
Andrew said:
sequential logic or asequential logic?

I have a circuit based on states that I need to build. I don't know which
method to use.
none of the rest of the project needs a clock, but it needs to be cheap.


I'd go for sequential logic anny day. You won't be as badly plagued by
weird operation caused by race conditions (which may change from device
to device if you are planning production), and it's MUCH easier to work
the logic out if things stop moving after every clock edge. The clock
does'nt have to be expensive, a 74HC14 and an RC will do if there are no
particular clock rate constraints.

Paul Burke
 
A

Andrew Crook

Jan 1, 1970
0
I am trying to follow some old college notes (sequential) from years back..
so far

I have made a state map diagram

true/state table

reduction ( i need to double check)

added biastables for state transition

made k maps

got combination logic and converted to nand gates

added d-type latches and looped biastables from output to inputs, to
complete circuit.

does this sound about right?

is there any easy free design software to help me test this? and/or aid
design

Andi
 
P

Paul Burke

Jan 1, 1970
0
Andrew said:
I am trying to follow some old college notes (sequential) from years
back..
so far

I have made a state map diagram
....

got combination logic and converted to nand gates


Why on earth did you do that? NAND gates are not the only fruit, and I
wish they'd stop teaching that crap in schools.
added d-type latches and looped biastables from output to inputs, to
complete circuit.

does this sound about right?


I suppose it's one approach.
is there any easy free design software to help me test this? and/or aid
design
If at all possible, use a PLD. Xilinx Coolrunners if you need to keep it
low power, anything at all otherwise. Most of them have free design
software available, easier if you or someone near you has broadband-
they tend to be 30Mbytes upwards. And they ALL do the whole bloody job
for you! Working out state machines of any size by hand is a REAL
bummer. Concentrate on the end rather than the means (without wishing to
reignite the arguments, this is why I use C almost exclusively for
software these days).

Paul Burke
 
P

petrus bitbyter

Jan 1, 1970
0
Paul Burke said:
I'd go for sequential logic anny day. You won't be as badly plagued by
weird operation caused by race conditions (which may change from device
to device if you are planning production), and it's MUCH easier to work
the logic out if things stop moving after every clock edge. The clock
does'nt have to be expensive, a 74HC14 and an RC will do if there are no
particular clock rate constraints.

Paul Burke

Could not find the start of this thread. (The newsserver of my provider
often has its troubles. Too bad I can't get anoteher one.) But what is meant
with asequential logic? I know of combinatorial logic and sequential logic.
The latter being asynchronous or synchronous. Never heard of asequential
logic. To provide an answer I've to get more information.

petrus
 
A

Andrew Crook

Jan 1, 1970
0
sorry i meant asynchronous sequential logic. I think this means that the
cicuits work at there own speed and not that of a clock.

Andi
 
A

Andrew Crook

Jan 1, 1970
0
have made k maps, for bistables and outputs there around a lot of
conditions empty, I can not remember whether to fill them in as 0 or X. If I
can use them as X I can make bigger groups of 1's therefore less logic.

Andi
 
A

Andrew Crook

Jan 1, 1970
0
Why on earth did you do that? NAND gates are not the only fruit, and I
wish they'd stop teaching that crap in schools.

I suppose it does not matter with PLD's, however, this method has served me
well in the passed reducing the amount of ic's needed. This was years ago!
Working out state machines of any size by hand is a REAL
bummer. Concentrate on the end rather than the means (without wishing to
reignite the arguments, this is why I use C almost exclusively for
software these days).

I do think this project is big enough for a microcontroller etc
However, I agree state machine can be a bummer, especially if a state has to
wait for any time and petri nets are needed.

Andi
 
A

Andrew Crook

Jan 1, 1970
0
I like this idea of placing it all in one ic package such a a pld, but i am
worried about price!

Andi
 
P

petrus bitbyter

Jan 1, 1970
0
Andrew Crook said:
sorry i meant asynchronous sequential logic. I think this means that the
cicuits work at there own speed and not that of a clock.

Andi

Andi,

There's much to say about sequential logic. Many thick books are written
about it. So the next is short and far from complete. Nevertheless:
Sequential logic uses memory elements usually flipflops. As we speak about
binary elements, the number of combinations that can be made is 2^n in which
n is the number of memory elements. In sequential circuits each combination
of outputs of the flipflops is known as a state. The flipflops along with
the controlling logic is known as a state machine.

State machines are always in some state. They change state on the changing
of an input signal. When the input signal(s) are randomly changing and the
state machine acts on it immediately, we use to name them asynchronous. This
type of sequential circuits has its use. You may think of asynchronous
counters for instance. Sometimes when component count or speed are critical
they may be the only choice. After all, flipflops are asynchronous
internally. Designing reliable asynchronous circuits however is a pain.
Especially when you have more then one randomly changing input signals,
asynchronous circuits quickly become uncontrollable. Like I mentioned, the
state machine changes state on the changing of an input signal. But this
changing of state takes some time and when the circuit receives a new change
of an inputsignal during this time, the outcome becomes unpredictable.

To overcome many of the problems of the asynchronous circuits, synchronous
circuits are used. All flipflops get a clock input and all clock inputs get
one and the same clock signal. Changing of the state is restricted to the
active edge of the clock. So the influence of input changing on the state
machine is now delayed until the next active clock edge. A problem may
still arise when an input changes during this active clock edge. To most
simple way to overcome this problem is to synchronize the inputs. Simply add
an extra D-flipflop to the circuit. This flopflop has nothing to do but
receiving an input signal make it available for the state machine. When an
active clockpulse and an input signal occurs at about the same time, the
input may come through at this clock edge or at the next one, but the state
machine always get a synchronised input signal. (In very critical situations
you even have to use two D-flipflops to synchronize reliably but that's
beyond this short story.)

So to design a synchronous circuit you start to make a state diagram or a
state table. Make sure you define a transition from every possible state.
Also make sure you account for every possible input combination at every
state. There are technics to reduce the number of states if possible. Once
you have done this you know the minimum number of flipflops required and you
can use k maps to find the controlling logic. You will also need a clock
generator of course but its design highly depends on the circumstances.

petrus
 
Top