Presentation on theme: "EEE324 Digital Electronics Ian McCrumRoom 5B18, 02890366364 Lecture 5: Software for."— Presentation transcript:
EEE324 Digital Electronics Ian McCrumRoom 5B18, Lecture 5: Software for Digital Logic
Logic Minimisation Karnaugh Maps show graphically all places were the logic adjacency theorem can be applied. There is also a tabular method known as the Quine McClusky algorithm. It builds exhaustive lists of – Implicants ( a group on a Kmap that contains 1s) – Prime impliants (a group not completely within another larger group) – Essential Prime implicants (contains terms not completely within another larger group) The method then selects the best set of terms to “cover” all the ones required. The EPIs and an optimum subset of PIs. There is an old DOS package called McBoole that can do QM efficiently for up to 16 inputs.
Limitations of the software Both Kmaps and QM work on individual product terms, combining candidates to from implicants of fewer and fewer variables In very large problems it is impractical to extract the set of canonical product terms. A 100 input problem would have 2^100 possible input patterns (though we would work with less than half this number it is still a large number) 1024 is 2^10, megabits=2^20 and gigabits 2^30 i.e a billion. 2^100 is a thousand billion billion gigabits
ESPRESSO Software Rather than expanding to a minterm list, this software examines logic terms looking for reductions It may not find the best solution, it should find a “near-optimal” one. In practice it does badly on small problems where exhaustive solution is viable. It (and McBoole) accepts inputs in a special form known as the BLIF. The Berkely Logic Interface Format.
The SIS suite of software As well as logic minimisation we need to automatically generate sequential systems, this also needs computers for big problems.] The Sequential Interactive Synthesis package of programs contains ESPRESSO and other s/w. It is from Berkely University and available on the web. The ESPRESSO software is an example of a HEURISTIC algorithm; it guesses and searches, uses previous search results and stops when it thinks it is near enough… The algebra is complex, uses cubes, sharp functions and a process of partial expansions, irredundant cover and reduction, the text “Logic Minimisation algorithms for VLSI synthesis” in the library covers the theory (well beyond the course) Of interest is that parts of this software are found in commercial logic design systems.
Example of the PLA format of the BLIF The input part has 0,1,x for each input variable of the function. The 0 and 1 mean that the product term applies when this variable is 0 or 1. The x means that the product term applies when this variable is 0 and 1. The output part contains 0,1,d for each output variable. A don’t care d term is useful if minimising across multiple outputs..i 3 ; only 1 space.o 4 ; between items 10x 101 ; unless a comment x x x x 101
More complex example (SIS) From:
Output of SIS
McBoole and Sis are on my website We will not run McBoole or SIS this year. They require either linux or an early version of windows They can be run using emulation or virtualisation technology such as dosbox? or Virtualbox