In 1890, in a paper titled “On the Diagrammatic and Mechanical Representation of Propositions and Reasonings,” which appeared in the Philosophical Magazine and Journal of Science, the English logician John Venn (1834-1923) proposed a graphical technique to show logical relationships between groups of “things”. Diagrams of this type, which are known as the Tree of Porphyry, are often to be found in medieval pictures. For example, Aristotle (384-322 BC) was certainly familiar with the idea of using a stylized tree figure to represent the relationships between (and successive sub-divisions of) such things as different species. Today, with the availability of tools like logic synthesis, Karnaugh maps are possibly one of the most underutilized tools in the industry, but whatever you’re doing it’s always a good idea to understand basic techniques, because you never know when you’re going to have to do something from first principles (I still use Karnaugh maps while playing with my own little hobby designs).ĭiagrams used to represent logical concepts have been around in one form or another for a very long time. The bottom line is that we were all rather good at using fundamental techniques for things like logic minimization, and one of these techniques was Karnaugh maps.
Functional verification involved gathering a bunch of your colleagues together, showing them your schematics, explaining your intent, and having them say “Well, that looks like it should work.” Meanwhile, timing analysis involved identifying the critical paths and then adding up all of the gate and track delays by hand (Oh, the good old days ). We captured our designs as gate-level schematics using pencil and paper. Actually, we didn’t have any computer-aided tools at all. When I started out in engineering, we didn’t have EDA tools like simulators and logic synthesis.