Designing Digital Logic Circuits

All digital systems are composed of two elementary functions: memory elements for storing information and combinational logic gate circuits for translating that information. State machines, like counters, are nothing but a combination of memory elements and combinational gate circuits. Since memory elements are standard components to be selected out of a limited set, in essence designing digital functions comes to implementing the combinational gate circuits for the basic building blocks as well as interconnecting all these building blocks.

In general the implementation of gate circuits is referred to as Logic Synthesis, which basically can be carried out by hand, but usually some formal method by computer is applied. In this article the design methods for combinational gate circuits are briefly summarized.

The starting point for the design of a logic gate circuit is its desired functionality, having derived from the analysis of the system as a whole, the gate circuit is to make part of. The description can be stated in some algorithmic form or by logic equations, but may be summarized in the form of a table as well. The below example shows a part of such a table for a 7-segment driver that translates the binary code for the values of a decimal digit into the signals that cause the respective segments of the display to light up.

Digit Code Segments A-G
0 0000 1 1 1 1 1 1 0 -A-
1 0001 0 1 1 0 0 0 0 F B
2 0010 1 1 0 1 1 0 1 |-G-|
3 0011 1 1 1 1 0 0 1 E C
. .... . . . . . . . -D-
The implementation process starts with a logic minimization phase, to be described below, in order to simplify the function table by combining the separate terms into larger ones containing fewer variables.

Next the minimized result may be split up in smaller parts by a factorization procedure and is eventually mapped onto the available basic logic cells of the target technology. This operation is commonly referred to as Logic Optimization.[3]

No comments:

Post a Comment