ChipCenter Questlink
SEARCH CHIPCENTER
Search Type:
Search for:




Knowledge Centers
Product Reviews
Data Sheets
Guides & Experts
News
International
Ask Us
Circuit Cellar Online
App Notes
NetSeminars
Careers
Resources
FAQ
EE Times Network
Electronics Group Sites

Mixed-Logic Notation


Circuit Cellar Online
THE MAGAZINE FOR COMPUTER APPLICATIONS
Circuit Cellar Online offers articles illustrating creative solutions
and unique applications through complete projects, practical
tutorials, and useful design techniques.

MIXED-LOGIC NOTATION

Silicon Online A Tool for Concise Expression
by Bob Perrin

StartPhysical vs. Logical Truth TablesLogical Interpretation of Physical Truth TablesLogic IncompatabilitiesDrafting and Reading Mixed-Logic NotationThe Terminal StateSources

PHYSICAL VS. LOGICAL TRUTH TABLES

In physical systems, voltage levels are where the rubber hits the road. Binary systems have two legitimate voltages—HIGH 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.

Want MORE...unique applications, complete projects, practical tutorials, and useful design techniques?

Subscribe to Circuit Cellar magazine

 

HIGH and LOW are meaningless in a Boolean sense—they 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, let’s agree that a signal name suffixed with "(H)" means a HIGH is interpreted as 1. We’ll refer to such a signal as active high. Likewise, let’s agree that a signal name suffixed with "(L)" means a HIGH is interpreted as 0, and we’ll 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 system’s 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.

PREVIOUSNEXT


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.

 

Click here to get your listing up.

Copyright © 2003 ChipCenter-QuestLink
About ChipCenter-Questlink  Contact Us  Privacy Statement   Advertising Information  FAQ