|
A
Tool for Concise Expression
by
Bob Perrin
Start
Physical vs. Logical Truth Tables
Logical Interpretation of Physical Truth Tables
Logic Incompatabilities Drafting
and Reading Mixed-Logic Notation The
Terminal State Sources
PHYSICAL VS. LOGICAL TRUTH TABLES
In physical systems, voltage levels are
where the rubber hits the road. Binary systems have two legitimate
voltagesHIGH and LOW. In a 5-V system, HIGH means 5 V. In a
3-V system, HIGH means 3 V. For our purposes, LOW is taken to mean
0 V.
Physical devices are described by physical
truth tables. A physical truth table tells the observer what voltage
behavior to expect from a device. A physical truth table may have
multiple logical interpretations, depending on how we decide to interpret
the HIGH and LOW voltages in the circuit.
HIGH and LOW are meaningless in a Boolean
sensethey are voltages, not mathematical entities. To say a
HIGH has any implicit Boolean implication is incorrect, at least in
the mixed-logic system.
Before HIGH and LOW in a physical system
can be related to the Boolean equations governing the system operation,
we must agree how to interpret HIGH and LOW in our system.
One homologic approach would be to decide
a HIGH is always a 1, and a LOW is always a 0. This approach is referred
to as positive logic. Another homologic approach would be to decide
a HIGH is always a 0, and a LOW is always a 1, which is referred to
as negative logic.
The mixed-logic approach says a HIGH
can be a 0 or a 1, depending on the notation we use. A LOW is interpreted
as the opposite of HIGH. We are free to mix and match interpretations
as long as we are consistent with the notation.
So, lets agree that a signal name
suffixed with "(H)" means a HIGH is interpreted as 1. Well
refer to such a signal as active high. Likewise, lets agree
that a signal name suffixed with "(L)" means a HIGH is interpreted
as 0, and well refer to it as active low.
Other texts use other syntax, such as
the suffixes ".H" and ".L", for active high and
active low. Another common convention used for naming nets in CAD
software is to suffix the net name with "_H" or "_L"
to designate the activation level. These names are referred to as
polarized mnemonics because the activation level of the signal is
integrated with the name.
Another common practice is the use of
a bar above a signal name to indicate active low. This is a bad way
to designate active low because the bar above a signal means "perform
the NOT operation on this signal." This is a Boolean operation,
not a physical interpretation.
Boolean algebra is a mathematical abstraction,
a way to model the physical world. To create concise documentation,
Boolean abstractions must not be mixed with naming conventions. The
abstraction is used to concisely express the logical operation of
the system. Naming conventions only tell the reader how to interpret
voltage levels.
As an example, consider *RESET. A common
misuse of this symbol is to designate a RESET line as active low.
As a Boolean variable, *RESET means "if you do not want the system
initialized, assert this signal." This meaning is consistent
if you are using a strictly positive-logic system.
In a positive-logic system, all signals
are active high so if you assert *RESET, you are really forcing it
to a HIGH voltage. If the physical system interprets the *RESET as
active low, then by asserting this line (pulling it HIGH) you are
NOT resetting the system. This is clearly a convoluted method for
naming signals.
A clearer way is to designate the systems
active low reset signal as RESET (L). This says, "if you want
the system initialized, assert this signal." And the (L) tells
us clearly that the physical system interprets the signal as active
low. This method provides an unambiguous, succinct way to communicate
what the signal does.
The signals may only assume values of
asserted (Boolean 1 or TRUE) or deasserted (Boolean 0 or FALSE). The
polarized mnemonics simply tell what voltage levels correspond to
the two states.
The polarized mnemonics are useful for
helping readers of your schematic deduce the Boolean logic equations
expressed graphically (through gates and wires) on your schematic.
However, when writing the Boolean equations governing the operation
of the system, it is customary and natural to drop the (L) and (H)
from the signal names. The (L) and (H) have meaning on a schematic
(a graphical communication tool that explains the operation of a physical
circuit) but no real value in a Boolean logic equation.
PREVIOUS
NEXT
Circuit Cellar provides up-to-date information
for engineers. Visit www.circuitcellar.com
for more information and additional articles.
For subscription information, call (860) 875-2199, subscribe@circuitcellar.com
or subscribe
online. ęCircuit Cellar, the Magazine for Computer Applications.
Posted with permission.
|