Home
4Art
    Favorite Artists
    Personal Art
    Tutorials
4Education
    Astronomy
    Cryogenic Fluids
    Logic & Circuits
4Personal
    Dallas Photographs
    Cancun Photographs
    Hawaii Photographs
4Professional
    Business Skill
    Employment History
    Programming
    Web Administration
4Recreation
    Television
    Gaming - RPG
4Administration
    Navigation
    Sites
    Users
    Groups
 
 

Department of Computing Course DoC 112 / Hardware

Lecture 8

Synchronous Digital Systems

The distinguishing feature of a synchronous digital system is that it has at least one system clock signal (SCS), which of course is also a digital (binary) signal. There may be other clock signals as well but all will have to be "synchronized" to the SCS which means that all other clock signals must have a known relationship in time to the SCS. Now we will consider simple systems which use only one clock signal, the SCS itself.

We have looked at how flip-flops are constructed and what makes them work. Now, we will ignore their internal characteristics and concentrate on their external (functional) behaviour. Again, the important thing to remember is that it is the clock signal which makes them work.

.

If we separate out the combinational elements of a general synchronous circuit and use only D-type Flip-Flops for all its sequential elements, we can define a generic sequential system by the following block diagram:

.

As shown above, all flip-flops change at the same time according to the Clock. Thus, we can look at the "state" of the system during two clock pulses when all flip-flop output signals are stable by looking at the outputs of the flip-flops. We have a definition now for the state of a synchronous finite-state machine, which is another name for a synchronous digital system:

The state of a synchronous digital system is defined by the output signals of its flip-flops during the time when the system clock is inactive. If there are k flip-flops then there are exactly 2k possible states of the system. The two control blocks are combinational networks; therefore, their output are strictly functions of the inputs. The behaviour of the system is defined by the transition of one state to another when a clock pulse is applied. As shown on the diagram, the output signals at any time depend only on the state of the system (collection of 1s and 0s of the flip-flop outputs). We can indicate these in the functional forms:

Qi(ti+1) = Di(t) D-type Flip-Flop law

Di = F( Inp1, Inp2, ... , Q1, Q2, ...) Combinational box F()

and

Outi = G(Q1, Q2, ...) Combinational box G()

Since after an active clock pulse occured the output of each flip-flop becomes equal to its input before the clock pulse, we can also express the first equation above as:

Qi(ti+1) = F( Inp1, Inp2, ... , Q1, Q2, ...) at time = ti

Since the collection of flip-flop outputs is defined as the state of the system, the last equation is called the state transition equation. The state transition equation completely describes the behaviour of the system for all times if the state of the system is known at an initial time and the inputs are known for both initial and all later times. The output of the system is a direct (combinational) function of its state and does not influence the behaviour of the system.

The advantage of the state transition description is that it has a convenient graphical representation: the state transition diagram. Let us use the example of a J-K Flip-Flop:

The functional behaviour of the J-K flip-flop is shown in the following table:

. .

The State transition diagram is shown below:

.

There are (as shown), two output variables (Q, Q'); however, there is only one state variable (Q), which in this case is also equal to one of the outputs. Since there in one state variable, there are two states which we can label as State 1 and State 2, but more conveniently can be labeled by the value of Q; i.e. binary 0 or binary 1. The labels of the two states appear in the two circles.

The arrows represent the state transitions and for two inputs (JK) there should be four different combinations of the input values for each state. In this case, each transition occurs for two such input combinations. For example, if the flip-flop is in the 0 state, either the inputs JK = 00 (leave the output unchanged) or JK = 01 (reset the output) will leave the output state in state 0. Similarly, either input combination 10 (set the output to 1) or 11 (toggle the output) will change the output to become logic 1.

Synchronous Binary Counters

The simplest synchronous digital system is the binary counter because it has no input and no combinational output block. At each clock signal the counter takes up a new state and thus goes through a specific count sequence. We shall design now a binary up-counter with two outputs which goes through the sequence: 00 -> 01 -> 10 -> 11 -> 00 -> etc. The block diagram, structure and state transition diagram of a two-bit binary counter (built with two D-type flip-flops) is shown below:

.

Now we have to design the two combinational circuits indicated by Circuit 1 and Circuit 2. The first step is to construct a "truth table", since this is what we need to design a combinational circuit. For sequential systems which is designed with D-type flip-flops this table is the so called transition table (appropriately named) in which the "inputs" are the circuit inputs plus the flip-flop outputs at time ti. The outputs are the flip-flop outputs at time ti+1. In the case of the binary up-counter we have:

From the transition table the two K-maps are constructed and the minimised Boolean expressions are shown below:

.

.

D1(ti) = Q1(ti+1) = Q1'¥Q2 + Q2'¥Q1 = Q1<+> Q2 D2(ti) = Q2(ti+1) = Q2'

where <+> is the XOR operator.

Since the outputs of Circuit 1 and Circuit 2 are connected to the D inputs of the flip-flops, the above results can be directly applied to the circuit because for a D-type flip-flop Q(ti+1)=D(ti). Consequently, the finalised circuit is shown below:

.

Design of a controlled 3-bit counter with don't care states

We are given the following description of a synchronous sequential circuit to design:

A three-bit binary counter has one control input, C1. When C1=0 the counter counts up even numbers, i.e. 000 -> 010 -> 100 -> 110 -> 000 ->.... When C1=1 the counter counts down odd numbers; ie. 000 -> 111 -> 101-> 011-> 001-> 000 -> ... It is not important what sequence is produced if at the start the counter is in an undefined state (say, C1=1 and the counter output is 010), however, the counter should reach the 000 state sooner or later if enough number of clock pulses are applied.

Step 1.

The transition table is produced. The don't care outputs X indicate that the state is not part of the counting defined sequence:

C1 Q1 Q2 Q3 D1 D2 D3

0 0 0 0 0 1 0

0 0 0 1 X X X

0 0 1 0 1 0 0

0 0 1 1 X X X

0 1 0 0 1 1 0

0 1 0 1 X X X

0 1 1 0 0 0 0

0 1 1 1 X X X

1 0 0 0 1 1 1

1 0 0 1 0 0 0

1 0 1 0 X X X

1 0 1 1 0 0 1

1 1 0 0 X X X

1 1 0 1 0 1 1

1 1 1 0 X X X

1 1 1 1 1 0 1

Step 2.

The K-maps and the suggested minimization is indicated

Step 3.

We now enter the true values of the outputs into the K-map instead of the "don't care" indicators. We can do this now since the indicated minimization assigns each X to either a 0 or to a 1.

Step 4.

We now produce the correct transition table without don't cares (and the transition diagram if we like). As shown below, we also indicate the state transitions by State Numbers (0 to 7). After closer examination we see that the the required specifications are satisfied because for either control input case the counter will eventually reach State 0.

C1 Q1 Q2 Q3 D1 D2 D3 S(tn) S(tn+1)

0 0 0 0 0 1 0 0 2

0 0 0 1 0 0 0 1 0

0 0 1 0 1 0 0 2 4

0 0 1 1 1 0 0 3 4

0 1 0 0 1 1 0 4 6

0 1 0 1 1 1 0 5 6

0 1 1 0 0 0 0 6 0

0 1 1 1 0 0 0 7 0

1 0 0 0 1 1 1 0 7

1 0 0 1 0 0 0 1 0

1 0 1 0 1 0 1 2 5

1 0 1 1 0 0 1 3 1

1 1 0 0 1 1 1 4 7

1 1 0 1 0 1 1 5 3

1 1 1 0 1 0 1 6 5

1 1 1 1 1 0 1 7 5

Step 5.

Build the circuit. Here we will assume that any basic gate (AND, OR, NAND, NOR, XOR, XNOR, Inverter) can be used. From the K-maps we have:

D1 = C1'¥Q1'¥Q2 + C1'¥Q1¥Q2' + C1¥Q1¥Q2 + C1¥Q3

= C1'¥(Q1<+>Q2) + C1¥(Q1¥Q2 + Q3')

D2 = Q2'¥Q3' + Q1¥Q2'

= Q2'¥(Q1 + Q3')

D3 = C1¥Q1 + C1¥Q3 + C1¥Q2

= C1¥(Q1 + Q2 + Q3')

= C1¥( (Q1 + Q3') + Q2)

 
 
 
 
Email comments to: Joshua Jacobsen
Last modified: 1/23/2005 11:42:22 AM
Make This Page Your HomepageMake This Page a FavoritePrint This Page
URL for this page: http://www.drowlord.com/education/logic_design/h08.html
Copyright© 1999 - 2005 Joshua Jacobsen