Continue to Site

Eng-Tips is the largest engineering community on the Internet

Intelligent Work Forums for Engineering Professionals

  • Congratulations SSS148 on being selected by the Eng-Tips community for having the most helpful posts in the forums last week. Way to Go!

Is there software to process and/or simplify boolean logic.

Status
Not open for further replies.

antenna2001

Electrical
Jan 21, 2006
6
I use boolean algebra to simplify my motor and lighting control designs. I normally do it by hand but it would be nice if I had a software program that made the task easier.

The way I use boolean algebra is what used to be called switching logic. I don't know what is called nowadays but I think this is the way things like switching power supplies used to be designed which I hope makes it relevant to this forum too.

I'll appreciate any input.
Thanks
 
Replies continue below

Recommended for you


Boolean algebra was extremely popular at the dawn of the digital era, and was part of the syllabus in most electronics courses about thirty to forty years ago.

The basic philosophy behind this was to reduce the number of discrete logic gates required to design and implement a required set of input and output logic functions. This same principle also applied to the even more ancient art of relay logic design.

These days nobody would try to design a circuit board with several thousand discrete logic gates, and hundreds of individual integrated circuits. A single chip programmable logic array, would do exactly the same thing, or even more flexible, a single chip micro controller solution.

Forty years ago, all you could buy were logic gates and flip flops, and that is all you had to work with. So a large part of economy of design was in reducing the total gate and package count. The microprocessor changed all that.

Today nobody really cares any more about reducing gate count. The chip you use may contain several million logic gates, and your implementation may only actually use a few dozen of them. If the chip costs only two dollars trying to reduce the number of gates actually used even further, is a complete waste of time.

So boolean algebra has now largely been made obsolete by software. A programmable logic controller would be the modern way to build a logic state machine for industrial control. It would have such a vast internal capacity for logic states, that rigorously minimising a design is simply no longer required to fit it all in.

In fact, a big inefficient intuitively written logic program may be a lot easier to follow and modify, than something that uses a lot of very cunning tricks that others may have great difficulty in later unraveling.

 
I have posted a friendlier answer to you on the motor forum.
As my memory slowly returns, Allen Bradley was another manufacturer of solid state logic that was hard wired in Boolean.
respectfully
 
And if you're really interested in switching power supply design, it has very little to do with boolean algebra

TTFN



 
I usually found that a well designed, easy to understand design/circuit had a minimum gate count. However, as IR stuff mentions there were some confusing shortcuts.
When analysing GE logic, we had to be aware of back-end turn-on. This was sometimes used for modifications to an existing panel. Increasing the gate count on an existing panel was sometimes expensive and difficult because of the hardware and space used by each gate.
You could eliminate "or" gates with a hardwired technique called back-end turn-on. This would only work with some systems, not all. The result was "or" gates in the logic that were not apparent on the diagram.
There were some interesting cross-over issues when CPU chips arrived.
One application was lumber sorters in large sawmills. Machine language programs were developed to replace solid state logic with CPU chips. This was in the early days of the 8080, 8080A and Z80.
The CPUs worked well for smaller lumber sorters and slower sorters. With the large, high-speed sorters, the discrete logic was fast enough but the CPUs would start missing boards.
In a large sorter there may be 50 or more choices or physical bins. Furthermore each bin was counted and the lumber diverted when a bin reached its set count.
With discrete logic the shift registers and counters could be extended in parallel as much as needed. The clock pulses were generated mechanically by the passing of each board.
With each clock pulse, the logic was solved for the entire panel and the appropriate outputs were generated.
With an 8 bit CPU, there were a lot of memory calls for each decision. At times the next board would arrive before a decision was complete.
When the speed of the CPUs had doubled a few times, (4 or 5 years) they came back and in a short time obsoleted the discrete logic for lumber sorting.
Any more nostalgia and we may have to move to the Enginnering history forum.
respectfully
 
Nostalgia it is for sure, but they were certainly interesting times to live through.

But getting back to the original posters question. The only software that I can think of that uses boolean terms are the programmable logic array compilers. These convert your boolean expressions into a bit programming pattern that then apply only to a specific chip. The chip is then programmed, and the output pins will then conform to the input logic states, according to the list of boolean expressions that were fed into the compiler.

It is the modern single chip solution to very complex combinational logic network design, but I suspect it is not what you are really after.
 
Nostalgia or not - logic simplification of boolean expressions is very real and very useful. The methods used, Karnaugh maps and Quine-McCluskey, are used in a plethora of applets and little programs that can be downloaded and used for free. QMC is used in lots of compilers for FPGAs and such circuits. You also find it in simulators (Electronic Workbench etc) and MathCad (license) or Scicos (freeware).

Just google "karnaugh" or "Quine-McCluskey" yo try some of them out. Karnaugh is simple to use for four variables or less. But automated programs can handle many more. QMC has no limitation - except for execution time.

Why boolean simplification? It used to be necessary to get the job done - now it may reduce execution time and, for single-chippers, make it possible to squeeze the code into the on-board ROM (or Flash or whatever).

Gunnar Englund
--------------------------------------
100 % recycled posting: Electrons, ideas, finger-tips have been used over and over again...
 
Look at richs' reply in this thread.
thread791-174290
It may include the conversion routine you are looking for.
respectfully
 
I don't have any info on the software you're looking for, but I agree that a few of the above posts were overly harsh regarding your question and the relevance of Boolean logic.

Relay logic is not dead. It is still widely used for motor and breaker control, and only disappeared from generator paralleling controls within the last few years.

Where such relay logic is utilized, simplification of the logic has immediate benefits: reduced costs, reduced complexity, and increased reliability.

The idea that cheap software or extra transistors in your chip design can eliminate the need for simplification of logic is a bizarre statement too. Seems to me that this relates closely to the #1 complaint you hear about Microsoft Windows: it does quite a bit, but due to inelegant design it's bloated and slow. If you want fast, reliable and compact, extra software and transistors are the wrong place to look.
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor