SIMPLIFICATION OF BOOLEAN FUNCTION BASED ON SIMPLIFICATION ... of boolean function based... ·...
-
Upload
nguyenxuyen -
Category
Documents
-
view
269 -
download
4
Transcript of SIMPLIFICATION OF BOOLEAN FUNCTION BASED ON SIMPLIFICATION ... of boolean function based... ·...
SIMPLIFICATION OF BOOLEAN FUNCTION BASED ON SIMPLIFICATION RULES
CHIN KUI FERN
Tit Master of Engineering7868
(Digital Electronics) D5 C5 39 2003
-llpoundrt _1 nt ~t Ak d~lr~ UrTrEbull~D MALAY) SktAWIili
-1- l ~-- S S~ f~an
SIMPLIFICATION OF BOOLEAN FUNCTION BASED ON SIMPLIFICATION RULES
PKHIDMAT MAKLUMAT AKADEMIK UNIMAS
1111111111111111111111111 1000121814
CHIN KUI FERN
A thesis submitted in full fulfillment of the requirements for the degree of
Master of Engneering
Faculty of Engineering UNIVERSITI MALAYSIA SARAWAK
2003
ACKNOWLEDGEMENT
First and foremost thanks to god for enabling the author to complete and achieve the objectives of lhis research Also the author is deeply indebted to the research supervisor Associate Professor Dr Mohamad Kadim Suaidi whose encouragement guidance and advice has helped the author in many ways for making this research a success
Profound appreciation must also be expressed to the lab assistant especially to Encik Wan Abu Bakar and Encik Zakaria Bin Idris for letting the author to use a few computers and some development tools essential for the study and simulation work Their helps and support in times of troubles and difficulties is very much appreciated
The author also would like to express his special thanks to the University of Malaysia Sarawak (UNIMAS) and National Science Fellowship for their sponsorships
Last but not least thanks to authors family dearest colleague and friends for their constructive suggestion encouragement patient and who have helped the author in their own ways which enable me to see this thesis through to completion
iii
i
ABSTRACT
(BOIean function simplification i~ the art of ~x~loiting simplification opp~rtunities that exist within that algebra or greatly facilitated by preliminary reducing the number of roots in separate equations that in its tum leads to decreasing the number of variables in a considered system the number of equations and time complexity Any large systems of logical functions should be expressed in as simple as possible through generalization because this leads inevitably to a reduced usage of resources such as the physical space and connectivity of electronic logic circuits when that same function is implemented physically using actual electronic devices or componen
( Boolean functions are used as mo~els for many different problems of logic design where a large number of sensors deliver their Input data to be processed by an automaton or in pattern recognition and diagnostics in medicine and engineering where a sequence of code words is to be transformed into the sequence of test patterns artificial intelligence information security such as information authentication as well as data encryption A common feature of those problem is the disproportion between the total number of minterms existing for the given number of input variables and the number of really used minterms for which the output value is defined It is impossible to solve these systems using trivial methods based on scanning Boolean space of variables and checking its elements one by one to reveal the roots between them Hence an efficient synthesis method whose ~me and memory complexity will be acceptable even for large dimension problems is desirablj
Since the early days of designing digital circuits simplification has already been justified to be an effective method in reducing cost of circuits It has now become an essential design process Most simplification algorithms regardless of exhaustive or non-exhaustive approach employ a set of simplification rules and apply them repetitively onto a given Boolean function to achieve simplification The results of simplification may not be unique if the set of simplification rules are different Hence the quality of results is very much dependent on the set of simplification rules employed by the algorithm Furthermore the speed to achieve optimal simplification varies according to the set of simpl ification rules employed
A recent research on simplification rules reveals that the existing simplification rules works on two or three product terms of the given Boolean Functions at each application of the rules Some newer algorithms employ one or two simplification rules that work on more product terms The introduction of these simplification rules has a profound impact on the speed to reach optimal simplification However the effect on the quality result has not been satisfactory studied This research fmding has broken new ground in the study of simplification of Boolean functions
(ThiS researc~ studies the definition c~aracteristics and implementation of a simplification algonthm onglnally presented by Petr Fiser Jan Hlavieka It is suitable for Boolean functions whose values are defined only for a small part of their range They were programmed in Visual C++ 6 and the extensive experimen~ results which were conducted with a set of standard LGSynth93 benchmarks are diSCUSSed)
iv
Pemudahan fungsi Booleal wujud antara algebra atau berasingan yang akan men persamaan dan kesulitan n khusus dan ringkas keranl fizikal dan penyambungar menggunakan komponen el
Fungsi Boolean telah digUl logic di mana sensor meng corak dan diagnosa dalam tersirat digubah kepada s~ seperti maklumat penge ketidakseimbangan di antal bilangan minterms yang be mustahak untuk menyelesl ruang anu Boolean dan sel dengan masa dan kuas diperlukan
Sejak dari permulaan era yang berkesan untuk mf rekabentuk Kebanyakan atau tidak mengaji satu s Fungsi Boolean yang dib tidak akan unik jika set keputusan amat dipengaru adalah bergantung kepada
Penyelidikan sekarang ten hanya dapat meringkaskal kali Sesetengah algorithr rum us pemudahan ini m Walau bagaimanapun k penyelidikan ini telah men
Penyelidikan ini belaja diperkenalkan oleh Petr Boolean yang nilai didef Visual C++ 6 dan sesiri benchmarks yang ditetap~
opportunities that exist of roots in separate
in a considered system functions should be
leads inevitably to a of electronic logic
electronic devices or
l8ultornaton or in pattern of code words is to
information security feature of those
existing for the given ich the output value is on scanning Boolean roots between them
will be acceptable
been justified to be _~~IHIUI design process
ve approach employ a function to achieve
of simplification rules set of simplification
optimal simplification
on more product on the speed to reach
not been satisfactory lification of Boolean
of a simplification fot Boolean functions programmed in Visual
a set of standard
ABSTRAK
Pemudahan fungsi Boolean ialah kesenian untuk menyediakan kemudahan pemudahan yang wujud antara algebra atau kemudahan untuk mengurangkan nombor akar dalam permsamaan berasingan yang akan menyebabkan pengurangan dalam anu di dalam system tertentu nombor persamaan dan kesulitan masa Semua fungsi logic dalam system yang besar perJu disusun khusus dan ringkas kerana ini pasti akan mengurangkan penggunaan sumber seperti ruang fizikal dan penyambungan litar elektronik apabiia fungsi yang sama dilaksanakan dengan menggunakan komponen elektronik yang sebenarnya
Fungsi Boolean telah digunakan sebagai model untuk banyak permasalahan seperti rekabentuk logic di mana sensor menghantar data masuk untuk dip roses oleh suatu automaton pengenalan corak dan diagnosa dalam perubatan and kejuruteraan di mana satu turutan penulisan kod yang tersirat digubah kepada satu rentetan corak ujian kecerdasan tiruan maklumat keselamatan seperti maklumat pengesahan dan data enclytion Sifat umum masalah ini ialah ketidakseimbangan di antara bilangan minterms wujud daripada bilangan input yang diberi dan bilangan minterms yang benar-benar digunakan dengan nilai output yang didefinasikan Adalah mustahak untuk menyelesaikan system ini dengan kaedah cuba-cuba berdasarkan memeriksa ruang anu Boolean dan semak unsurnya satu per satu Oleh itu kaedah sintesis yang berkesan dengan masa dan kuasa ingatan yang sesuai untuk permasalahan dimensi besar amat diperlukan
Sejak dari permulaan era rekabentuk litar digit pemudahan telah dikenalpasti sebagai kaedah yang berkesan untuk mengurangkan kos litar Sekarang ia menjadi keperJuan proses rekabentuk Kebanyakan algorithm pemudahan tidak mengendahkan pendekatan menyeluruh atau tidak mengaji satu set rumus pemudahan and menggunakannya secara berulang ke atas Fungsi Boolean yang diberikan untuk mendapat kesan ringkasan Keputusan pemudahan ini tidak akan unik jika set rumus pemudahan yang digunakan itu berbeza Oleh itu kualiti keputusan amat dipengaruhi oleh rumus pemudahan yan dikaji Selain itu ketangkasan terbaik adalah bergantung kepada rurnus pemudahan yang digunakan
Penyelidikan sekarang tentang rurnus pemudahan menunjukkan rurnus pemudahan yang wujud hanya dapat meringkaskan dua atau tiga product terms daripada setiap fungsi Boolean setiap kali Sesetengah algorithm yang baru dapat meringksakan lebih product terms Pengenalan rumus pemudahan ini mempunyai kesan yang mendalam ke atas ketangkasan pemudahan Walau bagaimanapun kesan ke atas kualiti keputusan belum memuaskan Kesimpulan penyelidikan ini telah membuka scpe bam penyelidikan
Penyelidikan ini belajar defmasi corak and pelaksanaan algorithm pemudahan yang diperkenalkan oleh Petr Fiser dan jan Hlavieka Ini terutamanya bersesuaian dengan Fungsi Boolean yang nilai didefinasikan untuk jarak yang keci Algorithm ini diprogramkan dengan Visual C++ 6 dan sesiri keputusan eksperimen yang dijalankan dengan satu set LGSynth93 benchmarks yang ditetapkan akan dibincangkan
v
I
2 LITERATURE NTABLE OF CONTENTS
DEDICATION
ACKNOWLEDGEMENT
ABSTRACT
ABSTRAK
T ABLE OF CONTENTS
LIST OF FIGURES
LIST 0 F TABLES
LIST OF ABBREVIATION
CHAPTER
1 INTRODUCTION
J1 Introduction
12 History of Digital System Designs
13 Digital Designs Concept
14 Digital and The Real World
15 The Importance of Digital System
16 Overview of Modem Design Process
17 Boolean Functions Problem Statement
18 Objectives of the Research
19 Research Methodology
110 Thesis Structure
21 Rltview 0
Page 22 Truth Tal
11 23 Algebraic
iii 24 Kamaugt
iv 25 Justificati
v 26 Simplific
vi 27 Algebrai(
x 28 Kamaugt
xii 28 1 Dont Cal
29 Minimizi
210 Quine-M
2101 Quine-M
3 BOOLEAN MIN
2
3
4
5
6
8
8
9
9
31
32
321
322
33
34
35
36
361
37
Introduct
ESPRES
Cornman
ESPRES
Main fea
Problem
Basic Pri
Coveragl
Imrnedia
Iterative
38 Impliclll1
2 LITERATURE REVIEW
21
22Page
ii 23
iii 24
IV 25
v 26
VI 27
x 28
XII 281
29
210
201
Review of Traditional Representation Techniques II
Truth Table II
Algebraic Function 13
Kamaugh Map (K-Map) 13
Justification for Logic Simplification 16
Simplification Techniques 17
Algebraic Simplification 18
Karnaugh Map Simplification 20
Dont Care Map Entries 24
Minimizing Function of More Than Six Variables 26
Quine-McCluskey Tabulation Method 27
Quine-McCluskey Using Dont care Terms 30
3 BOOLEAN MINIMIZER
31 2
32 3
321 4
322 5
33 6
34 8
35 8
36 9
361 9
37
38
Introduction 33
ESPRESSOS Program Description 34
Command Line and Keywords 35
ESPRESSO Example 38
Main features of Boolean Minimizer 39
Problem Statements 40
Basic Principles 41
Coverage-Directed Search 42
Immediate Implicant Checking 44
Iterative Minimization by BOOM system 44
Implicant Expansion 45
381 Checking a Literal Removal
382 Expansion Strategy
39 Solution of Covering Problem Solution
391 LCMC Cover
392 Contributive Selection
393 Contributive Removal
3 10 Output Reduction
311 PLA Format Description
3111 Keywords or Command Directives
3112 Symbols in the PLA Matrix ampTheir Logical Interpretation of a PLA
312 Illustrative Example
3121 CD-Search Example
3122 Sequential Example
4 BOOLEAN MINIMIZER SOFTW ARE DEVELOPMENT
41 Introduction
42 Implementation of Simplification Algorithm in Visual C++ 6
421 Description of the Boolean Minimizer Algorithm
43 Performance Evaluation
431 Standard Single Output LGSynth93 Benchmarks
432 Test Problems With Up to 300 Input Variables and Minterms
433 Time Complexity Evaluation for Very large Problem
44 Conclusions of Research Results
5 CONCLUSION AND RECOMMENDATION
51 Conclusions
viii
52 Recomm~45
BIBLIOGRAPHY45
APPENDIX46
46
46
46
47
47
47
48
49
49
57
61
61
63
64
65
65
67
70
71
45 52 Recommendation 71
45
46
46
46
46
47
47
47
ofa PLA 48
49
49
57
61
6 61
63
64
65
65
67
70
71
BIBLIOGRAPHY 73
APPENDIX 75
IX
LIST OF FIGURES 310 Example 6
311 Example 7
312 Example 8 Figure Description Pal
313 Example 9
l General Process Flow in Current Logic Synthesis Systems 7 314 Example I(
12 Research Methodology Flow Chart 9 315 Example I
21 Karnaugh Maps for I to 6 Variables 14 316 Example I
22 An Illustration of the MINTERMS that are logically adjacent in 2 3 15 317 Example 2
and 4 variable problems
318 Example 3 23 Example of Maps Plotted From Truth Table 16
319 Boolean M 24 The Principal Identities of Boolean Algebra 19
41 Growth of 25 Flowchart for Determining the Minimum SOP Using Karnaugh Map 22 (200-1000)
26 Kamaugh Map Simplification 23 42 Runtime G
1000)27 Karnaugh Maps Program by Russell Sasamori 23
28 A Flow Diagram Defining the Single Statement Reduction Algorithm 25
29 Mapping Example 25
210 Quine-McCluskey Program in Window Interface 29
31 ESPRESSOs Example 39
32 General Structure of Boolean Minimizer 42
33 Flowchart of Algorithm Boolean Simplification 43
34 Example of Input file in PLA format 50
35 Example 1 of Coverage Directed Search 51
36 Example 2 ofCoverage Directed Search 52
37 Example 3 of Coverage Directed Search 52
38 Example 4 of Coverage Directed Search 53
39 Example 5 ofCoverage Directed Search 53
3 10
311
3 12
313
7 314
9 315
14 316
adjacent in 2 3 15 317
31816
31919
41 Map 22
23 42
23
Algorithm 25
25
29
39
42
43
50
51
52
52
53
53
Example 6 of Coverage Directed Search 54
Example 7 of Coverage Directed Search 54
Example 8 of Coverage Directed Search 55
Example 9 of Coverage Directed Search 55
Example 10 of Coverage Directed Search 56
Example II of Coverage Directed Search 56
Example 1 of Sequential Search 57
Example 2 of Sequential Search 58
Example 3 of Sequential Search 59
Boolean Minimizer Program 60
Growth of Runtime As a Function of the Number of Care Mintenns 69 (200-1000)
Runtime Growth Depending on the Number of Input Variables (200- 70 1000)
Figure
11
21
22
23
24
25
26
41
42(a)
42(b)
43
LIST OF TABLES
Description
General process flow in current logic synthesis systems
General structure of a truth table
A 3-input variables truth table
Determine of Prime Implicants
Prime Implicant Chart
Set of four mintermsdont care terms for f=lm (131315) + ld (8910 II)
Prime Implicant Table
Runtime and Minimal Solutions for the Standard Single Output LGSynth93 Benchmarks
Comparison of the Result Quality for Problems With Input Variables (20-140)
Comparison of the Result Quality for Problems With Input Variables (180-300)
Comparison of the Runtime for Problems With Up to 1000 Input Variables and 1000 Minterms
Symbols ADC ASIC CAD CD Search CMOS CP CPLD DA DAC DC DCF DD DIDL DLL DSP ECL EPIs FPGAs HDL IE ISAPI K-Map LCMC LGSynth93 benchmarks LSI LSI MSI Pis PLAs
61 ROM SOP SSl TTL VLSI XLSI
13 35) + Id
Single Output
Input Variables
Input Variables
to 1000 Input
SYlDbols AOC ASIC CAD CD Search CMOS CP CPLO OA OAC DC DCF DO DIOL OLL OSP ECL EPIs FPGAs HOL IE ISAPI K-Map LCMC LGSynth93 benchmarks LSI LSI MSI PIs PLAs ROM SOP SSI TIL VLSI XLSI
LIST OF ABBREVIATIONS
Abbreviation Analog-to-Digital Converter Application Specific Integrated Circuit Computer Aided Design Coverage Directed Search Complementary Metal-Oxide Silicon Covering Problem Complex Programmable Logic Devices Design Automation Digital-to-Analog Converter Dont Care Disjunctive Canonical Form Decision Diagram Digital Integrated Design Language Dynamic Link Library Digital Signal Processing Emitter-Coupled Logic Essential Prime Implicants Field Programmable Gate Arrays Hardware Description Language Implicant Expansion Internet Server Application Programming Interface Karnaugh Map Least Covered Most Covering Logic Synthesis and Optimization Benchmarks Large Scale Integration Large Scale Integrated Circuits Medium Scale Integrated Circuits Prime Implicants Programmable Logic Arrays Read-Only-Memory Sum Of Product Small Scale Integrated Circuits Transistor-Transistor Logic Very Large Scale Integration Extra Large Scale Integrated Circuits
xii
CHAPTER 1
INTRODUCTION
11 Introduction
The field of digital system design has made great progress over the past decades From early days of simple relay switching circuits to the present time of sophisticated very large scale integration (VLSI) circuits the designing of a digital system has advanced to become a complex and multi-staged process Algorithms and techniques for representing manipulating simulating routing placing manufacturing and testing of designs are continuously introduced and modified Meanwhile the number of devices and technologies based on different logic families keep on growing As a result many design approaches have been developed which have given rise to a wide variety of possible solutions
While the design process of digital system is becoming more complex it is becoming less possible to design a system in one step using a single design tool And it is more necessary to break the design process into several stages using different design tools at each stage Such multi-staged design processes introduce the very undesired effect of requiring a system designer to learn the various design tools employed by the different stages
As each stage develops it becomes difficult for a designer to master all the tools As such design tool developers have to strive to increase the level of design automation without compromising the final solution Whereas a design automation (DA) or computer aided design (CAD) researcher can only focus hisher study on a specific area a highly automated design environment becomes less achievable Nevertheless researchers should try to keep abreast of the development of the entire design process if possible also the simulation manufacturing and testing processes (which come after the design process) so as to have a complete idea of developing an entire system
Since the early days of designing digital circuits simplification has been justified as an effective simplification technique of Boolean functions in reducing the cost of circuits It becomes an essential design process in various application of computer-aided design (CAD) such as test generation synthesis and verification The efficiency of Boolean functions simplification depends on the form of representation techniques Unfortunately the traditional methods of representation such as truth tables Kamaugh maps (K-Maps) and algebraic functions have been proven to be quite impractical This is because every increment of the Boolean function input size could yield a function with exponential representation Therefore it is costly in terms of computer time and storage space
In recent years decision diagrams (DDs) have become the most popular representation techniques employed by computer-aided-design software to represent Boolean functions Decision diagram [Akers 1978 and Bryant 1986] has advantage over the classical representation Two most distinctive advantages being its time complexity and space complexity are non-exponential ie as the input size of Boolean functions grow linearly computer time and storage space requirements of algorithms to represent and manipulate DDs do not necessarily grow exponentially (as is the case for traditional representation techniques)
I
12 History of Digital System Designs
A digital system is a synchronous system in which signals have a finite number of integer values and may change only at discrete instants The very basic digital design can be defined as the science of organizing arrays of simple switches into what is called a discrete system that performs transformations on two-level (binary) information in a meaningful and predictable way Certainly this is true but digital design as we know it today is much more exciting than this definition portends Digital representation and processing methods have been used for a long time but the development of digital artifacts underwent a dramatic increase with the invention of the digital computer Since then digital design underpins the creation of myriad of imaginative digital devices that surround us Extraordinary progress has been made in all these aspects making the computer indispensable in almost every aspect of modem society The development of computer technology and digital microelectronics such as hand-held calculators digital watches microprocessors microwave oven controllers and digital voltmeters in particular have made possible the cost effective production of a large variety of specialized digital systems This trend continues as new applications are replacing analogue systems but in many others they are making possible applications that did not previously exist As a consequence knowledge about the designs and use of digital systems is required in a large variety of human activities
In the late 1840s George Boole [I 849J invented a very abstract form of fundamental concepts of a two-valued (binary) system which is later called the Boolean algebra But Boolean algebra is not used until about 80 years later due to its sophistication In the late of 1930s Claude Shannon [1938] applied switching algebra onto his study of relay switching circuits Since then design methods have been pretty much standard following Booles and Shannons fundamentals with added refinements here and there as new knowledge has been discovered and more exotic logic devices have been developed tried and proven leading the way into one of the most fascinating and challenging fields of study
The theory was then extended to cover both the combinational and sequential circuits in the following one and half decades Combinational switching networks are those which depend only on the current inputs and which are without memory In sequential networks the outputs respond to both current inputs and the history of all previous inputs The system must remember the entire history of the input patterns
In the 1950s further development on the theory lead to the finite-state machine theory and then the automata theory meanwhile simplification of switching functions became an active area of research This is because of the logic gates were then very expensive Also Reed and Muller introduced Reed-Muller algebra This form of expression has now become very popular and useful in the study of AND-EXOR implementation of Boolean functions
The concept of design automation that allows larger and more complex digital system to be designed wholly by computer became popular in the early 1960s However the results obtained by these tools were not always satisfactory Therefore the computer aided design concept is then introduced This allows the designer to intervene with the computerized process Also in the 1960s Quine [1952] and McCluskey [1956] devised the tabulation method for Boolean function simplification In the late 1960s simplification became less essential because of a reduction in the cost of logic gates
2
Programmable Logic Ar desirable for implementin can be designed automat PLAs which were made Hence two-level implem synthesize switching fune level simplification again
13 Digital Designs (
Digital design as treated design of recognizable considered worthy of me digital designer in reachi attempt to standardize a the designers insight to dynamic action related aj
However if these techn designs they become nl
lend themselves very nic( to system design Digit multi-level register tran automation documentati Separation of the control hardware control imple) procedure capabilities fo down to the logic level
Generally speaking be in classifying information which can be processed ( a process of classifying information which can h False Thus the Boolean that any Boolean variab applicable to arguments really optimal This nonmiddot is generally a process of Actions It implies that tl information entities defil actions which is to be d directly related to som operation
The use of verbs such a logic message and does
number of integer values can be defined as the
a discrete system that oul and predictable
more exciting than have been used for a
increase with the the creation of myriad of
been made in all these of modem society The
such as hand-held and digital voltmeters variety of specialized
analogue systems but in previously exist As a
is required in a large
of fundamental concepts But Boolean algebra
late of 1930s Claude circuits Since then s and Shannons
has been discovered leading the way into one
sequential circuits in the are those which depend
networks the outputs system must remember
machine theory and then became an active area of
Also Reed and Muller very popular and
digital system to be the results obtained
aided design concept is tmiddotri middot7 ti process Also in
method for Boolean
Programmable Logic Arrays (PLAs) were introduced in the early 1970 s and became very desirable for implementing switching functions due to the fact that PLAs reduce design time and can be designed automatically An array of AND-gates and an array of OR-gates exist in the PLAs which were made possible with the advent of large-scale integration (LSI) technology Hence two-level implementation became popular The physical area requirement of PLAs to synthesize switching functions is directly linked to the size of the Boolean functions thus twoshylevel simplification again became an important area of research
13 Digital Designs Concept
Digital design as treated in the field of study relating the adaptation of Logic concepts to the design of recognizable realizable and reliable digital hardware These concepts have been considered worthy of mention because they have been found when properly applied to aid the digital designer in reaching his goals in a straightforward manner These concepts are also an attempt to standardize a logic Action description and definition for the purpose of improving the designers insight to logic design and documentation These concepts transfer the idea of a dynamic action related approach to logic thought
However if these techniques are practiced and applied to the more traditional small scale designs they become natural and easy to extend to system level design application They also lend themselves very nicely to the Digital Design Language and Programmed Logic approaches to system design Digital Integrated Design Language (DIDL) is a formal block-structured multi-level register transfer type specialized language system for use in the design design automation documentation and simulation of all digital systems including digital computers Separation of the control and the data path of a system are allowed so that either software or hardware control implementation can be employed DIDL has also macro definition and procedure capabilities for initial system specification various levels of design and simulation down to the logic level
Generally speaking being involved in digital design is dealing in logic which is a process of classifying information while information is intelligence related to ideas meanings and actions which can be processed or transformed into other forms Binary Logic or two-valued logic is a process of classifying information into two classes Traditionally binary arguments or that infonnation which can be definitely classified as two-valued have been deemed either True or False Thus the Boolean variable is unlike the algebraic variables of the field of real numbers in that any Boolean variable can take on only two values the True or False Though certainly applicable to arguments and conditions this TrueFalse classification for digital des ign is not really optimal This non-optimal classification stems from the fact that digital hardware design is generally a process of organizing hardware for the express purpose of classifying information Actions It implies that the hardware in a digital system should be 0rganized to process the input infonnation entities defined as binary input actions and in tum generate some binary output actions which is to be thought of as a dynamic process Action is the most hardware responses directly related to some physical operation or some condition resulting from a physical operation
The use of verbs such as Asserted Excited or Invoked can be used to modify as Action related logic message and does so by directing to the signal condition under which the Action is to be
3
l
l
performed Asserted is defined as the affirmative position of an Action related Boolean variable (mnemonic) Now if the logic operation is being performed we say that the Boolean variable is Asserted It follows that if the logic operation is not being performed we say that the Boolean variable is Not-Asserted Traditionally it is standard to use the shorthand symbols I for True and 0 for False However Is or Os are also used for numeric values (binary numbers) and as high or low voltage indicators as well
14 Digital and The Real World
In real life there are two ways of representing information analog and digital Analog signals contain all the information as a continuously varying wave - such as on an oscilloscope screen when you speak into a microphone connected to it Digital signals are a series of pulses - ons and offs or Is and Os A system that processes analogue signal is termed as analogue system and a system that processes digital signal is termed as digital system A few of these are light nuclear radiation and the electric signals governing the human nervous system which are interestingly enough most definitely discrete phenomena The use of digital practices can be a viable method for solving design problems in the real world The reasons that design problems are emphasized stems from the fact that the major areas of involvement for electrical and digital engineers are (I) the measurement (2) the control and (3) the transmission of information and energy Thus we fmd that we are continuously trying to find solutions to problems related to the measurement control and transmission of information or energy in the domain of the real world However the real world tends to have a continuous nature Because of this the discrete domain needs to the buffered in some way
In recent years systems that are capable of processing a mixture of both analogue and digital signals are increasingly popular The interdomain converter is a specialized system that converts or translates information of one domain into information of another domain For example an analogue signal can often be converted to a digital signal using analogue-to-digital converter (ADC) The processed signal can be converted back to the original form using the digital-toshyanalogue converter (DAC)
Since pure digital systems are made up of arrays of simple and reliable switches with only two positions a numerical system that already existed was adapted to serve as the tool needed for utilizing the basic concept This numerical math system called the binary system is based on the two symbols 0 and I in contrast to the decimal system which has ten symbols 0 I 2 9 We should see now that in order to use a digital system such as a digital computer for mathematical computations we must first convert our mathematical symbolisms (decimal in this case) into binary symbolisms to allow the computer to perform this mathematical operation Once this is done the inverse process must he performed to convert the binary results into a readable decimal representation
The obvious question Is digital worth all of the conversion The answer cannot be simply stated in yes or no terms but must be left to the individual and the particular situation In certain instances it may not in fact be worth the bother Such would not be the case if we were able to create and use multiple-valued logic systems to create a totally decimal machine Obviously if there were ten unique descriptors usable for our decimal computer there would be no need
to convert any infonn practically speaking bil system for some years t communicate with his IT
conversion and the diffe
15 The Importance
Digital systems are use have displaced the ear numerical and non-nume
Information processing processing task elimir representation of the pn the representation and tri
The finite number of va two values (binary sigm binary as a result the switches with two states
Digital signals are quit operating temperature significant portions of a separated so that small better dynamic range T be made more accurate Thus it is more reliab susceptible to variations
The advance of microelt of extremely complex d are built as integrated cil to select among differ~ hardware
Digital technology ha computers to small persl injected in a new autom large systems in a bank last 10 years the grov microprocessors being ~ used by the millions television sets and in controlling steel making
Action related Boolean we say that the Boolean
we say that the shorthand symbols 1 for values (binary numbers)
digital Analog signals on an oscilloscope screen
a series of pulses - ons as analogue system
A few of these are light system which are
digital practices can be a that design problems
for electrical and digital of information and
to problems related to the domain of the real world this the discrete domain
switches with only two as the tool needed for
system is based on has ten symbols 0 I 2 bull bull
a digital computer for symbolisms (decimal in mathematical operation the binary results into a
cannot be simply situation In certain
to convert any information into the now required two-valued binary system However practically speaking binary systems presently dominate and will continue to be the dominant system for some years to come Since such is the case and man ultimately must learn how to communicate with his machine it is necessary that we study the processes involved in number conversion and the different codes used to represent and convey information
IS The Importance of Digital Systems
Digital systems are used in information processing wherein they have become prevalent and have displaced the earlier analogue system Digital representation is well suited for both numerical and non-numerical information processing
Information processing can use a general-purpose system that is programmed for a particular processing task eliminating the need to have a different system for each task The representation of the program and its interpretation can use the same techniques employed for the representation and transformation of the data
The finite number of values in digital signal can be represented by a vector of signals with just two values (binary signals) This representation allow implementations in which all signals are binary as a result the devices that process these signals are very simple (essentially just switches with two states open and closed)
Digital signals are quite insensitive to variations of component parameter values such as operating temperature This includes its potential flexibility in terms of time-multiplexing significant portions of a given system The physical representation of the values is sufficiently separated so that small variations do not change the value it provides exact replicablity with a better dynamic range This is especially true for binary signals Numerical digital systems can be made more accurate by simply increasing the number of digits used in the representation Thus it is more reliable more applicable to nonlinear control more predictable and less susceptible to variations of environment
The advance of microelectronics technology in recent years have made possible the fabrication of extremely complex digital systems that are small fast and cheap Complex digital systems are built as integrated circuits composed of a large number of very simple devices It is possible to select among different implementations of systems that trade off speed and amount of hardware
Digital technology has affected computing from large multimillion dollars mainframe computers to small personal computers and microprocessor controllers measuring the fuel to be injected in a new automobile engine Many of us think of computers in the sense of medium to large systems in a bank or insurance company or for scientific research or military used In the last 10 years the growth of personal computing has been tremendous But most of the microprocessors being sold today do not go into personal computers Instead they are being used by the millions in dishwashers automobiles aircraft oscilloscopes stereo systems television sets and in industrial control systems used for measuring lumber thickness or controlling steel making
5
Digital technology is finding its way into areas of electronics normally thought of as strictly analogue Commercial two-way radios have microcontrollers setting the local oscillator frequency Electronic instrumentation such as oscilloscopes logic analyzers function generators power supplies and multimeters measuring current voltage and resistance all have made widespread use of digital technology In fact it is difficult to find a recently designed electronic instrument that does not use digital technology in some way Digital signal processing (DSP) is a methodology that involves the conversion of analogue information into digital form processes it in some rather sophisticated manner and produces an output either analogue or digital Modem submarines use DSP to make sense of acoustic noises that occur under the ocean for example
Digital technology is especially useful because it is less susceptible to electrical noise (spikes or fluxations in voltage or current) temperature effects component aging and other factors that affect analogue systems This does not mean that analogue technology is not important or that students of electronics and even computers should not study analogue circuit and systems In fact just the contrary is true The concepts of radio propagation antenna design amplifier analysis and active filters to mention a brief few are more important than ever To appropriately apply digital design principles to these areas certainly requires an in-depth understanding of analogue principles Furthermore as the frequencies of digital devices continue to increase digital systems designers are faced with solving analogue-related problems
The application of digital technology will continue to grow in a wide range of consumer product industrial control militarydefense and service industries Look for digital system speeds to increase new devices with added complexity integrated systems comprising both digital and analogue functions embedded into a single integrated circuit and even possibly the use of organic material for constructing memory devices
16 Overview of Modern Design Process
Design is a complex process more an art than a science Complex systems can be broken down into three simpler independent design stages the functional structural and physical stages Figure 11 depicts the general process flow in current logic synthesis systems
A switChing circuit design is first specified in the functional design stage with tools such as hardware description language (HDL) or schematic capture Hardware description language allows a design to be described in text form while schematic capture allows a design to be described in graphical form Once the design is specified it is converted into a mathematical description by the design tools and passed on to the next design stage
In the logic design stage the mathematical representation of the design is simplified without modifying the functionality Two major manipulation techniques that have been studied extensively are simplification and portioning techniques The simplification techniques aim to produce a simpler representation while the portioning techniques aim to break a large representation into a set of smaller but equivalent representations
When the manipulation run If the results of sirr redone or the original satisfactory the represen
In designing application placing and routing Ir programmable logic de logic blocks (placing) ar stage only involves prog
When the physical de consideration) may be f1
which may be part of th manufacturing Followir includes the testing ofm
Figure 11 (
thought of as strictly the local oscillator analyzers function
important
a
logic and resistance all have
to fi nd a recently designed Digital signal processing
Iinfnnml-inn into digital fonn output either analogue or
noises that occur under the
to electrical noise (spikes or and other factors that
is not important or that circuit and systems In
antenna design amplifier than ever To
requires an in-depth of digital devices
solving analogue-related
wide range of consumer Look for digital system systems comprising both
and even possibly the
stages
stage with tools such as description language
allows a design to be -rt-11 into a mathematical
is simplified without that have been studied
iti techniques aim to aim to break a large
When the manipulation is completed a pre-layout simulation (with ideal consideration) may be run If the results of simulation are not satisfactory the previous design stages will have to be redone or the original specification may have to be changed However if the results are satisfactory the representation will be passed on to the final stage - physical design stage
In designing application specific integrated circuit (ASIC) this stage includes floor planning placing and routing In designing field programmable gate arrays (FPGAs) and complex programmable logic devices (CPLDs) this stage includes defining the various programmable logic blocks (placing) and programming the interconnections (routing) In designing PLAs this stage only involves programming the interconnections (routing)
When the physical design stage is completed a post-layout simulation (with practical consideration) may be run If the results are not satisfactory the design will have to be redone which may be part of the entire process If the result is satisfactory the design will be sent for manufacturing Following the manufacturing process comes the testing of the devices which includes the testing of manufacturing faults and the design faults
Figure 11 General Process Flow in Current Logic Synthesis Systems
i
Research methoe 1917 Boolean Functions Problem Statement
Boolean derivatives and differentials are used as models for changes in discrete binary coded systems such as cryptosystems for information authentication and data encryption Derivatives describe crucial criteria of Boolean functions such as dependence and independence linearity monotonicity high degree of propagation high nonlinearity 0-1 balancedness and high algebraic degree They are operators generating other Boolean functions Equations with derivatives define classes of Boolean functions Boolean Differentials are models for any kinds of changes such as signal edges errors and deviations An important Boolean problem is that of designing Boolean functions satisfying simultaneously more than one nonlinearity criteria
Boolean function manipulation is the art of exploiting simplification opportunities that exist inherently in logical structures by using the identities that exist within that algebra or reducing the number of terms used We are seeking to express any logical function as simple as possible because this can lead to a reduced usage of resources when that same function is implemented physically
18 Objectives of the Research
The main objective of the project is to generalize simplification rules employed by several existing simplification algorithms and develop simplification algorithms based on the rules derived from the generalization While the measurable objectives are as stated below
I To survey on the existing simplification algorit~ms
2 To study and compare the simplification rules employed by these simplification algorithms
3 To generalize the existing simplification rules and from there identify new simplification rules
4 To implement software package which employs an effective set of simplification rules
The diagram in Figure I
)FamUiarize w gtStudy the nls
gtCompare simi gtAnaJyu the cI gtGeneralize the gt Derive rules fl
gtDevelop simpJ gt Implement the
gtTest new solho Compare resu
~
8
F
110 Thesis Structure
This thesis covers the fo l
rules employed by several algorithms based on the rules
Phase 3 Implementation of Software Package are as stated below
in discrete binary coded data encryption Derivatives and independence linearity
0- balanced ness and high functions Equations with
are models for any kinds rmSlnt Boolean problem is that
one nonlinearity criteria
IIlcallcm opportunities that exist within that algebra or reducing
function as simple as possible same function is implemented
19 Research methodology
The diagram in Figure 12 shows the methodology used and planned in conducting the research
Phase I Literature Review
IDIUJariu wllh the current work done in UNIMAS gtStudy the existing simplification rules
Phase 2 Generalization of Simplification Rules
ompare simplification ru les employed by different simplification algorithms gtAnalyze the characteristics of existing simplification rules gtGeoeralize the simplification rules based on their simplification characteristics raquo Derive rules from the generalization of simplification rules
simplification algorithms
identifY new simplification
of simplification rules
Develop simplification algorithms which emplOy different set of simplification rules raquo lmplement the algorithm onto computer using Visual C++ language
+Phase 4 Analysis of algorithms performance
raquoTest new software package by using practical circuits or benchmarks raquoCompare results obtained to that provided by the traditional methods
Figure 12 Research Methodology Flow Chart
110 Thesis Structure
This thesis covers the following topics
9
In Chapter I history brief concept of Digital System Design and importance of Digital System are provided The research objectives methodology and overview of modem design process are outlined as well
Chapter 2 documents the literature review performed The traditional representation techniques of simplification method basically cover truth table algebraic function and K-Map The existing simplification techniques such as algebraic simplification K-Map simplification Quine McshyCluskey tabulation method are reviewed and discussed
Chapter 3 lists ESPRESSO program description and examples It introduces the main features of Boolean Minimizer and the program is elaborated together with its data formats and controls Moreover the initial generation of implicants is described with an illustrative example
In Chapter 4 the experimental results of the proposed simplification method is evaluated and commented The source code of the simplification method is discussed and explained
In Chapter 5 a conclusion of this thesis is presented and recommendation on further works that can be carried out to further improve the simplification method is also provided
10
21 Review of Traditi4
In designing digital syste Maps or algebraic expres~ be limited in large circui circuits which computati( number of inputs increase has been introduced and representing techn iques de computation time and stOI(
22 Truth Table
Before any combinational a problem is the most imp correctly accomplished 0 necessary logic for imp len table ready for logic desi From the truth table the diagram drawn The logic integrated circuit families complementary metal-oxi (mnemonic) can take on ( variable of the real numbel conditions of a Boolean 1
format called a truth table
Truth table is the most funl describes the operational combinations of input vall row at a time Further the valued variable Thus if 1
there are four combinatio~ inputs is increased by 0
independent input variable 22 show the general truth 1
CHAPTER 2
LITERATURE REVIEW
importance of Digital System of modem design process are
representation technique and K-Map The existing
simplification Quine Mcshy
introduces the main features its data formats and controls illustrative example
method is evaluated and and explained
on further works that also provided
21 Review of Traditional Representation Techniques
In designing digital system switching circuits are usually represented using truth tables KshyMaps or algebraic expressions These traditional representation techniques have been proven to be limited in large circuit designs Thus a more efficient method of representing switching circuits which computation time and storage requirements do not grow exponentially as the number of inputs increases is required The graph-based representation method known as DD has been introduced and its popularity has grown rapidly in the last decade These modem representing techniques describe the operation of a switching circuit more efficiently both in computation time and storage requirements
22 Truth Table
Before any combinational logic system can be designed it must be defmed Proper statement of a problem is the most important part of any digital design task Nothing can occur until that is correctly accomplished Once correctly and clearly stated any problem can be converted to the necessary logic for implementation Practical applications rarely come in a prepackaged truth table ready for logic design Truth table must be constructed from verbal problem descriptions From the truth table the switching equations can be written and simplified and the logic diagram drawn The logic diagram can be realized using anyone of the three main digital integrated circuit families transistor-transistor logic (TTL) emitter-coupled logic (ECL) or complementary metal-oxide silicon (CMOS) We established that a Boolean variable (mnemonic) can take on only two values not an infinite number as its kindred associate the variable of the real number system This basic difference allows us to illustrate all possible logic conditions of a Boolean variable or a collection of Boolean variables using a finite tabular format called a truth table
Truth table is the most fundamental and classical way in the description of a switching circuit It describes the operational behavior of the circuit by listing the output values for all possible liOIIlbinations of input values or arguments in vertical order and each input combination one lOW at a time Further the nontrivial decisions in digital design are based on more than one twoshyvalued variable Thus if an output is to be completely specified as a function of two inputs dIere are four combinations that must be considered From this we see that as the number of ilputs is increased by one the number of possible combinations doubles Therefore n iadcpendent input variables will exhibit 2n distinct combinations of values Table 2 I and Table 22 show the general truth table for a function with n variables and an example with n = 3
II
-llpoundrt _1 nt ~t Ak d~lr~ UrTrEbull~D MALAY) SktAWIili
-1- l ~-- S S~ f~an
SIMPLIFICATION OF BOOLEAN FUNCTION BASED ON SIMPLIFICATION RULES
PKHIDMAT MAKLUMAT AKADEMIK UNIMAS
1111111111111111111111111 1000121814
CHIN KUI FERN
A thesis submitted in full fulfillment of the requirements for the degree of
Master of Engneering
Faculty of Engineering UNIVERSITI MALAYSIA SARAWAK
2003
ACKNOWLEDGEMENT
First and foremost thanks to god for enabling the author to complete and achieve the objectives of lhis research Also the author is deeply indebted to the research supervisor Associate Professor Dr Mohamad Kadim Suaidi whose encouragement guidance and advice has helped the author in many ways for making this research a success
Profound appreciation must also be expressed to the lab assistant especially to Encik Wan Abu Bakar and Encik Zakaria Bin Idris for letting the author to use a few computers and some development tools essential for the study and simulation work Their helps and support in times of troubles and difficulties is very much appreciated
The author also would like to express his special thanks to the University of Malaysia Sarawak (UNIMAS) and National Science Fellowship for their sponsorships
Last but not least thanks to authors family dearest colleague and friends for their constructive suggestion encouragement patient and who have helped the author in their own ways which enable me to see this thesis through to completion
iii
i
ABSTRACT
(BOIean function simplification i~ the art of ~x~loiting simplification opp~rtunities that exist within that algebra or greatly facilitated by preliminary reducing the number of roots in separate equations that in its tum leads to decreasing the number of variables in a considered system the number of equations and time complexity Any large systems of logical functions should be expressed in as simple as possible through generalization because this leads inevitably to a reduced usage of resources such as the physical space and connectivity of electronic logic circuits when that same function is implemented physically using actual electronic devices or componen
( Boolean functions are used as mo~els for many different problems of logic design where a large number of sensors deliver their Input data to be processed by an automaton or in pattern recognition and diagnostics in medicine and engineering where a sequence of code words is to be transformed into the sequence of test patterns artificial intelligence information security such as information authentication as well as data encryption A common feature of those problem is the disproportion between the total number of minterms existing for the given number of input variables and the number of really used minterms for which the output value is defined It is impossible to solve these systems using trivial methods based on scanning Boolean space of variables and checking its elements one by one to reveal the roots between them Hence an efficient synthesis method whose ~me and memory complexity will be acceptable even for large dimension problems is desirablj
Since the early days of designing digital circuits simplification has already been justified to be an effective method in reducing cost of circuits It has now become an essential design process Most simplification algorithms regardless of exhaustive or non-exhaustive approach employ a set of simplification rules and apply them repetitively onto a given Boolean function to achieve simplification The results of simplification may not be unique if the set of simplification rules are different Hence the quality of results is very much dependent on the set of simplification rules employed by the algorithm Furthermore the speed to achieve optimal simplification varies according to the set of simpl ification rules employed
A recent research on simplification rules reveals that the existing simplification rules works on two or three product terms of the given Boolean Functions at each application of the rules Some newer algorithms employ one or two simplification rules that work on more product terms The introduction of these simplification rules has a profound impact on the speed to reach optimal simplification However the effect on the quality result has not been satisfactory studied This research fmding has broken new ground in the study of simplification of Boolean functions
(ThiS researc~ studies the definition c~aracteristics and implementation of a simplification algonthm onglnally presented by Petr Fiser Jan Hlavieka It is suitable for Boolean functions whose values are defined only for a small part of their range They were programmed in Visual C++ 6 and the extensive experimen~ results which were conducted with a set of standard LGSynth93 benchmarks are diSCUSSed)
iv
Pemudahan fungsi Booleal wujud antara algebra atau berasingan yang akan men persamaan dan kesulitan n khusus dan ringkas keranl fizikal dan penyambungar menggunakan komponen el
Fungsi Boolean telah digUl logic di mana sensor meng corak dan diagnosa dalam tersirat digubah kepada s~ seperti maklumat penge ketidakseimbangan di antal bilangan minterms yang be mustahak untuk menyelesl ruang anu Boolean dan sel dengan masa dan kuas diperlukan
Sejak dari permulaan era yang berkesan untuk mf rekabentuk Kebanyakan atau tidak mengaji satu s Fungsi Boolean yang dib tidak akan unik jika set keputusan amat dipengaru adalah bergantung kepada
Penyelidikan sekarang ten hanya dapat meringkaskal kali Sesetengah algorithr rum us pemudahan ini m Walau bagaimanapun k penyelidikan ini telah men
Penyelidikan ini belaja diperkenalkan oleh Petr Boolean yang nilai didef Visual C++ 6 dan sesiri benchmarks yang ditetap~
opportunities that exist of roots in separate
in a considered system functions should be
leads inevitably to a of electronic logic
electronic devices or
l8ultornaton or in pattern of code words is to
information security feature of those
existing for the given ich the output value is on scanning Boolean roots between them
will be acceptable
been justified to be _~~IHIUI design process
ve approach employ a function to achieve
of simplification rules set of simplification
optimal simplification
on more product on the speed to reach
not been satisfactory lification of Boolean
of a simplification fot Boolean functions programmed in Visual
a set of standard
ABSTRAK
Pemudahan fungsi Boolean ialah kesenian untuk menyediakan kemudahan pemudahan yang wujud antara algebra atau kemudahan untuk mengurangkan nombor akar dalam permsamaan berasingan yang akan menyebabkan pengurangan dalam anu di dalam system tertentu nombor persamaan dan kesulitan masa Semua fungsi logic dalam system yang besar perJu disusun khusus dan ringkas kerana ini pasti akan mengurangkan penggunaan sumber seperti ruang fizikal dan penyambungan litar elektronik apabiia fungsi yang sama dilaksanakan dengan menggunakan komponen elektronik yang sebenarnya
Fungsi Boolean telah digunakan sebagai model untuk banyak permasalahan seperti rekabentuk logic di mana sensor menghantar data masuk untuk dip roses oleh suatu automaton pengenalan corak dan diagnosa dalam perubatan and kejuruteraan di mana satu turutan penulisan kod yang tersirat digubah kepada satu rentetan corak ujian kecerdasan tiruan maklumat keselamatan seperti maklumat pengesahan dan data enclytion Sifat umum masalah ini ialah ketidakseimbangan di antara bilangan minterms wujud daripada bilangan input yang diberi dan bilangan minterms yang benar-benar digunakan dengan nilai output yang didefinasikan Adalah mustahak untuk menyelesaikan system ini dengan kaedah cuba-cuba berdasarkan memeriksa ruang anu Boolean dan semak unsurnya satu per satu Oleh itu kaedah sintesis yang berkesan dengan masa dan kuasa ingatan yang sesuai untuk permasalahan dimensi besar amat diperlukan
Sejak dari permulaan era rekabentuk litar digit pemudahan telah dikenalpasti sebagai kaedah yang berkesan untuk mengurangkan kos litar Sekarang ia menjadi keperJuan proses rekabentuk Kebanyakan algorithm pemudahan tidak mengendahkan pendekatan menyeluruh atau tidak mengaji satu set rumus pemudahan and menggunakannya secara berulang ke atas Fungsi Boolean yang diberikan untuk mendapat kesan ringkasan Keputusan pemudahan ini tidak akan unik jika set rumus pemudahan yang digunakan itu berbeza Oleh itu kualiti keputusan amat dipengaruhi oleh rumus pemudahan yan dikaji Selain itu ketangkasan terbaik adalah bergantung kepada rurnus pemudahan yang digunakan
Penyelidikan sekarang tentang rurnus pemudahan menunjukkan rurnus pemudahan yang wujud hanya dapat meringkaskan dua atau tiga product terms daripada setiap fungsi Boolean setiap kali Sesetengah algorithm yang baru dapat meringksakan lebih product terms Pengenalan rumus pemudahan ini mempunyai kesan yang mendalam ke atas ketangkasan pemudahan Walau bagaimanapun kesan ke atas kualiti keputusan belum memuaskan Kesimpulan penyelidikan ini telah membuka scpe bam penyelidikan
Penyelidikan ini belajar defmasi corak and pelaksanaan algorithm pemudahan yang diperkenalkan oleh Petr Fiser dan jan Hlavieka Ini terutamanya bersesuaian dengan Fungsi Boolean yang nilai didefinasikan untuk jarak yang keci Algorithm ini diprogramkan dengan Visual C++ 6 dan sesiri keputusan eksperimen yang dijalankan dengan satu set LGSynth93 benchmarks yang ditetapkan akan dibincangkan
v
I
2 LITERATURE NTABLE OF CONTENTS
DEDICATION
ACKNOWLEDGEMENT
ABSTRACT
ABSTRAK
T ABLE OF CONTENTS
LIST OF FIGURES
LIST 0 F TABLES
LIST OF ABBREVIATION
CHAPTER
1 INTRODUCTION
J1 Introduction
12 History of Digital System Designs
13 Digital Designs Concept
14 Digital and The Real World
15 The Importance of Digital System
16 Overview of Modem Design Process
17 Boolean Functions Problem Statement
18 Objectives of the Research
19 Research Methodology
110 Thesis Structure
21 Rltview 0
Page 22 Truth Tal
11 23 Algebraic
iii 24 Kamaugt
iv 25 Justificati
v 26 Simplific
vi 27 Algebrai(
x 28 Kamaugt
xii 28 1 Dont Cal
29 Minimizi
210 Quine-M
2101 Quine-M
3 BOOLEAN MIN
2
3
4
5
6
8
8
9
9
31
32
321
322
33
34
35
36
361
37
Introduct
ESPRES
Cornman
ESPRES
Main fea
Problem
Basic Pri
Coveragl
Imrnedia
Iterative
38 Impliclll1
2 LITERATURE REVIEW
21
22Page
ii 23
iii 24
IV 25
v 26
VI 27
x 28
XII 281
29
210
201
Review of Traditional Representation Techniques II
Truth Table II
Algebraic Function 13
Kamaugh Map (K-Map) 13
Justification for Logic Simplification 16
Simplification Techniques 17
Algebraic Simplification 18
Karnaugh Map Simplification 20
Dont Care Map Entries 24
Minimizing Function of More Than Six Variables 26
Quine-McCluskey Tabulation Method 27
Quine-McCluskey Using Dont care Terms 30
3 BOOLEAN MINIMIZER
31 2
32 3
321 4
322 5
33 6
34 8
35 8
36 9
361 9
37
38
Introduction 33
ESPRESSOS Program Description 34
Command Line and Keywords 35
ESPRESSO Example 38
Main features of Boolean Minimizer 39
Problem Statements 40
Basic Principles 41
Coverage-Directed Search 42
Immediate Implicant Checking 44
Iterative Minimization by BOOM system 44
Implicant Expansion 45
381 Checking a Literal Removal
382 Expansion Strategy
39 Solution of Covering Problem Solution
391 LCMC Cover
392 Contributive Selection
393 Contributive Removal
3 10 Output Reduction
311 PLA Format Description
3111 Keywords or Command Directives
3112 Symbols in the PLA Matrix ampTheir Logical Interpretation of a PLA
312 Illustrative Example
3121 CD-Search Example
3122 Sequential Example
4 BOOLEAN MINIMIZER SOFTW ARE DEVELOPMENT
41 Introduction
42 Implementation of Simplification Algorithm in Visual C++ 6
421 Description of the Boolean Minimizer Algorithm
43 Performance Evaluation
431 Standard Single Output LGSynth93 Benchmarks
432 Test Problems With Up to 300 Input Variables and Minterms
433 Time Complexity Evaluation for Very large Problem
44 Conclusions of Research Results
5 CONCLUSION AND RECOMMENDATION
51 Conclusions
viii
52 Recomm~45
BIBLIOGRAPHY45
APPENDIX46
46
46
46
47
47
47
48
49
49
57
61
61
63
64
65
65
67
70
71
45 52 Recommendation 71
45
46
46
46
46
47
47
47
ofa PLA 48
49
49
57
61
6 61
63
64
65
65
67
70
71
BIBLIOGRAPHY 73
APPENDIX 75
IX
LIST OF FIGURES 310 Example 6
311 Example 7
312 Example 8 Figure Description Pal
313 Example 9
l General Process Flow in Current Logic Synthesis Systems 7 314 Example I(
12 Research Methodology Flow Chart 9 315 Example I
21 Karnaugh Maps for I to 6 Variables 14 316 Example I
22 An Illustration of the MINTERMS that are logically adjacent in 2 3 15 317 Example 2
and 4 variable problems
318 Example 3 23 Example of Maps Plotted From Truth Table 16
319 Boolean M 24 The Principal Identities of Boolean Algebra 19
41 Growth of 25 Flowchart for Determining the Minimum SOP Using Karnaugh Map 22 (200-1000)
26 Kamaugh Map Simplification 23 42 Runtime G
1000)27 Karnaugh Maps Program by Russell Sasamori 23
28 A Flow Diagram Defining the Single Statement Reduction Algorithm 25
29 Mapping Example 25
210 Quine-McCluskey Program in Window Interface 29
31 ESPRESSOs Example 39
32 General Structure of Boolean Minimizer 42
33 Flowchart of Algorithm Boolean Simplification 43
34 Example of Input file in PLA format 50
35 Example 1 of Coverage Directed Search 51
36 Example 2 ofCoverage Directed Search 52
37 Example 3 of Coverage Directed Search 52
38 Example 4 of Coverage Directed Search 53
39 Example 5 ofCoverage Directed Search 53
3 10
311
3 12
313
7 314
9 315
14 316
adjacent in 2 3 15 317
31816
31919
41 Map 22
23 42
23
Algorithm 25
25
29
39
42
43
50
51
52
52
53
53
Example 6 of Coverage Directed Search 54
Example 7 of Coverage Directed Search 54
Example 8 of Coverage Directed Search 55
Example 9 of Coverage Directed Search 55
Example 10 of Coverage Directed Search 56
Example II of Coverage Directed Search 56
Example 1 of Sequential Search 57
Example 2 of Sequential Search 58
Example 3 of Sequential Search 59
Boolean Minimizer Program 60
Growth of Runtime As a Function of the Number of Care Mintenns 69 (200-1000)
Runtime Growth Depending on the Number of Input Variables (200- 70 1000)
Figure
11
21
22
23
24
25
26
41
42(a)
42(b)
43
LIST OF TABLES
Description
General process flow in current logic synthesis systems
General structure of a truth table
A 3-input variables truth table
Determine of Prime Implicants
Prime Implicant Chart
Set of four mintermsdont care terms for f=lm (131315) + ld (8910 II)
Prime Implicant Table
Runtime and Minimal Solutions for the Standard Single Output LGSynth93 Benchmarks
Comparison of the Result Quality for Problems With Input Variables (20-140)
Comparison of the Result Quality for Problems With Input Variables (180-300)
Comparison of the Runtime for Problems With Up to 1000 Input Variables and 1000 Minterms
Symbols ADC ASIC CAD CD Search CMOS CP CPLD DA DAC DC DCF DD DIDL DLL DSP ECL EPIs FPGAs HDL IE ISAPI K-Map LCMC LGSynth93 benchmarks LSI LSI MSI Pis PLAs
61 ROM SOP SSl TTL VLSI XLSI
13 35) + Id
Single Output
Input Variables
Input Variables
to 1000 Input
SYlDbols AOC ASIC CAD CD Search CMOS CP CPLO OA OAC DC DCF DO DIOL OLL OSP ECL EPIs FPGAs HOL IE ISAPI K-Map LCMC LGSynth93 benchmarks LSI LSI MSI PIs PLAs ROM SOP SSI TIL VLSI XLSI
LIST OF ABBREVIATIONS
Abbreviation Analog-to-Digital Converter Application Specific Integrated Circuit Computer Aided Design Coverage Directed Search Complementary Metal-Oxide Silicon Covering Problem Complex Programmable Logic Devices Design Automation Digital-to-Analog Converter Dont Care Disjunctive Canonical Form Decision Diagram Digital Integrated Design Language Dynamic Link Library Digital Signal Processing Emitter-Coupled Logic Essential Prime Implicants Field Programmable Gate Arrays Hardware Description Language Implicant Expansion Internet Server Application Programming Interface Karnaugh Map Least Covered Most Covering Logic Synthesis and Optimization Benchmarks Large Scale Integration Large Scale Integrated Circuits Medium Scale Integrated Circuits Prime Implicants Programmable Logic Arrays Read-Only-Memory Sum Of Product Small Scale Integrated Circuits Transistor-Transistor Logic Very Large Scale Integration Extra Large Scale Integrated Circuits
xii
CHAPTER 1
INTRODUCTION
11 Introduction
The field of digital system design has made great progress over the past decades From early days of simple relay switching circuits to the present time of sophisticated very large scale integration (VLSI) circuits the designing of a digital system has advanced to become a complex and multi-staged process Algorithms and techniques for representing manipulating simulating routing placing manufacturing and testing of designs are continuously introduced and modified Meanwhile the number of devices and technologies based on different logic families keep on growing As a result many design approaches have been developed which have given rise to a wide variety of possible solutions
While the design process of digital system is becoming more complex it is becoming less possible to design a system in one step using a single design tool And it is more necessary to break the design process into several stages using different design tools at each stage Such multi-staged design processes introduce the very undesired effect of requiring a system designer to learn the various design tools employed by the different stages
As each stage develops it becomes difficult for a designer to master all the tools As such design tool developers have to strive to increase the level of design automation without compromising the final solution Whereas a design automation (DA) or computer aided design (CAD) researcher can only focus hisher study on a specific area a highly automated design environment becomes less achievable Nevertheless researchers should try to keep abreast of the development of the entire design process if possible also the simulation manufacturing and testing processes (which come after the design process) so as to have a complete idea of developing an entire system
Since the early days of designing digital circuits simplification has been justified as an effective simplification technique of Boolean functions in reducing the cost of circuits It becomes an essential design process in various application of computer-aided design (CAD) such as test generation synthesis and verification The efficiency of Boolean functions simplification depends on the form of representation techniques Unfortunately the traditional methods of representation such as truth tables Kamaugh maps (K-Maps) and algebraic functions have been proven to be quite impractical This is because every increment of the Boolean function input size could yield a function with exponential representation Therefore it is costly in terms of computer time and storage space
In recent years decision diagrams (DDs) have become the most popular representation techniques employed by computer-aided-design software to represent Boolean functions Decision diagram [Akers 1978 and Bryant 1986] has advantage over the classical representation Two most distinctive advantages being its time complexity and space complexity are non-exponential ie as the input size of Boolean functions grow linearly computer time and storage space requirements of algorithms to represent and manipulate DDs do not necessarily grow exponentially (as is the case for traditional representation techniques)
I
12 History of Digital System Designs
A digital system is a synchronous system in which signals have a finite number of integer values and may change only at discrete instants The very basic digital design can be defined as the science of organizing arrays of simple switches into what is called a discrete system that performs transformations on two-level (binary) information in a meaningful and predictable way Certainly this is true but digital design as we know it today is much more exciting than this definition portends Digital representation and processing methods have been used for a long time but the development of digital artifacts underwent a dramatic increase with the invention of the digital computer Since then digital design underpins the creation of myriad of imaginative digital devices that surround us Extraordinary progress has been made in all these aspects making the computer indispensable in almost every aspect of modem society The development of computer technology and digital microelectronics such as hand-held calculators digital watches microprocessors microwave oven controllers and digital voltmeters in particular have made possible the cost effective production of a large variety of specialized digital systems This trend continues as new applications are replacing analogue systems but in many others they are making possible applications that did not previously exist As a consequence knowledge about the designs and use of digital systems is required in a large variety of human activities
In the late 1840s George Boole [I 849J invented a very abstract form of fundamental concepts of a two-valued (binary) system which is later called the Boolean algebra But Boolean algebra is not used until about 80 years later due to its sophistication In the late of 1930s Claude Shannon [1938] applied switching algebra onto his study of relay switching circuits Since then design methods have been pretty much standard following Booles and Shannons fundamentals with added refinements here and there as new knowledge has been discovered and more exotic logic devices have been developed tried and proven leading the way into one of the most fascinating and challenging fields of study
The theory was then extended to cover both the combinational and sequential circuits in the following one and half decades Combinational switching networks are those which depend only on the current inputs and which are without memory In sequential networks the outputs respond to both current inputs and the history of all previous inputs The system must remember the entire history of the input patterns
In the 1950s further development on the theory lead to the finite-state machine theory and then the automata theory meanwhile simplification of switching functions became an active area of research This is because of the logic gates were then very expensive Also Reed and Muller introduced Reed-Muller algebra This form of expression has now become very popular and useful in the study of AND-EXOR implementation of Boolean functions
The concept of design automation that allows larger and more complex digital system to be designed wholly by computer became popular in the early 1960s However the results obtained by these tools were not always satisfactory Therefore the computer aided design concept is then introduced This allows the designer to intervene with the computerized process Also in the 1960s Quine [1952] and McCluskey [1956] devised the tabulation method for Boolean function simplification In the late 1960s simplification became less essential because of a reduction in the cost of logic gates
2
Programmable Logic Ar desirable for implementin can be designed automat PLAs which were made Hence two-level implem synthesize switching fune level simplification again
13 Digital Designs (
Digital design as treated design of recognizable considered worthy of me digital designer in reachi attempt to standardize a the designers insight to dynamic action related aj
However if these techn designs they become nl
lend themselves very nic( to system design Digit multi-level register tran automation documentati Separation of the control hardware control imple) procedure capabilities fo down to the logic level
Generally speaking be in classifying information which can be processed ( a process of classifying information which can h False Thus the Boolean that any Boolean variab applicable to arguments really optimal This nonmiddot is generally a process of Actions It implies that tl information entities defil actions which is to be d directly related to som operation
The use of verbs such a logic message and does
number of integer values can be defined as the
a discrete system that oul and predictable
more exciting than have been used for a
increase with the the creation of myriad of
been made in all these of modem society The
such as hand-held and digital voltmeters variety of specialized
analogue systems but in previously exist As a
is required in a large
of fundamental concepts But Boolean algebra
late of 1930s Claude circuits Since then s and Shannons
has been discovered leading the way into one
sequential circuits in the are those which depend
networks the outputs system must remember
machine theory and then became an active area of
Also Reed and Muller very popular and
digital system to be the results obtained
aided design concept is tmiddotri middot7 ti process Also in
method for Boolean
Programmable Logic Arrays (PLAs) were introduced in the early 1970 s and became very desirable for implementing switching functions due to the fact that PLAs reduce design time and can be designed automatically An array of AND-gates and an array of OR-gates exist in the PLAs which were made possible with the advent of large-scale integration (LSI) technology Hence two-level implementation became popular The physical area requirement of PLAs to synthesize switching functions is directly linked to the size of the Boolean functions thus twoshylevel simplification again became an important area of research
13 Digital Designs Concept
Digital design as treated in the field of study relating the adaptation of Logic concepts to the design of recognizable realizable and reliable digital hardware These concepts have been considered worthy of mention because they have been found when properly applied to aid the digital designer in reaching his goals in a straightforward manner These concepts are also an attempt to standardize a logic Action description and definition for the purpose of improving the designers insight to logic design and documentation These concepts transfer the idea of a dynamic action related approach to logic thought
However if these techniques are practiced and applied to the more traditional small scale designs they become natural and easy to extend to system level design application They also lend themselves very nicely to the Digital Design Language and Programmed Logic approaches to system design Digital Integrated Design Language (DIDL) is a formal block-structured multi-level register transfer type specialized language system for use in the design design automation documentation and simulation of all digital systems including digital computers Separation of the control and the data path of a system are allowed so that either software or hardware control implementation can be employed DIDL has also macro definition and procedure capabilities for initial system specification various levels of design and simulation down to the logic level
Generally speaking being involved in digital design is dealing in logic which is a process of classifying information while information is intelligence related to ideas meanings and actions which can be processed or transformed into other forms Binary Logic or two-valued logic is a process of classifying information into two classes Traditionally binary arguments or that infonnation which can be definitely classified as two-valued have been deemed either True or False Thus the Boolean variable is unlike the algebraic variables of the field of real numbers in that any Boolean variable can take on only two values the True or False Though certainly applicable to arguments and conditions this TrueFalse classification for digital des ign is not really optimal This non-optimal classification stems from the fact that digital hardware design is generally a process of organizing hardware for the express purpose of classifying information Actions It implies that the hardware in a digital system should be 0rganized to process the input infonnation entities defined as binary input actions and in tum generate some binary output actions which is to be thought of as a dynamic process Action is the most hardware responses directly related to some physical operation or some condition resulting from a physical operation
The use of verbs such as Asserted Excited or Invoked can be used to modify as Action related logic message and does so by directing to the signal condition under which the Action is to be
3
l
l
performed Asserted is defined as the affirmative position of an Action related Boolean variable (mnemonic) Now if the logic operation is being performed we say that the Boolean variable is Asserted It follows that if the logic operation is not being performed we say that the Boolean variable is Not-Asserted Traditionally it is standard to use the shorthand symbols I for True and 0 for False However Is or Os are also used for numeric values (binary numbers) and as high or low voltage indicators as well
14 Digital and The Real World
In real life there are two ways of representing information analog and digital Analog signals contain all the information as a continuously varying wave - such as on an oscilloscope screen when you speak into a microphone connected to it Digital signals are a series of pulses - ons and offs or Is and Os A system that processes analogue signal is termed as analogue system and a system that processes digital signal is termed as digital system A few of these are light nuclear radiation and the electric signals governing the human nervous system which are interestingly enough most definitely discrete phenomena The use of digital practices can be a viable method for solving design problems in the real world The reasons that design problems are emphasized stems from the fact that the major areas of involvement for electrical and digital engineers are (I) the measurement (2) the control and (3) the transmission of information and energy Thus we fmd that we are continuously trying to find solutions to problems related to the measurement control and transmission of information or energy in the domain of the real world However the real world tends to have a continuous nature Because of this the discrete domain needs to the buffered in some way
In recent years systems that are capable of processing a mixture of both analogue and digital signals are increasingly popular The interdomain converter is a specialized system that converts or translates information of one domain into information of another domain For example an analogue signal can often be converted to a digital signal using analogue-to-digital converter (ADC) The processed signal can be converted back to the original form using the digital-toshyanalogue converter (DAC)
Since pure digital systems are made up of arrays of simple and reliable switches with only two positions a numerical system that already existed was adapted to serve as the tool needed for utilizing the basic concept This numerical math system called the binary system is based on the two symbols 0 and I in contrast to the decimal system which has ten symbols 0 I 2 9 We should see now that in order to use a digital system such as a digital computer for mathematical computations we must first convert our mathematical symbolisms (decimal in this case) into binary symbolisms to allow the computer to perform this mathematical operation Once this is done the inverse process must he performed to convert the binary results into a readable decimal representation
The obvious question Is digital worth all of the conversion The answer cannot be simply stated in yes or no terms but must be left to the individual and the particular situation In certain instances it may not in fact be worth the bother Such would not be the case if we were able to create and use multiple-valued logic systems to create a totally decimal machine Obviously if there were ten unique descriptors usable for our decimal computer there would be no need
to convert any infonn practically speaking bil system for some years t communicate with his IT
conversion and the diffe
15 The Importance
Digital systems are use have displaced the ear numerical and non-nume
Information processing processing task elimir representation of the pn the representation and tri
The finite number of va two values (binary sigm binary as a result the switches with two states
Digital signals are quit operating temperature significant portions of a separated so that small better dynamic range T be made more accurate Thus it is more reliab susceptible to variations
The advance of microelt of extremely complex d are built as integrated cil to select among differ~ hardware
Digital technology ha computers to small persl injected in a new autom large systems in a bank last 10 years the grov microprocessors being ~ used by the millions television sets and in controlling steel making
Action related Boolean we say that the Boolean
we say that the shorthand symbols 1 for values (binary numbers)
digital Analog signals on an oscilloscope screen
a series of pulses - ons as analogue system
A few of these are light system which are
digital practices can be a that design problems
for electrical and digital of information and
to problems related to the domain of the real world this the discrete domain
switches with only two as the tool needed for
system is based on has ten symbols 0 I 2 bull bull
a digital computer for symbolisms (decimal in mathematical operation the binary results into a
cannot be simply situation In certain
to convert any information into the now required two-valued binary system However practically speaking binary systems presently dominate and will continue to be the dominant system for some years to come Since such is the case and man ultimately must learn how to communicate with his machine it is necessary that we study the processes involved in number conversion and the different codes used to represent and convey information
IS The Importance of Digital Systems
Digital systems are used in information processing wherein they have become prevalent and have displaced the earlier analogue system Digital representation is well suited for both numerical and non-numerical information processing
Information processing can use a general-purpose system that is programmed for a particular processing task eliminating the need to have a different system for each task The representation of the program and its interpretation can use the same techniques employed for the representation and transformation of the data
The finite number of values in digital signal can be represented by a vector of signals with just two values (binary signals) This representation allow implementations in which all signals are binary as a result the devices that process these signals are very simple (essentially just switches with two states open and closed)
Digital signals are quite insensitive to variations of component parameter values such as operating temperature This includes its potential flexibility in terms of time-multiplexing significant portions of a given system The physical representation of the values is sufficiently separated so that small variations do not change the value it provides exact replicablity with a better dynamic range This is especially true for binary signals Numerical digital systems can be made more accurate by simply increasing the number of digits used in the representation Thus it is more reliable more applicable to nonlinear control more predictable and less susceptible to variations of environment
The advance of microelectronics technology in recent years have made possible the fabrication of extremely complex digital systems that are small fast and cheap Complex digital systems are built as integrated circuits composed of a large number of very simple devices It is possible to select among different implementations of systems that trade off speed and amount of hardware
Digital technology has affected computing from large multimillion dollars mainframe computers to small personal computers and microprocessor controllers measuring the fuel to be injected in a new automobile engine Many of us think of computers in the sense of medium to large systems in a bank or insurance company or for scientific research or military used In the last 10 years the growth of personal computing has been tremendous But most of the microprocessors being sold today do not go into personal computers Instead they are being used by the millions in dishwashers automobiles aircraft oscilloscopes stereo systems television sets and in industrial control systems used for measuring lumber thickness or controlling steel making
5
Digital technology is finding its way into areas of electronics normally thought of as strictly analogue Commercial two-way radios have microcontrollers setting the local oscillator frequency Electronic instrumentation such as oscilloscopes logic analyzers function generators power supplies and multimeters measuring current voltage and resistance all have made widespread use of digital technology In fact it is difficult to find a recently designed electronic instrument that does not use digital technology in some way Digital signal processing (DSP) is a methodology that involves the conversion of analogue information into digital form processes it in some rather sophisticated manner and produces an output either analogue or digital Modem submarines use DSP to make sense of acoustic noises that occur under the ocean for example
Digital technology is especially useful because it is less susceptible to electrical noise (spikes or fluxations in voltage or current) temperature effects component aging and other factors that affect analogue systems This does not mean that analogue technology is not important or that students of electronics and even computers should not study analogue circuit and systems In fact just the contrary is true The concepts of radio propagation antenna design amplifier analysis and active filters to mention a brief few are more important than ever To appropriately apply digital design principles to these areas certainly requires an in-depth understanding of analogue principles Furthermore as the frequencies of digital devices continue to increase digital systems designers are faced with solving analogue-related problems
The application of digital technology will continue to grow in a wide range of consumer product industrial control militarydefense and service industries Look for digital system speeds to increase new devices with added complexity integrated systems comprising both digital and analogue functions embedded into a single integrated circuit and even possibly the use of organic material for constructing memory devices
16 Overview of Modern Design Process
Design is a complex process more an art than a science Complex systems can be broken down into three simpler independent design stages the functional structural and physical stages Figure 11 depicts the general process flow in current logic synthesis systems
A switChing circuit design is first specified in the functional design stage with tools such as hardware description language (HDL) or schematic capture Hardware description language allows a design to be described in text form while schematic capture allows a design to be described in graphical form Once the design is specified it is converted into a mathematical description by the design tools and passed on to the next design stage
In the logic design stage the mathematical representation of the design is simplified without modifying the functionality Two major manipulation techniques that have been studied extensively are simplification and portioning techniques The simplification techniques aim to produce a simpler representation while the portioning techniques aim to break a large representation into a set of smaller but equivalent representations
When the manipulation run If the results of sirr redone or the original satisfactory the represen
In designing application placing and routing Ir programmable logic de logic blocks (placing) ar stage only involves prog
When the physical de consideration) may be f1
which may be part of th manufacturing Followir includes the testing ofm
Figure 11 (
thought of as strictly the local oscillator analyzers function
important
a
logic and resistance all have
to fi nd a recently designed Digital signal processing
Iinfnnml-inn into digital fonn output either analogue or
noises that occur under the
to electrical noise (spikes or and other factors that
is not important or that circuit and systems In
antenna design amplifier than ever To
requires an in-depth of digital devices
solving analogue-related
wide range of consumer Look for digital system systems comprising both
and even possibly the
stages
stage with tools such as description language
allows a design to be -rt-11 into a mathematical
is simplified without that have been studied
iti techniques aim to aim to break a large
When the manipulation is completed a pre-layout simulation (with ideal consideration) may be run If the results of simulation are not satisfactory the previous design stages will have to be redone or the original specification may have to be changed However if the results are satisfactory the representation will be passed on to the final stage - physical design stage
In designing application specific integrated circuit (ASIC) this stage includes floor planning placing and routing In designing field programmable gate arrays (FPGAs) and complex programmable logic devices (CPLDs) this stage includes defining the various programmable logic blocks (placing) and programming the interconnections (routing) In designing PLAs this stage only involves programming the interconnections (routing)
When the physical design stage is completed a post-layout simulation (with practical consideration) may be run If the results are not satisfactory the design will have to be redone which may be part of the entire process If the result is satisfactory the design will be sent for manufacturing Following the manufacturing process comes the testing of the devices which includes the testing of manufacturing faults and the design faults
Figure 11 General Process Flow in Current Logic Synthesis Systems
i
Research methoe 1917 Boolean Functions Problem Statement
Boolean derivatives and differentials are used as models for changes in discrete binary coded systems such as cryptosystems for information authentication and data encryption Derivatives describe crucial criteria of Boolean functions such as dependence and independence linearity monotonicity high degree of propagation high nonlinearity 0-1 balancedness and high algebraic degree They are operators generating other Boolean functions Equations with derivatives define classes of Boolean functions Boolean Differentials are models for any kinds of changes such as signal edges errors and deviations An important Boolean problem is that of designing Boolean functions satisfying simultaneously more than one nonlinearity criteria
Boolean function manipulation is the art of exploiting simplification opportunities that exist inherently in logical structures by using the identities that exist within that algebra or reducing the number of terms used We are seeking to express any logical function as simple as possible because this can lead to a reduced usage of resources when that same function is implemented physically
18 Objectives of the Research
The main objective of the project is to generalize simplification rules employed by several existing simplification algorithms and develop simplification algorithms based on the rules derived from the generalization While the measurable objectives are as stated below
I To survey on the existing simplification algorit~ms
2 To study and compare the simplification rules employed by these simplification algorithms
3 To generalize the existing simplification rules and from there identify new simplification rules
4 To implement software package which employs an effective set of simplification rules
The diagram in Figure I
)FamUiarize w gtStudy the nls
gtCompare simi gtAnaJyu the cI gtGeneralize the gt Derive rules fl
gtDevelop simpJ gt Implement the
gtTest new solho Compare resu
~
8
F
110 Thesis Structure
This thesis covers the fo l
rules employed by several algorithms based on the rules
Phase 3 Implementation of Software Package are as stated below
in discrete binary coded data encryption Derivatives and independence linearity
0- balanced ness and high functions Equations with
are models for any kinds rmSlnt Boolean problem is that
one nonlinearity criteria
IIlcallcm opportunities that exist within that algebra or reducing
function as simple as possible same function is implemented
19 Research methodology
The diagram in Figure 12 shows the methodology used and planned in conducting the research
Phase I Literature Review
IDIUJariu wllh the current work done in UNIMAS gtStudy the existing simplification rules
Phase 2 Generalization of Simplification Rules
ompare simplification ru les employed by different simplification algorithms gtAnalyze the characteristics of existing simplification rules gtGeoeralize the simplification rules based on their simplification characteristics raquo Derive rules from the generalization of simplification rules
simplification algorithms
identifY new simplification
of simplification rules
Develop simplification algorithms which emplOy different set of simplification rules raquo lmplement the algorithm onto computer using Visual C++ language
+Phase 4 Analysis of algorithms performance
raquoTest new software package by using practical circuits or benchmarks raquoCompare results obtained to that provided by the traditional methods
Figure 12 Research Methodology Flow Chart
110 Thesis Structure
This thesis covers the following topics
9
In Chapter I history brief concept of Digital System Design and importance of Digital System are provided The research objectives methodology and overview of modem design process are outlined as well
Chapter 2 documents the literature review performed The traditional representation techniques of simplification method basically cover truth table algebraic function and K-Map The existing simplification techniques such as algebraic simplification K-Map simplification Quine McshyCluskey tabulation method are reviewed and discussed
Chapter 3 lists ESPRESSO program description and examples It introduces the main features of Boolean Minimizer and the program is elaborated together with its data formats and controls Moreover the initial generation of implicants is described with an illustrative example
In Chapter 4 the experimental results of the proposed simplification method is evaluated and commented The source code of the simplification method is discussed and explained
In Chapter 5 a conclusion of this thesis is presented and recommendation on further works that can be carried out to further improve the simplification method is also provided
10
21 Review of Traditi4
In designing digital syste Maps or algebraic expres~ be limited in large circui circuits which computati( number of inputs increase has been introduced and representing techn iques de computation time and stOI(
22 Truth Table
Before any combinational a problem is the most imp correctly accomplished 0 necessary logic for imp len table ready for logic desi From the truth table the diagram drawn The logic integrated circuit families complementary metal-oxi (mnemonic) can take on ( variable of the real numbel conditions of a Boolean 1
format called a truth table
Truth table is the most funl describes the operational combinations of input vall row at a time Further the valued variable Thus if 1
there are four combinatio~ inputs is increased by 0
independent input variable 22 show the general truth 1
CHAPTER 2
LITERATURE REVIEW
importance of Digital System of modem design process are
representation technique and K-Map The existing
simplification Quine Mcshy
introduces the main features its data formats and controls illustrative example
method is evaluated and and explained
on further works that also provided
21 Review of Traditional Representation Techniques
In designing digital system switching circuits are usually represented using truth tables KshyMaps or algebraic expressions These traditional representation techniques have been proven to be limited in large circuit designs Thus a more efficient method of representing switching circuits which computation time and storage requirements do not grow exponentially as the number of inputs increases is required The graph-based representation method known as DD has been introduced and its popularity has grown rapidly in the last decade These modem representing techniques describe the operation of a switching circuit more efficiently both in computation time and storage requirements
22 Truth Table
Before any combinational logic system can be designed it must be defmed Proper statement of a problem is the most important part of any digital design task Nothing can occur until that is correctly accomplished Once correctly and clearly stated any problem can be converted to the necessary logic for implementation Practical applications rarely come in a prepackaged truth table ready for logic design Truth table must be constructed from verbal problem descriptions From the truth table the switching equations can be written and simplified and the logic diagram drawn The logic diagram can be realized using anyone of the three main digital integrated circuit families transistor-transistor logic (TTL) emitter-coupled logic (ECL) or complementary metal-oxide silicon (CMOS) We established that a Boolean variable (mnemonic) can take on only two values not an infinite number as its kindred associate the variable of the real number system This basic difference allows us to illustrate all possible logic conditions of a Boolean variable or a collection of Boolean variables using a finite tabular format called a truth table
Truth table is the most fundamental and classical way in the description of a switching circuit It describes the operational behavior of the circuit by listing the output values for all possible liOIIlbinations of input values or arguments in vertical order and each input combination one lOW at a time Further the nontrivial decisions in digital design are based on more than one twoshyvalued variable Thus if an output is to be completely specified as a function of two inputs dIere are four combinations that must be considered From this we see that as the number of ilputs is increased by one the number of possible combinations doubles Therefore n iadcpendent input variables will exhibit 2n distinct combinations of values Table 2 I and Table 22 show the general truth table for a function with n variables and an example with n = 3
II
ACKNOWLEDGEMENT
First and foremost thanks to god for enabling the author to complete and achieve the objectives of lhis research Also the author is deeply indebted to the research supervisor Associate Professor Dr Mohamad Kadim Suaidi whose encouragement guidance and advice has helped the author in many ways for making this research a success
Profound appreciation must also be expressed to the lab assistant especially to Encik Wan Abu Bakar and Encik Zakaria Bin Idris for letting the author to use a few computers and some development tools essential for the study and simulation work Their helps and support in times of troubles and difficulties is very much appreciated
The author also would like to express his special thanks to the University of Malaysia Sarawak (UNIMAS) and National Science Fellowship for their sponsorships
Last but not least thanks to authors family dearest colleague and friends for their constructive suggestion encouragement patient and who have helped the author in their own ways which enable me to see this thesis through to completion
iii
i
ABSTRACT
(BOIean function simplification i~ the art of ~x~loiting simplification opp~rtunities that exist within that algebra or greatly facilitated by preliminary reducing the number of roots in separate equations that in its tum leads to decreasing the number of variables in a considered system the number of equations and time complexity Any large systems of logical functions should be expressed in as simple as possible through generalization because this leads inevitably to a reduced usage of resources such as the physical space and connectivity of electronic logic circuits when that same function is implemented physically using actual electronic devices or componen
( Boolean functions are used as mo~els for many different problems of logic design where a large number of sensors deliver their Input data to be processed by an automaton or in pattern recognition and diagnostics in medicine and engineering where a sequence of code words is to be transformed into the sequence of test patterns artificial intelligence information security such as information authentication as well as data encryption A common feature of those problem is the disproportion between the total number of minterms existing for the given number of input variables and the number of really used minterms for which the output value is defined It is impossible to solve these systems using trivial methods based on scanning Boolean space of variables and checking its elements one by one to reveal the roots between them Hence an efficient synthesis method whose ~me and memory complexity will be acceptable even for large dimension problems is desirablj
Since the early days of designing digital circuits simplification has already been justified to be an effective method in reducing cost of circuits It has now become an essential design process Most simplification algorithms regardless of exhaustive or non-exhaustive approach employ a set of simplification rules and apply them repetitively onto a given Boolean function to achieve simplification The results of simplification may not be unique if the set of simplification rules are different Hence the quality of results is very much dependent on the set of simplification rules employed by the algorithm Furthermore the speed to achieve optimal simplification varies according to the set of simpl ification rules employed
A recent research on simplification rules reveals that the existing simplification rules works on two or three product terms of the given Boolean Functions at each application of the rules Some newer algorithms employ one or two simplification rules that work on more product terms The introduction of these simplification rules has a profound impact on the speed to reach optimal simplification However the effect on the quality result has not been satisfactory studied This research fmding has broken new ground in the study of simplification of Boolean functions
(ThiS researc~ studies the definition c~aracteristics and implementation of a simplification algonthm onglnally presented by Petr Fiser Jan Hlavieka It is suitable for Boolean functions whose values are defined only for a small part of their range They were programmed in Visual C++ 6 and the extensive experimen~ results which were conducted with a set of standard LGSynth93 benchmarks are diSCUSSed)
iv
Pemudahan fungsi Booleal wujud antara algebra atau berasingan yang akan men persamaan dan kesulitan n khusus dan ringkas keranl fizikal dan penyambungar menggunakan komponen el
Fungsi Boolean telah digUl logic di mana sensor meng corak dan diagnosa dalam tersirat digubah kepada s~ seperti maklumat penge ketidakseimbangan di antal bilangan minterms yang be mustahak untuk menyelesl ruang anu Boolean dan sel dengan masa dan kuas diperlukan
Sejak dari permulaan era yang berkesan untuk mf rekabentuk Kebanyakan atau tidak mengaji satu s Fungsi Boolean yang dib tidak akan unik jika set keputusan amat dipengaru adalah bergantung kepada
Penyelidikan sekarang ten hanya dapat meringkaskal kali Sesetengah algorithr rum us pemudahan ini m Walau bagaimanapun k penyelidikan ini telah men
Penyelidikan ini belaja diperkenalkan oleh Petr Boolean yang nilai didef Visual C++ 6 dan sesiri benchmarks yang ditetap~
opportunities that exist of roots in separate
in a considered system functions should be
leads inevitably to a of electronic logic
electronic devices or
l8ultornaton or in pattern of code words is to
information security feature of those
existing for the given ich the output value is on scanning Boolean roots between them
will be acceptable
been justified to be _~~IHIUI design process
ve approach employ a function to achieve
of simplification rules set of simplification
optimal simplification
on more product on the speed to reach
not been satisfactory lification of Boolean
of a simplification fot Boolean functions programmed in Visual
a set of standard
ABSTRAK
Pemudahan fungsi Boolean ialah kesenian untuk menyediakan kemudahan pemudahan yang wujud antara algebra atau kemudahan untuk mengurangkan nombor akar dalam permsamaan berasingan yang akan menyebabkan pengurangan dalam anu di dalam system tertentu nombor persamaan dan kesulitan masa Semua fungsi logic dalam system yang besar perJu disusun khusus dan ringkas kerana ini pasti akan mengurangkan penggunaan sumber seperti ruang fizikal dan penyambungan litar elektronik apabiia fungsi yang sama dilaksanakan dengan menggunakan komponen elektronik yang sebenarnya
Fungsi Boolean telah digunakan sebagai model untuk banyak permasalahan seperti rekabentuk logic di mana sensor menghantar data masuk untuk dip roses oleh suatu automaton pengenalan corak dan diagnosa dalam perubatan and kejuruteraan di mana satu turutan penulisan kod yang tersirat digubah kepada satu rentetan corak ujian kecerdasan tiruan maklumat keselamatan seperti maklumat pengesahan dan data enclytion Sifat umum masalah ini ialah ketidakseimbangan di antara bilangan minterms wujud daripada bilangan input yang diberi dan bilangan minterms yang benar-benar digunakan dengan nilai output yang didefinasikan Adalah mustahak untuk menyelesaikan system ini dengan kaedah cuba-cuba berdasarkan memeriksa ruang anu Boolean dan semak unsurnya satu per satu Oleh itu kaedah sintesis yang berkesan dengan masa dan kuasa ingatan yang sesuai untuk permasalahan dimensi besar amat diperlukan
Sejak dari permulaan era rekabentuk litar digit pemudahan telah dikenalpasti sebagai kaedah yang berkesan untuk mengurangkan kos litar Sekarang ia menjadi keperJuan proses rekabentuk Kebanyakan algorithm pemudahan tidak mengendahkan pendekatan menyeluruh atau tidak mengaji satu set rumus pemudahan and menggunakannya secara berulang ke atas Fungsi Boolean yang diberikan untuk mendapat kesan ringkasan Keputusan pemudahan ini tidak akan unik jika set rumus pemudahan yang digunakan itu berbeza Oleh itu kualiti keputusan amat dipengaruhi oleh rumus pemudahan yan dikaji Selain itu ketangkasan terbaik adalah bergantung kepada rurnus pemudahan yang digunakan
Penyelidikan sekarang tentang rurnus pemudahan menunjukkan rurnus pemudahan yang wujud hanya dapat meringkaskan dua atau tiga product terms daripada setiap fungsi Boolean setiap kali Sesetengah algorithm yang baru dapat meringksakan lebih product terms Pengenalan rumus pemudahan ini mempunyai kesan yang mendalam ke atas ketangkasan pemudahan Walau bagaimanapun kesan ke atas kualiti keputusan belum memuaskan Kesimpulan penyelidikan ini telah membuka scpe bam penyelidikan
Penyelidikan ini belajar defmasi corak and pelaksanaan algorithm pemudahan yang diperkenalkan oleh Petr Fiser dan jan Hlavieka Ini terutamanya bersesuaian dengan Fungsi Boolean yang nilai didefinasikan untuk jarak yang keci Algorithm ini diprogramkan dengan Visual C++ 6 dan sesiri keputusan eksperimen yang dijalankan dengan satu set LGSynth93 benchmarks yang ditetapkan akan dibincangkan
v
I
2 LITERATURE NTABLE OF CONTENTS
DEDICATION
ACKNOWLEDGEMENT
ABSTRACT
ABSTRAK
T ABLE OF CONTENTS
LIST OF FIGURES
LIST 0 F TABLES
LIST OF ABBREVIATION
CHAPTER
1 INTRODUCTION
J1 Introduction
12 History of Digital System Designs
13 Digital Designs Concept
14 Digital and The Real World
15 The Importance of Digital System
16 Overview of Modem Design Process
17 Boolean Functions Problem Statement
18 Objectives of the Research
19 Research Methodology
110 Thesis Structure
21 Rltview 0
Page 22 Truth Tal
11 23 Algebraic
iii 24 Kamaugt
iv 25 Justificati
v 26 Simplific
vi 27 Algebrai(
x 28 Kamaugt
xii 28 1 Dont Cal
29 Minimizi
210 Quine-M
2101 Quine-M
3 BOOLEAN MIN
2
3
4
5
6
8
8
9
9
31
32
321
322
33
34
35
36
361
37
Introduct
ESPRES
Cornman
ESPRES
Main fea
Problem
Basic Pri
Coveragl
Imrnedia
Iterative
38 Impliclll1
2 LITERATURE REVIEW
21
22Page
ii 23
iii 24
IV 25
v 26
VI 27
x 28
XII 281
29
210
201
Review of Traditional Representation Techniques II
Truth Table II
Algebraic Function 13
Kamaugh Map (K-Map) 13
Justification for Logic Simplification 16
Simplification Techniques 17
Algebraic Simplification 18
Karnaugh Map Simplification 20
Dont Care Map Entries 24
Minimizing Function of More Than Six Variables 26
Quine-McCluskey Tabulation Method 27
Quine-McCluskey Using Dont care Terms 30
3 BOOLEAN MINIMIZER
31 2
32 3
321 4
322 5
33 6
34 8
35 8
36 9
361 9
37
38
Introduction 33
ESPRESSOS Program Description 34
Command Line and Keywords 35
ESPRESSO Example 38
Main features of Boolean Minimizer 39
Problem Statements 40
Basic Principles 41
Coverage-Directed Search 42
Immediate Implicant Checking 44
Iterative Minimization by BOOM system 44
Implicant Expansion 45
381 Checking a Literal Removal
382 Expansion Strategy
39 Solution of Covering Problem Solution
391 LCMC Cover
392 Contributive Selection
393 Contributive Removal
3 10 Output Reduction
311 PLA Format Description
3111 Keywords or Command Directives
3112 Symbols in the PLA Matrix ampTheir Logical Interpretation of a PLA
312 Illustrative Example
3121 CD-Search Example
3122 Sequential Example
4 BOOLEAN MINIMIZER SOFTW ARE DEVELOPMENT
41 Introduction
42 Implementation of Simplification Algorithm in Visual C++ 6
421 Description of the Boolean Minimizer Algorithm
43 Performance Evaluation
431 Standard Single Output LGSynth93 Benchmarks
432 Test Problems With Up to 300 Input Variables and Minterms
433 Time Complexity Evaluation for Very large Problem
44 Conclusions of Research Results
5 CONCLUSION AND RECOMMENDATION
51 Conclusions
viii
52 Recomm~45
BIBLIOGRAPHY45
APPENDIX46
46
46
46
47
47
47
48
49
49
57
61
61
63
64
65
65
67
70
71
45 52 Recommendation 71
45
46
46
46
46
47
47
47
ofa PLA 48
49
49
57
61
6 61
63
64
65
65
67
70
71
BIBLIOGRAPHY 73
APPENDIX 75
IX
LIST OF FIGURES 310 Example 6
311 Example 7
312 Example 8 Figure Description Pal
313 Example 9
l General Process Flow in Current Logic Synthesis Systems 7 314 Example I(
12 Research Methodology Flow Chart 9 315 Example I
21 Karnaugh Maps for I to 6 Variables 14 316 Example I
22 An Illustration of the MINTERMS that are logically adjacent in 2 3 15 317 Example 2
and 4 variable problems
318 Example 3 23 Example of Maps Plotted From Truth Table 16
319 Boolean M 24 The Principal Identities of Boolean Algebra 19
41 Growth of 25 Flowchart for Determining the Minimum SOP Using Karnaugh Map 22 (200-1000)
26 Kamaugh Map Simplification 23 42 Runtime G
1000)27 Karnaugh Maps Program by Russell Sasamori 23
28 A Flow Diagram Defining the Single Statement Reduction Algorithm 25
29 Mapping Example 25
210 Quine-McCluskey Program in Window Interface 29
31 ESPRESSOs Example 39
32 General Structure of Boolean Minimizer 42
33 Flowchart of Algorithm Boolean Simplification 43
34 Example of Input file in PLA format 50
35 Example 1 of Coverage Directed Search 51
36 Example 2 ofCoverage Directed Search 52
37 Example 3 of Coverage Directed Search 52
38 Example 4 of Coverage Directed Search 53
39 Example 5 ofCoverage Directed Search 53
3 10
311
3 12
313
7 314
9 315
14 316
adjacent in 2 3 15 317
31816
31919
41 Map 22
23 42
23
Algorithm 25
25
29
39
42
43
50
51
52
52
53
53
Example 6 of Coverage Directed Search 54
Example 7 of Coverage Directed Search 54
Example 8 of Coverage Directed Search 55
Example 9 of Coverage Directed Search 55
Example 10 of Coverage Directed Search 56
Example II of Coverage Directed Search 56
Example 1 of Sequential Search 57
Example 2 of Sequential Search 58
Example 3 of Sequential Search 59
Boolean Minimizer Program 60
Growth of Runtime As a Function of the Number of Care Mintenns 69 (200-1000)
Runtime Growth Depending on the Number of Input Variables (200- 70 1000)
Figure
11
21
22
23
24
25
26
41
42(a)
42(b)
43
LIST OF TABLES
Description
General process flow in current logic synthesis systems
General structure of a truth table
A 3-input variables truth table
Determine of Prime Implicants
Prime Implicant Chart
Set of four mintermsdont care terms for f=lm (131315) + ld (8910 II)
Prime Implicant Table
Runtime and Minimal Solutions for the Standard Single Output LGSynth93 Benchmarks
Comparison of the Result Quality for Problems With Input Variables (20-140)
Comparison of the Result Quality for Problems With Input Variables (180-300)
Comparison of the Runtime for Problems With Up to 1000 Input Variables and 1000 Minterms
Symbols ADC ASIC CAD CD Search CMOS CP CPLD DA DAC DC DCF DD DIDL DLL DSP ECL EPIs FPGAs HDL IE ISAPI K-Map LCMC LGSynth93 benchmarks LSI LSI MSI Pis PLAs
61 ROM SOP SSl TTL VLSI XLSI
13 35) + Id
Single Output
Input Variables
Input Variables
to 1000 Input
SYlDbols AOC ASIC CAD CD Search CMOS CP CPLO OA OAC DC DCF DO DIOL OLL OSP ECL EPIs FPGAs HOL IE ISAPI K-Map LCMC LGSynth93 benchmarks LSI LSI MSI PIs PLAs ROM SOP SSI TIL VLSI XLSI
LIST OF ABBREVIATIONS
Abbreviation Analog-to-Digital Converter Application Specific Integrated Circuit Computer Aided Design Coverage Directed Search Complementary Metal-Oxide Silicon Covering Problem Complex Programmable Logic Devices Design Automation Digital-to-Analog Converter Dont Care Disjunctive Canonical Form Decision Diagram Digital Integrated Design Language Dynamic Link Library Digital Signal Processing Emitter-Coupled Logic Essential Prime Implicants Field Programmable Gate Arrays Hardware Description Language Implicant Expansion Internet Server Application Programming Interface Karnaugh Map Least Covered Most Covering Logic Synthesis and Optimization Benchmarks Large Scale Integration Large Scale Integrated Circuits Medium Scale Integrated Circuits Prime Implicants Programmable Logic Arrays Read-Only-Memory Sum Of Product Small Scale Integrated Circuits Transistor-Transistor Logic Very Large Scale Integration Extra Large Scale Integrated Circuits
xii
CHAPTER 1
INTRODUCTION
11 Introduction
The field of digital system design has made great progress over the past decades From early days of simple relay switching circuits to the present time of sophisticated very large scale integration (VLSI) circuits the designing of a digital system has advanced to become a complex and multi-staged process Algorithms and techniques for representing manipulating simulating routing placing manufacturing and testing of designs are continuously introduced and modified Meanwhile the number of devices and technologies based on different logic families keep on growing As a result many design approaches have been developed which have given rise to a wide variety of possible solutions
While the design process of digital system is becoming more complex it is becoming less possible to design a system in one step using a single design tool And it is more necessary to break the design process into several stages using different design tools at each stage Such multi-staged design processes introduce the very undesired effect of requiring a system designer to learn the various design tools employed by the different stages
As each stage develops it becomes difficult for a designer to master all the tools As such design tool developers have to strive to increase the level of design automation without compromising the final solution Whereas a design automation (DA) or computer aided design (CAD) researcher can only focus hisher study on a specific area a highly automated design environment becomes less achievable Nevertheless researchers should try to keep abreast of the development of the entire design process if possible also the simulation manufacturing and testing processes (which come after the design process) so as to have a complete idea of developing an entire system
Since the early days of designing digital circuits simplification has been justified as an effective simplification technique of Boolean functions in reducing the cost of circuits It becomes an essential design process in various application of computer-aided design (CAD) such as test generation synthesis and verification The efficiency of Boolean functions simplification depends on the form of representation techniques Unfortunately the traditional methods of representation such as truth tables Kamaugh maps (K-Maps) and algebraic functions have been proven to be quite impractical This is because every increment of the Boolean function input size could yield a function with exponential representation Therefore it is costly in terms of computer time and storage space
In recent years decision diagrams (DDs) have become the most popular representation techniques employed by computer-aided-design software to represent Boolean functions Decision diagram [Akers 1978 and Bryant 1986] has advantage over the classical representation Two most distinctive advantages being its time complexity and space complexity are non-exponential ie as the input size of Boolean functions grow linearly computer time and storage space requirements of algorithms to represent and manipulate DDs do not necessarily grow exponentially (as is the case for traditional representation techniques)
I
12 History of Digital System Designs
A digital system is a synchronous system in which signals have a finite number of integer values and may change only at discrete instants The very basic digital design can be defined as the science of organizing arrays of simple switches into what is called a discrete system that performs transformations on two-level (binary) information in a meaningful and predictable way Certainly this is true but digital design as we know it today is much more exciting than this definition portends Digital representation and processing methods have been used for a long time but the development of digital artifacts underwent a dramatic increase with the invention of the digital computer Since then digital design underpins the creation of myriad of imaginative digital devices that surround us Extraordinary progress has been made in all these aspects making the computer indispensable in almost every aspect of modem society The development of computer technology and digital microelectronics such as hand-held calculators digital watches microprocessors microwave oven controllers and digital voltmeters in particular have made possible the cost effective production of a large variety of specialized digital systems This trend continues as new applications are replacing analogue systems but in many others they are making possible applications that did not previously exist As a consequence knowledge about the designs and use of digital systems is required in a large variety of human activities
In the late 1840s George Boole [I 849J invented a very abstract form of fundamental concepts of a two-valued (binary) system which is later called the Boolean algebra But Boolean algebra is not used until about 80 years later due to its sophistication In the late of 1930s Claude Shannon [1938] applied switching algebra onto his study of relay switching circuits Since then design methods have been pretty much standard following Booles and Shannons fundamentals with added refinements here and there as new knowledge has been discovered and more exotic logic devices have been developed tried and proven leading the way into one of the most fascinating and challenging fields of study
The theory was then extended to cover both the combinational and sequential circuits in the following one and half decades Combinational switching networks are those which depend only on the current inputs and which are without memory In sequential networks the outputs respond to both current inputs and the history of all previous inputs The system must remember the entire history of the input patterns
In the 1950s further development on the theory lead to the finite-state machine theory and then the automata theory meanwhile simplification of switching functions became an active area of research This is because of the logic gates were then very expensive Also Reed and Muller introduced Reed-Muller algebra This form of expression has now become very popular and useful in the study of AND-EXOR implementation of Boolean functions
The concept of design automation that allows larger and more complex digital system to be designed wholly by computer became popular in the early 1960s However the results obtained by these tools were not always satisfactory Therefore the computer aided design concept is then introduced This allows the designer to intervene with the computerized process Also in the 1960s Quine [1952] and McCluskey [1956] devised the tabulation method for Boolean function simplification In the late 1960s simplification became less essential because of a reduction in the cost of logic gates
2
Programmable Logic Ar desirable for implementin can be designed automat PLAs which were made Hence two-level implem synthesize switching fune level simplification again
13 Digital Designs (
Digital design as treated design of recognizable considered worthy of me digital designer in reachi attempt to standardize a the designers insight to dynamic action related aj
However if these techn designs they become nl
lend themselves very nic( to system design Digit multi-level register tran automation documentati Separation of the control hardware control imple) procedure capabilities fo down to the logic level
Generally speaking be in classifying information which can be processed ( a process of classifying information which can h False Thus the Boolean that any Boolean variab applicable to arguments really optimal This nonmiddot is generally a process of Actions It implies that tl information entities defil actions which is to be d directly related to som operation
The use of verbs such a logic message and does
number of integer values can be defined as the
a discrete system that oul and predictable
more exciting than have been used for a
increase with the the creation of myriad of
been made in all these of modem society The
such as hand-held and digital voltmeters variety of specialized
analogue systems but in previously exist As a
is required in a large
of fundamental concepts But Boolean algebra
late of 1930s Claude circuits Since then s and Shannons
has been discovered leading the way into one
sequential circuits in the are those which depend
networks the outputs system must remember
machine theory and then became an active area of
Also Reed and Muller very popular and
digital system to be the results obtained
aided design concept is tmiddotri middot7 ti process Also in
method for Boolean
Programmable Logic Arrays (PLAs) were introduced in the early 1970 s and became very desirable for implementing switching functions due to the fact that PLAs reduce design time and can be designed automatically An array of AND-gates and an array of OR-gates exist in the PLAs which were made possible with the advent of large-scale integration (LSI) technology Hence two-level implementation became popular The physical area requirement of PLAs to synthesize switching functions is directly linked to the size of the Boolean functions thus twoshylevel simplification again became an important area of research
13 Digital Designs Concept
Digital design as treated in the field of study relating the adaptation of Logic concepts to the design of recognizable realizable and reliable digital hardware These concepts have been considered worthy of mention because they have been found when properly applied to aid the digital designer in reaching his goals in a straightforward manner These concepts are also an attempt to standardize a logic Action description and definition for the purpose of improving the designers insight to logic design and documentation These concepts transfer the idea of a dynamic action related approach to logic thought
However if these techniques are practiced and applied to the more traditional small scale designs they become natural and easy to extend to system level design application They also lend themselves very nicely to the Digital Design Language and Programmed Logic approaches to system design Digital Integrated Design Language (DIDL) is a formal block-structured multi-level register transfer type specialized language system for use in the design design automation documentation and simulation of all digital systems including digital computers Separation of the control and the data path of a system are allowed so that either software or hardware control implementation can be employed DIDL has also macro definition and procedure capabilities for initial system specification various levels of design and simulation down to the logic level
Generally speaking being involved in digital design is dealing in logic which is a process of classifying information while information is intelligence related to ideas meanings and actions which can be processed or transformed into other forms Binary Logic or two-valued logic is a process of classifying information into two classes Traditionally binary arguments or that infonnation which can be definitely classified as two-valued have been deemed either True or False Thus the Boolean variable is unlike the algebraic variables of the field of real numbers in that any Boolean variable can take on only two values the True or False Though certainly applicable to arguments and conditions this TrueFalse classification for digital des ign is not really optimal This non-optimal classification stems from the fact that digital hardware design is generally a process of organizing hardware for the express purpose of classifying information Actions It implies that the hardware in a digital system should be 0rganized to process the input infonnation entities defined as binary input actions and in tum generate some binary output actions which is to be thought of as a dynamic process Action is the most hardware responses directly related to some physical operation or some condition resulting from a physical operation
The use of verbs such as Asserted Excited or Invoked can be used to modify as Action related logic message and does so by directing to the signal condition under which the Action is to be
3
l
l
performed Asserted is defined as the affirmative position of an Action related Boolean variable (mnemonic) Now if the logic operation is being performed we say that the Boolean variable is Asserted It follows that if the logic operation is not being performed we say that the Boolean variable is Not-Asserted Traditionally it is standard to use the shorthand symbols I for True and 0 for False However Is or Os are also used for numeric values (binary numbers) and as high or low voltage indicators as well
14 Digital and The Real World
In real life there are two ways of representing information analog and digital Analog signals contain all the information as a continuously varying wave - such as on an oscilloscope screen when you speak into a microphone connected to it Digital signals are a series of pulses - ons and offs or Is and Os A system that processes analogue signal is termed as analogue system and a system that processes digital signal is termed as digital system A few of these are light nuclear radiation and the electric signals governing the human nervous system which are interestingly enough most definitely discrete phenomena The use of digital practices can be a viable method for solving design problems in the real world The reasons that design problems are emphasized stems from the fact that the major areas of involvement for electrical and digital engineers are (I) the measurement (2) the control and (3) the transmission of information and energy Thus we fmd that we are continuously trying to find solutions to problems related to the measurement control and transmission of information or energy in the domain of the real world However the real world tends to have a continuous nature Because of this the discrete domain needs to the buffered in some way
In recent years systems that are capable of processing a mixture of both analogue and digital signals are increasingly popular The interdomain converter is a specialized system that converts or translates information of one domain into information of another domain For example an analogue signal can often be converted to a digital signal using analogue-to-digital converter (ADC) The processed signal can be converted back to the original form using the digital-toshyanalogue converter (DAC)
Since pure digital systems are made up of arrays of simple and reliable switches with only two positions a numerical system that already existed was adapted to serve as the tool needed for utilizing the basic concept This numerical math system called the binary system is based on the two symbols 0 and I in contrast to the decimal system which has ten symbols 0 I 2 9 We should see now that in order to use a digital system such as a digital computer for mathematical computations we must first convert our mathematical symbolisms (decimal in this case) into binary symbolisms to allow the computer to perform this mathematical operation Once this is done the inverse process must he performed to convert the binary results into a readable decimal representation
The obvious question Is digital worth all of the conversion The answer cannot be simply stated in yes or no terms but must be left to the individual and the particular situation In certain instances it may not in fact be worth the bother Such would not be the case if we were able to create and use multiple-valued logic systems to create a totally decimal machine Obviously if there were ten unique descriptors usable for our decimal computer there would be no need
to convert any infonn practically speaking bil system for some years t communicate with his IT
conversion and the diffe
15 The Importance
Digital systems are use have displaced the ear numerical and non-nume
Information processing processing task elimir representation of the pn the representation and tri
The finite number of va two values (binary sigm binary as a result the switches with two states
Digital signals are quit operating temperature significant portions of a separated so that small better dynamic range T be made more accurate Thus it is more reliab susceptible to variations
The advance of microelt of extremely complex d are built as integrated cil to select among differ~ hardware
Digital technology ha computers to small persl injected in a new autom large systems in a bank last 10 years the grov microprocessors being ~ used by the millions television sets and in controlling steel making
Action related Boolean we say that the Boolean
we say that the shorthand symbols 1 for values (binary numbers)
digital Analog signals on an oscilloscope screen
a series of pulses - ons as analogue system
A few of these are light system which are
digital practices can be a that design problems
for electrical and digital of information and
to problems related to the domain of the real world this the discrete domain
switches with only two as the tool needed for
system is based on has ten symbols 0 I 2 bull bull
a digital computer for symbolisms (decimal in mathematical operation the binary results into a
cannot be simply situation In certain
to convert any information into the now required two-valued binary system However practically speaking binary systems presently dominate and will continue to be the dominant system for some years to come Since such is the case and man ultimately must learn how to communicate with his machine it is necessary that we study the processes involved in number conversion and the different codes used to represent and convey information
IS The Importance of Digital Systems
Digital systems are used in information processing wherein they have become prevalent and have displaced the earlier analogue system Digital representation is well suited for both numerical and non-numerical information processing
Information processing can use a general-purpose system that is programmed for a particular processing task eliminating the need to have a different system for each task The representation of the program and its interpretation can use the same techniques employed for the representation and transformation of the data
The finite number of values in digital signal can be represented by a vector of signals with just two values (binary signals) This representation allow implementations in which all signals are binary as a result the devices that process these signals are very simple (essentially just switches with two states open and closed)
Digital signals are quite insensitive to variations of component parameter values such as operating temperature This includes its potential flexibility in terms of time-multiplexing significant portions of a given system The physical representation of the values is sufficiently separated so that small variations do not change the value it provides exact replicablity with a better dynamic range This is especially true for binary signals Numerical digital systems can be made more accurate by simply increasing the number of digits used in the representation Thus it is more reliable more applicable to nonlinear control more predictable and less susceptible to variations of environment
The advance of microelectronics technology in recent years have made possible the fabrication of extremely complex digital systems that are small fast and cheap Complex digital systems are built as integrated circuits composed of a large number of very simple devices It is possible to select among different implementations of systems that trade off speed and amount of hardware
Digital technology has affected computing from large multimillion dollars mainframe computers to small personal computers and microprocessor controllers measuring the fuel to be injected in a new automobile engine Many of us think of computers in the sense of medium to large systems in a bank or insurance company or for scientific research or military used In the last 10 years the growth of personal computing has been tremendous But most of the microprocessors being sold today do not go into personal computers Instead they are being used by the millions in dishwashers automobiles aircraft oscilloscopes stereo systems television sets and in industrial control systems used for measuring lumber thickness or controlling steel making
5
Digital technology is finding its way into areas of electronics normally thought of as strictly analogue Commercial two-way radios have microcontrollers setting the local oscillator frequency Electronic instrumentation such as oscilloscopes logic analyzers function generators power supplies and multimeters measuring current voltage and resistance all have made widespread use of digital technology In fact it is difficult to find a recently designed electronic instrument that does not use digital technology in some way Digital signal processing (DSP) is a methodology that involves the conversion of analogue information into digital form processes it in some rather sophisticated manner and produces an output either analogue or digital Modem submarines use DSP to make sense of acoustic noises that occur under the ocean for example
Digital technology is especially useful because it is less susceptible to electrical noise (spikes or fluxations in voltage or current) temperature effects component aging and other factors that affect analogue systems This does not mean that analogue technology is not important or that students of electronics and even computers should not study analogue circuit and systems In fact just the contrary is true The concepts of radio propagation antenna design amplifier analysis and active filters to mention a brief few are more important than ever To appropriately apply digital design principles to these areas certainly requires an in-depth understanding of analogue principles Furthermore as the frequencies of digital devices continue to increase digital systems designers are faced with solving analogue-related problems
The application of digital technology will continue to grow in a wide range of consumer product industrial control militarydefense and service industries Look for digital system speeds to increase new devices with added complexity integrated systems comprising both digital and analogue functions embedded into a single integrated circuit and even possibly the use of organic material for constructing memory devices
16 Overview of Modern Design Process
Design is a complex process more an art than a science Complex systems can be broken down into three simpler independent design stages the functional structural and physical stages Figure 11 depicts the general process flow in current logic synthesis systems
A switChing circuit design is first specified in the functional design stage with tools such as hardware description language (HDL) or schematic capture Hardware description language allows a design to be described in text form while schematic capture allows a design to be described in graphical form Once the design is specified it is converted into a mathematical description by the design tools and passed on to the next design stage
In the logic design stage the mathematical representation of the design is simplified without modifying the functionality Two major manipulation techniques that have been studied extensively are simplification and portioning techniques The simplification techniques aim to produce a simpler representation while the portioning techniques aim to break a large representation into a set of smaller but equivalent representations
When the manipulation run If the results of sirr redone or the original satisfactory the represen
In designing application placing and routing Ir programmable logic de logic blocks (placing) ar stage only involves prog
When the physical de consideration) may be f1
which may be part of th manufacturing Followir includes the testing ofm
Figure 11 (
thought of as strictly the local oscillator analyzers function
important
a
logic and resistance all have
to fi nd a recently designed Digital signal processing
Iinfnnml-inn into digital fonn output either analogue or
noises that occur under the
to electrical noise (spikes or and other factors that
is not important or that circuit and systems In
antenna design amplifier than ever To
requires an in-depth of digital devices
solving analogue-related
wide range of consumer Look for digital system systems comprising both
and even possibly the
stages
stage with tools such as description language
allows a design to be -rt-11 into a mathematical
is simplified without that have been studied
iti techniques aim to aim to break a large
When the manipulation is completed a pre-layout simulation (with ideal consideration) may be run If the results of simulation are not satisfactory the previous design stages will have to be redone or the original specification may have to be changed However if the results are satisfactory the representation will be passed on to the final stage - physical design stage
In designing application specific integrated circuit (ASIC) this stage includes floor planning placing and routing In designing field programmable gate arrays (FPGAs) and complex programmable logic devices (CPLDs) this stage includes defining the various programmable logic blocks (placing) and programming the interconnections (routing) In designing PLAs this stage only involves programming the interconnections (routing)
When the physical design stage is completed a post-layout simulation (with practical consideration) may be run If the results are not satisfactory the design will have to be redone which may be part of the entire process If the result is satisfactory the design will be sent for manufacturing Following the manufacturing process comes the testing of the devices which includes the testing of manufacturing faults and the design faults
Figure 11 General Process Flow in Current Logic Synthesis Systems
i
Research methoe 1917 Boolean Functions Problem Statement
Boolean derivatives and differentials are used as models for changes in discrete binary coded systems such as cryptosystems for information authentication and data encryption Derivatives describe crucial criteria of Boolean functions such as dependence and independence linearity monotonicity high degree of propagation high nonlinearity 0-1 balancedness and high algebraic degree They are operators generating other Boolean functions Equations with derivatives define classes of Boolean functions Boolean Differentials are models for any kinds of changes such as signal edges errors and deviations An important Boolean problem is that of designing Boolean functions satisfying simultaneously more than one nonlinearity criteria
Boolean function manipulation is the art of exploiting simplification opportunities that exist inherently in logical structures by using the identities that exist within that algebra or reducing the number of terms used We are seeking to express any logical function as simple as possible because this can lead to a reduced usage of resources when that same function is implemented physically
18 Objectives of the Research
The main objective of the project is to generalize simplification rules employed by several existing simplification algorithms and develop simplification algorithms based on the rules derived from the generalization While the measurable objectives are as stated below
I To survey on the existing simplification algorit~ms
2 To study and compare the simplification rules employed by these simplification algorithms
3 To generalize the existing simplification rules and from there identify new simplification rules
4 To implement software package which employs an effective set of simplification rules
The diagram in Figure I
)FamUiarize w gtStudy the nls
gtCompare simi gtAnaJyu the cI gtGeneralize the gt Derive rules fl
gtDevelop simpJ gt Implement the
gtTest new solho Compare resu
~
8
F
110 Thesis Structure
This thesis covers the fo l
rules employed by several algorithms based on the rules
Phase 3 Implementation of Software Package are as stated below
in discrete binary coded data encryption Derivatives and independence linearity
0- balanced ness and high functions Equations with
are models for any kinds rmSlnt Boolean problem is that
one nonlinearity criteria
IIlcallcm opportunities that exist within that algebra or reducing
function as simple as possible same function is implemented
19 Research methodology
The diagram in Figure 12 shows the methodology used and planned in conducting the research
Phase I Literature Review
IDIUJariu wllh the current work done in UNIMAS gtStudy the existing simplification rules
Phase 2 Generalization of Simplification Rules
ompare simplification ru les employed by different simplification algorithms gtAnalyze the characteristics of existing simplification rules gtGeoeralize the simplification rules based on their simplification characteristics raquo Derive rules from the generalization of simplification rules
simplification algorithms
identifY new simplification
of simplification rules
Develop simplification algorithms which emplOy different set of simplification rules raquo lmplement the algorithm onto computer using Visual C++ language
+Phase 4 Analysis of algorithms performance
raquoTest new software package by using practical circuits or benchmarks raquoCompare results obtained to that provided by the traditional methods
Figure 12 Research Methodology Flow Chart
110 Thesis Structure
This thesis covers the following topics
9
In Chapter I history brief concept of Digital System Design and importance of Digital System are provided The research objectives methodology and overview of modem design process are outlined as well
Chapter 2 documents the literature review performed The traditional representation techniques of simplification method basically cover truth table algebraic function and K-Map The existing simplification techniques such as algebraic simplification K-Map simplification Quine McshyCluskey tabulation method are reviewed and discussed
Chapter 3 lists ESPRESSO program description and examples It introduces the main features of Boolean Minimizer and the program is elaborated together with its data formats and controls Moreover the initial generation of implicants is described with an illustrative example
In Chapter 4 the experimental results of the proposed simplification method is evaluated and commented The source code of the simplification method is discussed and explained
In Chapter 5 a conclusion of this thesis is presented and recommendation on further works that can be carried out to further improve the simplification method is also provided
10
21 Review of Traditi4
In designing digital syste Maps or algebraic expres~ be limited in large circui circuits which computati( number of inputs increase has been introduced and representing techn iques de computation time and stOI(
22 Truth Table
Before any combinational a problem is the most imp correctly accomplished 0 necessary logic for imp len table ready for logic desi From the truth table the diagram drawn The logic integrated circuit families complementary metal-oxi (mnemonic) can take on ( variable of the real numbel conditions of a Boolean 1
format called a truth table
Truth table is the most funl describes the operational combinations of input vall row at a time Further the valued variable Thus if 1
there are four combinatio~ inputs is increased by 0
independent input variable 22 show the general truth 1
CHAPTER 2
LITERATURE REVIEW
importance of Digital System of modem design process are
representation technique and K-Map The existing
simplification Quine Mcshy
introduces the main features its data formats and controls illustrative example
method is evaluated and and explained
on further works that also provided
21 Review of Traditional Representation Techniques
In designing digital system switching circuits are usually represented using truth tables KshyMaps or algebraic expressions These traditional representation techniques have been proven to be limited in large circuit designs Thus a more efficient method of representing switching circuits which computation time and storage requirements do not grow exponentially as the number of inputs increases is required The graph-based representation method known as DD has been introduced and its popularity has grown rapidly in the last decade These modem representing techniques describe the operation of a switching circuit more efficiently both in computation time and storage requirements
22 Truth Table
Before any combinational logic system can be designed it must be defmed Proper statement of a problem is the most important part of any digital design task Nothing can occur until that is correctly accomplished Once correctly and clearly stated any problem can be converted to the necessary logic for implementation Practical applications rarely come in a prepackaged truth table ready for logic design Truth table must be constructed from verbal problem descriptions From the truth table the switching equations can be written and simplified and the logic diagram drawn The logic diagram can be realized using anyone of the three main digital integrated circuit families transistor-transistor logic (TTL) emitter-coupled logic (ECL) or complementary metal-oxide silicon (CMOS) We established that a Boolean variable (mnemonic) can take on only two values not an infinite number as its kindred associate the variable of the real number system This basic difference allows us to illustrate all possible logic conditions of a Boolean variable or a collection of Boolean variables using a finite tabular format called a truth table
Truth table is the most fundamental and classical way in the description of a switching circuit It describes the operational behavior of the circuit by listing the output values for all possible liOIIlbinations of input values or arguments in vertical order and each input combination one lOW at a time Further the nontrivial decisions in digital design are based on more than one twoshyvalued variable Thus if an output is to be completely specified as a function of two inputs dIere are four combinations that must be considered From this we see that as the number of ilputs is increased by one the number of possible combinations doubles Therefore n iadcpendent input variables will exhibit 2n distinct combinations of values Table 2 I and Table 22 show the general truth table for a function with n variables and an example with n = 3
II
i
ABSTRACT
(BOIean function simplification i~ the art of ~x~loiting simplification opp~rtunities that exist within that algebra or greatly facilitated by preliminary reducing the number of roots in separate equations that in its tum leads to decreasing the number of variables in a considered system the number of equations and time complexity Any large systems of logical functions should be expressed in as simple as possible through generalization because this leads inevitably to a reduced usage of resources such as the physical space and connectivity of electronic logic circuits when that same function is implemented physically using actual electronic devices or componen
( Boolean functions are used as mo~els for many different problems of logic design where a large number of sensors deliver their Input data to be processed by an automaton or in pattern recognition and diagnostics in medicine and engineering where a sequence of code words is to be transformed into the sequence of test patterns artificial intelligence information security such as information authentication as well as data encryption A common feature of those problem is the disproportion between the total number of minterms existing for the given number of input variables and the number of really used minterms for which the output value is defined It is impossible to solve these systems using trivial methods based on scanning Boolean space of variables and checking its elements one by one to reveal the roots between them Hence an efficient synthesis method whose ~me and memory complexity will be acceptable even for large dimension problems is desirablj
Since the early days of designing digital circuits simplification has already been justified to be an effective method in reducing cost of circuits It has now become an essential design process Most simplification algorithms regardless of exhaustive or non-exhaustive approach employ a set of simplification rules and apply them repetitively onto a given Boolean function to achieve simplification The results of simplification may not be unique if the set of simplification rules are different Hence the quality of results is very much dependent on the set of simplification rules employed by the algorithm Furthermore the speed to achieve optimal simplification varies according to the set of simpl ification rules employed
A recent research on simplification rules reveals that the existing simplification rules works on two or three product terms of the given Boolean Functions at each application of the rules Some newer algorithms employ one or two simplification rules that work on more product terms The introduction of these simplification rules has a profound impact on the speed to reach optimal simplification However the effect on the quality result has not been satisfactory studied This research fmding has broken new ground in the study of simplification of Boolean functions
(ThiS researc~ studies the definition c~aracteristics and implementation of a simplification algonthm onglnally presented by Petr Fiser Jan Hlavieka It is suitable for Boolean functions whose values are defined only for a small part of their range They were programmed in Visual C++ 6 and the extensive experimen~ results which were conducted with a set of standard LGSynth93 benchmarks are diSCUSSed)
iv
Pemudahan fungsi Booleal wujud antara algebra atau berasingan yang akan men persamaan dan kesulitan n khusus dan ringkas keranl fizikal dan penyambungar menggunakan komponen el
Fungsi Boolean telah digUl logic di mana sensor meng corak dan diagnosa dalam tersirat digubah kepada s~ seperti maklumat penge ketidakseimbangan di antal bilangan minterms yang be mustahak untuk menyelesl ruang anu Boolean dan sel dengan masa dan kuas diperlukan
Sejak dari permulaan era yang berkesan untuk mf rekabentuk Kebanyakan atau tidak mengaji satu s Fungsi Boolean yang dib tidak akan unik jika set keputusan amat dipengaru adalah bergantung kepada
Penyelidikan sekarang ten hanya dapat meringkaskal kali Sesetengah algorithr rum us pemudahan ini m Walau bagaimanapun k penyelidikan ini telah men
Penyelidikan ini belaja diperkenalkan oleh Petr Boolean yang nilai didef Visual C++ 6 dan sesiri benchmarks yang ditetap~
opportunities that exist of roots in separate
in a considered system functions should be
leads inevitably to a of electronic logic
electronic devices or
l8ultornaton or in pattern of code words is to
information security feature of those
existing for the given ich the output value is on scanning Boolean roots between them
will be acceptable
been justified to be _~~IHIUI design process
ve approach employ a function to achieve
of simplification rules set of simplification
optimal simplification
on more product on the speed to reach
not been satisfactory lification of Boolean
of a simplification fot Boolean functions programmed in Visual
a set of standard
ABSTRAK
Pemudahan fungsi Boolean ialah kesenian untuk menyediakan kemudahan pemudahan yang wujud antara algebra atau kemudahan untuk mengurangkan nombor akar dalam permsamaan berasingan yang akan menyebabkan pengurangan dalam anu di dalam system tertentu nombor persamaan dan kesulitan masa Semua fungsi logic dalam system yang besar perJu disusun khusus dan ringkas kerana ini pasti akan mengurangkan penggunaan sumber seperti ruang fizikal dan penyambungan litar elektronik apabiia fungsi yang sama dilaksanakan dengan menggunakan komponen elektronik yang sebenarnya
Fungsi Boolean telah digunakan sebagai model untuk banyak permasalahan seperti rekabentuk logic di mana sensor menghantar data masuk untuk dip roses oleh suatu automaton pengenalan corak dan diagnosa dalam perubatan and kejuruteraan di mana satu turutan penulisan kod yang tersirat digubah kepada satu rentetan corak ujian kecerdasan tiruan maklumat keselamatan seperti maklumat pengesahan dan data enclytion Sifat umum masalah ini ialah ketidakseimbangan di antara bilangan minterms wujud daripada bilangan input yang diberi dan bilangan minterms yang benar-benar digunakan dengan nilai output yang didefinasikan Adalah mustahak untuk menyelesaikan system ini dengan kaedah cuba-cuba berdasarkan memeriksa ruang anu Boolean dan semak unsurnya satu per satu Oleh itu kaedah sintesis yang berkesan dengan masa dan kuasa ingatan yang sesuai untuk permasalahan dimensi besar amat diperlukan
Sejak dari permulaan era rekabentuk litar digit pemudahan telah dikenalpasti sebagai kaedah yang berkesan untuk mengurangkan kos litar Sekarang ia menjadi keperJuan proses rekabentuk Kebanyakan algorithm pemudahan tidak mengendahkan pendekatan menyeluruh atau tidak mengaji satu set rumus pemudahan and menggunakannya secara berulang ke atas Fungsi Boolean yang diberikan untuk mendapat kesan ringkasan Keputusan pemudahan ini tidak akan unik jika set rumus pemudahan yang digunakan itu berbeza Oleh itu kualiti keputusan amat dipengaruhi oleh rumus pemudahan yan dikaji Selain itu ketangkasan terbaik adalah bergantung kepada rurnus pemudahan yang digunakan
Penyelidikan sekarang tentang rurnus pemudahan menunjukkan rurnus pemudahan yang wujud hanya dapat meringkaskan dua atau tiga product terms daripada setiap fungsi Boolean setiap kali Sesetengah algorithm yang baru dapat meringksakan lebih product terms Pengenalan rumus pemudahan ini mempunyai kesan yang mendalam ke atas ketangkasan pemudahan Walau bagaimanapun kesan ke atas kualiti keputusan belum memuaskan Kesimpulan penyelidikan ini telah membuka scpe bam penyelidikan
Penyelidikan ini belajar defmasi corak and pelaksanaan algorithm pemudahan yang diperkenalkan oleh Petr Fiser dan jan Hlavieka Ini terutamanya bersesuaian dengan Fungsi Boolean yang nilai didefinasikan untuk jarak yang keci Algorithm ini diprogramkan dengan Visual C++ 6 dan sesiri keputusan eksperimen yang dijalankan dengan satu set LGSynth93 benchmarks yang ditetapkan akan dibincangkan
v
I
2 LITERATURE NTABLE OF CONTENTS
DEDICATION
ACKNOWLEDGEMENT
ABSTRACT
ABSTRAK
T ABLE OF CONTENTS
LIST OF FIGURES
LIST 0 F TABLES
LIST OF ABBREVIATION
CHAPTER
1 INTRODUCTION
J1 Introduction
12 History of Digital System Designs
13 Digital Designs Concept
14 Digital and The Real World
15 The Importance of Digital System
16 Overview of Modem Design Process
17 Boolean Functions Problem Statement
18 Objectives of the Research
19 Research Methodology
110 Thesis Structure
21 Rltview 0
Page 22 Truth Tal
11 23 Algebraic
iii 24 Kamaugt
iv 25 Justificati
v 26 Simplific
vi 27 Algebrai(
x 28 Kamaugt
xii 28 1 Dont Cal
29 Minimizi
210 Quine-M
2101 Quine-M
3 BOOLEAN MIN
2
3
4
5
6
8
8
9
9
31
32
321
322
33
34
35
36
361
37
Introduct
ESPRES
Cornman
ESPRES
Main fea
Problem
Basic Pri
Coveragl
Imrnedia
Iterative
38 Impliclll1
2 LITERATURE REVIEW
21
22Page
ii 23
iii 24
IV 25
v 26
VI 27
x 28
XII 281
29
210
201
Review of Traditional Representation Techniques II
Truth Table II
Algebraic Function 13
Kamaugh Map (K-Map) 13
Justification for Logic Simplification 16
Simplification Techniques 17
Algebraic Simplification 18
Karnaugh Map Simplification 20
Dont Care Map Entries 24
Minimizing Function of More Than Six Variables 26
Quine-McCluskey Tabulation Method 27
Quine-McCluskey Using Dont care Terms 30
3 BOOLEAN MINIMIZER
31 2
32 3
321 4
322 5
33 6
34 8
35 8
36 9
361 9
37
38
Introduction 33
ESPRESSOS Program Description 34
Command Line and Keywords 35
ESPRESSO Example 38
Main features of Boolean Minimizer 39
Problem Statements 40
Basic Principles 41
Coverage-Directed Search 42
Immediate Implicant Checking 44
Iterative Minimization by BOOM system 44
Implicant Expansion 45
381 Checking a Literal Removal
382 Expansion Strategy
39 Solution of Covering Problem Solution
391 LCMC Cover
392 Contributive Selection
393 Contributive Removal
3 10 Output Reduction
311 PLA Format Description
3111 Keywords or Command Directives
3112 Symbols in the PLA Matrix ampTheir Logical Interpretation of a PLA
312 Illustrative Example
3121 CD-Search Example
3122 Sequential Example
4 BOOLEAN MINIMIZER SOFTW ARE DEVELOPMENT
41 Introduction
42 Implementation of Simplification Algorithm in Visual C++ 6
421 Description of the Boolean Minimizer Algorithm
43 Performance Evaluation
431 Standard Single Output LGSynth93 Benchmarks
432 Test Problems With Up to 300 Input Variables and Minterms
433 Time Complexity Evaluation for Very large Problem
44 Conclusions of Research Results
5 CONCLUSION AND RECOMMENDATION
51 Conclusions
viii
52 Recomm~45
BIBLIOGRAPHY45
APPENDIX46
46
46
46
47
47
47
48
49
49
57
61
61
63
64
65
65
67
70
71
45 52 Recommendation 71
45
46
46
46
46
47
47
47
ofa PLA 48
49
49
57
61
6 61
63
64
65
65
67
70
71
BIBLIOGRAPHY 73
APPENDIX 75
IX
LIST OF FIGURES 310 Example 6
311 Example 7
312 Example 8 Figure Description Pal
313 Example 9
l General Process Flow in Current Logic Synthesis Systems 7 314 Example I(
12 Research Methodology Flow Chart 9 315 Example I
21 Karnaugh Maps for I to 6 Variables 14 316 Example I
22 An Illustration of the MINTERMS that are logically adjacent in 2 3 15 317 Example 2
and 4 variable problems
318 Example 3 23 Example of Maps Plotted From Truth Table 16
319 Boolean M 24 The Principal Identities of Boolean Algebra 19
41 Growth of 25 Flowchart for Determining the Minimum SOP Using Karnaugh Map 22 (200-1000)
26 Kamaugh Map Simplification 23 42 Runtime G
1000)27 Karnaugh Maps Program by Russell Sasamori 23
28 A Flow Diagram Defining the Single Statement Reduction Algorithm 25
29 Mapping Example 25
210 Quine-McCluskey Program in Window Interface 29
31 ESPRESSOs Example 39
32 General Structure of Boolean Minimizer 42
33 Flowchart of Algorithm Boolean Simplification 43
34 Example of Input file in PLA format 50
35 Example 1 of Coverage Directed Search 51
36 Example 2 ofCoverage Directed Search 52
37 Example 3 of Coverage Directed Search 52
38 Example 4 of Coverage Directed Search 53
39 Example 5 ofCoverage Directed Search 53
3 10
311
3 12
313
7 314
9 315
14 316
adjacent in 2 3 15 317
31816
31919
41 Map 22
23 42
23
Algorithm 25
25
29
39
42
43
50
51
52
52
53
53
Example 6 of Coverage Directed Search 54
Example 7 of Coverage Directed Search 54
Example 8 of Coverage Directed Search 55
Example 9 of Coverage Directed Search 55
Example 10 of Coverage Directed Search 56
Example II of Coverage Directed Search 56
Example 1 of Sequential Search 57
Example 2 of Sequential Search 58
Example 3 of Sequential Search 59
Boolean Minimizer Program 60
Growth of Runtime As a Function of the Number of Care Mintenns 69 (200-1000)
Runtime Growth Depending on the Number of Input Variables (200- 70 1000)
Figure
11
21
22
23
24
25
26
41
42(a)
42(b)
43
LIST OF TABLES
Description
General process flow in current logic synthesis systems
General structure of a truth table
A 3-input variables truth table
Determine of Prime Implicants
Prime Implicant Chart
Set of four mintermsdont care terms for f=lm (131315) + ld (8910 II)
Prime Implicant Table
Runtime and Minimal Solutions for the Standard Single Output LGSynth93 Benchmarks
Comparison of the Result Quality for Problems With Input Variables (20-140)
Comparison of the Result Quality for Problems With Input Variables (180-300)
Comparison of the Runtime for Problems With Up to 1000 Input Variables and 1000 Minterms
Symbols ADC ASIC CAD CD Search CMOS CP CPLD DA DAC DC DCF DD DIDL DLL DSP ECL EPIs FPGAs HDL IE ISAPI K-Map LCMC LGSynth93 benchmarks LSI LSI MSI Pis PLAs
61 ROM SOP SSl TTL VLSI XLSI
13 35) + Id
Single Output
Input Variables
Input Variables
to 1000 Input
SYlDbols AOC ASIC CAD CD Search CMOS CP CPLO OA OAC DC DCF DO DIOL OLL OSP ECL EPIs FPGAs HOL IE ISAPI K-Map LCMC LGSynth93 benchmarks LSI LSI MSI PIs PLAs ROM SOP SSI TIL VLSI XLSI
LIST OF ABBREVIATIONS
Abbreviation Analog-to-Digital Converter Application Specific Integrated Circuit Computer Aided Design Coverage Directed Search Complementary Metal-Oxide Silicon Covering Problem Complex Programmable Logic Devices Design Automation Digital-to-Analog Converter Dont Care Disjunctive Canonical Form Decision Diagram Digital Integrated Design Language Dynamic Link Library Digital Signal Processing Emitter-Coupled Logic Essential Prime Implicants Field Programmable Gate Arrays Hardware Description Language Implicant Expansion Internet Server Application Programming Interface Karnaugh Map Least Covered Most Covering Logic Synthesis and Optimization Benchmarks Large Scale Integration Large Scale Integrated Circuits Medium Scale Integrated Circuits Prime Implicants Programmable Logic Arrays Read-Only-Memory Sum Of Product Small Scale Integrated Circuits Transistor-Transistor Logic Very Large Scale Integration Extra Large Scale Integrated Circuits
xii
CHAPTER 1
INTRODUCTION
11 Introduction
The field of digital system design has made great progress over the past decades From early days of simple relay switching circuits to the present time of sophisticated very large scale integration (VLSI) circuits the designing of a digital system has advanced to become a complex and multi-staged process Algorithms and techniques for representing manipulating simulating routing placing manufacturing and testing of designs are continuously introduced and modified Meanwhile the number of devices and technologies based on different logic families keep on growing As a result many design approaches have been developed which have given rise to a wide variety of possible solutions
While the design process of digital system is becoming more complex it is becoming less possible to design a system in one step using a single design tool And it is more necessary to break the design process into several stages using different design tools at each stage Such multi-staged design processes introduce the very undesired effect of requiring a system designer to learn the various design tools employed by the different stages
As each stage develops it becomes difficult for a designer to master all the tools As such design tool developers have to strive to increase the level of design automation without compromising the final solution Whereas a design automation (DA) or computer aided design (CAD) researcher can only focus hisher study on a specific area a highly automated design environment becomes less achievable Nevertheless researchers should try to keep abreast of the development of the entire design process if possible also the simulation manufacturing and testing processes (which come after the design process) so as to have a complete idea of developing an entire system
Since the early days of designing digital circuits simplification has been justified as an effective simplification technique of Boolean functions in reducing the cost of circuits It becomes an essential design process in various application of computer-aided design (CAD) such as test generation synthesis and verification The efficiency of Boolean functions simplification depends on the form of representation techniques Unfortunately the traditional methods of representation such as truth tables Kamaugh maps (K-Maps) and algebraic functions have been proven to be quite impractical This is because every increment of the Boolean function input size could yield a function with exponential representation Therefore it is costly in terms of computer time and storage space
In recent years decision diagrams (DDs) have become the most popular representation techniques employed by computer-aided-design software to represent Boolean functions Decision diagram [Akers 1978 and Bryant 1986] has advantage over the classical representation Two most distinctive advantages being its time complexity and space complexity are non-exponential ie as the input size of Boolean functions grow linearly computer time and storage space requirements of algorithms to represent and manipulate DDs do not necessarily grow exponentially (as is the case for traditional representation techniques)
I
12 History of Digital System Designs
A digital system is a synchronous system in which signals have a finite number of integer values and may change only at discrete instants The very basic digital design can be defined as the science of organizing arrays of simple switches into what is called a discrete system that performs transformations on two-level (binary) information in a meaningful and predictable way Certainly this is true but digital design as we know it today is much more exciting than this definition portends Digital representation and processing methods have been used for a long time but the development of digital artifacts underwent a dramatic increase with the invention of the digital computer Since then digital design underpins the creation of myriad of imaginative digital devices that surround us Extraordinary progress has been made in all these aspects making the computer indispensable in almost every aspect of modem society The development of computer technology and digital microelectronics such as hand-held calculators digital watches microprocessors microwave oven controllers and digital voltmeters in particular have made possible the cost effective production of a large variety of specialized digital systems This trend continues as new applications are replacing analogue systems but in many others they are making possible applications that did not previously exist As a consequence knowledge about the designs and use of digital systems is required in a large variety of human activities
In the late 1840s George Boole [I 849J invented a very abstract form of fundamental concepts of a two-valued (binary) system which is later called the Boolean algebra But Boolean algebra is not used until about 80 years later due to its sophistication In the late of 1930s Claude Shannon [1938] applied switching algebra onto his study of relay switching circuits Since then design methods have been pretty much standard following Booles and Shannons fundamentals with added refinements here and there as new knowledge has been discovered and more exotic logic devices have been developed tried and proven leading the way into one of the most fascinating and challenging fields of study
The theory was then extended to cover both the combinational and sequential circuits in the following one and half decades Combinational switching networks are those which depend only on the current inputs and which are without memory In sequential networks the outputs respond to both current inputs and the history of all previous inputs The system must remember the entire history of the input patterns
In the 1950s further development on the theory lead to the finite-state machine theory and then the automata theory meanwhile simplification of switching functions became an active area of research This is because of the logic gates were then very expensive Also Reed and Muller introduced Reed-Muller algebra This form of expression has now become very popular and useful in the study of AND-EXOR implementation of Boolean functions
The concept of design automation that allows larger and more complex digital system to be designed wholly by computer became popular in the early 1960s However the results obtained by these tools were not always satisfactory Therefore the computer aided design concept is then introduced This allows the designer to intervene with the computerized process Also in the 1960s Quine [1952] and McCluskey [1956] devised the tabulation method for Boolean function simplification In the late 1960s simplification became less essential because of a reduction in the cost of logic gates
2
Programmable Logic Ar desirable for implementin can be designed automat PLAs which were made Hence two-level implem synthesize switching fune level simplification again
13 Digital Designs (
Digital design as treated design of recognizable considered worthy of me digital designer in reachi attempt to standardize a the designers insight to dynamic action related aj
However if these techn designs they become nl
lend themselves very nic( to system design Digit multi-level register tran automation documentati Separation of the control hardware control imple) procedure capabilities fo down to the logic level
Generally speaking be in classifying information which can be processed ( a process of classifying information which can h False Thus the Boolean that any Boolean variab applicable to arguments really optimal This nonmiddot is generally a process of Actions It implies that tl information entities defil actions which is to be d directly related to som operation
The use of verbs such a logic message and does
number of integer values can be defined as the
a discrete system that oul and predictable
more exciting than have been used for a
increase with the the creation of myriad of
been made in all these of modem society The
such as hand-held and digital voltmeters variety of specialized
analogue systems but in previously exist As a
is required in a large
of fundamental concepts But Boolean algebra
late of 1930s Claude circuits Since then s and Shannons
has been discovered leading the way into one
sequential circuits in the are those which depend
networks the outputs system must remember
machine theory and then became an active area of
Also Reed and Muller very popular and
digital system to be the results obtained
aided design concept is tmiddotri middot7 ti process Also in
method for Boolean
Programmable Logic Arrays (PLAs) were introduced in the early 1970 s and became very desirable for implementing switching functions due to the fact that PLAs reduce design time and can be designed automatically An array of AND-gates and an array of OR-gates exist in the PLAs which were made possible with the advent of large-scale integration (LSI) technology Hence two-level implementation became popular The physical area requirement of PLAs to synthesize switching functions is directly linked to the size of the Boolean functions thus twoshylevel simplification again became an important area of research
13 Digital Designs Concept
Digital design as treated in the field of study relating the adaptation of Logic concepts to the design of recognizable realizable and reliable digital hardware These concepts have been considered worthy of mention because they have been found when properly applied to aid the digital designer in reaching his goals in a straightforward manner These concepts are also an attempt to standardize a logic Action description and definition for the purpose of improving the designers insight to logic design and documentation These concepts transfer the idea of a dynamic action related approach to logic thought
However if these techniques are practiced and applied to the more traditional small scale designs they become natural and easy to extend to system level design application They also lend themselves very nicely to the Digital Design Language and Programmed Logic approaches to system design Digital Integrated Design Language (DIDL) is a formal block-structured multi-level register transfer type specialized language system for use in the design design automation documentation and simulation of all digital systems including digital computers Separation of the control and the data path of a system are allowed so that either software or hardware control implementation can be employed DIDL has also macro definition and procedure capabilities for initial system specification various levels of design and simulation down to the logic level
Generally speaking being involved in digital design is dealing in logic which is a process of classifying information while information is intelligence related to ideas meanings and actions which can be processed or transformed into other forms Binary Logic or two-valued logic is a process of classifying information into two classes Traditionally binary arguments or that infonnation which can be definitely classified as two-valued have been deemed either True or False Thus the Boolean variable is unlike the algebraic variables of the field of real numbers in that any Boolean variable can take on only two values the True or False Though certainly applicable to arguments and conditions this TrueFalse classification for digital des ign is not really optimal This non-optimal classification stems from the fact that digital hardware design is generally a process of organizing hardware for the express purpose of classifying information Actions It implies that the hardware in a digital system should be 0rganized to process the input infonnation entities defined as binary input actions and in tum generate some binary output actions which is to be thought of as a dynamic process Action is the most hardware responses directly related to some physical operation or some condition resulting from a physical operation
The use of verbs such as Asserted Excited or Invoked can be used to modify as Action related logic message and does so by directing to the signal condition under which the Action is to be
3
l
l
performed Asserted is defined as the affirmative position of an Action related Boolean variable (mnemonic) Now if the logic operation is being performed we say that the Boolean variable is Asserted It follows that if the logic operation is not being performed we say that the Boolean variable is Not-Asserted Traditionally it is standard to use the shorthand symbols I for True and 0 for False However Is or Os are also used for numeric values (binary numbers) and as high or low voltage indicators as well
14 Digital and The Real World
In real life there are two ways of representing information analog and digital Analog signals contain all the information as a continuously varying wave - such as on an oscilloscope screen when you speak into a microphone connected to it Digital signals are a series of pulses - ons and offs or Is and Os A system that processes analogue signal is termed as analogue system and a system that processes digital signal is termed as digital system A few of these are light nuclear radiation and the electric signals governing the human nervous system which are interestingly enough most definitely discrete phenomena The use of digital practices can be a viable method for solving design problems in the real world The reasons that design problems are emphasized stems from the fact that the major areas of involvement for electrical and digital engineers are (I) the measurement (2) the control and (3) the transmission of information and energy Thus we fmd that we are continuously trying to find solutions to problems related to the measurement control and transmission of information or energy in the domain of the real world However the real world tends to have a continuous nature Because of this the discrete domain needs to the buffered in some way
In recent years systems that are capable of processing a mixture of both analogue and digital signals are increasingly popular The interdomain converter is a specialized system that converts or translates information of one domain into information of another domain For example an analogue signal can often be converted to a digital signal using analogue-to-digital converter (ADC) The processed signal can be converted back to the original form using the digital-toshyanalogue converter (DAC)
Since pure digital systems are made up of arrays of simple and reliable switches with only two positions a numerical system that already existed was adapted to serve as the tool needed for utilizing the basic concept This numerical math system called the binary system is based on the two symbols 0 and I in contrast to the decimal system which has ten symbols 0 I 2 9 We should see now that in order to use a digital system such as a digital computer for mathematical computations we must first convert our mathematical symbolisms (decimal in this case) into binary symbolisms to allow the computer to perform this mathematical operation Once this is done the inverse process must he performed to convert the binary results into a readable decimal representation
The obvious question Is digital worth all of the conversion The answer cannot be simply stated in yes or no terms but must be left to the individual and the particular situation In certain instances it may not in fact be worth the bother Such would not be the case if we were able to create and use multiple-valued logic systems to create a totally decimal machine Obviously if there were ten unique descriptors usable for our decimal computer there would be no need
to convert any infonn practically speaking bil system for some years t communicate with his IT
conversion and the diffe
15 The Importance
Digital systems are use have displaced the ear numerical and non-nume
Information processing processing task elimir representation of the pn the representation and tri
The finite number of va two values (binary sigm binary as a result the switches with two states
Digital signals are quit operating temperature significant portions of a separated so that small better dynamic range T be made more accurate Thus it is more reliab susceptible to variations
The advance of microelt of extremely complex d are built as integrated cil to select among differ~ hardware
Digital technology ha computers to small persl injected in a new autom large systems in a bank last 10 years the grov microprocessors being ~ used by the millions television sets and in controlling steel making
Action related Boolean we say that the Boolean
we say that the shorthand symbols 1 for values (binary numbers)
digital Analog signals on an oscilloscope screen
a series of pulses - ons as analogue system
A few of these are light system which are
digital practices can be a that design problems
for electrical and digital of information and
to problems related to the domain of the real world this the discrete domain
switches with only two as the tool needed for
system is based on has ten symbols 0 I 2 bull bull
a digital computer for symbolisms (decimal in mathematical operation the binary results into a
cannot be simply situation In certain
to convert any information into the now required two-valued binary system However practically speaking binary systems presently dominate and will continue to be the dominant system for some years to come Since such is the case and man ultimately must learn how to communicate with his machine it is necessary that we study the processes involved in number conversion and the different codes used to represent and convey information
IS The Importance of Digital Systems
Digital systems are used in information processing wherein they have become prevalent and have displaced the earlier analogue system Digital representation is well suited for both numerical and non-numerical information processing
Information processing can use a general-purpose system that is programmed for a particular processing task eliminating the need to have a different system for each task The representation of the program and its interpretation can use the same techniques employed for the representation and transformation of the data
The finite number of values in digital signal can be represented by a vector of signals with just two values (binary signals) This representation allow implementations in which all signals are binary as a result the devices that process these signals are very simple (essentially just switches with two states open and closed)
Digital signals are quite insensitive to variations of component parameter values such as operating temperature This includes its potential flexibility in terms of time-multiplexing significant portions of a given system The physical representation of the values is sufficiently separated so that small variations do not change the value it provides exact replicablity with a better dynamic range This is especially true for binary signals Numerical digital systems can be made more accurate by simply increasing the number of digits used in the representation Thus it is more reliable more applicable to nonlinear control more predictable and less susceptible to variations of environment
The advance of microelectronics technology in recent years have made possible the fabrication of extremely complex digital systems that are small fast and cheap Complex digital systems are built as integrated circuits composed of a large number of very simple devices It is possible to select among different implementations of systems that trade off speed and amount of hardware
Digital technology has affected computing from large multimillion dollars mainframe computers to small personal computers and microprocessor controllers measuring the fuel to be injected in a new automobile engine Many of us think of computers in the sense of medium to large systems in a bank or insurance company or for scientific research or military used In the last 10 years the growth of personal computing has been tremendous But most of the microprocessors being sold today do not go into personal computers Instead they are being used by the millions in dishwashers automobiles aircraft oscilloscopes stereo systems television sets and in industrial control systems used for measuring lumber thickness or controlling steel making
5
Digital technology is finding its way into areas of electronics normally thought of as strictly analogue Commercial two-way radios have microcontrollers setting the local oscillator frequency Electronic instrumentation such as oscilloscopes logic analyzers function generators power supplies and multimeters measuring current voltage and resistance all have made widespread use of digital technology In fact it is difficult to find a recently designed electronic instrument that does not use digital technology in some way Digital signal processing (DSP) is a methodology that involves the conversion of analogue information into digital form processes it in some rather sophisticated manner and produces an output either analogue or digital Modem submarines use DSP to make sense of acoustic noises that occur under the ocean for example
Digital technology is especially useful because it is less susceptible to electrical noise (spikes or fluxations in voltage or current) temperature effects component aging and other factors that affect analogue systems This does not mean that analogue technology is not important or that students of electronics and even computers should not study analogue circuit and systems In fact just the contrary is true The concepts of radio propagation antenna design amplifier analysis and active filters to mention a brief few are more important than ever To appropriately apply digital design principles to these areas certainly requires an in-depth understanding of analogue principles Furthermore as the frequencies of digital devices continue to increase digital systems designers are faced with solving analogue-related problems
The application of digital technology will continue to grow in a wide range of consumer product industrial control militarydefense and service industries Look for digital system speeds to increase new devices with added complexity integrated systems comprising both digital and analogue functions embedded into a single integrated circuit and even possibly the use of organic material for constructing memory devices
16 Overview of Modern Design Process
Design is a complex process more an art than a science Complex systems can be broken down into three simpler independent design stages the functional structural and physical stages Figure 11 depicts the general process flow in current logic synthesis systems
A switChing circuit design is first specified in the functional design stage with tools such as hardware description language (HDL) or schematic capture Hardware description language allows a design to be described in text form while schematic capture allows a design to be described in graphical form Once the design is specified it is converted into a mathematical description by the design tools and passed on to the next design stage
In the logic design stage the mathematical representation of the design is simplified without modifying the functionality Two major manipulation techniques that have been studied extensively are simplification and portioning techniques The simplification techniques aim to produce a simpler representation while the portioning techniques aim to break a large representation into a set of smaller but equivalent representations
When the manipulation run If the results of sirr redone or the original satisfactory the represen
In designing application placing and routing Ir programmable logic de logic blocks (placing) ar stage only involves prog
When the physical de consideration) may be f1
which may be part of th manufacturing Followir includes the testing ofm
Figure 11 (
thought of as strictly the local oscillator analyzers function
important
a
logic and resistance all have
to fi nd a recently designed Digital signal processing
Iinfnnml-inn into digital fonn output either analogue or
noises that occur under the
to electrical noise (spikes or and other factors that
is not important or that circuit and systems In
antenna design amplifier than ever To
requires an in-depth of digital devices
solving analogue-related
wide range of consumer Look for digital system systems comprising both
and even possibly the
stages
stage with tools such as description language
allows a design to be -rt-11 into a mathematical
is simplified without that have been studied
iti techniques aim to aim to break a large
When the manipulation is completed a pre-layout simulation (with ideal consideration) may be run If the results of simulation are not satisfactory the previous design stages will have to be redone or the original specification may have to be changed However if the results are satisfactory the representation will be passed on to the final stage - physical design stage
In designing application specific integrated circuit (ASIC) this stage includes floor planning placing and routing In designing field programmable gate arrays (FPGAs) and complex programmable logic devices (CPLDs) this stage includes defining the various programmable logic blocks (placing) and programming the interconnections (routing) In designing PLAs this stage only involves programming the interconnections (routing)
When the physical design stage is completed a post-layout simulation (with practical consideration) may be run If the results are not satisfactory the design will have to be redone which may be part of the entire process If the result is satisfactory the design will be sent for manufacturing Following the manufacturing process comes the testing of the devices which includes the testing of manufacturing faults and the design faults
Figure 11 General Process Flow in Current Logic Synthesis Systems
i
Research methoe 1917 Boolean Functions Problem Statement
Boolean derivatives and differentials are used as models for changes in discrete binary coded systems such as cryptosystems for information authentication and data encryption Derivatives describe crucial criteria of Boolean functions such as dependence and independence linearity monotonicity high degree of propagation high nonlinearity 0-1 balancedness and high algebraic degree They are operators generating other Boolean functions Equations with derivatives define classes of Boolean functions Boolean Differentials are models for any kinds of changes such as signal edges errors and deviations An important Boolean problem is that of designing Boolean functions satisfying simultaneously more than one nonlinearity criteria
Boolean function manipulation is the art of exploiting simplification opportunities that exist inherently in logical structures by using the identities that exist within that algebra or reducing the number of terms used We are seeking to express any logical function as simple as possible because this can lead to a reduced usage of resources when that same function is implemented physically
18 Objectives of the Research
The main objective of the project is to generalize simplification rules employed by several existing simplification algorithms and develop simplification algorithms based on the rules derived from the generalization While the measurable objectives are as stated below
I To survey on the existing simplification algorit~ms
2 To study and compare the simplification rules employed by these simplification algorithms
3 To generalize the existing simplification rules and from there identify new simplification rules
4 To implement software package which employs an effective set of simplification rules
The diagram in Figure I
)FamUiarize w gtStudy the nls
gtCompare simi gtAnaJyu the cI gtGeneralize the gt Derive rules fl
gtDevelop simpJ gt Implement the
gtTest new solho Compare resu
~
8
F
110 Thesis Structure
This thesis covers the fo l
rules employed by several algorithms based on the rules
Phase 3 Implementation of Software Package are as stated below
in discrete binary coded data encryption Derivatives and independence linearity
0- balanced ness and high functions Equations with
are models for any kinds rmSlnt Boolean problem is that
one nonlinearity criteria
IIlcallcm opportunities that exist within that algebra or reducing
function as simple as possible same function is implemented
19 Research methodology
The diagram in Figure 12 shows the methodology used and planned in conducting the research
Phase I Literature Review
IDIUJariu wllh the current work done in UNIMAS gtStudy the existing simplification rules
Phase 2 Generalization of Simplification Rules
ompare simplification ru les employed by different simplification algorithms gtAnalyze the characteristics of existing simplification rules gtGeoeralize the simplification rules based on their simplification characteristics raquo Derive rules from the generalization of simplification rules
simplification algorithms
identifY new simplification
of simplification rules
Develop simplification algorithms which emplOy different set of simplification rules raquo lmplement the algorithm onto computer using Visual C++ language
+Phase 4 Analysis of algorithms performance
raquoTest new software package by using practical circuits or benchmarks raquoCompare results obtained to that provided by the traditional methods
Figure 12 Research Methodology Flow Chart
110 Thesis Structure
This thesis covers the following topics
9
In Chapter I history brief concept of Digital System Design and importance of Digital System are provided The research objectives methodology and overview of modem design process are outlined as well
Chapter 2 documents the literature review performed The traditional representation techniques of simplification method basically cover truth table algebraic function and K-Map The existing simplification techniques such as algebraic simplification K-Map simplification Quine McshyCluskey tabulation method are reviewed and discussed
Chapter 3 lists ESPRESSO program description and examples It introduces the main features of Boolean Minimizer and the program is elaborated together with its data formats and controls Moreover the initial generation of implicants is described with an illustrative example
In Chapter 4 the experimental results of the proposed simplification method is evaluated and commented The source code of the simplification method is discussed and explained
In Chapter 5 a conclusion of this thesis is presented and recommendation on further works that can be carried out to further improve the simplification method is also provided
10
21 Review of Traditi4
In designing digital syste Maps or algebraic expres~ be limited in large circui circuits which computati( number of inputs increase has been introduced and representing techn iques de computation time and stOI(
22 Truth Table
Before any combinational a problem is the most imp correctly accomplished 0 necessary logic for imp len table ready for logic desi From the truth table the diagram drawn The logic integrated circuit families complementary metal-oxi (mnemonic) can take on ( variable of the real numbel conditions of a Boolean 1
format called a truth table
Truth table is the most funl describes the operational combinations of input vall row at a time Further the valued variable Thus if 1
there are four combinatio~ inputs is increased by 0
independent input variable 22 show the general truth 1
CHAPTER 2
LITERATURE REVIEW
importance of Digital System of modem design process are
representation technique and K-Map The existing
simplification Quine Mcshy
introduces the main features its data formats and controls illustrative example
method is evaluated and and explained
on further works that also provided
21 Review of Traditional Representation Techniques
In designing digital system switching circuits are usually represented using truth tables KshyMaps or algebraic expressions These traditional representation techniques have been proven to be limited in large circuit designs Thus a more efficient method of representing switching circuits which computation time and storage requirements do not grow exponentially as the number of inputs increases is required The graph-based representation method known as DD has been introduced and its popularity has grown rapidly in the last decade These modem representing techniques describe the operation of a switching circuit more efficiently both in computation time and storage requirements
22 Truth Table
Before any combinational logic system can be designed it must be defmed Proper statement of a problem is the most important part of any digital design task Nothing can occur until that is correctly accomplished Once correctly and clearly stated any problem can be converted to the necessary logic for implementation Practical applications rarely come in a prepackaged truth table ready for logic design Truth table must be constructed from verbal problem descriptions From the truth table the switching equations can be written and simplified and the logic diagram drawn The logic diagram can be realized using anyone of the three main digital integrated circuit families transistor-transistor logic (TTL) emitter-coupled logic (ECL) or complementary metal-oxide silicon (CMOS) We established that a Boolean variable (mnemonic) can take on only two values not an infinite number as its kindred associate the variable of the real number system This basic difference allows us to illustrate all possible logic conditions of a Boolean variable or a collection of Boolean variables using a finite tabular format called a truth table
Truth table is the most fundamental and classical way in the description of a switching circuit It describes the operational behavior of the circuit by listing the output values for all possible liOIIlbinations of input values or arguments in vertical order and each input combination one lOW at a time Further the nontrivial decisions in digital design are based on more than one twoshyvalued variable Thus if an output is to be completely specified as a function of two inputs dIere are four combinations that must be considered From this we see that as the number of ilputs is increased by one the number of possible combinations doubles Therefore n iadcpendent input variables will exhibit 2n distinct combinations of values Table 2 I and Table 22 show the general truth table for a function with n variables and an example with n = 3
II
opportunities that exist of roots in separate
in a considered system functions should be
leads inevitably to a of electronic logic
electronic devices or
l8ultornaton or in pattern of code words is to
information security feature of those
existing for the given ich the output value is on scanning Boolean roots between them
will be acceptable
been justified to be _~~IHIUI design process
ve approach employ a function to achieve
of simplification rules set of simplification
optimal simplification
on more product on the speed to reach
not been satisfactory lification of Boolean
of a simplification fot Boolean functions programmed in Visual
a set of standard
ABSTRAK
Pemudahan fungsi Boolean ialah kesenian untuk menyediakan kemudahan pemudahan yang wujud antara algebra atau kemudahan untuk mengurangkan nombor akar dalam permsamaan berasingan yang akan menyebabkan pengurangan dalam anu di dalam system tertentu nombor persamaan dan kesulitan masa Semua fungsi logic dalam system yang besar perJu disusun khusus dan ringkas kerana ini pasti akan mengurangkan penggunaan sumber seperti ruang fizikal dan penyambungan litar elektronik apabiia fungsi yang sama dilaksanakan dengan menggunakan komponen elektronik yang sebenarnya
Fungsi Boolean telah digunakan sebagai model untuk banyak permasalahan seperti rekabentuk logic di mana sensor menghantar data masuk untuk dip roses oleh suatu automaton pengenalan corak dan diagnosa dalam perubatan and kejuruteraan di mana satu turutan penulisan kod yang tersirat digubah kepada satu rentetan corak ujian kecerdasan tiruan maklumat keselamatan seperti maklumat pengesahan dan data enclytion Sifat umum masalah ini ialah ketidakseimbangan di antara bilangan minterms wujud daripada bilangan input yang diberi dan bilangan minterms yang benar-benar digunakan dengan nilai output yang didefinasikan Adalah mustahak untuk menyelesaikan system ini dengan kaedah cuba-cuba berdasarkan memeriksa ruang anu Boolean dan semak unsurnya satu per satu Oleh itu kaedah sintesis yang berkesan dengan masa dan kuasa ingatan yang sesuai untuk permasalahan dimensi besar amat diperlukan
Sejak dari permulaan era rekabentuk litar digit pemudahan telah dikenalpasti sebagai kaedah yang berkesan untuk mengurangkan kos litar Sekarang ia menjadi keperJuan proses rekabentuk Kebanyakan algorithm pemudahan tidak mengendahkan pendekatan menyeluruh atau tidak mengaji satu set rumus pemudahan and menggunakannya secara berulang ke atas Fungsi Boolean yang diberikan untuk mendapat kesan ringkasan Keputusan pemudahan ini tidak akan unik jika set rumus pemudahan yang digunakan itu berbeza Oleh itu kualiti keputusan amat dipengaruhi oleh rumus pemudahan yan dikaji Selain itu ketangkasan terbaik adalah bergantung kepada rurnus pemudahan yang digunakan
Penyelidikan sekarang tentang rurnus pemudahan menunjukkan rurnus pemudahan yang wujud hanya dapat meringkaskan dua atau tiga product terms daripada setiap fungsi Boolean setiap kali Sesetengah algorithm yang baru dapat meringksakan lebih product terms Pengenalan rumus pemudahan ini mempunyai kesan yang mendalam ke atas ketangkasan pemudahan Walau bagaimanapun kesan ke atas kualiti keputusan belum memuaskan Kesimpulan penyelidikan ini telah membuka scpe bam penyelidikan
Penyelidikan ini belajar defmasi corak and pelaksanaan algorithm pemudahan yang diperkenalkan oleh Petr Fiser dan jan Hlavieka Ini terutamanya bersesuaian dengan Fungsi Boolean yang nilai didefinasikan untuk jarak yang keci Algorithm ini diprogramkan dengan Visual C++ 6 dan sesiri keputusan eksperimen yang dijalankan dengan satu set LGSynth93 benchmarks yang ditetapkan akan dibincangkan
v
I
2 LITERATURE NTABLE OF CONTENTS
DEDICATION
ACKNOWLEDGEMENT
ABSTRACT
ABSTRAK
T ABLE OF CONTENTS
LIST OF FIGURES
LIST 0 F TABLES
LIST OF ABBREVIATION
CHAPTER
1 INTRODUCTION
J1 Introduction
12 History of Digital System Designs
13 Digital Designs Concept
14 Digital and The Real World
15 The Importance of Digital System
16 Overview of Modem Design Process
17 Boolean Functions Problem Statement
18 Objectives of the Research
19 Research Methodology
110 Thesis Structure
21 Rltview 0
Page 22 Truth Tal
11 23 Algebraic
iii 24 Kamaugt
iv 25 Justificati
v 26 Simplific
vi 27 Algebrai(
x 28 Kamaugt
xii 28 1 Dont Cal
29 Minimizi
210 Quine-M
2101 Quine-M
3 BOOLEAN MIN
2
3
4
5
6
8
8
9
9
31
32
321
322
33
34
35
36
361
37
Introduct
ESPRES
Cornman
ESPRES
Main fea
Problem
Basic Pri
Coveragl
Imrnedia
Iterative
38 Impliclll1
2 LITERATURE REVIEW
21
22Page
ii 23
iii 24
IV 25
v 26
VI 27
x 28
XII 281
29
210
201
Review of Traditional Representation Techniques II
Truth Table II
Algebraic Function 13
Kamaugh Map (K-Map) 13
Justification for Logic Simplification 16
Simplification Techniques 17
Algebraic Simplification 18
Karnaugh Map Simplification 20
Dont Care Map Entries 24
Minimizing Function of More Than Six Variables 26
Quine-McCluskey Tabulation Method 27
Quine-McCluskey Using Dont care Terms 30
3 BOOLEAN MINIMIZER
31 2
32 3
321 4
322 5
33 6
34 8
35 8
36 9
361 9
37
38
Introduction 33
ESPRESSOS Program Description 34
Command Line and Keywords 35
ESPRESSO Example 38
Main features of Boolean Minimizer 39
Problem Statements 40
Basic Principles 41
Coverage-Directed Search 42
Immediate Implicant Checking 44
Iterative Minimization by BOOM system 44
Implicant Expansion 45
381 Checking a Literal Removal
382 Expansion Strategy
39 Solution of Covering Problem Solution
391 LCMC Cover
392 Contributive Selection
393 Contributive Removal
3 10 Output Reduction
311 PLA Format Description
3111 Keywords or Command Directives
3112 Symbols in the PLA Matrix ampTheir Logical Interpretation of a PLA
312 Illustrative Example
3121 CD-Search Example
3122 Sequential Example
4 BOOLEAN MINIMIZER SOFTW ARE DEVELOPMENT
41 Introduction
42 Implementation of Simplification Algorithm in Visual C++ 6
421 Description of the Boolean Minimizer Algorithm
43 Performance Evaluation
431 Standard Single Output LGSynth93 Benchmarks
432 Test Problems With Up to 300 Input Variables and Minterms
433 Time Complexity Evaluation for Very large Problem
44 Conclusions of Research Results
5 CONCLUSION AND RECOMMENDATION
51 Conclusions
viii
52 Recomm~45
BIBLIOGRAPHY45
APPENDIX46
46
46
46
47
47
47
48
49
49
57
61
61
63
64
65
65
67
70
71
45 52 Recommendation 71
45
46
46
46
46
47
47
47
ofa PLA 48
49
49
57
61
6 61
63
64
65
65
67
70
71
BIBLIOGRAPHY 73
APPENDIX 75
IX
LIST OF FIGURES 310 Example 6
311 Example 7
312 Example 8 Figure Description Pal
313 Example 9
l General Process Flow in Current Logic Synthesis Systems 7 314 Example I(
12 Research Methodology Flow Chart 9 315 Example I
21 Karnaugh Maps for I to 6 Variables 14 316 Example I
22 An Illustration of the MINTERMS that are logically adjacent in 2 3 15 317 Example 2
and 4 variable problems
318 Example 3 23 Example of Maps Plotted From Truth Table 16
319 Boolean M 24 The Principal Identities of Boolean Algebra 19
41 Growth of 25 Flowchart for Determining the Minimum SOP Using Karnaugh Map 22 (200-1000)
26 Kamaugh Map Simplification 23 42 Runtime G
1000)27 Karnaugh Maps Program by Russell Sasamori 23
28 A Flow Diagram Defining the Single Statement Reduction Algorithm 25
29 Mapping Example 25
210 Quine-McCluskey Program in Window Interface 29
31 ESPRESSOs Example 39
32 General Structure of Boolean Minimizer 42
33 Flowchart of Algorithm Boolean Simplification 43
34 Example of Input file in PLA format 50
35 Example 1 of Coverage Directed Search 51
36 Example 2 ofCoverage Directed Search 52
37 Example 3 of Coverage Directed Search 52
38 Example 4 of Coverage Directed Search 53
39 Example 5 ofCoverage Directed Search 53
3 10
311
3 12
313
7 314
9 315
14 316
adjacent in 2 3 15 317
31816
31919
41 Map 22
23 42
23
Algorithm 25
25
29
39
42
43
50
51
52
52
53
53
Example 6 of Coverage Directed Search 54
Example 7 of Coverage Directed Search 54
Example 8 of Coverage Directed Search 55
Example 9 of Coverage Directed Search 55
Example 10 of Coverage Directed Search 56
Example II of Coverage Directed Search 56
Example 1 of Sequential Search 57
Example 2 of Sequential Search 58
Example 3 of Sequential Search 59
Boolean Minimizer Program 60
Growth of Runtime As a Function of the Number of Care Mintenns 69 (200-1000)
Runtime Growth Depending on the Number of Input Variables (200- 70 1000)
Figure
11
21
22
23
24
25
26
41
42(a)
42(b)
43
LIST OF TABLES
Description
General process flow in current logic synthesis systems
General structure of a truth table
A 3-input variables truth table
Determine of Prime Implicants
Prime Implicant Chart
Set of four mintermsdont care terms for f=lm (131315) + ld (8910 II)
Prime Implicant Table
Runtime and Minimal Solutions for the Standard Single Output LGSynth93 Benchmarks
Comparison of the Result Quality for Problems With Input Variables (20-140)
Comparison of the Result Quality for Problems With Input Variables (180-300)
Comparison of the Runtime for Problems With Up to 1000 Input Variables and 1000 Minterms
Symbols ADC ASIC CAD CD Search CMOS CP CPLD DA DAC DC DCF DD DIDL DLL DSP ECL EPIs FPGAs HDL IE ISAPI K-Map LCMC LGSynth93 benchmarks LSI LSI MSI Pis PLAs
61 ROM SOP SSl TTL VLSI XLSI
13 35) + Id
Single Output
Input Variables
Input Variables
to 1000 Input
SYlDbols AOC ASIC CAD CD Search CMOS CP CPLO OA OAC DC DCF DO DIOL OLL OSP ECL EPIs FPGAs HOL IE ISAPI K-Map LCMC LGSynth93 benchmarks LSI LSI MSI PIs PLAs ROM SOP SSI TIL VLSI XLSI
LIST OF ABBREVIATIONS
Abbreviation Analog-to-Digital Converter Application Specific Integrated Circuit Computer Aided Design Coverage Directed Search Complementary Metal-Oxide Silicon Covering Problem Complex Programmable Logic Devices Design Automation Digital-to-Analog Converter Dont Care Disjunctive Canonical Form Decision Diagram Digital Integrated Design Language Dynamic Link Library Digital Signal Processing Emitter-Coupled Logic Essential Prime Implicants Field Programmable Gate Arrays Hardware Description Language Implicant Expansion Internet Server Application Programming Interface Karnaugh Map Least Covered Most Covering Logic Synthesis and Optimization Benchmarks Large Scale Integration Large Scale Integrated Circuits Medium Scale Integrated Circuits Prime Implicants Programmable Logic Arrays Read-Only-Memory Sum Of Product Small Scale Integrated Circuits Transistor-Transistor Logic Very Large Scale Integration Extra Large Scale Integrated Circuits
xii
CHAPTER 1
INTRODUCTION
11 Introduction
The field of digital system design has made great progress over the past decades From early days of simple relay switching circuits to the present time of sophisticated very large scale integration (VLSI) circuits the designing of a digital system has advanced to become a complex and multi-staged process Algorithms and techniques for representing manipulating simulating routing placing manufacturing and testing of designs are continuously introduced and modified Meanwhile the number of devices and technologies based on different logic families keep on growing As a result many design approaches have been developed which have given rise to a wide variety of possible solutions
While the design process of digital system is becoming more complex it is becoming less possible to design a system in one step using a single design tool And it is more necessary to break the design process into several stages using different design tools at each stage Such multi-staged design processes introduce the very undesired effect of requiring a system designer to learn the various design tools employed by the different stages
As each stage develops it becomes difficult for a designer to master all the tools As such design tool developers have to strive to increase the level of design automation without compromising the final solution Whereas a design automation (DA) or computer aided design (CAD) researcher can only focus hisher study on a specific area a highly automated design environment becomes less achievable Nevertheless researchers should try to keep abreast of the development of the entire design process if possible also the simulation manufacturing and testing processes (which come after the design process) so as to have a complete idea of developing an entire system
Since the early days of designing digital circuits simplification has been justified as an effective simplification technique of Boolean functions in reducing the cost of circuits It becomes an essential design process in various application of computer-aided design (CAD) such as test generation synthesis and verification The efficiency of Boolean functions simplification depends on the form of representation techniques Unfortunately the traditional methods of representation such as truth tables Kamaugh maps (K-Maps) and algebraic functions have been proven to be quite impractical This is because every increment of the Boolean function input size could yield a function with exponential representation Therefore it is costly in terms of computer time and storage space
In recent years decision diagrams (DDs) have become the most popular representation techniques employed by computer-aided-design software to represent Boolean functions Decision diagram [Akers 1978 and Bryant 1986] has advantage over the classical representation Two most distinctive advantages being its time complexity and space complexity are non-exponential ie as the input size of Boolean functions grow linearly computer time and storage space requirements of algorithms to represent and manipulate DDs do not necessarily grow exponentially (as is the case for traditional representation techniques)
I
12 History of Digital System Designs
A digital system is a synchronous system in which signals have a finite number of integer values and may change only at discrete instants The very basic digital design can be defined as the science of organizing arrays of simple switches into what is called a discrete system that performs transformations on two-level (binary) information in a meaningful and predictable way Certainly this is true but digital design as we know it today is much more exciting than this definition portends Digital representation and processing methods have been used for a long time but the development of digital artifacts underwent a dramatic increase with the invention of the digital computer Since then digital design underpins the creation of myriad of imaginative digital devices that surround us Extraordinary progress has been made in all these aspects making the computer indispensable in almost every aspect of modem society The development of computer technology and digital microelectronics such as hand-held calculators digital watches microprocessors microwave oven controllers and digital voltmeters in particular have made possible the cost effective production of a large variety of specialized digital systems This trend continues as new applications are replacing analogue systems but in many others they are making possible applications that did not previously exist As a consequence knowledge about the designs and use of digital systems is required in a large variety of human activities
In the late 1840s George Boole [I 849J invented a very abstract form of fundamental concepts of a two-valued (binary) system which is later called the Boolean algebra But Boolean algebra is not used until about 80 years later due to its sophistication In the late of 1930s Claude Shannon [1938] applied switching algebra onto his study of relay switching circuits Since then design methods have been pretty much standard following Booles and Shannons fundamentals with added refinements here and there as new knowledge has been discovered and more exotic logic devices have been developed tried and proven leading the way into one of the most fascinating and challenging fields of study
The theory was then extended to cover both the combinational and sequential circuits in the following one and half decades Combinational switching networks are those which depend only on the current inputs and which are without memory In sequential networks the outputs respond to both current inputs and the history of all previous inputs The system must remember the entire history of the input patterns
In the 1950s further development on the theory lead to the finite-state machine theory and then the automata theory meanwhile simplification of switching functions became an active area of research This is because of the logic gates were then very expensive Also Reed and Muller introduced Reed-Muller algebra This form of expression has now become very popular and useful in the study of AND-EXOR implementation of Boolean functions
The concept of design automation that allows larger and more complex digital system to be designed wholly by computer became popular in the early 1960s However the results obtained by these tools were not always satisfactory Therefore the computer aided design concept is then introduced This allows the designer to intervene with the computerized process Also in the 1960s Quine [1952] and McCluskey [1956] devised the tabulation method for Boolean function simplification In the late 1960s simplification became less essential because of a reduction in the cost of logic gates
2
Programmable Logic Ar desirable for implementin can be designed automat PLAs which were made Hence two-level implem synthesize switching fune level simplification again
13 Digital Designs (
Digital design as treated design of recognizable considered worthy of me digital designer in reachi attempt to standardize a the designers insight to dynamic action related aj
However if these techn designs they become nl
lend themselves very nic( to system design Digit multi-level register tran automation documentati Separation of the control hardware control imple) procedure capabilities fo down to the logic level
Generally speaking be in classifying information which can be processed ( a process of classifying information which can h False Thus the Boolean that any Boolean variab applicable to arguments really optimal This nonmiddot is generally a process of Actions It implies that tl information entities defil actions which is to be d directly related to som operation
The use of verbs such a logic message and does
number of integer values can be defined as the
a discrete system that oul and predictable
more exciting than have been used for a
increase with the the creation of myriad of
been made in all these of modem society The
such as hand-held and digital voltmeters variety of specialized
analogue systems but in previously exist As a
is required in a large
of fundamental concepts But Boolean algebra
late of 1930s Claude circuits Since then s and Shannons
has been discovered leading the way into one
sequential circuits in the are those which depend
networks the outputs system must remember
machine theory and then became an active area of
Also Reed and Muller very popular and
digital system to be the results obtained
aided design concept is tmiddotri middot7 ti process Also in
method for Boolean
Programmable Logic Arrays (PLAs) were introduced in the early 1970 s and became very desirable for implementing switching functions due to the fact that PLAs reduce design time and can be designed automatically An array of AND-gates and an array of OR-gates exist in the PLAs which were made possible with the advent of large-scale integration (LSI) technology Hence two-level implementation became popular The physical area requirement of PLAs to synthesize switching functions is directly linked to the size of the Boolean functions thus twoshylevel simplification again became an important area of research
13 Digital Designs Concept
Digital design as treated in the field of study relating the adaptation of Logic concepts to the design of recognizable realizable and reliable digital hardware These concepts have been considered worthy of mention because they have been found when properly applied to aid the digital designer in reaching his goals in a straightforward manner These concepts are also an attempt to standardize a logic Action description and definition for the purpose of improving the designers insight to logic design and documentation These concepts transfer the idea of a dynamic action related approach to logic thought
However if these techniques are practiced and applied to the more traditional small scale designs they become natural and easy to extend to system level design application They also lend themselves very nicely to the Digital Design Language and Programmed Logic approaches to system design Digital Integrated Design Language (DIDL) is a formal block-structured multi-level register transfer type specialized language system for use in the design design automation documentation and simulation of all digital systems including digital computers Separation of the control and the data path of a system are allowed so that either software or hardware control implementation can be employed DIDL has also macro definition and procedure capabilities for initial system specification various levels of design and simulation down to the logic level
Generally speaking being involved in digital design is dealing in logic which is a process of classifying information while information is intelligence related to ideas meanings and actions which can be processed or transformed into other forms Binary Logic or two-valued logic is a process of classifying information into two classes Traditionally binary arguments or that infonnation which can be definitely classified as two-valued have been deemed either True or False Thus the Boolean variable is unlike the algebraic variables of the field of real numbers in that any Boolean variable can take on only two values the True or False Though certainly applicable to arguments and conditions this TrueFalse classification for digital des ign is not really optimal This non-optimal classification stems from the fact that digital hardware design is generally a process of organizing hardware for the express purpose of classifying information Actions It implies that the hardware in a digital system should be 0rganized to process the input infonnation entities defined as binary input actions and in tum generate some binary output actions which is to be thought of as a dynamic process Action is the most hardware responses directly related to some physical operation or some condition resulting from a physical operation
The use of verbs such as Asserted Excited or Invoked can be used to modify as Action related logic message and does so by directing to the signal condition under which the Action is to be
3
l
l
performed Asserted is defined as the affirmative position of an Action related Boolean variable (mnemonic) Now if the logic operation is being performed we say that the Boolean variable is Asserted It follows that if the logic operation is not being performed we say that the Boolean variable is Not-Asserted Traditionally it is standard to use the shorthand symbols I for True and 0 for False However Is or Os are also used for numeric values (binary numbers) and as high or low voltage indicators as well
14 Digital and The Real World
In real life there are two ways of representing information analog and digital Analog signals contain all the information as a continuously varying wave - such as on an oscilloscope screen when you speak into a microphone connected to it Digital signals are a series of pulses - ons and offs or Is and Os A system that processes analogue signal is termed as analogue system and a system that processes digital signal is termed as digital system A few of these are light nuclear radiation and the electric signals governing the human nervous system which are interestingly enough most definitely discrete phenomena The use of digital practices can be a viable method for solving design problems in the real world The reasons that design problems are emphasized stems from the fact that the major areas of involvement for electrical and digital engineers are (I) the measurement (2) the control and (3) the transmission of information and energy Thus we fmd that we are continuously trying to find solutions to problems related to the measurement control and transmission of information or energy in the domain of the real world However the real world tends to have a continuous nature Because of this the discrete domain needs to the buffered in some way
In recent years systems that are capable of processing a mixture of both analogue and digital signals are increasingly popular The interdomain converter is a specialized system that converts or translates information of one domain into information of another domain For example an analogue signal can often be converted to a digital signal using analogue-to-digital converter (ADC) The processed signal can be converted back to the original form using the digital-toshyanalogue converter (DAC)
Since pure digital systems are made up of arrays of simple and reliable switches with only two positions a numerical system that already existed was adapted to serve as the tool needed for utilizing the basic concept This numerical math system called the binary system is based on the two symbols 0 and I in contrast to the decimal system which has ten symbols 0 I 2 9 We should see now that in order to use a digital system such as a digital computer for mathematical computations we must first convert our mathematical symbolisms (decimal in this case) into binary symbolisms to allow the computer to perform this mathematical operation Once this is done the inverse process must he performed to convert the binary results into a readable decimal representation
The obvious question Is digital worth all of the conversion The answer cannot be simply stated in yes or no terms but must be left to the individual and the particular situation In certain instances it may not in fact be worth the bother Such would not be the case if we were able to create and use multiple-valued logic systems to create a totally decimal machine Obviously if there were ten unique descriptors usable for our decimal computer there would be no need
to convert any infonn practically speaking bil system for some years t communicate with his IT
conversion and the diffe
15 The Importance
Digital systems are use have displaced the ear numerical and non-nume
Information processing processing task elimir representation of the pn the representation and tri
The finite number of va two values (binary sigm binary as a result the switches with two states
Digital signals are quit operating temperature significant portions of a separated so that small better dynamic range T be made more accurate Thus it is more reliab susceptible to variations
The advance of microelt of extremely complex d are built as integrated cil to select among differ~ hardware
Digital technology ha computers to small persl injected in a new autom large systems in a bank last 10 years the grov microprocessors being ~ used by the millions television sets and in controlling steel making
Action related Boolean we say that the Boolean
we say that the shorthand symbols 1 for values (binary numbers)
digital Analog signals on an oscilloscope screen
a series of pulses - ons as analogue system
A few of these are light system which are
digital practices can be a that design problems
for electrical and digital of information and
to problems related to the domain of the real world this the discrete domain
switches with only two as the tool needed for
system is based on has ten symbols 0 I 2 bull bull
a digital computer for symbolisms (decimal in mathematical operation the binary results into a
cannot be simply situation In certain
to convert any information into the now required two-valued binary system However practically speaking binary systems presently dominate and will continue to be the dominant system for some years to come Since such is the case and man ultimately must learn how to communicate with his machine it is necessary that we study the processes involved in number conversion and the different codes used to represent and convey information
IS The Importance of Digital Systems
Digital systems are used in information processing wherein they have become prevalent and have displaced the earlier analogue system Digital representation is well suited for both numerical and non-numerical information processing
Information processing can use a general-purpose system that is programmed for a particular processing task eliminating the need to have a different system for each task The representation of the program and its interpretation can use the same techniques employed for the representation and transformation of the data
The finite number of values in digital signal can be represented by a vector of signals with just two values (binary signals) This representation allow implementations in which all signals are binary as a result the devices that process these signals are very simple (essentially just switches with two states open and closed)
Digital signals are quite insensitive to variations of component parameter values such as operating temperature This includes its potential flexibility in terms of time-multiplexing significant portions of a given system The physical representation of the values is sufficiently separated so that small variations do not change the value it provides exact replicablity with a better dynamic range This is especially true for binary signals Numerical digital systems can be made more accurate by simply increasing the number of digits used in the representation Thus it is more reliable more applicable to nonlinear control more predictable and less susceptible to variations of environment
The advance of microelectronics technology in recent years have made possible the fabrication of extremely complex digital systems that are small fast and cheap Complex digital systems are built as integrated circuits composed of a large number of very simple devices It is possible to select among different implementations of systems that trade off speed and amount of hardware
Digital technology has affected computing from large multimillion dollars mainframe computers to small personal computers and microprocessor controllers measuring the fuel to be injected in a new automobile engine Many of us think of computers in the sense of medium to large systems in a bank or insurance company or for scientific research or military used In the last 10 years the growth of personal computing has been tremendous But most of the microprocessors being sold today do not go into personal computers Instead they are being used by the millions in dishwashers automobiles aircraft oscilloscopes stereo systems television sets and in industrial control systems used for measuring lumber thickness or controlling steel making
5
Digital technology is finding its way into areas of electronics normally thought of as strictly analogue Commercial two-way radios have microcontrollers setting the local oscillator frequency Electronic instrumentation such as oscilloscopes logic analyzers function generators power supplies and multimeters measuring current voltage and resistance all have made widespread use of digital technology In fact it is difficult to find a recently designed electronic instrument that does not use digital technology in some way Digital signal processing (DSP) is a methodology that involves the conversion of analogue information into digital form processes it in some rather sophisticated manner and produces an output either analogue or digital Modem submarines use DSP to make sense of acoustic noises that occur under the ocean for example
Digital technology is especially useful because it is less susceptible to electrical noise (spikes or fluxations in voltage or current) temperature effects component aging and other factors that affect analogue systems This does not mean that analogue technology is not important or that students of electronics and even computers should not study analogue circuit and systems In fact just the contrary is true The concepts of radio propagation antenna design amplifier analysis and active filters to mention a brief few are more important than ever To appropriately apply digital design principles to these areas certainly requires an in-depth understanding of analogue principles Furthermore as the frequencies of digital devices continue to increase digital systems designers are faced with solving analogue-related problems
The application of digital technology will continue to grow in a wide range of consumer product industrial control militarydefense and service industries Look for digital system speeds to increase new devices with added complexity integrated systems comprising both digital and analogue functions embedded into a single integrated circuit and even possibly the use of organic material for constructing memory devices
16 Overview of Modern Design Process
Design is a complex process more an art than a science Complex systems can be broken down into three simpler independent design stages the functional structural and physical stages Figure 11 depicts the general process flow in current logic synthesis systems
A switChing circuit design is first specified in the functional design stage with tools such as hardware description language (HDL) or schematic capture Hardware description language allows a design to be described in text form while schematic capture allows a design to be described in graphical form Once the design is specified it is converted into a mathematical description by the design tools and passed on to the next design stage
In the logic design stage the mathematical representation of the design is simplified without modifying the functionality Two major manipulation techniques that have been studied extensively are simplification and portioning techniques The simplification techniques aim to produce a simpler representation while the portioning techniques aim to break a large representation into a set of smaller but equivalent representations
When the manipulation run If the results of sirr redone or the original satisfactory the represen
In designing application placing and routing Ir programmable logic de logic blocks (placing) ar stage only involves prog
When the physical de consideration) may be f1
which may be part of th manufacturing Followir includes the testing ofm
Figure 11 (
thought of as strictly the local oscillator analyzers function
important
a
logic and resistance all have
to fi nd a recently designed Digital signal processing
Iinfnnml-inn into digital fonn output either analogue or
noises that occur under the
to electrical noise (spikes or and other factors that
is not important or that circuit and systems In
antenna design amplifier than ever To
requires an in-depth of digital devices
solving analogue-related
wide range of consumer Look for digital system systems comprising both
and even possibly the
stages
stage with tools such as description language
allows a design to be -rt-11 into a mathematical
is simplified without that have been studied
iti techniques aim to aim to break a large
When the manipulation is completed a pre-layout simulation (with ideal consideration) may be run If the results of simulation are not satisfactory the previous design stages will have to be redone or the original specification may have to be changed However if the results are satisfactory the representation will be passed on to the final stage - physical design stage
In designing application specific integrated circuit (ASIC) this stage includes floor planning placing and routing In designing field programmable gate arrays (FPGAs) and complex programmable logic devices (CPLDs) this stage includes defining the various programmable logic blocks (placing) and programming the interconnections (routing) In designing PLAs this stage only involves programming the interconnections (routing)
When the physical design stage is completed a post-layout simulation (with practical consideration) may be run If the results are not satisfactory the design will have to be redone which may be part of the entire process If the result is satisfactory the design will be sent for manufacturing Following the manufacturing process comes the testing of the devices which includes the testing of manufacturing faults and the design faults
Figure 11 General Process Flow in Current Logic Synthesis Systems
i
Research methoe 1917 Boolean Functions Problem Statement
Boolean derivatives and differentials are used as models for changes in discrete binary coded systems such as cryptosystems for information authentication and data encryption Derivatives describe crucial criteria of Boolean functions such as dependence and independence linearity monotonicity high degree of propagation high nonlinearity 0-1 balancedness and high algebraic degree They are operators generating other Boolean functions Equations with derivatives define classes of Boolean functions Boolean Differentials are models for any kinds of changes such as signal edges errors and deviations An important Boolean problem is that of designing Boolean functions satisfying simultaneously more than one nonlinearity criteria
Boolean function manipulation is the art of exploiting simplification opportunities that exist inherently in logical structures by using the identities that exist within that algebra or reducing the number of terms used We are seeking to express any logical function as simple as possible because this can lead to a reduced usage of resources when that same function is implemented physically
18 Objectives of the Research
The main objective of the project is to generalize simplification rules employed by several existing simplification algorithms and develop simplification algorithms based on the rules derived from the generalization While the measurable objectives are as stated below
I To survey on the existing simplification algorit~ms
2 To study and compare the simplification rules employed by these simplification algorithms
3 To generalize the existing simplification rules and from there identify new simplification rules
4 To implement software package which employs an effective set of simplification rules
The diagram in Figure I
)FamUiarize w gtStudy the nls
gtCompare simi gtAnaJyu the cI gtGeneralize the gt Derive rules fl
gtDevelop simpJ gt Implement the
gtTest new solho Compare resu
~
8
F
110 Thesis Structure
This thesis covers the fo l
rules employed by several algorithms based on the rules
Phase 3 Implementation of Software Package are as stated below
in discrete binary coded data encryption Derivatives and independence linearity
0- balanced ness and high functions Equations with
are models for any kinds rmSlnt Boolean problem is that
one nonlinearity criteria
IIlcallcm opportunities that exist within that algebra or reducing
function as simple as possible same function is implemented
19 Research methodology
The diagram in Figure 12 shows the methodology used and planned in conducting the research
Phase I Literature Review
IDIUJariu wllh the current work done in UNIMAS gtStudy the existing simplification rules
Phase 2 Generalization of Simplification Rules
ompare simplification ru les employed by different simplification algorithms gtAnalyze the characteristics of existing simplification rules gtGeoeralize the simplification rules based on their simplification characteristics raquo Derive rules from the generalization of simplification rules
simplification algorithms
identifY new simplification
of simplification rules
Develop simplification algorithms which emplOy different set of simplification rules raquo lmplement the algorithm onto computer using Visual C++ language
+Phase 4 Analysis of algorithms performance
raquoTest new software package by using practical circuits or benchmarks raquoCompare results obtained to that provided by the traditional methods
Figure 12 Research Methodology Flow Chart
110 Thesis Structure
This thesis covers the following topics
9
In Chapter I history brief concept of Digital System Design and importance of Digital System are provided The research objectives methodology and overview of modem design process are outlined as well
Chapter 2 documents the literature review performed The traditional representation techniques of simplification method basically cover truth table algebraic function and K-Map The existing simplification techniques such as algebraic simplification K-Map simplification Quine McshyCluskey tabulation method are reviewed and discussed
Chapter 3 lists ESPRESSO program description and examples It introduces the main features of Boolean Minimizer and the program is elaborated together with its data formats and controls Moreover the initial generation of implicants is described with an illustrative example
In Chapter 4 the experimental results of the proposed simplification method is evaluated and commented The source code of the simplification method is discussed and explained
In Chapter 5 a conclusion of this thesis is presented and recommendation on further works that can be carried out to further improve the simplification method is also provided
10
21 Review of Traditi4
In designing digital syste Maps or algebraic expres~ be limited in large circui circuits which computati( number of inputs increase has been introduced and representing techn iques de computation time and stOI(
22 Truth Table
Before any combinational a problem is the most imp correctly accomplished 0 necessary logic for imp len table ready for logic desi From the truth table the diagram drawn The logic integrated circuit families complementary metal-oxi (mnemonic) can take on ( variable of the real numbel conditions of a Boolean 1
format called a truth table
Truth table is the most funl describes the operational combinations of input vall row at a time Further the valued variable Thus if 1
there are four combinatio~ inputs is increased by 0
independent input variable 22 show the general truth 1
CHAPTER 2
LITERATURE REVIEW
importance of Digital System of modem design process are
representation technique and K-Map The existing
simplification Quine Mcshy
introduces the main features its data formats and controls illustrative example
method is evaluated and and explained
on further works that also provided
21 Review of Traditional Representation Techniques
In designing digital system switching circuits are usually represented using truth tables KshyMaps or algebraic expressions These traditional representation techniques have been proven to be limited in large circuit designs Thus a more efficient method of representing switching circuits which computation time and storage requirements do not grow exponentially as the number of inputs increases is required The graph-based representation method known as DD has been introduced and its popularity has grown rapidly in the last decade These modem representing techniques describe the operation of a switching circuit more efficiently both in computation time and storage requirements
22 Truth Table
Before any combinational logic system can be designed it must be defmed Proper statement of a problem is the most important part of any digital design task Nothing can occur until that is correctly accomplished Once correctly and clearly stated any problem can be converted to the necessary logic for implementation Practical applications rarely come in a prepackaged truth table ready for logic design Truth table must be constructed from verbal problem descriptions From the truth table the switching equations can be written and simplified and the logic diagram drawn The logic diagram can be realized using anyone of the three main digital integrated circuit families transistor-transistor logic (TTL) emitter-coupled logic (ECL) or complementary metal-oxide silicon (CMOS) We established that a Boolean variable (mnemonic) can take on only two values not an infinite number as its kindred associate the variable of the real number system This basic difference allows us to illustrate all possible logic conditions of a Boolean variable or a collection of Boolean variables using a finite tabular format called a truth table
Truth table is the most fundamental and classical way in the description of a switching circuit It describes the operational behavior of the circuit by listing the output values for all possible liOIIlbinations of input values or arguments in vertical order and each input combination one lOW at a time Further the nontrivial decisions in digital design are based on more than one twoshyvalued variable Thus if an output is to be completely specified as a function of two inputs dIere are four combinations that must be considered From this we see that as the number of ilputs is increased by one the number of possible combinations doubles Therefore n iadcpendent input variables will exhibit 2n distinct combinations of values Table 2 I and Table 22 show the general truth table for a function with n variables and an example with n = 3
II
I
2 LITERATURE NTABLE OF CONTENTS
DEDICATION
ACKNOWLEDGEMENT
ABSTRACT
ABSTRAK
T ABLE OF CONTENTS
LIST OF FIGURES
LIST 0 F TABLES
LIST OF ABBREVIATION
CHAPTER
1 INTRODUCTION
J1 Introduction
12 History of Digital System Designs
13 Digital Designs Concept
14 Digital and The Real World
15 The Importance of Digital System
16 Overview of Modem Design Process
17 Boolean Functions Problem Statement
18 Objectives of the Research
19 Research Methodology
110 Thesis Structure
21 Rltview 0
Page 22 Truth Tal
11 23 Algebraic
iii 24 Kamaugt
iv 25 Justificati
v 26 Simplific
vi 27 Algebrai(
x 28 Kamaugt
xii 28 1 Dont Cal
29 Minimizi
210 Quine-M
2101 Quine-M
3 BOOLEAN MIN
2
3
4
5
6
8
8
9
9
31
32
321
322
33
34
35
36
361
37
Introduct
ESPRES
Cornman
ESPRES
Main fea
Problem
Basic Pri
Coveragl
Imrnedia
Iterative
38 Impliclll1
2 LITERATURE REVIEW
21
22Page
ii 23
iii 24
IV 25
v 26
VI 27
x 28
XII 281
29
210
201
Review of Traditional Representation Techniques II
Truth Table II
Algebraic Function 13
Kamaugh Map (K-Map) 13
Justification for Logic Simplification 16
Simplification Techniques 17
Algebraic Simplification 18
Karnaugh Map Simplification 20
Dont Care Map Entries 24
Minimizing Function of More Than Six Variables 26
Quine-McCluskey Tabulation Method 27
Quine-McCluskey Using Dont care Terms 30
3 BOOLEAN MINIMIZER
31 2
32 3
321 4
322 5
33 6
34 8
35 8
36 9
361 9
37
38
Introduction 33
ESPRESSOS Program Description 34
Command Line and Keywords 35
ESPRESSO Example 38
Main features of Boolean Minimizer 39
Problem Statements 40
Basic Principles 41
Coverage-Directed Search 42
Immediate Implicant Checking 44
Iterative Minimization by BOOM system 44
Implicant Expansion 45
381 Checking a Literal Removal
382 Expansion Strategy
39 Solution of Covering Problem Solution
391 LCMC Cover
392 Contributive Selection
393 Contributive Removal
3 10 Output Reduction
311 PLA Format Description
3111 Keywords or Command Directives
3112 Symbols in the PLA Matrix ampTheir Logical Interpretation of a PLA
312 Illustrative Example
3121 CD-Search Example
3122 Sequential Example
4 BOOLEAN MINIMIZER SOFTW ARE DEVELOPMENT
41 Introduction
42 Implementation of Simplification Algorithm in Visual C++ 6
421 Description of the Boolean Minimizer Algorithm
43 Performance Evaluation
431 Standard Single Output LGSynth93 Benchmarks
432 Test Problems With Up to 300 Input Variables and Minterms
433 Time Complexity Evaluation for Very large Problem
44 Conclusions of Research Results
5 CONCLUSION AND RECOMMENDATION
51 Conclusions
viii
52 Recomm~45
BIBLIOGRAPHY45
APPENDIX46
46
46
46
47
47
47
48
49
49
57
61
61
63
64
65
65
67
70
71
45 52 Recommendation 71
45
46
46
46
46
47
47
47
ofa PLA 48
49
49
57
61
6 61
63
64
65
65
67
70
71
BIBLIOGRAPHY 73
APPENDIX 75
IX
LIST OF FIGURES 310 Example 6
311 Example 7
312 Example 8 Figure Description Pal
313 Example 9
l General Process Flow in Current Logic Synthesis Systems 7 314 Example I(
12 Research Methodology Flow Chart 9 315 Example I
21 Karnaugh Maps for I to 6 Variables 14 316 Example I
22 An Illustration of the MINTERMS that are logically adjacent in 2 3 15 317 Example 2
and 4 variable problems
318 Example 3 23 Example of Maps Plotted From Truth Table 16
319 Boolean M 24 The Principal Identities of Boolean Algebra 19
41 Growth of 25 Flowchart for Determining the Minimum SOP Using Karnaugh Map 22 (200-1000)
26 Kamaugh Map Simplification 23 42 Runtime G
1000)27 Karnaugh Maps Program by Russell Sasamori 23
28 A Flow Diagram Defining the Single Statement Reduction Algorithm 25
29 Mapping Example 25
210 Quine-McCluskey Program in Window Interface 29
31 ESPRESSOs Example 39
32 General Structure of Boolean Minimizer 42
33 Flowchart of Algorithm Boolean Simplification 43
34 Example of Input file in PLA format 50
35 Example 1 of Coverage Directed Search 51
36 Example 2 ofCoverage Directed Search 52
37 Example 3 of Coverage Directed Search 52
38 Example 4 of Coverage Directed Search 53
39 Example 5 ofCoverage Directed Search 53
3 10
311
3 12
313
7 314
9 315
14 316
adjacent in 2 3 15 317
31816
31919
41 Map 22
23 42
23
Algorithm 25
25
29
39
42
43
50
51
52
52
53
53
Example 6 of Coverage Directed Search 54
Example 7 of Coverage Directed Search 54
Example 8 of Coverage Directed Search 55
Example 9 of Coverage Directed Search 55
Example 10 of Coverage Directed Search 56
Example II of Coverage Directed Search 56
Example 1 of Sequential Search 57
Example 2 of Sequential Search 58
Example 3 of Sequential Search 59
Boolean Minimizer Program 60
Growth of Runtime As a Function of the Number of Care Mintenns 69 (200-1000)
Runtime Growth Depending on the Number of Input Variables (200- 70 1000)
Figure
11
21
22
23
24
25
26
41
42(a)
42(b)
43
LIST OF TABLES
Description
General process flow in current logic synthesis systems
General structure of a truth table
A 3-input variables truth table
Determine of Prime Implicants
Prime Implicant Chart
Set of four mintermsdont care terms for f=lm (131315) + ld (8910 II)
Prime Implicant Table
Runtime and Minimal Solutions for the Standard Single Output LGSynth93 Benchmarks
Comparison of the Result Quality for Problems With Input Variables (20-140)
Comparison of the Result Quality for Problems With Input Variables (180-300)
Comparison of the Runtime for Problems With Up to 1000 Input Variables and 1000 Minterms
Symbols ADC ASIC CAD CD Search CMOS CP CPLD DA DAC DC DCF DD DIDL DLL DSP ECL EPIs FPGAs HDL IE ISAPI K-Map LCMC LGSynth93 benchmarks LSI LSI MSI Pis PLAs
61 ROM SOP SSl TTL VLSI XLSI
13 35) + Id
Single Output
Input Variables
Input Variables
to 1000 Input
SYlDbols AOC ASIC CAD CD Search CMOS CP CPLO OA OAC DC DCF DO DIOL OLL OSP ECL EPIs FPGAs HOL IE ISAPI K-Map LCMC LGSynth93 benchmarks LSI LSI MSI PIs PLAs ROM SOP SSI TIL VLSI XLSI
LIST OF ABBREVIATIONS
Abbreviation Analog-to-Digital Converter Application Specific Integrated Circuit Computer Aided Design Coverage Directed Search Complementary Metal-Oxide Silicon Covering Problem Complex Programmable Logic Devices Design Automation Digital-to-Analog Converter Dont Care Disjunctive Canonical Form Decision Diagram Digital Integrated Design Language Dynamic Link Library Digital Signal Processing Emitter-Coupled Logic Essential Prime Implicants Field Programmable Gate Arrays Hardware Description Language Implicant Expansion Internet Server Application Programming Interface Karnaugh Map Least Covered Most Covering Logic Synthesis and Optimization Benchmarks Large Scale Integration Large Scale Integrated Circuits Medium Scale Integrated Circuits Prime Implicants Programmable Logic Arrays Read-Only-Memory Sum Of Product Small Scale Integrated Circuits Transistor-Transistor Logic Very Large Scale Integration Extra Large Scale Integrated Circuits
xii
CHAPTER 1
INTRODUCTION
11 Introduction
The field of digital system design has made great progress over the past decades From early days of simple relay switching circuits to the present time of sophisticated very large scale integration (VLSI) circuits the designing of a digital system has advanced to become a complex and multi-staged process Algorithms and techniques for representing manipulating simulating routing placing manufacturing and testing of designs are continuously introduced and modified Meanwhile the number of devices and technologies based on different logic families keep on growing As a result many design approaches have been developed which have given rise to a wide variety of possible solutions
While the design process of digital system is becoming more complex it is becoming less possible to design a system in one step using a single design tool And it is more necessary to break the design process into several stages using different design tools at each stage Such multi-staged design processes introduce the very undesired effect of requiring a system designer to learn the various design tools employed by the different stages
As each stage develops it becomes difficult for a designer to master all the tools As such design tool developers have to strive to increase the level of design automation without compromising the final solution Whereas a design automation (DA) or computer aided design (CAD) researcher can only focus hisher study on a specific area a highly automated design environment becomes less achievable Nevertheless researchers should try to keep abreast of the development of the entire design process if possible also the simulation manufacturing and testing processes (which come after the design process) so as to have a complete idea of developing an entire system
Since the early days of designing digital circuits simplification has been justified as an effective simplification technique of Boolean functions in reducing the cost of circuits It becomes an essential design process in various application of computer-aided design (CAD) such as test generation synthesis and verification The efficiency of Boolean functions simplification depends on the form of representation techniques Unfortunately the traditional methods of representation such as truth tables Kamaugh maps (K-Maps) and algebraic functions have been proven to be quite impractical This is because every increment of the Boolean function input size could yield a function with exponential representation Therefore it is costly in terms of computer time and storage space
In recent years decision diagrams (DDs) have become the most popular representation techniques employed by computer-aided-design software to represent Boolean functions Decision diagram [Akers 1978 and Bryant 1986] has advantage over the classical representation Two most distinctive advantages being its time complexity and space complexity are non-exponential ie as the input size of Boolean functions grow linearly computer time and storage space requirements of algorithms to represent and manipulate DDs do not necessarily grow exponentially (as is the case for traditional representation techniques)
I
12 History of Digital System Designs
A digital system is a synchronous system in which signals have a finite number of integer values and may change only at discrete instants The very basic digital design can be defined as the science of organizing arrays of simple switches into what is called a discrete system that performs transformations on two-level (binary) information in a meaningful and predictable way Certainly this is true but digital design as we know it today is much more exciting than this definition portends Digital representation and processing methods have been used for a long time but the development of digital artifacts underwent a dramatic increase with the invention of the digital computer Since then digital design underpins the creation of myriad of imaginative digital devices that surround us Extraordinary progress has been made in all these aspects making the computer indispensable in almost every aspect of modem society The development of computer technology and digital microelectronics such as hand-held calculators digital watches microprocessors microwave oven controllers and digital voltmeters in particular have made possible the cost effective production of a large variety of specialized digital systems This trend continues as new applications are replacing analogue systems but in many others they are making possible applications that did not previously exist As a consequence knowledge about the designs and use of digital systems is required in a large variety of human activities
In the late 1840s George Boole [I 849J invented a very abstract form of fundamental concepts of a two-valued (binary) system which is later called the Boolean algebra But Boolean algebra is not used until about 80 years later due to its sophistication In the late of 1930s Claude Shannon [1938] applied switching algebra onto his study of relay switching circuits Since then design methods have been pretty much standard following Booles and Shannons fundamentals with added refinements here and there as new knowledge has been discovered and more exotic logic devices have been developed tried and proven leading the way into one of the most fascinating and challenging fields of study
The theory was then extended to cover both the combinational and sequential circuits in the following one and half decades Combinational switching networks are those which depend only on the current inputs and which are without memory In sequential networks the outputs respond to both current inputs and the history of all previous inputs The system must remember the entire history of the input patterns
In the 1950s further development on the theory lead to the finite-state machine theory and then the automata theory meanwhile simplification of switching functions became an active area of research This is because of the logic gates were then very expensive Also Reed and Muller introduced Reed-Muller algebra This form of expression has now become very popular and useful in the study of AND-EXOR implementation of Boolean functions
The concept of design automation that allows larger and more complex digital system to be designed wholly by computer became popular in the early 1960s However the results obtained by these tools were not always satisfactory Therefore the computer aided design concept is then introduced This allows the designer to intervene with the computerized process Also in the 1960s Quine [1952] and McCluskey [1956] devised the tabulation method for Boolean function simplification In the late 1960s simplification became less essential because of a reduction in the cost of logic gates
2
Programmable Logic Ar desirable for implementin can be designed automat PLAs which were made Hence two-level implem synthesize switching fune level simplification again
13 Digital Designs (
Digital design as treated design of recognizable considered worthy of me digital designer in reachi attempt to standardize a the designers insight to dynamic action related aj
However if these techn designs they become nl
lend themselves very nic( to system design Digit multi-level register tran automation documentati Separation of the control hardware control imple) procedure capabilities fo down to the logic level
Generally speaking be in classifying information which can be processed ( a process of classifying information which can h False Thus the Boolean that any Boolean variab applicable to arguments really optimal This nonmiddot is generally a process of Actions It implies that tl information entities defil actions which is to be d directly related to som operation
The use of verbs such a logic message and does
number of integer values can be defined as the
a discrete system that oul and predictable
more exciting than have been used for a
increase with the the creation of myriad of
been made in all these of modem society The
such as hand-held and digital voltmeters variety of specialized
analogue systems but in previously exist As a
is required in a large
of fundamental concepts But Boolean algebra
late of 1930s Claude circuits Since then s and Shannons
has been discovered leading the way into one
sequential circuits in the are those which depend
networks the outputs system must remember
machine theory and then became an active area of
Also Reed and Muller very popular and
digital system to be the results obtained
aided design concept is tmiddotri middot7 ti process Also in
method for Boolean
Programmable Logic Arrays (PLAs) were introduced in the early 1970 s and became very desirable for implementing switching functions due to the fact that PLAs reduce design time and can be designed automatically An array of AND-gates and an array of OR-gates exist in the PLAs which were made possible with the advent of large-scale integration (LSI) technology Hence two-level implementation became popular The physical area requirement of PLAs to synthesize switching functions is directly linked to the size of the Boolean functions thus twoshylevel simplification again became an important area of research
13 Digital Designs Concept
Digital design as treated in the field of study relating the adaptation of Logic concepts to the design of recognizable realizable and reliable digital hardware These concepts have been considered worthy of mention because they have been found when properly applied to aid the digital designer in reaching his goals in a straightforward manner These concepts are also an attempt to standardize a logic Action description and definition for the purpose of improving the designers insight to logic design and documentation These concepts transfer the idea of a dynamic action related approach to logic thought
However if these techniques are practiced and applied to the more traditional small scale designs they become natural and easy to extend to system level design application They also lend themselves very nicely to the Digital Design Language and Programmed Logic approaches to system design Digital Integrated Design Language (DIDL) is a formal block-structured multi-level register transfer type specialized language system for use in the design design automation documentation and simulation of all digital systems including digital computers Separation of the control and the data path of a system are allowed so that either software or hardware control implementation can be employed DIDL has also macro definition and procedure capabilities for initial system specification various levels of design and simulation down to the logic level
Generally speaking being involved in digital design is dealing in logic which is a process of classifying information while information is intelligence related to ideas meanings and actions which can be processed or transformed into other forms Binary Logic or two-valued logic is a process of classifying information into two classes Traditionally binary arguments or that infonnation which can be definitely classified as two-valued have been deemed either True or False Thus the Boolean variable is unlike the algebraic variables of the field of real numbers in that any Boolean variable can take on only two values the True or False Though certainly applicable to arguments and conditions this TrueFalse classification for digital des ign is not really optimal This non-optimal classification stems from the fact that digital hardware design is generally a process of organizing hardware for the express purpose of classifying information Actions It implies that the hardware in a digital system should be 0rganized to process the input infonnation entities defined as binary input actions and in tum generate some binary output actions which is to be thought of as a dynamic process Action is the most hardware responses directly related to some physical operation or some condition resulting from a physical operation
The use of verbs such as Asserted Excited or Invoked can be used to modify as Action related logic message and does so by directing to the signal condition under which the Action is to be
3
l
l
performed Asserted is defined as the affirmative position of an Action related Boolean variable (mnemonic) Now if the logic operation is being performed we say that the Boolean variable is Asserted It follows that if the logic operation is not being performed we say that the Boolean variable is Not-Asserted Traditionally it is standard to use the shorthand symbols I for True and 0 for False However Is or Os are also used for numeric values (binary numbers) and as high or low voltage indicators as well
14 Digital and The Real World
In real life there are two ways of representing information analog and digital Analog signals contain all the information as a continuously varying wave - such as on an oscilloscope screen when you speak into a microphone connected to it Digital signals are a series of pulses - ons and offs or Is and Os A system that processes analogue signal is termed as analogue system and a system that processes digital signal is termed as digital system A few of these are light nuclear radiation and the electric signals governing the human nervous system which are interestingly enough most definitely discrete phenomena The use of digital practices can be a viable method for solving design problems in the real world The reasons that design problems are emphasized stems from the fact that the major areas of involvement for electrical and digital engineers are (I) the measurement (2) the control and (3) the transmission of information and energy Thus we fmd that we are continuously trying to find solutions to problems related to the measurement control and transmission of information or energy in the domain of the real world However the real world tends to have a continuous nature Because of this the discrete domain needs to the buffered in some way
In recent years systems that are capable of processing a mixture of both analogue and digital signals are increasingly popular The interdomain converter is a specialized system that converts or translates information of one domain into information of another domain For example an analogue signal can often be converted to a digital signal using analogue-to-digital converter (ADC) The processed signal can be converted back to the original form using the digital-toshyanalogue converter (DAC)
Since pure digital systems are made up of arrays of simple and reliable switches with only two positions a numerical system that already existed was adapted to serve as the tool needed for utilizing the basic concept This numerical math system called the binary system is based on the two symbols 0 and I in contrast to the decimal system which has ten symbols 0 I 2 9 We should see now that in order to use a digital system such as a digital computer for mathematical computations we must first convert our mathematical symbolisms (decimal in this case) into binary symbolisms to allow the computer to perform this mathematical operation Once this is done the inverse process must he performed to convert the binary results into a readable decimal representation
The obvious question Is digital worth all of the conversion The answer cannot be simply stated in yes or no terms but must be left to the individual and the particular situation In certain instances it may not in fact be worth the bother Such would not be the case if we were able to create and use multiple-valued logic systems to create a totally decimal machine Obviously if there were ten unique descriptors usable for our decimal computer there would be no need
to convert any infonn practically speaking bil system for some years t communicate with his IT
conversion and the diffe
15 The Importance
Digital systems are use have displaced the ear numerical and non-nume
Information processing processing task elimir representation of the pn the representation and tri
The finite number of va two values (binary sigm binary as a result the switches with two states
Digital signals are quit operating temperature significant portions of a separated so that small better dynamic range T be made more accurate Thus it is more reliab susceptible to variations
The advance of microelt of extremely complex d are built as integrated cil to select among differ~ hardware
Digital technology ha computers to small persl injected in a new autom large systems in a bank last 10 years the grov microprocessors being ~ used by the millions television sets and in controlling steel making
Action related Boolean we say that the Boolean
we say that the shorthand symbols 1 for values (binary numbers)
digital Analog signals on an oscilloscope screen
a series of pulses - ons as analogue system
A few of these are light system which are
digital practices can be a that design problems
for electrical and digital of information and
to problems related to the domain of the real world this the discrete domain
switches with only two as the tool needed for
system is based on has ten symbols 0 I 2 bull bull
a digital computer for symbolisms (decimal in mathematical operation the binary results into a
cannot be simply situation In certain
to convert any information into the now required two-valued binary system However practically speaking binary systems presently dominate and will continue to be the dominant system for some years to come Since such is the case and man ultimately must learn how to communicate with his machine it is necessary that we study the processes involved in number conversion and the different codes used to represent and convey information
IS The Importance of Digital Systems
Digital systems are used in information processing wherein they have become prevalent and have displaced the earlier analogue system Digital representation is well suited for both numerical and non-numerical information processing
Information processing can use a general-purpose system that is programmed for a particular processing task eliminating the need to have a different system for each task The representation of the program and its interpretation can use the same techniques employed for the representation and transformation of the data
The finite number of values in digital signal can be represented by a vector of signals with just two values (binary signals) This representation allow implementations in which all signals are binary as a result the devices that process these signals are very simple (essentially just switches with two states open and closed)
Digital signals are quite insensitive to variations of component parameter values such as operating temperature This includes its potential flexibility in terms of time-multiplexing significant portions of a given system The physical representation of the values is sufficiently separated so that small variations do not change the value it provides exact replicablity with a better dynamic range This is especially true for binary signals Numerical digital systems can be made more accurate by simply increasing the number of digits used in the representation Thus it is more reliable more applicable to nonlinear control more predictable and less susceptible to variations of environment
The advance of microelectronics technology in recent years have made possible the fabrication of extremely complex digital systems that are small fast and cheap Complex digital systems are built as integrated circuits composed of a large number of very simple devices It is possible to select among different implementations of systems that trade off speed and amount of hardware
Digital technology has affected computing from large multimillion dollars mainframe computers to small personal computers and microprocessor controllers measuring the fuel to be injected in a new automobile engine Many of us think of computers in the sense of medium to large systems in a bank or insurance company or for scientific research or military used In the last 10 years the growth of personal computing has been tremendous But most of the microprocessors being sold today do not go into personal computers Instead they are being used by the millions in dishwashers automobiles aircraft oscilloscopes stereo systems television sets and in industrial control systems used for measuring lumber thickness or controlling steel making
5
Digital technology is finding its way into areas of electronics normally thought of as strictly analogue Commercial two-way radios have microcontrollers setting the local oscillator frequency Electronic instrumentation such as oscilloscopes logic analyzers function generators power supplies and multimeters measuring current voltage and resistance all have made widespread use of digital technology In fact it is difficult to find a recently designed electronic instrument that does not use digital technology in some way Digital signal processing (DSP) is a methodology that involves the conversion of analogue information into digital form processes it in some rather sophisticated manner and produces an output either analogue or digital Modem submarines use DSP to make sense of acoustic noises that occur under the ocean for example
Digital technology is especially useful because it is less susceptible to electrical noise (spikes or fluxations in voltage or current) temperature effects component aging and other factors that affect analogue systems This does not mean that analogue technology is not important or that students of electronics and even computers should not study analogue circuit and systems In fact just the contrary is true The concepts of radio propagation antenna design amplifier analysis and active filters to mention a brief few are more important than ever To appropriately apply digital design principles to these areas certainly requires an in-depth understanding of analogue principles Furthermore as the frequencies of digital devices continue to increase digital systems designers are faced with solving analogue-related problems
The application of digital technology will continue to grow in a wide range of consumer product industrial control militarydefense and service industries Look for digital system speeds to increase new devices with added complexity integrated systems comprising both digital and analogue functions embedded into a single integrated circuit and even possibly the use of organic material for constructing memory devices
16 Overview of Modern Design Process
Design is a complex process more an art than a science Complex systems can be broken down into three simpler independent design stages the functional structural and physical stages Figure 11 depicts the general process flow in current logic synthesis systems
A switChing circuit design is first specified in the functional design stage with tools such as hardware description language (HDL) or schematic capture Hardware description language allows a design to be described in text form while schematic capture allows a design to be described in graphical form Once the design is specified it is converted into a mathematical description by the design tools and passed on to the next design stage
In the logic design stage the mathematical representation of the design is simplified without modifying the functionality Two major manipulation techniques that have been studied extensively are simplification and portioning techniques The simplification techniques aim to produce a simpler representation while the portioning techniques aim to break a large representation into a set of smaller but equivalent representations
When the manipulation run If the results of sirr redone or the original satisfactory the represen
In designing application placing and routing Ir programmable logic de logic blocks (placing) ar stage only involves prog
When the physical de consideration) may be f1
which may be part of th manufacturing Followir includes the testing ofm
Figure 11 (
thought of as strictly the local oscillator analyzers function
important
a
logic and resistance all have
to fi nd a recently designed Digital signal processing
Iinfnnml-inn into digital fonn output either analogue or
noises that occur under the
to electrical noise (spikes or and other factors that
is not important or that circuit and systems In
antenna design amplifier than ever To
requires an in-depth of digital devices
solving analogue-related
wide range of consumer Look for digital system systems comprising both
and even possibly the
stages
stage with tools such as description language
allows a design to be -rt-11 into a mathematical
is simplified without that have been studied
iti techniques aim to aim to break a large
When the manipulation is completed a pre-layout simulation (with ideal consideration) may be run If the results of simulation are not satisfactory the previous design stages will have to be redone or the original specification may have to be changed However if the results are satisfactory the representation will be passed on to the final stage - physical design stage
In designing application specific integrated circuit (ASIC) this stage includes floor planning placing and routing In designing field programmable gate arrays (FPGAs) and complex programmable logic devices (CPLDs) this stage includes defining the various programmable logic blocks (placing) and programming the interconnections (routing) In designing PLAs this stage only involves programming the interconnections (routing)
When the physical design stage is completed a post-layout simulation (with practical consideration) may be run If the results are not satisfactory the design will have to be redone which may be part of the entire process If the result is satisfactory the design will be sent for manufacturing Following the manufacturing process comes the testing of the devices which includes the testing of manufacturing faults and the design faults
Figure 11 General Process Flow in Current Logic Synthesis Systems
i
Research methoe 1917 Boolean Functions Problem Statement
Boolean derivatives and differentials are used as models for changes in discrete binary coded systems such as cryptosystems for information authentication and data encryption Derivatives describe crucial criteria of Boolean functions such as dependence and independence linearity monotonicity high degree of propagation high nonlinearity 0-1 balancedness and high algebraic degree They are operators generating other Boolean functions Equations with derivatives define classes of Boolean functions Boolean Differentials are models for any kinds of changes such as signal edges errors and deviations An important Boolean problem is that of designing Boolean functions satisfying simultaneously more than one nonlinearity criteria
Boolean function manipulation is the art of exploiting simplification opportunities that exist inherently in logical structures by using the identities that exist within that algebra or reducing the number of terms used We are seeking to express any logical function as simple as possible because this can lead to a reduced usage of resources when that same function is implemented physically
18 Objectives of the Research
The main objective of the project is to generalize simplification rules employed by several existing simplification algorithms and develop simplification algorithms based on the rules derived from the generalization While the measurable objectives are as stated below
I To survey on the existing simplification algorit~ms
2 To study and compare the simplification rules employed by these simplification algorithms
3 To generalize the existing simplification rules and from there identify new simplification rules
4 To implement software package which employs an effective set of simplification rules
The diagram in Figure I
)FamUiarize w gtStudy the nls
gtCompare simi gtAnaJyu the cI gtGeneralize the gt Derive rules fl
gtDevelop simpJ gt Implement the
gtTest new solho Compare resu
~
8
F
110 Thesis Structure
This thesis covers the fo l
rules employed by several algorithms based on the rules
Phase 3 Implementation of Software Package are as stated below
in discrete binary coded data encryption Derivatives and independence linearity
0- balanced ness and high functions Equations with
are models for any kinds rmSlnt Boolean problem is that
one nonlinearity criteria
IIlcallcm opportunities that exist within that algebra or reducing
function as simple as possible same function is implemented
19 Research methodology
The diagram in Figure 12 shows the methodology used and planned in conducting the research
Phase I Literature Review
IDIUJariu wllh the current work done in UNIMAS gtStudy the existing simplification rules
Phase 2 Generalization of Simplification Rules
ompare simplification ru les employed by different simplification algorithms gtAnalyze the characteristics of existing simplification rules gtGeoeralize the simplification rules based on their simplification characteristics raquo Derive rules from the generalization of simplification rules
simplification algorithms
identifY new simplification
of simplification rules
Develop simplification algorithms which emplOy different set of simplification rules raquo lmplement the algorithm onto computer using Visual C++ language
+Phase 4 Analysis of algorithms performance
raquoTest new software package by using practical circuits or benchmarks raquoCompare results obtained to that provided by the traditional methods
Figure 12 Research Methodology Flow Chart
110 Thesis Structure
This thesis covers the following topics
9
In Chapter I history brief concept of Digital System Design and importance of Digital System are provided The research objectives methodology and overview of modem design process are outlined as well
Chapter 2 documents the literature review performed The traditional representation techniques of simplification method basically cover truth table algebraic function and K-Map The existing simplification techniques such as algebraic simplification K-Map simplification Quine McshyCluskey tabulation method are reviewed and discussed
Chapter 3 lists ESPRESSO program description and examples It introduces the main features of Boolean Minimizer and the program is elaborated together with its data formats and controls Moreover the initial generation of implicants is described with an illustrative example
In Chapter 4 the experimental results of the proposed simplification method is evaluated and commented The source code of the simplification method is discussed and explained
In Chapter 5 a conclusion of this thesis is presented and recommendation on further works that can be carried out to further improve the simplification method is also provided
10
21 Review of Traditi4
In designing digital syste Maps or algebraic expres~ be limited in large circui circuits which computati( number of inputs increase has been introduced and representing techn iques de computation time and stOI(
22 Truth Table
Before any combinational a problem is the most imp correctly accomplished 0 necessary logic for imp len table ready for logic desi From the truth table the diagram drawn The logic integrated circuit families complementary metal-oxi (mnemonic) can take on ( variable of the real numbel conditions of a Boolean 1
format called a truth table
Truth table is the most funl describes the operational combinations of input vall row at a time Further the valued variable Thus if 1
there are four combinatio~ inputs is increased by 0
independent input variable 22 show the general truth 1
CHAPTER 2
LITERATURE REVIEW
importance of Digital System of modem design process are
representation technique and K-Map The existing
simplification Quine Mcshy
introduces the main features its data formats and controls illustrative example
method is evaluated and and explained
on further works that also provided
21 Review of Traditional Representation Techniques
In designing digital system switching circuits are usually represented using truth tables KshyMaps or algebraic expressions These traditional representation techniques have been proven to be limited in large circuit designs Thus a more efficient method of representing switching circuits which computation time and storage requirements do not grow exponentially as the number of inputs increases is required The graph-based representation method known as DD has been introduced and its popularity has grown rapidly in the last decade These modem representing techniques describe the operation of a switching circuit more efficiently both in computation time and storage requirements
22 Truth Table
Before any combinational logic system can be designed it must be defmed Proper statement of a problem is the most important part of any digital design task Nothing can occur until that is correctly accomplished Once correctly and clearly stated any problem can be converted to the necessary logic for implementation Practical applications rarely come in a prepackaged truth table ready for logic design Truth table must be constructed from verbal problem descriptions From the truth table the switching equations can be written and simplified and the logic diagram drawn The logic diagram can be realized using anyone of the three main digital integrated circuit families transistor-transistor logic (TTL) emitter-coupled logic (ECL) or complementary metal-oxide silicon (CMOS) We established that a Boolean variable (mnemonic) can take on only two values not an infinite number as its kindred associate the variable of the real number system This basic difference allows us to illustrate all possible logic conditions of a Boolean variable or a collection of Boolean variables using a finite tabular format called a truth table
Truth table is the most fundamental and classical way in the description of a switching circuit It describes the operational behavior of the circuit by listing the output values for all possible liOIIlbinations of input values or arguments in vertical order and each input combination one lOW at a time Further the nontrivial decisions in digital design are based on more than one twoshyvalued variable Thus if an output is to be completely specified as a function of two inputs dIere are four combinations that must be considered From this we see that as the number of ilputs is increased by one the number of possible combinations doubles Therefore n iadcpendent input variables will exhibit 2n distinct combinations of values Table 2 I and Table 22 show the general truth table for a function with n variables and an example with n = 3
II
2 LITERATURE REVIEW
21
22Page
ii 23
iii 24
IV 25
v 26
VI 27
x 28
XII 281
29
210
201
Review of Traditional Representation Techniques II
Truth Table II
Algebraic Function 13
Kamaugh Map (K-Map) 13
Justification for Logic Simplification 16
Simplification Techniques 17
Algebraic Simplification 18
Karnaugh Map Simplification 20
Dont Care Map Entries 24
Minimizing Function of More Than Six Variables 26
Quine-McCluskey Tabulation Method 27
Quine-McCluskey Using Dont care Terms 30
3 BOOLEAN MINIMIZER
31 2
32 3
321 4
322 5
33 6
34 8
35 8
36 9
361 9
37
38
Introduction 33
ESPRESSOS Program Description 34
Command Line and Keywords 35
ESPRESSO Example 38
Main features of Boolean Minimizer 39
Problem Statements 40
Basic Principles 41
Coverage-Directed Search 42
Immediate Implicant Checking 44
Iterative Minimization by BOOM system 44
Implicant Expansion 45
381 Checking a Literal Removal
382 Expansion Strategy
39 Solution of Covering Problem Solution
391 LCMC Cover
392 Contributive Selection
393 Contributive Removal
3 10 Output Reduction
311 PLA Format Description
3111 Keywords or Command Directives
3112 Symbols in the PLA Matrix ampTheir Logical Interpretation of a PLA
312 Illustrative Example
3121 CD-Search Example
3122 Sequential Example
4 BOOLEAN MINIMIZER SOFTW ARE DEVELOPMENT
41 Introduction
42 Implementation of Simplification Algorithm in Visual C++ 6
421 Description of the Boolean Minimizer Algorithm
43 Performance Evaluation
431 Standard Single Output LGSynth93 Benchmarks
432 Test Problems With Up to 300 Input Variables and Minterms
433 Time Complexity Evaluation for Very large Problem
44 Conclusions of Research Results
5 CONCLUSION AND RECOMMENDATION
51 Conclusions
viii
52 Recomm~45
BIBLIOGRAPHY45
APPENDIX46
46
46
46
47
47
47
48
49
49
57
61
61
63
64
65
65
67
70
71
45 52 Recommendation 71
45
46
46
46
46
47
47
47
ofa PLA 48
49
49
57
61
6 61
63
64
65
65
67
70
71
BIBLIOGRAPHY 73
APPENDIX 75
IX
LIST OF FIGURES 310 Example 6
311 Example 7
312 Example 8 Figure Description Pal
313 Example 9
l General Process Flow in Current Logic Synthesis Systems 7 314 Example I(
12 Research Methodology Flow Chart 9 315 Example I
21 Karnaugh Maps for I to 6 Variables 14 316 Example I
22 An Illustration of the MINTERMS that are logically adjacent in 2 3 15 317 Example 2
and 4 variable problems
318 Example 3 23 Example of Maps Plotted From Truth Table 16
319 Boolean M 24 The Principal Identities of Boolean Algebra 19
41 Growth of 25 Flowchart for Determining the Minimum SOP Using Karnaugh Map 22 (200-1000)
26 Kamaugh Map Simplification 23 42 Runtime G
1000)27 Karnaugh Maps Program by Russell Sasamori 23
28 A Flow Diagram Defining the Single Statement Reduction Algorithm 25
29 Mapping Example 25
210 Quine-McCluskey Program in Window Interface 29
31 ESPRESSOs Example 39
32 General Structure of Boolean Minimizer 42
33 Flowchart of Algorithm Boolean Simplification 43
34 Example of Input file in PLA format 50
35 Example 1 of Coverage Directed Search 51
36 Example 2 ofCoverage Directed Search 52
37 Example 3 of Coverage Directed Search 52
38 Example 4 of Coverage Directed Search 53
39 Example 5 ofCoverage Directed Search 53
3 10
311
3 12
313
7 314
9 315
14 316
adjacent in 2 3 15 317
31816
31919
41 Map 22
23 42
23
Algorithm 25
25
29
39
42
43
50
51
52
52
53
53
Example 6 of Coverage Directed Search 54
Example 7 of Coverage Directed Search 54
Example 8 of Coverage Directed Search 55
Example 9 of Coverage Directed Search 55
Example 10 of Coverage Directed Search 56
Example II of Coverage Directed Search 56
Example 1 of Sequential Search 57
Example 2 of Sequential Search 58
Example 3 of Sequential Search 59
Boolean Minimizer Program 60
Growth of Runtime As a Function of the Number of Care Mintenns 69 (200-1000)
Runtime Growth Depending on the Number of Input Variables (200- 70 1000)
Figure
11
21
22
23
24
25
26
41
42(a)
42(b)
43
LIST OF TABLES
Description
General process flow in current logic synthesis systems
General structure of a truth table
A 3-input variables truth table
Determine of Prime Implicants
Prime Implicant Chart
Set of four mintermsdont care terms for f=lm (131315) + ld (8910 II)
Prime Implicant Table
Runtime and Minimal Solutions for the Standard Single Output LGSynth93 Benchmarks
Comparison of the Result Quality for Problems With Input Variables (20-140)
Comparison of the Result Quality for Problems With Input Variables (180-300)
Comparison of the Runtime for Problems With Up to 1000 Input Variables and 1000 Minterms
Symbols ADC ASIC CAD CD Search CMOS CP CPLD DA DAC DC DCF DD DIDL DLL DSP ECL EPIs FPGAs HDL IE ISAPI K-Map LCMC LGSynth93 benchmarks LSI LSI MSI Pis PLAs
61 ROM SOP SSl TTL VLSI XLSI
13 35) + Id
Single Output
Input Variables
Input Variables
to 1000 Input
SYlDbols AOC ASIC CAD CD Search CMOS CP CPLO OA OAC DC DCF DO DIOL OLL OSP ECL EPIs FPGAs HOL IE ISAPI K-Map LCMC LGSynth93 benchmarks LSI LSI MSI PIs PLAs ROM SOP SSI TIL VLSI XLSI
LIST OF ABBREVIATIONS
Abbreviation Analog-to-Digital Converter Application Specific Integrated Circuit Computer Aided Design Coverage Directed Search Complementary Metal-Oxide Silicon Covering Problem Complex Programmable Logic Devices Design Automation Digital-to-Analog Converter Dont Care Disjunctive Canonical Form Decision Diagram Digital Integrated Design Language Dynamic Link Library Digital Signal Processing Emitter-Coupled Logic Essential Prime Implicants Field Programmable Gate Arrays Hardware Description Language Implicant Expansion Internet Server Application Programming Interface Karnaugh Map Least Covered Most Covering Logic Synthesis and Optimization Benchmarks Large Scale Integration Large Scale Integrated Circuits Medium Scale Integrated Circuits Prime Implicants Programmable Logic Arrays Read-Only-Memory Sum Of Product Small Scale Integrated Circuits Transistor-Transistor Logic Very Large Scale Integration Extra Large Scale Integrated Circuits
xii
CHAPTER 1
INTRODUCTION
11 Introduction
The field of digital system design has made great progress over the past decades From early days of simple relay switching circuits to the present time of sophisticated very large scale integration (VLSI) circuits the designing of a digital system has advanced to become a complex and multi-staged process Algorithms and techniques for representing manipulating simulating routing placing manufacturing and testing of designs are continuously introduced and modified Meanwhile the number of devices and technologies based on different logic families keep on growing As a result many design approaches have been developed which have given rise to a wide variety of possible solutions
While the design process of digital system is becoming more complex it is becoming less possible to design a system in one step using a single design tool And it is more necessary to break the design process into several stages using different design tools at each stage Such multi-staged design processes introduce the very undesired effect of requiring a system designer to learn the various design tools employed by the different stages
As each stage develops it becomes difficult for a designer to master all the tools As such design tool developers have to strive to increase the level of design automation without compromising the final solution Whereas a design automation (DA) or computer aided design (CAD) researcher can only focus hisher study on a specific area a highly automated design environment becomes less achievable Nevertheless researchers should try to keep abreast of the development of the entire design process if possible also the simulation manufacturing and testing processes (which come after the design process) so as to have a complete idea of developing an entire system
Since the early days of designing digital circuits simplification has been justified as an effective simplification technique of Boolean functions in reducing the cost of circuits It becomes an essential design process in various application of computer-aided design (CAD) such as test generation synthesis and verification The efficiency of Boolean functions simplification depends on the form of representation techniques Unfortunately the traditional methods of representation such as truth tables Kamaugh maps (K-Maps) and algebraic functions have been proven to be quite impractical This is because every increment of the Boolean function input size could yield a function with exponential representation Therefore it is costly in terms of computer time and storage space
In recent years decision diagrams (DDs) have become the most popular representation techniques employed by computer-aided-design software to represent Boolean functions Decision diagram [Akers 1978 and Bryant 1986] has advantage over the classical representation Two most distinctive advantages being its time complexity and space complexity are non-exponential ie as the input size of Boolean functions grow linearly computer time and storage space requirements of algorithms to represent and manipulate DDs do not necessarily grow exponentially (as is the case for traditional representation techniques)
I
12 History of Digital System Designs
A digital system is a synchronous system in which signals have a finite number of integer values and may change only at discrete instants The very basic digital design can be defined as the science of organizing arrays of simple switches into what is called a discrete system that performs transformations on two-level (binary) information in a meaningful and predictable way Certainly this is true but digital design as we know it today is much more exciting than this definition portends Digital representation and processing methods have been used for a long time but the development of digital artifacts underwent a dramatic increase with the invention of the digital computer Since then digital design underpins the creation of myriad of imaginative digital devices that surround us Extraordinary progress has been made in all these aspects making the computer indispensable in almost every aspect of modem society The development of computer technology and digital microelectronics such as hand-held calculators digital watches microprocessors microwave oven controllers and digital voltmeters in particular have made possible the cost effective production of a large variety of specialized digital systems This trend continues as new applications are replacing analogue systems but in many others they are making possible applications that did not previously exist As a consequence knowledge about the designs and use of digital systems is required in a large variety of human activities
In the late 1840s George Boole [I 849J invented a very abstract form of fundamental concepts of a two-valued (binary) system which is later called the Boolean algebra But Boolean algebra is not used until about 80 years later due to its sophistication In the late of 1930s Claude Shannon [1938] applied switching algebra onto his study of relay switching circuits Since then design methods have been pretty much standard following Booles and Shannons fundamentals with added refinements here and there as new knowledge has been discovered and more exotic logic devices have been developed tried and proven leading the way into one of the most fascinating and challenging fields of study
The theory was then extended to cover both the combinational and sequential circuits in the following one and half decades Combinational switching networks are those which depend only on the current inputs and which are without memory In sequential networks the outputs respond to both current inputs and the history of all previous inputs The system must remember the entire history of the input patterns
In the 1950s further development on the theory lead to the finite-state machine theory and then the automata theory meanwhile simplification of switching functions became an active area of research This is because of the logic gates were then very expensive Also Reed and Muller introduced Reed-Muller algebra This form of expression has now become very popular and useful in the study of AND-EXOR implementation of Boolean functions
The concept of design automation that allows larger and more complex digital system to be designed wholly by computer became popular in the early 1960s However the results obtained by these tools were not always satisfactory Therefore the computer aided design concept is then introduced This allows the designer to intervene with the computerized process Also in the 1960s Quine [1952] and McCluskey [1956] devised the tabulation method for Boolean function simplification In the late 1960s simplification became less essential because of a reduction in the cost of logic gates
2
Programmable Logic Ar desirable for implementin can be designed automat PLAs which were made Hence two-level implem synthesize switching fune level simplification again
13 Digital Designs (
Digital design as treated design of recognizable considered worthy of me digital designer in reachi attempt to standardize a the designers insight to dynamic action related aj
However if these techn designs they become nl
lend themselves very nic( to system design Digit multi-level register tran automation documentati Separation of the control hardware control imple) procedure capabilities fo down to the logic level
Generally speaking be in classifying information which can be processed ( a process of classifying information which can h False Thus the Boolean that any Boolean variab applicable to arguments really optimal This nonmiddot is generally a process of Actions It implies that tl information entities defil actions which is to be d directly related to som operation
The use of verbs such a logic message and does
number of integer values can be defined as the
a discrete system that oul and predictable
more exciting than have been used for a
increase with the the creation of myriad of
been made in all these of modem society The
such as hand-held and digital voltmeters variety of specialized
analogue systems but in previously exist As a
is required in a large
of fundamental concepts But Boolean algebra
late of 1930s Claude circuits Since then s and Shannons
has been discovered leading the way into one
sequential circuits in the are those which depend
networks the outputs system must remember
machine theory and then became an active area of
Also Reed and Muller very popular and
digital system to be the results obtained
aided design concept is tmiddotri middot7 ti process Also in
method for Boolean
Programmable Logic Arrays (PLAs) were introduced in the early 1970 s and became very desirable for implementing switching functions due to the fact that PLAs reduce design time and can be designed automatically An array of AND-gates and an array of OR-gates exist in the PLAs which were made possible with the advent of large-scale integration (LSI) technology Hence two-level implementation became popular The physical area requirement of PLAs to synthesize switching functions is directly linked to the size of the Boolean functions thus twoshylevel simplification again became an important area of research
13 Digital Designs Concept
Digital design as treated in the field of study relating the adaptation of Logic concepts to the design of recognizable realizable and reliable digital hardware These concepts have been considered worthy of mention because they have been found when properly applied to aid the digital designer in reaching his goals in a straightforward manner These concepts are also an attempt to standardize a logic Action description and definition for the purpose of improving the designers insight to logic design and documentation These concepts transfer the idea of a dynamic action related approach to logic thought
However if these techniques are practiced and applied to the more traditional small scale designs they become natural and easy to extend to system level design application They also lend themselves very nicely to the Digital Design Language and Programmed Logic approaches to system design Digital Integrated Design Language (DIDL) is a formal block-structured multi-level register transfer type specialized language system for use in the design design automation documentation and simulation of all digital systems including digital computers Separation of the control and the data path of a system are allowed so that either software or hardware control implementation can be employed DIDL has also macro definition and procedure capabilities for initial system specification various levels of design and simulation down to the logic level
Generally speaking being involved in digital design is dealing in logic which is a process of classifying information while information is intelligence related to ideas meanings and actions which can be processed or transformed into other forms Binary Logic or two-valued logic is a process of classifying information into two classes Traditionally binary arguments or that infonnation which can be definitely classified as two-valued have been deemed either True or False Thus the Boolean variable is unlike the algebraic variables of the field of real numbers in that any Boolean variable can take on only two values the True or False Though certainly applicable to arguments and conditions this TrueFalse classification for digital des ign is not really optimal This non-optimal classification stems from the fact that digital hardware design is generally a process of organizing hardware for the express purpose of classifying information Actions It implies that the hardware in a digital system should be 0rganized to process the input infonnation entities defined as binary input actions and in tum generate some binary output actions which is to be thought of as a dynamic process Action is the most hardware responses directly related to some physical operation or some condition resulting from a physical operation
The use of verbs such as Asserted Excited or Invoked can be used to modify as Action related logic message and does so by directing to the signal condition under which the Action is to be
3
l
l
performed Asserted is defined as the affirmative position of an Action related Boolean variable (mnemonic) Now if the logic operation is being performed we say that the Boolean variable is Asserted It follows that if the logic operation is not being performed we say that the Boolean variable is Not-Asserted Traditionally it is standard to use the shorthand symbols I for True and 0 for False However Is or Os are also used for numeric values (binary numbers) and as high or low voltage indicators as well
14 Digital and The Real World
In real life there are two ways of representing information analog and digital Analog signals contain all the information as a continuously varying wave - such as on an oscilloscope screen when you speak into a microphone connected to it Digital signals are a series of pulses - ons and offs or Is and Os A system that processes analogue signal is termed as analogue system and a system that processes digital signal is termed as digital system A few of these are light nuclear radiation and the electric signals governing the human nervous system which are interestingly enough most definitely discrete phenomena The use of digital practices can be a viable method for solving design problems in the real world The reasons that design problems are emphasized stems from the fact that the major areas of involvement for electrical and digital engineers are (I) the measurement (2) the control and (3) the transmission of information and energy Thus we fmd that we are continuously trying to find solutions to problems related to the measurement control and transmission of information or energy in the domain of the real world However the real world tends to have a continuous nature Because of this the discrete domain needs to the buffered in some way
In recent years systems that are capable of processing a mixture of both analogue and digital signals are increasingly popular The interdomain converter is a specialized system that converts or translates information of one domain into information of another domain For example an analogue signal can often be converted to a digital signal using analogue-to-digital converter (ADC) The processed signal can be converted back to the original form using the digital-toshyanalogue converter (DAC)
Since pure digital systems are made up of arrays of simple and reliable switches with only two positions a numerical system that already existed was adapted to serve as the tool needed for utilizing the basic concept This numerical math system called the binary system is based on the two symbols 0 and I in contrast to the decimal system which has ten symbols 0 I 2 9 We should see now that in order to use a digital system such as a digital computer for mathematical computations we must first convert our mathematical symbolisms (decimal in this case) into binary symbolisms to allow the computer to perform this mathematical operation Once this is done the inverse process must he performed to convert the binary results into a readable decimal representation
The obvious question Is digital worth all of the conversion The answer cannot be simply stated in yes or no terms but must be left to the individual and the particular situation In certain instances it may not in fact be worth the bother Such would not be the case if we were able to create and use multiple-valued logic systems to create a totally decimal machine Obviously if there were ten unique descriptors usable for our decimal computer there would be no need
to convert any infonn practically speaking bil system for some years t communicate with his IT
conversion and the diffe
15 The Importance
Digital systems are use have displaced the ear numerical and non-nume
Information processing processing task elimir representation of the pn the representation and tri
The finite number of va two values (binary sigm binary as a result the switches with two states
Digital signals are quit operating temperature significant portions of a separated so that small better dynamic range T be made more accurate Thus it is more reliab susceptible to variations
The advance of microelt of extremely complex d are built as integrated cil to select among differ~ hardware
Digital technology ha computers to small persl injected in a new autom large systems in a bank last 10 years the grov microprocessors being ~ used by the millions television sets and in controlling steel making
Action related Boolean we say that the Boolean
we say that the shorthand symbols 1 for values (binary numbers)
digital Analog signals on an oscilloscope screen
a series of pulses - ons as analogue system
A few of these are light system which are
digital practices can be a that design problems
for electrical and digital of information and
to problems related to the domain of the real world this the discrete domain
switches with only two as the tool needed for
system is based on has ten symbols 0 I 2 bull bull
a digital computer for symbolisms (decimal in mathematical operation the binary results into a
cannot be simply situation In certain
to convert any information into the now required two-valued binary system However practically speaking binary systems presently dominate and will continue to be the dominant system for some years to come Since such is the case and man ultimately must learn how to communicate with his machine it is necessary that we study the processes involved in number conversion and the different codes used to represent and convey information
IS The Importance of Digital Systems
Digital systems are used in information processing wherein they have become prevalent and have displaced the earlier analogue system Digital representation is well suited for both numerical and non-numerical information processing
Information processing can use a general-purpose system that is programmed for a particular processing task eliminating the need to have a different system for each task The representation of the program and its interpretation can use the same techniques employed for the representation and transformation of the data
The finite number of values in digital signal can be represented by a vector of signals with just two values (binary signals) This representation allow implementations in which all signals are binary as a result the devices that process these signals are very simple (essentially just switches with two states open and closed)
Digital signals are quite insensitive to variations of component parameter values such as operating temperature This includes its potential flexibility in terms of time-multiplexing significant portions of a given system The physical representation of the values is sufficiently separated so that small variations do not change the value it provides exact replicablity with a better dynamic range This is especially true for binary signals Numerical digital systems can be made more accurate by simply increasing the number of digits used in the representation Thus it is more reliable more applicable to nonlinear control more predictable and less susceptible to variations of environment
The advance of microelectronics technology in recent years have made possible the fabrication of extremely complex digital systems that are small fast and cheap Complex digital systems are built as integrated circuits composed of a large number of very simple devices It is possible to select among different implementations of systems that trade off speed and amount of hardware
Digital technology has affected computing from large multimillion dollars mainframe computers to small personal computers and microprocessor controllers measuring the fuel to be injected in a new automobile engine Many of us think of computers in the sense of medium to large systems in a bank or insurance company or for scientific research or military used In the last 10 years the growth of personal computing has been tremendous But most of the microprocessors being sold today do not go into personal computers Instead they are being used by the millions in dishwashers automobiles aircraft oscilloscopes stereo systems television sets and in industrial control systems used for measuring lumber thickness or controlling steel making
5
Digital technology is finding its way into areas of electronics normally thought of as strictly analogue Commercial two-way radios have microcontrollers setting the local oscillator frequency Electronic instrumentation such as oscilloscopes logic analyzers function generators power supplies and multimeters measuring current voltage and resistance all have made widespread use of digital technology In fact it is difficult to find a recently designed electronic instrument that does not use digital technology in some way Digital signal processing (DSP) is a methodology that involves the conversion of analogue information into digital form processes it in some rather sophisticated manner and produces an output either analogue or digital Modem submarines use DSP to make sense of acoustic noises that occur under the ocean for example
Digital technology is especially useful because it is less susceptible to electrical noise (spikes or fluxations in voltage or current) temperature effects component aging and other factors that affect analogue systems This does not mean that analogue technology is not important or that students of electronics and even computers should not study analogue circuit and systems In fact just the contrary is true The concepts of radio propagation antenna design amplifier analysis and active filters to mention a brief few are more important than ever To appropriately apply digital design principles to these areas certainly requires an in-depth understanding of analogue principles Furthermore as the frequencies of digital devices continue to increase digital systems designers are faced with solving analogue-related problems
The application of digital technology will continue to grow in a wide range of consumer product industrial control militarydefense and service industries Look for digital system speeds to increase new devices with added complexity integrated systems comprising both digital and analogue functions embedded into a single integrated circuit and even possibly the use of organic material for constructing memory devices
16 Overview of Modern Design Process
Design is a complex process more an art than a science Complex systems can be broken down into three simpler independent design stages the functional structural and physical stages Figure 11 depicts the general process flow in current logic synthesis systems
A switChing circuit design is first specified in the functional design stage with tools such as hardware description language (HDL) or schematic capture Hardware description language allows a design to be described in text form while schematic capture allows a design to be described in graphical form Once the design is specified it is converted into a mathematical description by the design tools and passed on to the next design stage
In the logic design stage the mathematical representation of the design is simplified without modifying the functionality Two major manipulation techniques that have been studied extensively are simplification and portioning techniques The simplification techniques aim to produce a simpler representation while the portioning techniques aim to break a large representation into a set of smaller but equivalent representations
When the manipulation run If the results of sirr redone or the original satisfactory the represen
In designing application placing and routing Ir programmable logic de logic blocks (placing) ar stage only involves prog
When the physical de consideration) may be f1
which may be part of th manufacturing Followir includes the testing ofm
Figure 11 (
thought of as strictly the local oscillator analyzers function
important
a
logic and resistance all have
to fi nd a recently designed Digital signal processing
Iinfnnml-inn into digital fonn output either analogue or
noises that occur under the
to electrical noise (spikes or and other factors that
is not important or that circuit and systems In
antenna design amplifier than ever To
requires an in-depth of digital devices
solving analogue-related
wide range of consumer Look for digital system systems comprising both
and even possibly the
stages
stage with tools such as description language
allows a design to be -rt-11 into a mathematical
is simplified without that have been studied
iti techniques aim to aim to break a large
When the manipulation is completed a pre-layout simulation (with ideal consideration) may be run If the results of simulation are not satisfactory the previous design stages will have to be redone or the original specification may have to be changed However if the results are satisfactory the representation will be passed on to the final stage - physical design stage
In designing application specific integrated circuit (ASIC) this stage includes floor planning placing and routing In designing field programmable gate arrays (FPGAs) and complex programmable logic devices (CPLDs) this stage includes defining the various programmable logic blocks (placing) and programming the interconnections (routing) In designing PLAs this stage only involves programming the interconnections (routing)
When the physical design stage is completed a post-layout simulation (with practical consideration) may be run If the results are not satisfactory the design will have to be redone which may be part of the entire process If the result is satisfactory the design will be sent for manufacturing Following the manufacturing process comes the testing of the devices which includes the testing of manufacturing faults and the design faults
Figure 11 General Process Flow in Current Logic Synthesis Systems
i
Research methoe 1917 Boolean Functions Problem Statement
Boolean derivatives and differentials are used as models for changes in discrete binary coded systems such as cryptosystems for information authentication and data encryption Derivatives describe crucial criteria of Boolean functions such as dependence and independence linearity monotonicity high degree of propagation high nonlinearity 0-1 balancedness and high algebraic degree They are operators generating other Boolean functions Equations with derivatives define classes of Boolean functions Boolean Differentials are models for any kinds of changes such as signal edges errors and deviations An important Boolean problem is that of designing Boolean functions satisfying simultaneously more than one nonlinearity criteria
Boolean function manipulation is the art of exploiting simplification opportunities that exist inherently in logical structures by using the identities that exist within that algebra or reducing the number of terms used We are seeking to express any logical function as simple as possible because this can lead to a reduced usage of resources when that same function is implemented physically
18 Objectives of the Research
The main objective of the project is to generalize simplification rules employed by several existing simplification algorithms and develop simplification algorithms based on the rules derived from the generalization While the measurable objectives are as stated below
I To survey on the existing simplification algorit~ms
2 To study and compare the simplification rules employed by these simplification algorithms
3 To generalize the existing simplification rules and from there identify new simplification rules
4 To implement software package which employs an effective set of simplification rules
The diagram in Figure I
)FamUiarize w gtStudy the nls
gtCompare simi gtAnaJyu the cI gtGeneralize the gt Derive rules fl
gtDevelop simpJ gt Implement the
gtTest new solho Compare resu
~
8
F
110 Thesis Structure
This thesis covers the fo l
rules employed by several algorithms based on the rules
Phase 3 Implementation of Software Package are as stated below
in discrete binary coded data encryption Derivatives and independence linearity
0- balanced ness and high functions Equations with
are models for any kinds rmSlnt Boolean problem is that
one nonlinearity criteria
IIlcallcm opportunities that exist within that algebra or reducing
function as simple as possible same function is implemented
19 Research methodology
The diagram in Figure 12 shows the methodology used and planned in conducting the research
Phase I Literature Review
IDIUJariu wllh the current work done in UNIMAS gtStudy the existing simplification rules
Phase 2 Generalization of Simplification Rules
ompare simplification ru les employed by different simplification algorithms gtAnalyze the characteristics of existing simplification rules gtGeoeralize the simplification rules based on their simplification characteristics raquo Derive rules from the generalization of simplification rules
simplification algorithms
identifY new simplification
of simplification rules
Develop simplification algorithms which emplOy different set of simplification rules raquo lmplement the algorithm onto computer using Visual C++ language
+Phase 4 Analysis of algorithms performance
raquoTest new software package by using practical circuits or benchmarks raquoCompare results obtained to that provided by the traditional methods
Figure 12 Research Methodology Flow Chart
110 Thesis Structure
This thesis covers the following topics
9
In Chapter I history brief concept of Digital System Design and importance of Digital System are provided The research objectives methodology and overview of modem design process are outlined as well
Chapter 2 documents the literature review performed The traditional representation techniques of simplification method basically cover truth table algebraic function and K-Map The existing simplification techniques such as algebraic simplification K-Map simplification Quine McshyCluskey tabulation method are reviewed and discussed
Chapter 3 lists ESPRESSO program description and examples It introduces the main features of Boolean Minimizer and the program is elaborated together with its data formats and controls Moreover the initial generation of implicants is described with an illustrative example
In Chapter 4 the experimental results of the proposed simplification method is evaluated and commented The source code of the simplification method is discussed and explained
In Chapter 5 a conclusion of this thesis is presented and recommendation on further works that can be carried out to further improve the simplification method is also provided
10
21 Review of Traditi4
In designing digital syste Maps or algebraic expres~ be limited in large circui circuits which computati( number of inputs increase has been introduced and representing techn iques de computation time and stOI(
22 Truth Table
Before any combinational a problem is the most imp correctly accomplished 0 necessary logic for imp len table ready for logic desi From the truth table the diagram drawn The logic integrated circuit families complementary metal-oxi (mnemonic) can take on ( variable of the real numbel conditions of a Boolean 1
format called a truth table
Truth table is the most funl describes the operational combinations of input vall row at a time Further the valued variable Thus if 1
there are four combinatio~ inputs is increased by 0
independent input variable 22 show the general truth 1
CHAPTER 2
LITERATURE REVIEW
importance of Digital System of modem design process are
representation technique and K-Map The existing
simplification Quine Mcshy
introduces the main features its data formats and controls illustrative example
method is evaluated and and explained
on further works that also provided
21 Review of Traditional Representation Techniques
In designing digital system switching circuits are usually represented using truth tables KshyMaps or algebraic expressions These traditional representation techniques have been proven to be limited in large circuit designs Thus a more efficient method of representing switching circuits which computation time and storage requirements do not grow exponentially as the number of inputs increases is required The graph-based representation method known as DD has been introduced and its popularity has grown rapidly in the last decade These modem representing techniques describe the operation of a switching circuit more efficiently both in computation time and storage requirements
22 Truth Table
Before any combinational logic system can be designed it must be defmed Proper statement of a problem is the most important part of any digital design task Nothing can occur until that is correctly accomplished Once correctly and clearly stated any problem can be converted to the necessary logic for implementation Practical applications rarely come in a prepackaged truth table ready for logic design Truth table must be constructed from verbal problem descriptions From the truth table the switching equations can be written and simplified and the logic diagram drawn The logic diagram can be realized using anyone of the three main digital integrated circuit families transistor-transistor logic (TTL) emitter-coupled logic (ECL) or complementary metal-oxide silicon (CMOS) We established that a Boolean variable (mnemonic) can take on only two values not an infinite number as its kindred associate the variable of the real number system This basic difference allows us to illustrate all possible logic conditions of a Boolean variable or a collection of Boolean variables using a finite tabular format called a truth table
Truth table is the most fundamental and classical way in the description of a switching circuit It describes the operational behavior of the circuit by listing the output values for all possible liOIIlbinations of input values or arguments in vertical order and each input combination one lOW at a time Further the nontrivial decisions in digital design are based on more than one twoshyvalued variable Thus if an output is to be completely specified as a function of two inputs dIere are four combinations that must be considered From this we see that as the number of ilputs is increased by one the number of possible combinations doubles Therefore n iadcpendent input variables will exhibit 2n distinct combinations of values Table 2 I and Table 22 show the general truth table for a function with n variables and an example with n = 3
II
381 Checking a Literal Removal
382 Expansion Strategy
39 Solution of Covering Problem Solution
391 LCMC Cover
392 Contributive Selection
393 Contributive Removal
3 10 Output Reduction
311 PLA Format Description
3111 Keywords or Command Directives
3112 Symbols in the PLA Matrix ampTheir Logical Interpretation of a PLA
312 Illustrative Example
3121 CD-Search Example
3122 Sequential Example
4 BOOLEAN MINIMIZER SOFTW ARE DEVELOPMENT
41 Introduction
42 Implementation of Simplification Algorithm in Visual C++ 6
421 Description of the Boolean Minimizer Algorithm
43 Performance Evaluation
431 Standard Single Output LGSynth93 Benchmarks
432 Test Problems With Up to 300 Input Variables and Minterms
433 Time Complexity Evaluation for Very large Problem
44 Conclusions of Research Results
5 CONCLUSION AND RECOMMENDATION
51 Conclusions
viii
52 Recomm~45
BIBLIOGRAPHY45
APPENDIX46
46
46
46
47
47
47
48
49
49
57
61
61
63
64
65
65
67
70
71
45 52 Recommendation 71
45
46
46
46
46
47
47
47
ofa PLA 48
49
49
57
61
6 61
63
64
65
65
67
70
71
BIBLIOGRAPHY 73
APPENDIX 75
IX
LIST OF FIGURES 310 Example 6
311 Example 7
312 Example 8 Figure Description Pal
313 Example 9
l General Process Flow in Current Logic Synthesis Systems 7 314 Example I(
12 Research Methodology Flow Chart 9 315 Example I
21 Karnaugh Maps for I to 6 Variables 14 316 Example I
22 An Illustration of the MINTERMS that are logically adjacent in 2 3 15 317 Example 2
and 4 variable problems
318 Example 3 23 Example of Maps Plotted From Truth Table 16
319 Boolean M 24 The Principal Identities of Boolean Algebra 19
41 Growth of 25 Flowchart for Determining the Minimum SOP Using Karnaugh Map 22 (200-1000)
26 Kamaugh Map Simplification 23 42 Runtime G
1000)27 Karnaugh Maps Program by Russell Sasamori 23
28 A Flow Diagram Defining the Single Statement Reduction Algorithm 25
29 Mapping Example 25
210 Quine-McCluskey Program in Window Interface 29
31 ESPRESSOs Example 39
32 General Structure of Boolean Minimizer 42
33 Flowchart of Algorithm Boolean Simplification 43
34 Example of Input file in PLA format 50
35 Example 1 of Coverage Directed Search 51
36 Example 2 ofCoverage Directed Search 52
37 Example 3 of Coverage Directed Search 52
38 Example 4 of Coverage Directed Search 53
39 Example 5 ofCoverage Directed Search 53
3 10
311
3 12
313
7 314
9 315
14 316
adjacent in 2 3 15 317
31816
31919
41 Map 22
23 42
23
Algorithm 25
25
29
39
42
43
50
51
52
52
53
53
Example 6 of Coverage Directed Search 54
Example 7 of Coverage Directed Search 54
Example 8 of Coverage Directed Search 55
Example 9 of Coverage Directed Search 55
Example 10 of Coverage Directed Search 56
Example II of Coverage Directed Search 56
Example 1 of Sequential Search 57
Example 2 of Sequential Search 58
Example 3 of Sequential Search 59
Boolean Minimizer Program 60
Growth of Runtime As a Function of the Number of Care Mintenns 69 (200-1000)
Runtime Growth Depending on the Number of Input Variables (200- 70 1000)
Figure
11
21
22
23
24
25
26
41
42(a)
42(b)
43
LIST OF TABLES
Description
General process flow in current logic synthesis systems
General structure of a truth table
A 3-input variables truth table
Determine of Prime Implicants
Prime Implicant Chart
Set of four mintermsdont care terms for f=lm (131315) + ld (8910 II)
Prime Implicant Table
Runtime and Minimal Solutions for the Standard Single Output LGSynth93 Benchmarks
Comparison of the Result Quality for Problems With Input Variables (20-140)
Comparison of the Result Quality for Problems With Input Variables (180-300)
Comparison of the Runtime for Problems With Up to 1000 Input Variables and 1000 Minterms
Symbols ADC ASIC CAD CD Search CMOS CP CPLD DA DAC DC DCF DD DIDL DLL DSP ECL EPIs FPGAs HDL IE ISAPI K-Map LCMC LGSynth93 benchmarks LSI LSI MSI Pis PLAs
61 ROM SOP SSl TTL VLSI XLSI
13 35) + Id
Single Output
Input Variables
Input Variables
to 1000 Input
SYlDbols AOC ASIC CAD CD Search CMOS CP CPLO OA OAC DC DCF DO DIOL OLL OSP ECL EPIs FPGAs HOL IE ISAPI K-Map LCMC LGSynth93 benchmarks LSI LSI MSI PIs PLAs ROM SOP SSI TIL VLSI XLSI
LIST OF ABBREVIATIONS
Abbreviation Analog-to-Digital Converter Application Specific Integrated Circuit Computer Aided Design Coverage Directed Search Complementary Metal-Oxide Silicon Covering Problem Complex Programmable Logic Devices Design Automation Digital-to-Analog Converter Dont Care Disjunctive Canonical Form Decision Diagram Digital Integrated Design Language Dynamic Link Library Digital Signal Processing Emitter-Coupled Logic Essential Prime Implicants Field Programmable Gate Arrays Hardware Description Language Implicant Expansion Internet Server Application Programming Interface Karnaugh Map Least Covered Most Covering Logic Synthesis and Optimization Benchmarks Large Scale Integration Large Scale Integrated Circuits Medium Scale Integrated Circuits Prime Implicants Programmable Logic Arrays Read-Only-Memory Sum Of Product Small Scale Integrated Circuits Transistor-Transistor Logic Very Large Scale Integration Extra Large Scale Integrated Circuits
xii
CHAPTER 1
INTRODUCTION
11 Introduction
The field of digital system design has made great progress over the past decades From early days of simple relay switching circuits to the present time of sophisticated very large scale integration (VLSI) circuits the designing of a digital system has advanced to become a complex and multi-staged process Algorithms and techniques for representing manipulating simulating routing placing manufacturing and testing of designs are continuously introduced and modified Meanwhile the number of devices and technologies based on different logic families keep on growing As a result many design approaches have been developed which have given rise to a wide variety of possible solutions
While the design process of digital system is becoming more complex it is becoming less possible to design a system in one step using a single design tool And it is more necessary to break the design process into several stages using different design tools at each stage Such multi-staged design processes introduce the very undesired effect of requiring a system designer to learn the various design tools employed by the different stages
As each stage develops it becomes difficult for a designer to master all the tools As such design tool developers have to strive to increase the level of design automation without compromising the final solution Whereas a design automation (DA) or computer aided design (CAD) researcher can only focus hisher study on a specific area a highly automated design environment becomes less achievable Nevertheless researchers should try to keep abreast of the development of the entire design process if possible also the simulation manufacturing and testing processes (which come after the design process) so as to have a complete idea of developing an entire system
Since the early days of designing digital circuits simplification has been justified as an effective simplification technique of Boolean functions in reducing the cost of circuits It becomes an essential design process in various application of computer-aided design (CAD) such as test generation synthesis and verification The efficiency of Boolean functions simplification depends on the form of representation techniques Unfortunately the traditional methods of representation such as truth tables Kamaugh maps (K-Maps) and algebraic functions have been proven to be quite impractical This is because every increment of the Boolean function input size could yield a function with exponential representation Therefore it is costly in terms of computer time and storage space
In recent years decision diagrams (DDs) have become the most popular representation techniques employed by computer-aided-design software to represent Boolean functions Decision diagram [Akers 1978 and Bryant 1986] has advantage over the classical representation Two most distinctive advantages being its time complexity and space complexity are non-exponential ie as the input size of Boolean functions grow linearly computer time and storage space requirements of algorithms to represent and manipulate DDs do not necessarily grow exponentially (as is the case for traditional representation techniques)
I
12 History of Digital System Designs
A digital system is a synchronous system in which signals have a finite number of integer values and may change only at discrete instants The very basic digital design can be defined as the science of organizing arrays of simple switches into what is called a discrete system that performs transformations on two-level (binary) information in a meaningful and predictable way Certainly this is true but digital design as we know it today is much more exciting than this definition portends Digital representation and processing methods have been used for a long time but the development of digital artifacts underwent a dramatic increase with the invention of the digital computer Since then digital design underpins the creation of myriad of imaginative digital devices that surround us Extraordinary progress has been made in all these aspects making the computer indispensable in almost every aspect of modem society The development of computer technology and digital microelectronics such as hand-held calculators digital watches microprocessors microwave oven controllers and digital voltmeters in particular have made possible the cost effective production of a large variety of specialized digital systems This trend continues as new applications are replacing analogue systems but in many others they are making possible applications that did not previously exist As a consequence knowledge about the designs and use of digital systems is required in a large variety of human activities
In the late 1840s George Boole [I 849J invented a very abstract form of fundamental concepts of a two-valued (binary) system which is later called the Boolean algebra But Boolean algebra is not used until about 80 years later due to its sophistication In the late of 1930s Claude Shannon [1938] applied switching algebra onto his study of relay switching circuits Since then design methods have been pretty much standard following Booles and Shannons fundamentals with added refinements here and there as new knowledge has been discovered and more exotic logic devices have been developed tried and proven leading the way into one of the most fascinating and challenging fields of study
The theory was then extended to cover both the combinational and sequential circuits in the following one and half decades Combinational switching networks are those which depend only on the current inputs and which are without memory In sequential networks the outputs respond to both current inputs and the history of all previous inputs The system must remember the entire history of the input patterns
In the 1950s further development on the theory lead to the finite-state machine theory and then the automata theory meanwhile simplification of switching functions became an active area of research This is because of the logic gates were then very expensive Also Reed and Muller introduced Reed-Muller algebra This form of expression has now become very popular and useful in the study of AND-EXOR implementation of Boolean functions
The concept of design automation that allows larger and more complex digital system to be designed wholly by computer became popular in the early 1960s However the results obtained by these tools were not always satisfactory Therefore the computer aided design concept is then introduced This allows the designer to intervene with the computerized process Also in the 1960s Quine [1952] and McCluskey [1956] devised the tabulation method for Boolean function simplification In the late 1960s simplification became less essential because of a reduction in the cost of logic gates
2
Programmable Logic Ar desirable for implementin can be designed automat PLAs which were made Hence two-level implem synthesize switching fune level simplification again
13 Digital Designs (
Digital design as treated design of recognizable considered worthy of me digital designer in reachi attempt to standardize a the designers insight to dynamic action related aj
However if these techn designs they become nl
lend themselves very nic( to system design Digit multi-level register tran automation documentati Separation of the control hardware control imple) procedure capabilities fo down to the logic level
Generally speaking be in classifying information which can be processed ( a process of classifying information which can h False Thus the Boolean that any Boolean variab applicable to arguments really optimal This nonmiddot is generally a process of Actions It implies that tl information entities defil actions which is to be d directly related to som operation
The use of verbs such a logic message and does
number of integer values can be defined as the
a discrete system that oul and predictable
more exciting than have been used for a
increase with the the creation of myriad of
been made in all these of modem society The
such as hand-held and digital voltmeters variety of specialized
analogue systems but in previously exist As a
is required in a large
of fundamental concepts But Boolean algebra
late of 1930s Claude circuits Since then s and Shannons
has been discovered leading the way into one
sequential circuits in the are those which depend
networks the outputs system must remember
machine theory and then became an active area of
Also Reed and Muller very popular and
digital system to be the results obtained
aided design concept is tmiddotri middot7 ti process Also in
method for Boolean
Programmable Logic Arrays (PLAs) were introduced in the early 1970 s and became very desirable for implementing switching functions due to the fact that PLAs reduce design time and can be designed automatically An array of AND-gates and an array of OR-gates exist in the PLAs which were made possible with the advent of large-scale integration (LSI) technology Hence two-level implementation became popular The physical area requirement of PLAs to synthesize switching functions is directly linked to the size of the Boolean functions thus twoshylevel simplification again became an important area of research
13 Digital Designs Concept
Digital design as treated in the field of study relating the adaptation of Logic concepts to the design of recognizable realizable and reliable digital hardware These concepts have been considered worthy of mention because they have been found when properly applied to aid the digital designer in reaching his goals in a straightforward manner These concepts are also an attempt to standardize a logic Action description and definition for the purpose of improving the designers insight to logic design and documentation These concepts transfer the idea of a dynamic action related approach to logic thought
However if these techniques are practiced and applied to the more traditional small scale designs they become natural and easy to extend to system level design application They also lend themselves very nicely to the Digital Design Language and Programmed Logic approaches to system design Digital Integrated Design Language (DIDL) is a formal block-structured multi-level register transfer type specialized language system for use in the design design automation documentation and simulation of all digital systems including digital computers Separation of the control and the data path of a system are allowed so that either software or hardware control implementation can be employed DIDL has also macro definition and procedure capabilities for initial system specification various levels of design and simulation down to the logic level
Generally speaking being involved in digital design is dealing in logic which is a process of classifying information while information is intelligence related to ideas meanings and actions which can be processed or transformed into other forms Binary Logic or two-valued logic is a process of classifying information into two classes Traditionally binary arguments or that infonnation which can be definitely classified as two-valued have been deemed either True or False Thus the Boolean variable is unlike the algebraic variables of the field of real numbers in that any Boolean variable can take on only two values the True or False Though certainly applicable to arguments and conditions this TrueFalse classification for digital des ign is not really optimal This non-optimal classification stems from the fact that digital hardware design is generally a process of organizing hardware for the express purpose of classifying information Actions It implies that the hardware in a digital system should be 0rganized to process the input infonnation entities defined as binary input actions and in tum generate some binary output actions which is to be thought of as a dynamic process Action is the most hardware responses directly related to some physical operation or some condition resulting from a physical operation
The use of verbs such as Asserted Excited or Invoked can be used to modify as Action related logic message and does so by directing to the signal condition under which the Action is to be
3
l
l
performed Asserted is defined as the affirmative position of an Action related Boolean variable (mnemonic) Now if the logic operation is being performed we say that the Boolean variable is Asserted It follows that if the logic operation is not being performed we say that the Boolean variable is Not-Asserted Traditionally it is standard to use the shorthand symbols I for True and 0 for False However Is or Os are also used for numeric values (binary numbers) and as high or low voltage indicators as well
14 Digital and The Real World
In real life there are two ways of representing information analog and digital Analog signals contain all the information as a continuously varying wave - such as on an oscilloscope screen when you speak into a microphone connected to it Digital signals are a series of pulses - ons and offs or Is and Os A system that processes analogue signal is termed as analogue system and a system that processes digital signal is termed as digital system A few of these are light nuclear radiation and the electric signals governing the human nervous system which are interestingly enough most definitely discrete phenomena The use of digital practices can be a viable method for solving design problems in the real world The reasons that design problems are emphasized stems from the fact that the major areas of involvement for electrical and digital engineers are (I) the measurement (2) the control and (3) the transmission of information and energy Thus we fmd that we are continuously trying to find solutions to problems related to the measurement control and transmission of information or energy in the domain of the real world However the real world tends to have a continuous nature Because of this the discrete domain needs to the buffered in some way
In recent years systems that are capable of processing a mixture of both analogue and digital signals are increasingly popular The interdomain converter is a specialized system that converts or translates information of one domain into information of another domain For example an analogue signal can often be converted to a digital signal using analogue-to-digital converter (ADC) The processed signal can be converted back to the original form using the digital-toshyanalogue converter (DAC)
Since pure digital systems are made up of arrays of simple and reliable switches with only two positions a numerical system that already existed was adapted to serve as the tool needed for utilizing the basic concept This numerical math system called the binary system is based on the two symbols 0 and I in contrast to the decimal system which has ten symbols 0 I 2 9 We should see now that in order to use a digital system such as a digital computer for mathematical computations we must first convert our mathematical symbolisms (decimal in this case) into binary symbolisms to allow the computer to perform this mathematical operation Once this is done the inverse process must he performed to convert the binary results into a readable decimal representation
The obvious question Is digital worth all of the conversion The answer cannot be simply stated in yes or no terms but must be left to the individual and the particular situation In certain instances it may not in fact be worth the bother Such would not be the case if we were able to create and use multiple-valued logic systems to create a totally decimal machine Obviously if there were ten unique descriptors usable for our decimal computer there would be no need
to convert any infonn practically speaking bil system for some years t communicate with his IT
conversion and the diffe
15 The Importance
Digital systems are use have displaced the ear numerical and non-nume
Information processing processing task elimir representation of the pn the representation and tri
The finite number of va two values (binary sigm binary as a result the switches with two states
Digital signals are quit operating temperature significant portions of a separated so that small better dynamic range T be made more accurate Thus it is more reliab susceptible to variations
The advance of microelt of extremely complex d are built as integrated cil to select among differ~ hardware
Digital technology ha computers to small persl injected in a new autom large systems in a bank last 10 years the grov microprocessors being ~ used by the millions television sets and in controlling steel making
Action related Boolean we say that the Boolean
we say that the shorthand symbols 1 for values (binary numbers)
digital Analog signals on an oscilloscope screen
a series of pulses - ons as analogue system
A few of these are light system which are
digital practices can be a that design problems
for electrical and digital of information and
to problems related to the domain of the real world this the discrete domain
switches with only two as the tool needed for
system is based on has ten symbols 0 I 2 bull bull
a digital computer for symbolisms (decimal in mathematical operation the binary results into a
cannot be simply situation In certain
to convert any information into the now required two-valued binary system However practically speaking binary systems presently dominate and will continue to be the dominant system for some years to come Since such is the case and man ultimately must learn how to communicate with his machine it is necessary that we study the processes involved in number conversion and the different codes used to represent and convey information
IS The Importance of Digital Systems
Digital systems are used in information processing wherein they have become prevalent and have displaced the earlier analogue system Digital representation is well suited for both numerical and non-numerical information processing
Information processing can use a general-purpose system that is programmed for a particular processing task eliminating the need to have a different system for each task The representation of the program and its interpretation can use the same techniques employed for the representation and transformation of the data
The finite number of values in digital signal can be represented by a vector of signals with just two values (binary signals) This representation allow implementations in which all signals are binary as a result the devices that process these signals are very simple (essentially just switches with two states open and closed)
Digital signals are quite insensitive to variations of component parameter values such as operating temperature This includes its potential flexibility in terms of time-multiplexing significant portions of a given system The physical representation of the values is sufficiently separated so that small variations do not change the value it provides exact replicablity with a better dynamic range This is especially true for binary signals Numerical digital systems can be made more accurate by simply increasing the number of digits used in the representation Thus it is more reliable more applicable to nonlinear control more predictable and less susceptible to variations of environment
The advance of microelectronics technology in recent years have made possible the fabrication of extremely complex digital systems that are small fast and cheap Complex digital systems are built as integrated circuits composed of a large number of very simple devices It is possible to select among different implementations of systems that trade off speed and amount of hardware
Digital technology has affected computing from large multimillion dollars mainframe computers to small personal computers and microprocessor controllers measuring the fuel to be injected in a new automobile engine Many of us think of computers in the sense of medium to large systems in a bank or insurance company or for scientific research or military used In the last 10 years the growth of personal computing has been tremendous But most of the microprocessors being sold today do not go into personal computers Instead they are being used by the millions in dishwashers automobiles aircraft oscilloscopes stereo systems television sets and in industrial control systems used for measuring lumber thickness or controlling steel making
5
Digital technology is finding its way into areas of electronics normally thought of as strictly analogue Commercial two-way radios have microcontrollers setting the local oscillator frequency Electronic instrumentation such as oscilloscopes logic analyzers function generators power supplies and multimeters measuring current voltage and resistance all have made widespread use of digital technology In fact it is difficult to find a recently designed electronic instrument that does not use digital technology in some way Digital signal processing (DSP) is a methodology that involves the conversion of analogue information into digital form processes it in some rather sophisticated manner and produces an output either analogue or digital Modem submarines use DSP to make sense of acoustic noises that occur under the ocean for example
Digital technology is especially useful because it is less susceptible to electrical noise (spikes or fluxations in voltage or current) temperature effects component aging and other factors that affect analogue systems This does not mean that analogue technology is not important or that students of electronics and even computers should not study analogue circuit and systems In fact just the contrary is true The concepts of radio propagation antenna design amplifier analysis and active filters to mention a brief few are more important than ever To appropriately apply digital design principles to these areas certainly requires an in-depth understanding of analogue principles Furthermore as the frequencies of digital devices continue to increase digital systems designers are faced with solving analogue-related problems
The application of digital technology will continue to grow in a wide range of consumer product industrial control militarydefense and service industries Look for digital system speeds to increase new devices with added complexity integrated systems comprising both digital and analogue functions embedded into a single integrated circuit and even possibly the use of organic material for constructing memory devices
16 Overview of Modern Design Process
Design is a complex process more an art than a science Complex systems can be broken down into three simpler independent design stages the functional structural and physical stages Figure 11 depicts the general process flow in current logic synthesis systems
A switChing circuit design is first specified in the functional design stage with tools such as hardware description language (HDL) or schematic capture Hardware description language allows a design to be described in text form while schematic capture allows a design to be described in graphical form Once the design is specified it is converted into a mathematical description by the design tools and passed on to the next design stage
In the logic design stage the mathematical representation of the design is simplified without modifying the functionality Two major manipulation techniques that have been studied extensively are simplification and portioning techniques The simplification techniques aim to produce a simpler representation while the portioning techniques aim to break a large representation into a set of smaller but equivalent representations
When the manipulation run If the results of sirr redone or the original satisfactory the represen
In designing application placing and routing Ir programmable logic de logic blocks (placing) ar stage only involves prog
When the physical de consideration) may be f1
which may be part of th manufacturing Followir includes the testing ofm
Figure 11 (
thought of as strictly the local oscillator analyzers function
important
a
logic and resistance all have
to fi nd a recently designed Digital signal processing
Iinfnnml-inn into digital fonn output either analogue or
noises that occur under the
to electrical noise (spikes or and other factors that
is not important or that circuit and systems In
antenna design amplifier than ever To
requires an in-depth of digital devices
solving analogue-related
wide range of consumer Look for digital system systems comprising both
and even possibly the
stages
stage with tools such as description language
allows a design to be -rt-11 into a mathematical
is simplified without that have been studied
iti techniques aim to aim to break a large
When the manipulation is completed a pre-layout simulation (with ideal consideration) may be run If the results of simulation are not satisfactory the previous design stages will have to be redone or the original specification may have to be changed However if the results are satisfactory the representation will be passed on to the final stage - physical design stage
In designing application specific integrated circuit (ASIC) this stage includes floor planning placing and routing In designing field programmable gate arrays (FPGAs) and complex programmable logic devices (CPLDs) this stage includes defining the various programmable logic blocks (placing) and programming the interconnections (routing) In designing PLAs this stage only involves programming the interconnections (routing)
When the physical design stage is completed a post-layout simulation (with practical consideration) may be run If the results are not satisfactory the design will have to be redone which may be part of the entire process If the result is satisfactory the design will be sent for manufacturing Following the manufacturing process comes the testing of the devices which includes the testing of manufacturing faults and the design faults
Figure 11 General Process Flow in Current Logic Synthesis Systems
i
Research methoe 1917 Boolean Functions Problem Statement
Boolean derivatives and differentials are used as models for changes in discrete binary coded systems such as cryptosystems for information authentication and data encryption Derivatives describe crucial criteria of Boolean functions such as dependence and independence linearity monotonicity high degree of propagation high nonlinearity 0-1 balancedness and high algebraic degree They are operators generating other Boolean functions Equations with derivatives define classes of Boolean functions Boolean Differentials are models for any kinds of changes such as signal edges errors and deviations An important Boolean problem is that of designing Boolean functions satisfying simultaneously more than one nonlinearity criteria
Boolean function manipulation is the art of exploiting simplification opportunities that exist inherently in logical structures by using the identities that exist within that algebra or reducing the number of terms used We are seeking to express any logical function as simple as possible because this can lead to a reduced usage of resources when that same function is implemented physically
18 Objectives of the Research
The main objective of the project is to generalize simplification rules employed by several existing simplification algorithms and develop simplification algorithms based on the rules derived from the generalization While the measurable objectives are as stated below
I To survey on the existing simplification algorit~ms
2 To study and compare the simplification rules employed by these simplification algorithms
3 To generalize the existing simplification rules and from there identify new simplification rules
4 To implement software package which employs an effective set of simplification rules
The diagram in Figure I
)FamUiarize w gtStudy the nls
gtCompare simi gtAnaJyu the cI gtGeneralize the gt Derive rules fl
gtDevelop simpJ gt Implement the
gtTest new solho Compare resu
~
8
F
110 Thesis Structure
This thesis covers the fo l
rules employed by several algorithms based on the rules
Phase 3 Implementation of Software Package are as stated below
in discrete binary coded data encryption Derivatives and independence linearity
0- balanced ness and high functions Equations with
are models for any kinds rmSlnt Boolean problem is that
one nonlinearity criteria
IIlcallcm opportunities that exist within that algebra or reducing
function as simple as possible same function is implemented
19 Research methodology
The diagram in Figure 12 shows the methodology used and planned in conducting the research
Phase I Literature Review
IDIUJariu wllh the current work done in UNIMAS gtStudy the existing simplification rules
Phase 2 Generalization of Simplification Rules
ompare simplification ru les employed by different simplification algorithms gtAnalyze the characteristics of existing simplification rules gtGeoeralize the simplification rules based on their simplification characteristics raquo Derive rules from the generalization of simplification rules
simplification algorithms
identifY new simplification
of simplification rules
Develop simplification algorithms which emplOy different set of simplification rules raquo lmplement the algorithm onto computer using Visual C++ language
+Phase 4 Analysis of algorithms performance
raquoTest new software package by using practical circuits or benchmarks raquoCompare results obtained to that provided by the traditional methods
Figure 12 Research Methodology Flow Chart
110 Thesis Structure
This thesis covers the following topics
9
In Chapter I history brief concept of Digital System Design and importance of Digital System are provided The research objectives methodology and overview of modem design process are outlined as well
Chapter 2 documents the literature review performed The traditional representation techniques of simplification method basically cover truth table algebraic function and K-Map The existing simplification techniques such as algebraic simplification K-Map simplification Quine McshyCluskey tabulation method are reviewed and discussed
Chapter 3 lists ESPRESSO program description and examples It introduces the main features of Boolean Minimizer and the program is elaborated together with its data formats and controls Moreover the initial generation of implicants is described with an illustrative example
In Chapter 4 the experimental results of the proposed simplification method is evaluated and commented The source code of the simplification method is discussed and explained
In Chapter 5 a conclusion of this thesis is presented and recommendation on further works that can be carried out to further improve the simplification method is also provided
10
21 Review of Traditi4
In designing digital syste Maps or algebraic expres~ be limited in large circui circuits which computati( number of inputs increase has been introduced and representing techn iques de computation time and stOI(
22 Truth Table
Before any combinational a problem is the most imp correctly accomplished 0 necessary logic for imp len table ready for logic desi From the truth table the diagram drawn The logic integrated circuit families complementary metal-oxi (mnemonic) can take on ( variable of the real numbel conditions of a Boolean 1
format called a truth table
Truth table is the most funl describes the operational combinations of input vall row at a time Further the valued variable Thus if 1
there are four combinatio~ inputs is increased by 0
independent input variable 22 show the general truth 1
CHAPTER 2
LITERATURE REVIEW
importance of Digital System of modem design process are
representation technique and K-Map The existing
simplification Quine Mcshy
introduces the main features its data formats and controls illustrative example
method is evaluated and and explained
on further works that also provided
21 Review of Traditional Representation Techniques
In designing digital system switching circuits are usually represented using truth tables KshyMaps or algebraic expressions These traditional representation techniques have been proven to be limited in large circuit designs Thus a more efficient method of representing switching circuits which computation time and storage requirements do not grow exponentially as the number of inputs increases is required The graph-based representation method known as DD has been introduced and its popularity has grown rapidly in the last decade These modem representing techniques describe the operation of a switching circuit more efficiently both in computation time and storage requirements
22 Truth Table
Before any combinational logic system can be designed it must be defmed Proper statement of a problem is the most important part of any digital design task Nothing can occur until that is correctly accomplished Once correctly and clearly stated any problem can be converted to the necessary logic for implementation Practical applications rarely come in a prepackaged truth table ready for logic design Truth table must be constructed from verbal problem descriptions From the truth table the switching equations can be written and simplified and the logic diagram drawn The logic diagram can be realized using anyone of the three main digital integrated circuit families transistor-transistor logic (TTL) emitter-coupled logic (ECL) or complementary metal-oxide silicon (CMOS) We established that a Boolean variable (mnemonic) can take on only two values not an infinite number as its kindred associate the variable of the real number system This basic difference allows us to illustrate all possible logic conditions of a Boolean variable or a collection of Boolean variables using a finite tabular format called a truth table
Truth table is the most fundamental and classical way in the description of a switching circuit It describes the operational behavior of the circuit by listing the output values for all possible liOIIlbinations of input values or arguments in vertical order and each input combination one lOW at a time Further the nontrivial decisions in digital design are based on more than one twoshyvalued variable Thus if an output is to be completely specified as a function of two inputs dIere are four combinations that must be considered From this we see that as the number of ilputs is increased by one the number of possible combinations doubles Therefore n iadcpendent input variables will exhibit 2n distinct combinations of values Table 2 I and Table 22 show the general truth table for a function with n variables and an example with n = 3
II
45 52 Recommendation 71
45
46
46
46
46
47
47
47
ofa PLA 48
49
49
57
61
6 61
63
64
65
65
67
70
71
BIBLIOGRAPHY 73
APPENDIX 75
IX
LIST OF FIGURES 310 Example 6
311 Example 7
312 Example 8 Figure Description Pal
313 Example 9
l General Process Flow in Current Logic Synthesis Systems 7 314 Example I(
12 Research Methodology Flow Chart 9 315 Example I
21 Karnaugh Maps for I to 6 Variables 14 316 Example I
22 An Illustration of the MINTERMS that are logically adjacent in 2 3 15 317 Example 2
and 4 variable problems
318 Example 3 23 Example of Maps Plotted From Truth Table 16
319 Boolean M 24 The Principal Identities of Boolean Algebra 19
41 Growth of 25 Flowchart for Determining the Minimum SOP Using Karnaugh Map 22 (200-1000)
26 Kamaugh Map Simplification 23 42 Runtime G
1000)27 Karnaugh Maps Program by Russell Sasamori 23
28 A Flow Diagram Defining the Single Statement Reduction Algorithm 25
29 Mapping Example 25
210 Quine-McCluskey Program in Window Interface 29
31 ESPRESSOs Example 39
32 General Structure of Boolean Minimizer 42
33 Flowchart of Algorithm Boolean Simplification 43
34 Example of Input file in PLA format 50
35 Example 1 of Coverage Directed Search 51
36 Example 2 ofCoverage Directed Search 52
37 Example 3 of Coverage Directed Search 52
38 Example 4 of Coverage Directed Search 53
39 Example 5 ofCoverage Directed Search 53
3 10
311
3 12
313
7 314
9 315
14 316
adjacent in 2 3 15 317
31816
31919
41 Map 22
23 42
23
Algorithm 25
25
29
39
42
43
50
51
52
52
53
53
Example 6 of Coverage Directed Search 54
Example 7 of Coverage Directed Search 54
Example 8 of Coverage Directed Search 55
Example 9 of Coverage Directed Search 55
Example 10 of Coverage Directed Search 56
Example II of Coverage Directed Search 56
Example 1 of Sequential Search 57
Example 2 of Sequential Search 58
Example 3 of Sequential Search 59
Boolean Minimizer Program 60
Growth of Runtime As a Function of the Number of Care Mintenns 69 (200-1000)
Runtime Growth Depending on the Number of Input Variables (200- 70 1000)
Figure
11
21
22
23
24
25
26
41
42(a)
42(b)
43
LIST OF TABLES
Description
General process flow in current logic synthesis systems
General structure of a truth table
A 3-input variables truth table
Determine of Prime Implicants
Prime Implicant Chart
Set of four mintermsdont care terms for f=lm (131315) + ld (8910 II)
Prime Implicant Table
Runtime and Minimal Solutions for the Standard Single Output LGSynth93 Benchmarks
Comparison of the Result Quality for Problems With Input Variables (20-140)
Comparison of the Result Quality for Problems With Input Variables (180-300)
Comparison of the Runtime for Problems With Up to 1000 Input Variables and 1000 Minterms
Symbols ADC ASIC CAD CD Search CMOS CP CPLD DA DAC DC DCF DD DIDL DLL DSP ECL EPIs FPGAs HDL IE ISAPI K-Map LCMC LGSynth93 benchmarks LSI LSI MSI Pis PLAs
61 ROM SOP SSl TTL VLSI XLSI
13 35) + Id
Single Output
Input Variables
Input Variables
to 1000 Input
SYlDbols AOC ASIC CAD CD Search CMOS CP CPLO OA OAC DC DCF DO DIOL OLL OSP ECL EPIs FPGAs HOL IE ISAPI K-Map LCMC LGSynth93 benchmarks LSI LSI MSI PIs PLAs ROM SOP SSI TIL VLSI XLSI
LIST OF ABBREVIATIONS
Abbreviation Analog-to-Digital Converter Application Specific Integrated Circuit Computer Aided Design Coverage Directed Search Complementary Metal-Oxide Silicon Covering Problem Complex Programmable Logic Devices Design Automation Digital-to-Analog Converter Dont Care Disjunctive Canonical Form Decision Diagram Digital Integrated Design Language Dynamic Link Library Digital Signal Processing Emitter-Coupled Logic Essential Prime Implicants Field Programmable Gate Arrays Hardware Description Language Implicant Expansion Internet Server Application Programming Interface Karnaugh Map Least Covered Most Covering Logic Synthesis and Optimization Benchmarks Large Scale Integration Large Scale Integrated Circuits Medium Scale Integrated Circuits Prime Implicants Programmable Logic Arrays Read-Only-Memory Sum Of Product Small Scale Integrated Circuits Transistor-Transistor Logic Very Large Scale Integration Extra Large Scale Integrated Circuits
xii
CHAPTER 1
INTRODUCTION
11 Introduction
The field of digital system design has made great progress over the past decades From early days of simple relay switching circuits to the present time of sophisticated very large scale integration (VLSI) circuits the designing of a digital system has advanced to become a complex and multi-staged process Algorithms and techniques for representing manipulating simulating routing placing manufacturing and testing of designs are continuously introduced and modified Meanwhile the number of devices and technologies based on different logic families keep on growing As a result many design approaches have been developed which have given rise to a wide variety of possible solutions
While the design process of digital system is becoming more complex it is becoming less possible to design a system in one step using a single design tool And it is more necessary to break the design process into several stages using different design tools at each stage Such multi-staged design processes introduce the very undesired effect of requiring a system designer to learn the various design tools employed by the different stages
As each stage develops it becomes difficult for a designer to master all the tools As such design tool developers have to strive to increase the level of design automation without compromising the final solution Whereas a design automation (DA) or computer aided design (CAD) researcher can only focus hisher study on a specific area a highly automated design environment becomes less achievable Nevertheless researchers should try to keep abreast of the development of the entire design process if possible also the simulation manufacturing and testing processes (which come after the design process) so as to have a complete idea of developing an entire system
Since the early days of designing digital circuits simplification has been justified as an effective simplification technique of Boolean functions in reducing the cost of circuits It becomes an essential design process in various application of computer-aided design (CAD) such as test generation synthesis and verification The efficiency of Boolean functions simplification depends on the form of representation techniques Unfortunately the traditional methods of representation such as truth tables Kamaugh maps (K-Maps) and algebraic functions have been proven to be quite impractical This is because every increment of the Boolean function input size could yield a function with exponential representation Therefore it is costly in terms of computer time and storage space
In recent years decision diagrams (DDs) have become the most popular representation techniques employed by computer-aided-design software to represent Boolean functions Decision diagram [Akers 1978 and Bryant 1986] has advantage over the classical representation Two most distinctive advantages being its time complexity and space complexity are non-exponential ie as the input size of Boolean functions grow linearly computer time and storage space requirements of algorithms to represent and manipulate DDs do not necessarily grow exponentially (as is the case for traditional representation techniques)
I
12 History of Digital System Designs
A digital system is a synchronous system in which signals have a finite number of integer values and may change only at discrete instants The very basic digital design can be defined as the science of organizing arrays of simple switches into what is called a discrete system that performs transformations on two-level (binary) information in a meaningful and predictable way Certainly this is true but digital design as we know it today is much more exciting than this definition portends Digital representation and processing methods have been used for a long time but the development of digital artifacts underwent a dramatic increase with the invention of the digital computer Since then digital design underpins the creation of myriad of imaginative digital devices that surround us Extraordinary progress has been made in all these aspects making the computer indispensable in almost every aspect of modem society The development of computer technology and digital microelectronics such as hand-held calculators digital watches microprocessors microwave oven controllers and digital voltmeters in particular have made possible the cost effective production of a large variety of specialized digital systems This trend continues as new applications are replacing analogue systems but in many others they are making possible applications that did not previously exist As a consequence knowledge about the designs and use of digital systems is required in a large variety of human activities
In the late 1840s George Boole [I 849J invented a very abstract form of fundamental concepts of a two-valued (binary) system which is later called the Boolean algebra But Boolean algebra is not used until about 80 years later due to its sophistication In the late of 1930s Claude Shannon [1938] applied switching algebra onto his study of relay switching circuits Since then design methods have been pretty much standard following Booles and Shannons fundamentals with added refinements here and there as new knowledge has been discovered and more exotic logic devices have been developed tried and proven leading the way into one of the most fascinating and challenging fields of study
The theory was then extended to cover both the combinational and sequential circuits in the following one and half decades Combinational switching networks are those which depend only on the current inputs and which are without memory In sequential networks the outputs respond to both current inputs and the history of all previous inputs The system must remember the entire history of the input patterns
In the 1950s further development on the theory lead to the finite-state machine theory and then the automata theory meanwhile simplification of switching functions became an active area of research This is because of the logic gates were then very expensive Also Reed and Muller introduced Reed-Muller algebra This form of expression has now become very popular and useful in the study of AND-EXOR implementation of Boolean functions
The concept of design automation that allows larger and more complex digital system to be designed wholly by computer became popular in the early 1960s However the results obtained by these tools were not always satisfactory Therefore the computer aided design concept is then introduced This allows the designer to intervene with the computerized process Also in the 1960s Quine [1952] and McCluskey [1956] devised the tabulation method for Boolean function simplification In the late 1960s simplification became less essential because of a reduction in the cost of logic gates
2
Programmable Logic Ar desirable for implementin can be designed automat PLAs which were made Hence two-level implem synthesize switching fune level simplification again
13 Digital Designs (
Digital design as treated design of recognizable considered worthy of me digital designer in reachi attempt to standardize a the designers insight to dynamic action related aj
However if these techn designs they become nl
lend themselves very nic( to system design Digit multi-level register tran automation documentati Separation of the control hardware control imple) procedure capabilities fo down to the logic level
Generally speaking be in classifying information which can be processed ( a process of classifying information which can h False Thus the Boolean that any Boolean variab applicable to arguments really optimal This nonmiddot is generally a process of Actions It implies that tl information entities defil actions which is to be d directly related to som operation
The use of verbs such a logic message and does
number of integer values can be defined as the
a discrete system that oul and predictable
more exciting than have been used for a
increase with the the creation of myriad of
been made in all these of modem society The
such as hand-held and digital voltmeters variety of specialized
analogue systems but in previously exist As a
is required in a large
of fundamental concepts But Boolean algebra
late of 1930s Claude circuits Since then s and Shannons
has been discovered leading the way into one
sequential circuits in the are those which depend
networks the outputs system must remember
machine theory and then became an active area of
Also Reed and Muller very popular and
digital system to be the results obtained
aided design concept is tmiddotri middot7 ti process Also in
method for Boolean
Programmable Logic Arrays (PLAs) were introduced in the early 1970 s and became very desirable for implementing switching functions due to the fact that PLAs reduce design time and can be designed automatically An array of AND-gates and an array of OR-gates exist in the PLAs which were made possible with the advent of large-scale integration (LSI) technology Hence two-level implementation became popular The physical area requirement of PLAs to synthesize switching functions is directly linked to the size of the Boolean functions thus twoshylevel simplification again became an important area of research
13 Digital Designs Concept
Digital design as treated in the field of study relating the adaptation of Logic concepts to the design of recognizable realizable and reliable digital hardware These concepts have been considered worthy of mention because they have been found when properly applied to aid the digital designer in reaching his goals in a straightforward manner These concepts are also an attempt to standardize a logic Action description and definition for the purpose of improving the designers insight to logic design and documentation These concepts transfer the idea of a dynamic action related approach to logic thought
However if these techniques are practiced and applied to the more traditional small scale designs they become natural and easy to extend to system level design application They also lend themselves very nicely to the Digital Design Language and Programmed Logic approaches to system design Digital Integrated Design Language (DIDL) is a formal block-structured multi-level register transfer type specialized language system for use in the design design automation documentation and simulation of all digital systems including digital computers Separation of the control and the data path of a system are allowed so that either software or hardware control implementation can be employed DIDL has also macro definition and procedure capabilities for initial system specification various levels of design and simulation down to the logic level
Generally speaking being involved in digital design is dealing in logic which is a process of classifying information while information is intelligence related to ideas meanings and actions which can be processed or transformed into other forms Binary Logic or two-valued logic is a process of classifying information into two classes Traditionally binary arguments or that infonnation which can be definitely classified as two-valued have been deemed either True or False Thus the Boolean variable is unlike the algebraic variables of the field of real numbers in that any Boolean variable can take on only two values the True or False Though certainly applicable to arguments and conditions this TrueFalse classification for digital des ign is not really optimal This non-optimal classification stems from the fact that digital hardware design is generally a process of organizing hardware for the express purpose of classifying information Actions It implies that the hardware in a digital system should be 0rganized to process the input infonnation entities defined as binary input actions and in tum generate some binary output actions which is to be thought of as a dynamic process Action is the most hardware responses directly related to some physical operation or some condition resulting from a physical operation
The use of verbs such as Asserted Excited or Invoked can be used to modify as Action related logic message and does so by directing to the signal condition under which the Action is to be
3
l
l
performed Asserted is defined as the affirmative position of an Action related Boolean variable (mnemonic) Now if the logic operation is being performed we say that the Boolean variable is Asserted It follows that if the logic operation is not being performed we say that the Boolean variable is Not-Asserted Traditionally it is standard to use the shorthand symbols I for True and 0 for False However Is or Os are also used for numeric values (binary numbers) and as high or low voltage indicators as well
14 Digital and The Real World
In real life there are two ways of representing information analog and digital Analog signals contain all the information as a continuously varying wave - such as on an oscilloscope screen when you speak into a microphone connected to it Digital signals are a series of pulses - ons and offs or Is and Os A system that processes analogue signal is termed as analogue system and a system that processes digital signal is termed as digital system A few of these are light nuclear radiation and the electric signals governing the human nervous system which are interestingly enough most definitely discrete phenomena The use of digital practices can be a viable method for solving design problems in the real world The reasons that design problems are emphasized stems from the fact that the major areas of involvement for electrical and digital engineers are (I) the measurement (2) the control and (3) the transmission of information and energy Thus we fmd that we are continuously trying to find solutions to problems related to the measurement control and transmission of information or energy in the domain of the real world However the real world tends to have a continuous nature Because of this the discrete domain needs to the buffered in some way
In recent years systems that are capable of processing a mixture of both analogue and digital signals are increasingly popular The interdomain converter is a specialized system that converts or translates information of one domain into information of another domain For example an analogue signal can often be converted to a digital signal using analogue-to-digital converter (ADC) The processed signal can be converted back to the original form using the digital-toshyanalogue converter (DAC)
Since pure digital systems are made up of arrays of simple and reliable switches with only two positions a numerical system that already existed was adapted to serve as the tool needed for utilizing the basic concept This numerical math system called the binary system is based on the two symbols 0 and I in contrast to the decimal system which has ten symbols 0 I 2 9 We should see now that in order to use a digital system such as a digital computer for mathematical computations we must first convert our mathematical symbolisms (decimal in this case) into binary symbolisms to allow the computer to perform this mathematical operation Once this is done the inverse process must he performed to convert the binary results into a readable decimal representation
The obvious question Is digital worth all of the conversion The answer cannot be simply stated in yes or no terms but must be left to the individual and the particular situation In certain instances it may not in fact be worth the bother Such would not be the case if we were able to create and use multiple-valued logic systems to create a totally decimal machine Obviously if there were ten unique descriptors usable for our decimal computer there would be no need
to convert any infonn practically speaking bil system for some years t communicate with his IT
conversion and the diffe
15 The Importance
Digital systems are use have displaced the ear numerical and non-nume
Information processing processing task elimir representation of the pn the representation and tri
The finite number of va two values (binary sigm binary as a result the switches with two states
Digital signals are quit operating temperature significant portions of a separated so that small better dynamic range T be made more accurate Thus it is more reliab susceptible to variations
The advance of microelt of extremely complex d are built as integrated cil to select among differ~ hardware
Digital technology ha computers to small persl injected in a new autom large systems in a bank last 10 years the grov microprocessors being ~ used by the millions television sets and in controlling steel making
Action related Boolean we say that the Boolean
we say that the shorthand symbols 1 for values (binary numbers)
digital Analog signals on an oscilloscope screen
a series of pulses - ons as analogue system
A few of these are light system which are
digital practices can be a that design problems
for electrical and digital of information and
to problems related to the domain of the real world this the discrete domain
switches with only two as the tool needed for
system is based on has ten symbols 0 I 2 bull bull
a digital computer for symbolisms (decimal in mathematical operation the binary results into a
cannot be simply situation In certain
to convert any information into the now required two-valued binary system However practically speaking binary systems presently dominate and will continue to be the dominant system for some years to come Since such is the case and man ultimately must learn how to communicate with his machine it is necessary that we study the processes involved in number conversion and the different codes used to represent and convey information
IS The Importance of Digital Systems
Digital systems are used in information processing wherein they have become prevalent and have displaced the earlier analogue system Digital representation is well suited for both numerical and non-numerical information processing
Information processing can use a general-purpose system that is programmed for a particular processing task eliminating the need to have a different system for each task The representation of the program and its interpretation can use the same techniques employed for the representation and transformation of the data
The finite number of values in digital signal can be represented by a vector of signals with just two values (binary signals) This representation allow implementations in which all signals are binary as a result the devices that process these signals are very simple (essentially just switches with two states open and closed)
Digital signals are quite insensitive to variations of component parameter values such as operating temperature This includes its potential flexibility in terms of time-multiplexing significant portions of a given system The physical representation of the values is sufficiently separated so that small variations do not change the value it provides exact replicablity with a better dynamic range This is especially true for binary signals Numerical digital systems can be made more accurate by simply increasing the number of digits used in the representation Thus it is more reliable more applicable to nonlinear control more predictable and less susceptible to variations of environment
The advance of microelectronics technology in recent years have made possible the fabrication of extremely complex digital systems that are small fast and cheap Complex digital systems are built as integrated circuits composed of a large number of very simple devices It is possible to select among different implementations of systems that trade off speed and amount of hardware
Digital technology has affected computing from large multimillion dollars mainframe computers to small personal computers and microprocessor controllers measuring the fuel to be injected in a new automobile engine Many of us think of computers in the sense of medium to large systems in a bank or insurance company or for scientific research or military used In the last 10 years the growth of personal computing has been tremendous But most of the microprocessors being sold today do not go into personal computers Instead they are being used by the millions in dishwashers automobiles aircraft oscilloscopes stereo systems television sets and in industrial control systems used for measuring lumber thickness or controlling steel making
5
Digital technology is finding its way into areas of electronics normally thought of as strictly analogue Commercial two-way radios have microcontrollers setting the local oscillator frequency Electronic instrumentation such as oscilloscopes logic analyzers function generators power supplies and multimeters measuring current voltage and resistance all have made widespread use of digital technology In fact it is difficult to find a recently designed electronic instrument that does not use digital technology in some way Digital signal processing (DSP) is a methodology that involves the conversion of analogue information into digital form processes it in some rather sophisticated manner and produces an output either analogue or digital Modem submarines use DSP to make sense of acoustic noises that occur under the ocean for example
Digital technology is especially useful because it is less susceptible to electrical noise (spikes or fluxations in voltage or current) temperature effects component aging and other factors that affect analogue systems This does not mean that analogue technology is not important or that students of electronics and even computers should not study analogue circuit and systems In fact just the contrary is true The concepts of radio propagation antenna design amplifier analysis and active filters to mention a brief few are more important than ever To appropriately apply digital design principles to these areas certainly requires an in-depth understanding of analogue principles Furthermore as the frequencies of digital devices continue to increase digital systems designers are faced with solving analogue-related problems
The application of digital technology will continue to grow in a wide range of consumer product industrial control militarydefense and service industries Look for digital system speeds to increase new devices with added complexity integrated systems comprising both digital and analogue functions embedded into a single integrated circuit and even possibly the use of organic material for constructing memory devices
16 Overview of Modern Design Process
Design is a complex process more an art than a science Complex systems can be broken down into three simpler independent design stages the functional structural and physical stages Figure 11 depicts the general process flow in current logic synthesis systems
A switChing circuit design is first specified in the functional design stage with tools such as hardware description language (HDL) or schematic capture Hardware description language allows a design to be described in text form while schematic capture allows a design to be described in graphical form Once the design is specified it is converted into a mathematical description by the design tools and passed on to the next design stage
In the logic design stage the mathematical representation of the design is simplified without modifying the functionality Two major manipulation techniques that have been studied extensively are simplification and portioning techniques The simplification techniques aim to produce a simpler representation while the portioning techniques aim to break a large representation into a set of smaller but equivalent representations
When the manipulation run If the results of sirr redone or the original satisfactory the represen
In designing application placing and routing Ir programmable logic de logic blocks (placing) ar stage only involves prog
When the physical de consideration) may be f1
which may be part of th manufacturing Followir includes the testing ofm
Figure 11 (
thought of as strictly the local oscillator analyzers function
important
a
logic and resistance all have
to fi nd a recently designed Digital signal processing
Iinfnnml-inn into digital fonn output either analogue or
noises that occur under the
to electrical noise (spikes or and other factors that
is not important or that circuit and systems In
antenna design amplifier than ever To
requires an in-depth of digital devices
solving analogue-related
wide range of consumer Look for digital system systems comprising both
and even possibly the
stages
stage with tools such as description language
allows a design to be -rt-11 into a mathematical
is simplified without that have been studied
iti techniques aim to aim to break a large
When the manipulation is completed a pre-layout simulation (with ideal consideration) may be run If the results of simulation are not satisfactory the previous design stages will have to be redone or the original specification may have to be changed However if the results are satisfactory the representation will be passed on to the final stage - physical design stage
In designing application specific integrated circuit (ASIC) this stage includes floor planning placing and routing In designing field programmable gate arrays (FPGAs) and complex programmable logic devices (CPLDs) this stage includes defining the various programmable logic blocks (placing) and programming the interconnections (routing) In designing PLAs this stage only involves programming the interconnections (routing)
When the physical design stage is completed a post-layout simulation (with practical consideration) may be run If the results are not satisfactory the design will have to be redone which may be part of the entire process If the result is satisfactory the design will be sent for manufacturing Following the manufacturing process comes the testing of the devices which includes the testing of manufacturing faults and the design faults
Figure 11 General Process Flow in Current Logic Synthesis Systems
i
Research methoe 1917 Boolean Functions Problem Statement
Boolean derivatives and differentials are used as models for changes in discrete binary coded systems such as cryptosystems for information authentication and data encryption Derivatives describe crucial criteria of Boolean functions such as dependence and independence linearity monotonicity high degree of propagation high nonlinearity 0-1 balancedness and high algebraic degree They are operators generating other Boolean functions Equations with derivatives define classes of Boolean functions Boolean Differentials are models for any kinds of changes such as signal edges errors and deviations An important Boolean problem is that of designing Boolean functions satisfying simultaneously more than one nonlinearity criteria
Boolean function manipulation is the art of exploiting simplification opportunities that exist inherently in logical structures by using the identities that exist within that algebra or reducing the number of terms used We are seeking to express any logical function as simple as possible because this can lead to a reduced usage of resources when that same function is implemented physically
18 Objectives of the Research
The main objective of the project is to generalize simplification rules employed by several existing simplification algorithms and develop simplification algorithms based on the rules derived from the generalization While the measurable objectives are as stated below
I To survey on the existing simplification algorit~ms
2 To study and compare the simplification rules employed by these simplification algorithms
3 To generalize the existing simplification rules and from there identify new simplification rules
4 To implement software package which employs an effective set of simplification rules
The diagram in Figure I
)FamUiarize w gtStudy the nls
gtCompare simi gtAnaJyu the cI gtGeneralize the gt Derive rules fl
gtDevelop simpJ gt Implement the
gtTest new solho Compare resu
~
8
F
110 Thesis Structure
This thesis covers the fo l
rules employed by several algorithms based on the rules
Phase 3 Implementation of Software Package are as stated below
in discrete binary coded data encryption Derivatives and independence linearity
0- balanced ness and high functions Equations with
are models for any kinds rmSlnt Boolean problem is that
one nonlinearity criteria
IIlcallcm opportunities that exist within that algebra or reducing
function as simple as possible same function is implemented
19 Research methodology
The diagram in Figure 12 shows the methodology used and planned in conducting the research
Phase I Literature Review
IDIUJariu wllh the current work done in UNIMAS gtStudy the existing simplification rules
Phase 2 Generalization of Simplification Rules
ompare simplification ru les employed by different simplification algorithms gtAnalyze the characteristics of existing simplification rules gtGeoeralize the simplification rules based on their simplification characteristics raquo Derive rules from the generalization of simplification rules
simplification algorithms
identifY new simplification
of simplification rules
Develop simplification algorithms which emplOy different set of simplification rules raquo lmplement the algorithm onto computer using Visual C++ language
+Phase 4 Analysis of algorithms performance
raquoTest new software package by using practical circuits or benchmarks raquoCompare results obtained to that provided by the traditional methods
Figure 12 Research Methodology Flow Chart
110 Thesis Structure
This thesis covers the following topics
9
In Chapter I history brief concept of Digital System Design and importance of Digital System are provided The research objectives methodology and overview of modem design process are outlined as well
Chapter 2 documents the literature review performed The traditional representation techniques of simplification method basically cover truth table algebraic function and K-Map The existing simplification techniques such as algebraic simplification K-Map simplification Quine McshyCluskey tabulation method are reviewed and discussed
Chapter 3 lists ESPRESSO program description and examples It introduces the main features of Boolean Minimizer and the program is elaborated together with its data formats and controls Moreover the initial generation of implicants is described with an illustrative example
In Chapter 4 the experimental results of the proposed simplification method is evaluated and commented The source code of the simplification method is discussed and explained
In Chapter 5 a conclusion of this thesis is presented and recommendation on further works that can be carried out to further improve the simplification method is also provided
10
21 Review of Traditi4
In designing digital syste Maps or algebraic expres~ be limited in large circui circuits which computati( number of inputs increase has been introduced and representing techn iques de computation time and stOI(
22 Truth Table
Before any combinational a problem is the most imp correctly accomplished 0 necessary logic for imp len table ready for logic desi From the truth table the diagram drawn The logic integrated circuit families complementary metal-oxi (mnemonic) can take on ( variable of the real numbel conditions of a Boolean 1
format called a truth table
Truth table is the most funl describes the operational combinations of input vall row at a time Further the valued variable Thus if 1
there are four combinatio~ inputs is increased by 0
independent input variable 22 show the general truth 1
CHAPTER 2
LITERATURE REVIEW
importance of Digital System of modem design process are
representation technique and K-Map The existing
simplification Quine Mcshy
introduces the main features its data formats and controls illustrative example
method is evaluated and and explained
on further works that also provided
21 Review of Traditional Representation Techniques
In designing digital system switching circuits are usually represented using truth tables KshyMaps or algebraic expressions These traditional representation techniques have been proven to be limited in large circuit designs Thus a more efficient method of representing switching circuits which computation time and storage requirements do not grow exponentially as the number of inputs increases is required The graph-based representation method known as DD has been introduced and its popularity has grown rapidly in the last decade These modem representing techniques describe the operation of a switching circuit more efficiently both in computation time and storage requirements
22 Truth Table
Before any combinational logic system can be designed it must be defmed Proper statement of a problem is the most important part of any digital design task Nothing can occur until that is correctly accomplished Once correctly and clearly stated any problem can be converted to the necessary logic for implementation Practical applications rarely come in a prepackaged truth table ready for logic design Truth table must be constructed from verbal problem descriptions From the truth table the switching equations can be written and simplified and the logic diagram drawn The logic diagram can be realized using anyone of the three main digital integrated circuit families transistor-transistor logic (TTL) emitter-coupled logic (ECL) or complementary metal-oxide silicon (CMOS) We established that a Boolean variable (mnemonic) can take on only two values not an infinite number as its kindred associate the variable of the real number system This basic difference allows us to illustrate all possible logic conditions of a Boolean variable or a collection of Boolean variables using a finite tabular format called a truth table
Truth table is the most fundamental and classical way in the description of a switching circuit It describes the operational behavior of the circuit by listing the output values for all possible liOIIlbinations of input values or arguments in vertical order and each input combination one lOW at a time Further the nontrivial decisions in digital design are based on more than one twoshyvalued variable Thus if an output is to be completely specified as a function of two inputs dIere are four combinations that must be considered From this we see that as the number of ilputs is increased by one the number of possible combinations doubles Therefore n iadcpendent input variables will exhibit 2n distinct combinations of values Table 2 I and Table 22 show the general truth table for a function with n variables and an example with n = 3
II
LIST OF FIGURES 310 Example 6
311 Example 7
312 Example 8 Figure Description Pal
313 Example 9
l General Process Flow in Current Logic Synthesis Systems 7 314 Example I(
12 Research Methodology Flow Chart 9 315 Example I
21 Karnaugh Maps for I to 6 Variables 14 316 Example I
22 An Illustration of the MINTERMS that are logically adjacent in 2 3 15 317 Example 2
and 4 variable problems
318 Example 3 23 Example of Maps Plotted From Truth Table 16
319 Boolean M 24 The Principal Identities of Boolean Algebra 19
41 Growth of 25 Flowchart for Determining the Minimum SOP Using Karnaugh Map 22 (200-1000)
26 Kamaugh Map Simplification 23 42 Runtime G
1000)27 Karnaugh Maps Program by Russell Sasamori 23
28 A Flow Diagram Defining the Single Statement Reduction Algorithm 25
29 Mapping Example 25
210 Quine-McCluskey Program in Window Interface 29
31 ESPRESSOs Example 39
32 General Structure of Boolean Minimizer 42
33 Flowchart of Algorithm Boolean Simplification 43
34 Example of Input file in PLA format 50
35 Example 1 of Coverage Directed Search 51
36 Example 2 ofCoverage Directed Search 52
37 Example 3 of Coverage Directed Search 52
38 Example 4 of Coverage Directed Search 53
39 Example 5 ofCoverage Directed Search 53
3 10
311
3 12
313
7 314
9 315
14 316
adjacent in 2 3 15 317
31816
31919
41 Map 22
23 42
23
Algorithm 25
25
29
39
42
43
50
51
52
52
53
53
Example 6 of Coverage Directed Search 54
Example 7 of Coverage Directed Search 54
Example 8 of Coverage Directed Search 55
Example 9 of Coverage Directed Search 55
Example 10 of Coverage Directed Search 56
Example II of Coverage Directed Search 56
Example 1 of Sequential Search 57
Example 2 of Sequential Search 58
Example 3 of Sequential Search 59
Boolean Minimizer Program 60
Growth of Runtime As a Function of the Number of Care Mintenns 69 (200-1000)
Runtime Growth Depending on the Number of Input Variables (200- 70 1000)
Figure
11
21
22
23
24
25
26
41
42(a)
42(b)
43
LIST OF TABLES
Description
General process flow in current logic synthesis systems
General structure of a truth table
A 3-input variables truth table
Determine of Prime Implicants
Prime Implicant Chart
Set of four mintermsdont care terms for f=lm (131315) + ld (8910 II)
Prime Implicant Table
Runtime and Minimal Solutions for the Standard Single Output LGSynth93 Benchmarks
Comparison of the Result Quality for Problems With Input Variables (20-140)
Comparison of the Result Quality for Problems With Input Variables (180-300)
Comparison of the Runtime for Problems With Up to 1000 Input Variables and 1000 Minterms
Symbols ADC ASIC CAD CD Search CMOS CP CPLD DA DAC DC DCF DD DIDL DLL DSP ECL EPIs FPGAs HDL IE ISAPI K-Map LCMC LGSynth93 benchmarks LSI LSI MSI Pis PLAs
61 ROM SOP SSl TTL VLSI XLSI
13 35) + Id
Single Output
Input Variables
Input Variables
to 1000 Input
SYlDbols AOC ASIC CAD CD Search CMOS CP CPLO OA OAC DC DCF DO DIOL OLL OSP ECL EPIs FPGAs HOL IE ISAPI K-Map LCMC LGSynth93 benchmarks LSI LSI MSI PIs PLAs ROM SOP SSI TIL VLSI XLSI
LIST OF ABBREVIATIONS
Abbreviation Analog-to-Digital Converter Application Specific Integrated Circuit Computer Aided Design Coverage Directed Search Complementary Metal-Oxide Silicon Covering Problem Complex Programmable Logic Devices Design Automation Digital-to-Analog Converter Dont Care Disjunctive Canonical Form Decision Diagram Digital Integrated Design Language Dynamic Link Library Digital Signal Processing Emitter-Coupled Logic Essential Prime Implicants Field Programmable Gate Arrays Hardware Description Language Implicant Expansion Internet Server Application Programming Interface Karnaugh Map Least Covered Most Covering Logic Synthesis and Optimization Benchmarks Large Scale Integration Large Scale Integrated Circuits Medium Scale Integrated Circuits Prime Implicants Programmable Logic Arrays Read-Only-Memory Sum Of Product Small Scale Integrated Circuits Transistor-Transistor Logic Very Large Scale Integration Extra Large Scale Integrated Circuits
xii
CHAPTER 1
INTRODUCTION
11 Introduction
The field of digital system design has made great progress over the past decades From early days of simple relay switching circuits to the present time of sophisticated very large scale integration (VLSI) circuits the designing of a digital system has advanced to become a complex and multi-staged process Algorithms and techniques for representing manipulating simulating routing placing manufacturing and testing of designs are continuously introduced and modified Meanwhile the number of devices and technologies based on different logic families keep on growing As a result many design approaches have been developed which have given rise to a wide variety of possible solutions
While the design process of digital system is becoming more complex it is becoming less possible to design a system in one step using a single design tool And it is more necessary to break the design process into several stages using different design tools at each stage Such multi-staged design processes introduce the very undesired effect of requiring a system designer to learn the various design tools employed by the different stages
As each stage develops it becomes difficult for a designer to master all the tools As such design tool developers have to strive to increase the level of design automation without compromising the final solution Whereas a design automation (DA) or computer aided design (CAD) researcher can only focus hisher study on a specific area a highly automated design environment becomes less achievable Nevertheless researchers should try to keep abreast of the development of the entire design process if possible also the simulation manufacturing and testing processes (which come after the design process) so as to have a complete idea of developing an entire system
Since the early days of designing digital circuits simplification has been justified as an effective simplification technique of Boolean functions in reducing the cost of circuits It becomes an essential design process in various application of computer-aided design (CAD) such as test generation synthesis and verification The efficiency of Boolean functions simplification depends on the form of representation techniques Unfortunately the traditional methods of representation such as truth tables Kamaugh maps (K-Maps) and algebraic functions have been proven to be quite impractical This is because every increment of the Boolean function input size could yield a function with exponential representation Therefore it is costly in terms of computer time and storage space
In recent years decision diagrams (DDs) have become the most popular representation techniques employed by computer-aided-design software to represent Boolean functions Decision diagram [Akers 1978 and Bryant 1986] has advantage over the classical representation Two most distinctive advantages being its time complexity and space complexity are non-exponential ie as the input size of Boolean functions grow linearly computer time and storage space requirements of algorithms to represent and manipulate DDs do not necessarily grow exponentially (as is the case for traditional representation techniques)
I
12 History of Digital System Designs
A digital system is a synchronous system in which signals have a finite number of integer values and may change only at discrete instants The very basic digital design can be defined as the science of organizing arrays of simple switches into what is called a discrete system that performs transformations on two-level (binary) information in a meaningful and predictable way Certainly this is true but digital design as we know it today is much more exciting than this definition portends Digital representation and processing methods have been used for a long time but the development of digital artifacts underwent a dramatic increase with the invention of the digital computer Since then digital design underpins the creation of myriad of imaginative digital devices that surround us Extraordinary progress has been made in all these aspects making the computer indispensable in almost every aspect of modem society The development of computer technology and digital microelectronics such as hand-held calculators digital watches microprocessors microwave oven controllers and digital voltmeters in particular have made possible the cost effective production of a large variety of specialized digital systems This trend continues as new applications are replacing analogue systems but in many others they are making possible applications that did not previously exist As a consequence knowledge about the designs and use of digital systems is required in a large variety of human activities
In the late 1840s George Boole [I 849J invented a very abstract form of fundamental concepts of a two-valued (binary) system which is later called the Boolean algebra But Boolean algebra is not used until about 80 years later due to its sophistication In the late of 1930s Claude Shannon [1938] applied switching algebra onto his study of relay switching circuits Since then design methods have been pretty much standard following Booles and Shannons fundamentals with added refinements here and there as new knowledge has been discovered and more exotic logic devices have been developed tried and proven leading the way into one of the most fascinating and challenging fields of study
The theory was then extended to cover both the combinational and sequential circuits in the following one and half decades Combinational switching networks are those which depend only on the current inputs and which are without memory In sequential networks the outputs respond to both current inputs and the history of all previous inputs The system must remember the entire history of the input patterns
In the 1950s further development on the theory lead to the finite-state machine theory and then the automata theory meanwhile simplification of switching functions became an active area of research This is because of the logic gates were then very expensive Also Reed and Muller introduced Reed-Muller algebra This form of expression has now become very popular and useful in the study of AND-EXOR implementation of Boolean functions
The concept of design automation that allows larger and more complex digital system to be designed wholly by computer became popular in the early 1960s However the results obtained by these tools were not always satisfactory Therefore the computer aided design concept is then introduced This allows the designer to intervene with the computerized process Also in the 1960s Quine [1952] and McCluskey [1956] devised the tabulation method for Boolean function simplification In the late 1960s simplification became less essential because of a reduction in the cost of logic gates
2
Programmable Logic Ar desirable for implementin can be designed automat PLAs which were made Hence two-level implem synthesize switching fune level simplification again
13 Digital Designs (
Digital design as treated design of recognizable considered worthy of me digital designer in reachi attempt to standardize a the designers insight to dynamic action related aj
However if these techn designs they become nl
lend themselves very nic( to system design Digit multi-level register tran automation documentati Separation of the control hardware control imple) procedure capabilities fo down to the logic level
Generally speaking be in classifying information which can be processed ( a process of classifying information which can h False Thus the Boolean that any Boolean variab applicable to arguments really optimal This nonmiddot is generally a process of Actions It implies that tl information entities defil actions which is to be d directly related to som operation
The use of verbs such a logic message and does
number of integer values can be defined as the
a discrete system that oul and predictable
more exciting than have been used for a
increase with the the creation of myriad of
been made in all these of modem society The
such as hand-held and digital voltmeters variety of specialized
analogue systems but in previously exist As a
is required in a large
of fundamental concepts But Boolean algebra
late of 1930s Claude circuits Since then s and Shannons
has been discovered leading the way into one
sequential circuits in the are those which depend
networks the outputs system must remember
machine theory and then became an active area of
Also Reed and Muller very popular and
digital system to be the results obtained
aided design concept is tmiddotri middot7 ti process Also in
method for Boolean
Programmable Logic Arrays (PLAs) were introduced in the early 1970 s and became very desirable for implementing switching functions due to the fact that PLAs reduce design time and can be designed automatically An array of AND-gates and an array of OR-gates exist in the PLAs which were made possible with the advent of large-scale integration (LSI) technology Hence two-level implementation became popular The physical area requirement of PLAs to synthesize switching functions is directly linked to the size of the Boolean functions thus twoshylevel simplification again became an important area of research
13 Digital Designs Concept
Digital design as treated in the field of study relating the adaptation of Logic concepts to the design of recognizable realizable and reliable digital hardware These concepts have been considered worthy of mention because they have been found when properly applied to aid the digital designer in reaching his goals in a straightforward manner These concepts are also an attempt to standardize a logic Action description and definition for the purpose of improving the designers insight to logic design and documentation These concepts transfer the idea of a dynamic action related approach to logic thought
However if these techniques are practiced and applied to the more traditional small scale designs they become natural and easy to extend to system level design application They also lend themselves very nicely to the Digital Design Language and Programmed Logic approaches to system design Digital Integrated Design Language (DIDL) is a formal block-structured multi-level register transfer type specialized language system for use in the design design automation documentation and simulation of all digital systems including digital computers Separation of the control and the data path of a system are allowed so that either software or hardware control implementation can be employed DIDL has also macro definition and procedure capabilities for initial system specification various levels of design and simulation down to the logic level
Generally speaking being involved in digital design is dealing in logic which is a process of classifying information while information is intelligence related to ideas meanings and actions which can be processed or transformed into other forms Binary Logic or two-valued logic is a process of classifying information into two classes Traditionally binary arguments or that infonnation which can be definitely classified as two-valued have been deemed either True or False Thus the Boolean variable is unlike the algebraic variables of the field of real numbers in that any Boolean variable can take on only two values the True or False Though certainly applicable to arguments and conditions this TrueFalse classification for digital des ign is not really optimal This non-optimal classification stems from the fact that digital hardware design is generally a process of organizing hardware for the express purpose of classifying information Actions It implies that the hardware in a digital system should be 0rganized to process the input infonnation entities defined as binary input actions and in tum generate some binary output actions which is to be thought of as a dynamic process Action is the most hardware responses directly related to some physical operation or some condition resulting from a physical operation
The use of verbs such as Asserted Excited or Invoked can be used to modify as Action related logic message and does so by directing to the signal condition under which the Action is to be
3
l
l
performed Asserted is defined as the affirmative position of an Action related Boolean variable (mnemonic) Now if the logic operation is being performed we say that the Boolean variable is Asserted It follows that if the logic operation is not being performed we say that the Boolean variable is Not-Asserted Traditionally it is standard to use the shorthand symbols I for True and 0 for False However Is or Os are also used for numeric values (binary numbers) and as high or low voltage indicators as well
14 Digital and The Real World
In real life there are two ways of representing information analog and digital Analog signals contain all the information as a continuously varying wave - such as on an oscilloscope screen when you speak into a microphone connected to it Digital signals are a series of pulses - ons and offs or Is and Os A system that processes analogue signal is termed as analogue system and a system that processes digital signal is termed as digital system A few of these are light nuclear radiation and the electric signals governing the human nervous system which are interestingly enough most definitely discrete phenomena The use of digital practices can be a viable method for solving design problems in the real world The reasons that design problems are emphasized stems from the fact that the major areas of involvement for electrical and digital engineers are (I) the measurement (2) the control and (3) the transmission of information and energy Thus we fmd that we are continuously trying to find solutions to problems related to the measurement control and transmission of information or energy in the domain of the real world However the real world tends to have a continuous nature Because of this the discrete domain needs to the buffered in some way
In recent years systems that are capable of processing a mixture of both analogue and digital signals are increasingly popular The interdomain converter is a specialized system that converts or translates information of one domain into information of another domain For example an analogue signal can often be converted to a digital signal using analogue-to-digital converter (ADC) The processed signal can be converted back to the original form using the digital-toshyanalogue converter (DAC)
Since pure digital systems are made up of arrays of simple and reliable switches with only two positions a numerical system that already existed was adapted to serve as the tool needed for utilizing the basic concept This numerical math system called the binary system is based on the two symbols 0 and I in contrast to the decimal system which has ten symbols 0 I 2 9 We should see now that in order to use a digital system such as a digital computer for mathematical computations we must first convert our mathematical symbolisms (decimal in this case) into binary symbolisms to allow the computer to perform this mathematical operation Once this is done the inverse process must he performed to convert the binary results into a readable decimal representation
The obvious question Is digital worth all of the conversion The answer cannot be simply stated in yes or no terms but must be left to the individual and the particular situation In certain instances it may not in fact be worth the bother Such would not be the case if we were able to create and use multiple-valued logic systems to create a totally decimal machine Obviously if there were ten unique descriptors usable for our decimal computer there would be no need
to convert any infonn practically speaking bil system for some years t communicate with his IT
conversion and the diffe
15 The Importance
Digital systems are use have displaced the ear numerical and non-nume
Information processing processing task elimir representation of the pn the representation and tri
The finite number of va two values (binary sigm binary as a result the switches with two states
Digital signals are quit operating temperature significant portions of a separated so that small better dynamic range T be made more accurate Thus it is more reliab susceptible to variations
The advance of microelt of extremely complex d are built as integrated cil to select among differ~ hardware
Digital technology ha computers to small persl injected in a new autom large systems in a bank last 10 years the grov microprocessors being ~ used by the millions television sets and in controlling steel making
Action related Boolean we say that the Boolean
we say that the shorthand symbols 1 for values (binary numbers)
digital Analog signals on an oscilloscope screen
a series of pulses - ons as analogue system
A few of these are light system which are
digital practices can be a that design problems
for electrical and digital of information and
to problems related to the domain of the real world this the discrete domain
switches with only two as the tool needed for
system is based on has ten symbols 0 I 2 bull bull
a digital computer for symbolisms (decimal in mathematical operation the binary results into a
cannot be simply situation In certain
to convert any information into the now required two-valued binary system However practically speaking binary systems presently dominate and will continue to be the dominant system for some years to come Since such is the case and man ultimately must learn how to communicate with his machine it is necessary that we study the processes involved in number conversion and the different codes used to represent and convey information
IS The Importance of Digital Systems
Digital systems are used in information processing wherein they have become prevalent and have displaced the earlier analogue system Digital representation is well suited for both numerical and non-numerical information processing
Information processing can use a general-purpose system that is programmed for a particular processing task eliminating the need to have a different system for each task The representation of the program and its interpretation can use the same techniques employed for the representation and transformation of the data
The finite number of values in digital signal can be represented by a vector of signals with just two values (binary signals) This representation allow implementations in which all signals are binary as a result the devices that process these signals are very simple (essentially just switches with two states open and closed)
Digital signals are quite insensitive to variations of component parameter values such as operating temperature This includes its potential flexibility in terms of time-multiplexing significant portions of a given system The physical representation of the values is sufficiently separated so that small variations do not change the value it provides exact replicablity with a better dynamic range This is especially true for binary signals Numerical digital systems can be made more accurate by simply increasing the number of digits used in the representation Thus it is more reliable more applicable to nonlinear control more predictable and less susceptible to variations of environment
The advance of microelectronics technology in recent years have made possible the fabrication of extremely complex digital systems that are small fast and cheap Complex digital systems are built as integrated circuits composed of a large number of very simple devices It is possible to select among different implementations of systems that trade off speed and amount of hardware
Digital technology has affected computing from large multimillion dollars mainframe computers to small personal computers and microprocessor controllers measuring the fuel to be injected in a new automobile engine Many of us think of computers in the sense of medium to large systems in a bank or insurance company or for scientific research or military used In the last 10 years the growth of personal computing has been tremendous But most of the microprocessors being sold today do not go into personal computers Instead they are being used by the millions in dishwashers automobiles aircraft oscilloscopes stereo systems television sets and in industrial control systems used for measuring lumber thickness or controlling steel making
5
Digital technology is finding its way into areas of electronics normally thought of as strictly analogue Commercial two-way radios have microcontrollers setting the local oscillator frequency Electronic instrumentation such as oscilloscopes logic analyzers function generators power supplies and multimeters measuring current voltage and resistance all have made widespread use of digital technology In fact it is difficult to find a recently designed electronic instrument that does not use digital technology in some way Digital signal processing (DSP) is a methodology that involves the conversion of analogue information into digital form processes it in some rather sophisticated manner and produces an output either analogue or digital Modem submarines use DSP to make sense of acoustic noises that occur under the ocean for example
Digital technology is especially useful because it is less susceptible to electrical noise (spikes or fluxations in voltage or current) temperature effects component aging and other factors that affect analogue systems This does not mean that analogue technology is not important or that students of electronics and even computers should not study analogue circuit and systems In fact just the contrary is true The concepts of radio propagation antenna design amplifier analysis and active filters to mention a brief few are more important than ever To appropriately apply digital design principles to these areas certainly requires an in-depth understanding of analogue principles Furthermore as the frequencies of digital devices continue to increase digital systems designers are faced with solving analogue-related problems
The application of digital technology will continue to grow in a wide range of consumer product industrial control militarydefense and service industries Look for digital system speeds to increase new devices with added complexity integrated systems comprising both digital and analogue functions embedded into a single integrated circuit and even possibly the use of organic material for constructing memory devices
16 Overview of Modern Design Process
Design is a complex process more an art than a science Complex systems can be broken down into three simpler independent design stages the functional structural and physical stages Figure 11 depicts the general process flow in current logic synthesis systems
A switChing circuit design is first specified in the functional design stage with tools such as hardware description language (HDL) or schematic capture Hardware description language allows a design to be described in text form while schematic capture allows a design to be described in graphical form Once the design is specified it is converted into a mathematical description by the design tools and passed on to the next design stage
In the logic design stage the mathematical representation of the design is simplified without modifying the functionality Two major manipulation techniques that have been studied extensively are simplification and portioning techniques The simplification techniques aim to produce a simpler representation while the portioning techniques aim to break a large representation into a set of smaller but equivalent representations
When the manipulation run If the results of sirr redone or the original satisfactory the represen
In designing application placing and routing Ir programmable logic de logic blocks (placing) ar stage only involves prog
When the physical de consideration) may be f1
which may be part of th manufacturing Followir includes the testing ofm
Figure 11 (
thought of as strictly the local oscillator analyzers function
important
a
logic and resistance all have
to fi nd a recently designed Digital signal processing
Iinfnnml-inn into digital fonn output either analogue or
noises that occur under the
to electrical noise (spikes or and other factors that
is not important or that circuit and systems In
antenna design amplifier than ever To
requires an in-depth of digital devices
solving analogue-related
wide range of consumer Look for digital system systems comprising both
and even possibly the
stages
stage with tools such as description language
allows a design to be -rt-11 into a mathematical
is simplified without that have been studied
iti techniques aim to aim to break a large
When the manipulation is completed a pre-layout simulation (with ideal consideration) may be run If the results of simulation are not satisfactory the previous design stages will have to be redone or the original specification may have to be changed However if the results are satisfactory the representation will be passed on to the final stage - physical design stage
In designing application specific integrated circuit (ASIC) this stage includes floor planning placing and routing In designing field programmable gate arrays (FPGAs) and complex programmable logic devices (CPLDs) this stage includes defining the various programmable logic blocks (placing) and programming the interconnections (routing) In designing PLAs this stage only involves programming the interconnections (routing)
When the physical design stage is completed a post-layout simulation (with practical consideration) may be run If the results are not satisfactory the design will have to be redone which may be part of the entire process If the result is satisfactory the design will be sent for manufacturing Following the manufacturing process comes the testing of the devices which includes the testing of manufacturing faults and the design faults
Figure 11 General Process Flow in Current Logic Synthesis Systems
i
Research methoe 1917 Boolean Functions Problem Statement
Boolean derivatives and differentials are used as models for changes in discrete binary coded systems such as cryptosystems for information authentication and data encryption Derivatives describe crucial criteria of Boolean functions such as dependence and independence linearity monotonicity high degree of propagation high nonlinearity 0-1 balancedness and high algebraic degree They are operators generating other Boolean functions Equations with derivatives define classes of Boolean functions Boolean Differentials are models for any kinds of changes such as signal edges errors and deviations An important Boolean problem is that of designing Boolean functions satisfying simultaneously more than one nonlinearity criteria
Boolean function manipulation is the art of exploiting simplification opportunities that exist inherently in logical structures by using the identities that exist within that algebra or reducing the number of terms used We are seeking to express any logical function as simple as possible because this can lead to a reduced usage of resources when that same function is implemented physically
18 Objectives of the Research
The main objective of the project is to generalize simplification rules employed by several existing simplification algorithms and develop simplification algorithms based on the rules derived from the generalization While the measurable objectives are as stated below
I To survey on the existing simplification algorit~ms
2 To study and compare the simplification rules employed by these simplification algorithms
3 To generalize the existing simplification rules and from there identify new simplification rules
4 To implement software package which employs an effective set of simplification rules
The diagram in Figure I
)FamUiarize w gtStudy the nls
gtCompare simi gtAnaJyu the cI gtGeneralize the gt Derive rules fl
gtDevelop simpJ gt Implement the
gtTest new solho Compare resu
~
8
F
110 Thesis Structure
This thesis covers the fo l
rules employed by several algorithms based on the rules
Phase 3 Implementation of Software Package are as stated below
in discrete binary coded data encryption Derivatives and independence linearity
0- balanced ness and high functions Equations with
are models for any kinds rmSlnt Boolean problem is that
one nonlinearity criteria
IIlcallcm opportunities that exist within that algebra or reducing
function as simple as possible same function is implemented
19 Research methodology
The diagram in Figure 12 shows the methodology used and planned in conducting the research
Phase I Literature Review
IDIUJariu wllh the current work done in UNIMAS gtStudy the existing simplification rules
Phase 2 Generalization of Simplification Rules
ompare simplification ru les employed by different simplification algorithms gtAnalyze the characteristics of existing simplification rules gtGeoeralize the simplification rules based on their simplification characteristics raquo Derive rules from the generalization of simplification rules
simplification algorithms
identifY new simplification
of simplification rules
Develop simplification algorithms which emplOy different set of simplification rules raquo lmplement the algorithm onto computer using Visual C++ language
+Phase 4 Analysis of algorithms performance
raquoTest new software package by using practical circuits or benchmarks raquoCompare results obtained to that provided by the traditional methods
Figure 12 Research Methodology Flow Chart
110 Thesis Structure
This thesis covers the following topics
9
In Chapter I history brief concept of Digital System Design and importance of Digital System are provided The research objectives methodology and overview of modem design process are outlined as well
Chapter 2 documents the literature review performed The traditional representation techniques of simplification method basically cover truth table algebraic function and K-Map The existing simplification techniques such as algebraic simplification K-Map simplification Quine McshyCluskey tabulation method are reviewed and discussed
Chapter 3 lists ESPRESSO program description and examples It introduces the main features of Boolean Minimizer and the program is elaborated together with its data formats and controls Moreover the initial generation of implicants is described with an illustrative example
In Chapter 4 the experimental results of the proposed simplification method is evaluated and commented The source code of the simplification method is discussed and explained
In Chapter 5 a conclusion of this thesis is presented and recommendation on further works that can be carried out to further improve the simplification method is also provided
10
21 Review of Traditi4
In designing digital syste Maps or algebraic expres~ be limited in large circui circuits which computati( number of inputs increase has been introduced and representing techn iques de computation time and stOI(
22 Truth Table
Before any combinational a problem is the most imp correctly accomplished 0 necessary logic for imp len table ready for logic desi From the truth table the diagram drawn The logic integrated circuit families complementary metal-oxi (mnemonic) can take on ( variable of the real numbel conditions of a Boolean 1
format called a truth table
Truth table is the most funl describes the operational combinations of input vall row at a time Further the valued variable Thus if 1
there are four combinatio~ inputs is increased by 0
independent input variable 22 show the general truth 1
CHAPTER 2
LITERATURE REVIEW
importance of Digital System of modem design process are
representation technique and K-Map The existing
simplification Quine Mcshy
introduces the main features its data formats and controls illustrative example
method is evaluated and and explained
on further works that also provided
21 Review of Traditional Representation Techniques
In designing digital system switching circuits are usually represented using truth tables KshyMaps or algebraic expressions These traditional representation techniques have been proven to be limited in large circuit designs Thus a more efficient method of representing switching circuits which computation time and storage requirements do not grow exponentially as the number of inputs increases is required The graph-based representation method known as DD has been introduced and its popularity has grown rapidly in the last decade These modem representing techniques describe the operation of a switching circuit more efficiently both in computation time and storage requirements
22 Truth Table
Before any combinational logic system can be designed it must be defmed Proper statement of a problem is the most important part of any digital design task Nothing can occur until that is correctly accomplished Once correctly and clearly stated any problem can be converted to the necessary logic for implementation Practical applications rarely come in a prepackaged truth table ready for logic design Truth table must be constructed from verbal problem descriptions From the truth table the switching equations can be written and simplified and the logic diagram drawn The logic diagram can be realized using anyone of the three main digital integrated circuit families transistor-transistor logic (TTL) emitter-coupled logic (ECL) or complementary metal-oxide silicon (CMOS) We established that a Boolean variable (mnemonic) can take on only two values not an infinite number as its kindred associate the variable of the real number system This basic difference allows us to illustrate all possible logic conditions of a Boolean variable or a collection of Boolean variables using a finite tabular format called a truth table
Truth table is the most fundamental and classical way in the description of a switching circuit It describes the operational behavior of the circuit by listing the output values for all possible liOIIlbinations of input values or arguments in vertical order and each input combination one lOW at a time Further the nontrivial decisions in digital design are based on more than one twoshyvalued variable Thus if an output is to be completely specified as a function of two inputs dIere are four combinations that must be considered From this we see that as the number of ilputs is increased by one the number of possible combinations doubles Therefore n iadcpendent input variables will exhibit 2n distinct combinations of values Table 2 I and Table 22 show the general truth table for a function with n variables and an example with n = 3
II
3 10
311
3 12
313
7 314
9 315
14 316
adjacent in 2 3 15 317
31816
31919
41 Map 22
23 42
23
Algorithm 25
25
29
39
42
43
50
51
52
52
53
53
Example 6 of Coverage Directed Search 54
Example 7 of Coverage Directed Search 54
Example 8 of Coverage Directed Search 55
Example 9 of Coverage Directed Search 55
Example 10 of Coverage Directed Search 56
Example II of Coverage Directed Search 56
Example 1 of Sequential Search 57
Example 2 of Sequential Search 58
Example 3 of Sequential Search 59
Boolean Minimizer Program 60
Growth of Runtime As a Function of the Number of Care Mintenns 69 (200-1000)
Runtime Growth Depending on the Number of Input Variables (200- 70 1000)
Figure
11
21
22
23
24
25
26
41
42(a)
42(b)
43
LIST OF TABLES
Description
General process flow in current logic synthesis systems
General structure of a truth table
A 3-input variables truth table
Determine of Prime Implicants
Prime Implicant Chart
Set of four mintermsdont care terms for f=lm (131315) + ld (8910 II)
Prime Implicant Table
Runtime and Minimal Solutions for the Standard Single Output LGSynth93 Benchmarks
Comparison of the Result Quality for Problems With Input Variables (20-140)
Comparison of the Result Quality for Problems With Input Variables (180-300)
Comparison of the Runtime for Problems With Up to 1000 Input Variables and 1000 Minterms
Symbols ADC ASIC CAD CD Search CMOS CP CPLD DA DAC DC DCF DD DIDL DLL DSP ECL EPIs FPGAs HDL IE ISAPI K-Map LCMC LGSynth93 benchmarks LSI LSI MSI Pis PLAs
61 ROM SOP SSl TTL VLSI XLSI
13 35) + Id
Single Output
Input Variables
Input Variables
to 1000 Input
SYlDbols AOC ASIC CAD CD Search CMOS CP CPLO OA OAC DC DCF DO DIOL OLL OSP ECL EPIs FPGAs HOL IE ISAPI K-Map LCMC LGSynth93 benchmarks LSI LSI MSI PIs PLAs ROM SOP SSI TIL VLSI XLSI
LIST OF ABBREVIATIONS
Abbreviation Analog-to-Digital Converter Application Specific Integrated Circuit Computer Aided Design Coverage Directed Search Complementary Metal-Oxide Silicon Covering Problem Complex Programmable Logic Devices Design Automation Digital-to-Analog Converter Dont Care Disjunctive Canonical Form Decision Diagram Digital Integrated Design Language Dynamic Link Library Digital Signal Processing Emitter-Coupled Logic Essential Prime Implicants Field Programmable Gate Arrays Hardware Description Language Implicant Expansion Internet Server Application Programming Interface Karnaugh Map Least Covered Most Covering Logic Synthesis and Optimization Benchmarks Large Scale Integration Large Scale Integrated Circuits Medium Scale Integrated Circuits Prime Implicants Programmable Logic Arrays Read-Only-Memory Sum Of Product Small Scale Integrated Circuits Transistor-Transistor Logic Very Large Scale Integration Extra Large Scale Integrated Circuits
xii
CHAPTER 1
INTRODUCTION
11 Introduction
The field of digital system design has made great progress over the past decades From early days of simple relay switching circuits to the present time of sophisticated very large scale integration (VLSI) circuits the designing of a digital system has advanced to become a complex and multi-staged process Algorithms and techniques for representing manipulating simulating routing placing manufacturing and testing of designs are continuously introduced and modified Meanwhile the number of devices and technologies based on different logic families keep on growing As a result many design approaches have been developed which have given rise to a wide variety of possible solutions
While the design process of digital system is becoming more complex it is becoming less possible to design a system in one step using a single design tool And it is more necessary to break the design process into several stages using different design tools at each stage Such multi-staged design processes introduce the very undesired effect of requiring a system designer to learn the various design tools employed by the different stages
As each stage develops it becomes difficult for a designer to master all the tools As such design tool developers have to strive to increase the level of design automation without compromising the final solution Whereas a design automation (DA) or computer aided design (CAD) researcher can only focus hisher study on a specific area a highly automated design environment becomes less achievable Nevertheless researchers should try to keep abreast of the development of the entire design process if possible also the simulation manufacturing and testing processes (which come after the design process) so as to have a complete idea of developing an entire system
Since the early days of designing digital circuits simplification has been justified as an effective simplification technique of Boolean functions in reducing the cost of circuits It becomes an essential design process in various application of computer-aided design (CAD) such as test generation synthesis and verification The efficiency of Boolean functions simplification depends on the form of representation techniques Unfortunately the traditional methods of representation such as truth tables Kamaugh maps (K-Maps) and algebraic functions have been proven to be quite impractical This is because every increment of the Boolean function input size could yield a function with exponential representation Therefore it is costly in terms of computer time and storage space
In recent years decision diagrams (DDs) have become the most popular representation techniques employed by computer-aided-design software to represent Boolean functions Decision diagram [Akers 1978 and Bryant 1986] has advantage over the classical representation Two most distinctive advantages being its time complexity and space complexity are non-exponential ie as the input size of Boolean functions grow linearly computer time and storage space requirements of algorithms to represent and manipulate DDs do not necessarily grow exponentially (as is the case for traditional representation techniques)
I
12 History of Digital System Designs
A digital system is a synchronous system in which signals have a finite number of integer values and may change only at discrete instants The very basic digital design can be defined as the science of organizing arrays of simple switches into what is called a discrete system that performs transformations on two-level (binary) information in a meaningful and predictable way Certainly this is true but digital design as we know it today is much more exciting than this definition portends Digital representation and processing methods have been used for a long time but the development of digital artifacts underwent a dramatic increase with the invention of the digital computer Since then digital design underpins the creation of myriad of imaginative digital devices that surround us Extraordinary progress has been made in all these aspects making the computer indispensable in almost every aspect of modem society The development of computer technology and digital microelectronics such as hand-held calculators digital watches microprocessors microwave oven controllers and digital voltmeters in particular have made possible the cost effective production of a large variety of specialized digital systems This trend continues as new applications are replacing analogue systems but in many others they are making possible applications that did not previously exist As a consequence knowledge about the designs and use of digital systems is required in a large variety of human activities
In the late 1840s George Boole [I 849J invented a very abstract form of fundamental concepts of a two-valued (binary) system which is later called the Boolean algebra But Boolean algebra is not used until about 80 years later due to its sophistication In the late of 1930s Claude Shannon [1938] applied switching algebra onto his study of relay switching circuits Since then design methods have been pretty much standard following Booles and Shannons fundamentals with added refinements here and there as new knowledge has been discovered and more exotic logic devices have been developed tried and proven leading the way into one of the most fascinating and challenging fields of study
The theory was then extended to cover both the combinational and sequential circuits in the following one and half decades Combinational switching networks are those which depend only on the current inputs and which are without memory In sequential networks the outputs respond to both current inputs and the history of all previous inputs The system must remember the entire history of the input patterns
In the 1950s further development on the theory lead to the finite-state machine theory and then the automata theory meanwhile simplification of switching functions became an active area of research This is because of the logic gates were then very expensive Also Reed and Muller introduced Reed-Muller algebra This form of expression has now become very popular and useful in the study of AND-EXOR implementation of Boolean functions
The concept of design automation that allows larger and more complex digital system to be designed wholly by computer became popular in the early 1960s However the results obtained by these tools were not always satisfactory Therefore the computer aided design concept is then introduced This allows the designer to intervene with the computerized process Also in the 1960s Quine [1952] and McCluskey [1956] devised the tabulation method for Boolean function simplification In the late 1960s simplification became less essential because of a reduction in the cost of logic gates
2
Programmable Logic Ar desirable for implementin can be designed automat PLAs which were made Hence two-level implem synthesize switching fune level simplification again
13 Digital Designs (
Digital design as treated design of recognizable considered worthy of me digital designer in reachi attempt to standardize a the designers insight to dynamic action related aj
However if these techn designs they become nl
lend themselves very nic( to system design Digit multi-level register tran automation documentati Separation of the control hardware control imple) procedure capabilities fo down to the logic level
Generally speaking be in classifying information which can be processed ( a process of classifying information which can h False Thus the Boolean that any Boolean variab applicable to arguments really optimal This nonmiddot is generally a process of Actions It implies that tl information entities defil actions which is to be d directly related to som operation
The use of verbs such a logic message and does
number of integer values can be defined as the
a discrete system that oul and predictable
more exciting than have been used for a
increase with the the creation of myriad of
been made in all these of modem society The
such as hand-held and digital voltmeters variety of specialized
analogue systems but in previously exist As a
is required in a large
of fundamental concepts But Boolean algebra
late of 1930s Claude circuits Since then s and Shannons
has been discovered leading the way into one
sequential circuits in the are those which depend
networks the outputs system must remember
machine theory and then became an active area of
Also Reed and Muller very popular and
digital system to be the results obtained
aided design concept is tmiddotri middot7 ti process Also in
method for Boolean
Programmable Logic Arrays (PLAs) were introduced in the early 1970 s and became very desirable for implementing switching functions due to the fact that PLAs reduce design time and can be designed automatically An array of AND-gates and an array of OR-gates exist in the PLAs which were made possible with the advent of large-scale integration (LSI) technology Hence two-level implementation became popular The physical area requirement of PLAs to synthesize switching functions is directly linked to the size of the Boolean functions thus twoshylevel simplification again became an important area of research
13 Digital Designs Concept
Digital design as treated in the field of study relating the adaptation of Logic concepts to the design of recognizable realizable and reliable digital hardware These concepts have been considered worthy of mention because they have been found when properly applied to aid the digital designer in reaching his goals in a straightforward manner These concepts are also an attempt to standardize a logic Action description and definition for the purpose of improving the designers insight to logic design and documentation These concepts transfer the idea of a dynamic action related approach to logic thought
However if these techniques are practiced and applied to the more traditional small scale designs they become natural and easy to extend to system level design application They also lend themselves very nicely to the Digital Design Language and Programmed Logic approaches to system design Digital Integrated Design Language (DIDL) is a formal block-structured multi-level register transfer type specialized language system for use in the design design automation documentation and simulation of all digital systems including digital computers Separation of the control and the data path of a system are allowed so that either software or hardware control implementation can be employed DIDL has also macro definition and procedure capabilities for initial system specification various levels of design and simulation down to the logic level
Generally speaking being involved in digital design is dealing in logic which is a process of classifying information while information is intelligence related to ideas meanings and actions which can be processed or transformed into other forms Binary Logic or two-valued logic is a process of classifying information into two classes Traditionally binary arguments or that infonnation which can be definitely classified as two-valued have been deemed either True or False Thus the Boolean variable is unlike the algebraic variables of the field of real numbers in that any Boolean variable can take on only two values the True or False Though certainly applicable to arguments and conditions this TrueFalse classification for digital des ign is not really optimal This non-optimal classification stems from the fact that digital hardware design is generally a process of organizing hardware for the express purpose of classifying information Actions It implies that the hardware in a digital system should be 0rganized to process the input infonnation entities defined as binary input actions and in tum generate some binary output actions which is to be thought of as a dynamic process Action is the most hardware responses directly related to some physical operation or some condition resulting from a physical operation
The use of verbs such as Asserted Excited or Invoked can be used to modify as Action related logic message and does so by directing to the signal condition under which the Action is to be
3
l
l
performed Asserted is defined as the affirmative position of an Action related Boolean variable (mnemonic) Now if the logic operation is being performed we say that the Boolean variable is Asserted It follows that if the logic operation is not being performed we say that the Boolean variable is Not-Asserted Traditionally it is standard to use the shorthand symbols I for True and 0 for False However Is or Os are also used for numeric values (binary numbers) and as high or low voltage indicators as well
14 Digital and The Real World
In real life there are two ways of representing information analog and digital Analog signals contain all the information as a continuously varying wave - such as on an oscilloscope screen when you speak into a microphone connected to it Digital signals are a series of pulses - ons and offs or Is and Os A system that processes analogue signal is termed as analogue system and a system that processes digital signal is termed as digital system A few of these are light nuclear radiation and the electric signals governing the human nervous system which are interestingly enough most definitely discrete phenomena The use of digital practices can be a viable method for solving design problems in the real world The reasons that design problems are emphasized stems from the fact that the major areas of involvement for electrical and digital engineers are (I) the measurement (2) the control and (3) the transmission of information and energy Thus we fmd that we are continuously trying to find solutions to problems related to the measurement control and transmission of information or energy in the domain of the real world However the real world tends to have a continuous nature Because of this the discrete domain needs to the buffered in some way
In recent years systems that are capable of processing a mixture of both analogue and digital signals are increasingly popular The interdomain converter is a specialized system that converts or translates information of one domain into information of another domain For example an analogue signal can often be converted to a digital signal using analogue-to-digital converter (ADC) The processed signal can be converted back to the original form using the digital-toshyanalogue converter (DAC)
Since pure digital systems are made up of arrays of simple and reliable switches with only two positions a numerical system that already existed was adapted to serve as the tool needed for utilizing the basic concept This numerical math system called the binary system is based on the two symbols 0 and I in contrast to the decimal system which has ten symbols 0 I 2 9 We should see now that in order to use a digital system such as a digital computer for mathematical computations we must first convert our mathematical symbolisms (decimal in this case) into binary symbolisms to allow the computer to perform this mathematical operation Once this is done the inverse process must he performed to convert the binary results into a readable decimal representation
The obvious question Is digital worth all of the conversion The answer cannot be simply stated in yes or no terms but must be left to the individual and the particular situation In certain instances it may not in fact be worth the bother Such would not be the case if we were able to create and use multiple-valued logic systems to create a totally decimal machine Obviously if there were ten unique descriptors usable for our decimal computer there would be no need
to convert any infonn practically speaking bil system for some years t communicate with his IT
conversion and the diffe
15 The Importance
Digital systems are use have displaced the ear numerical and non-nume
Information processing processing task elimir representation of the pn the representation and tri
The finite number of va two values (binary sigm binary as a result the switches with two states
Digital signals are quit operating temperature significant portions of a separated so that small better dynamic range T be made more accurate Thus it is more reliab susceptible to variations
The advance of microelt of extremely complex d are built as integrated cil to select among differ~ hardware
Digital technology ha computers to small persl injected in a new autom large systems in a bank last 10 years the grov microprocessors being ~ used by the millions television sets and in controlling steel making
Action related Boolean we say that the Boolean
we say that the shorthand symbols 1 for values (binary numbers)
digital Analog signals on an oscilloscope screen
a series of pulses - ons as analogue system
A few of these are light system which are
digital practices can be a that design problems
for electrical and digital of information and
to problems related to the domain of the real world this the discrete domain
switches with only two as the tool needed for
system is based on has ten symbols 0 I 2 bull bull
a digital computer for symbolisms (decimal in mathematical operation the binary results into a
cannot be simply situation In certain
to convert any information into the now required two-valued binary system However practically speaking binary systems presently dominate and will continue to be the dominant system for some years to come Since such is the case and man ultimately must learn how to communicate with his machine it is necessary that we study the processes involved in number conversion and the different codes used to represent and convey information
IS The Importance of Digital Systems
Digital systems are used in information processing wherein they have become prevalent and have displaced the earlier analogue system Digital representation is well suited for both numerical and non-numerical information processing
Information processing can use a general-purpose system that is programmed for a particular processing task eliminating the need to have a different system for each task The representation of the program and its interpretation can use the same techniques employed for the representation and transformation of the data
The finite number of values in digital signal can be represented by a vector of signals with just two values (binary signals) This representation allow implementations in which all signals are binary as a result the devices that process these signals are very simple (essentially just switches with two states open and closed)
Digital signals are quite insensitive to variations of component parameter values such as operating temperature This includes its potential flexibility in terms of time-multiplexing significant portions of a given system The physical representation of the values is sufficiently separated so that small variations do not change the value it provides exact replicablity with a better dynamic range This is especially true for binary signals Numerical digital systems can be made more accurate by simply increasing the number of digits used in the representation Thus it is more reliable more applicable to nonlinear control more predictable and less susceptible to variations of environment
The advance of microelectronics technology in recent years have made possible the fabrication of extremely complex digital systems that are small fast and cheap Complex digital systems are built as integrated circuits composed of a large number of very simple devices It is possible to select among different implementations of systems that trade off speed and amount of hardware
Digital technology has affected computing from large multimillion dollars mainframe computers to small personal computers and microprocessor controllers measuring the fuel to be injected in a new automobile engine Many of us think of computers in the sense of medium to large systems in a bank or insurance company or for scientific research or military used In the last 10 years the growth of personal computing has been tremendous But most of the microprocessors being sold today do not go into personal computers Instead they are being used by the millions in dishwashers automobiles aircraft oscilloscopes stereo systems television sets and in industrial control systems used for measuring lumber thickness or controlling steel making
5
Digital technology is finding its way into areas of electronics normally thought of as strictly analogue Commercial two-way radios have microcontrollers setting the local oscillator frequency Electronic instrumentation such as oscilloscopes logic analyzers function generators power supplies and multimeters measuring current voltage and resistance all have made widespread use of digital technology In fact it is difficult to find a recently designed electronic instrument that does not use digital technology in some way Digital signal processing (DSP) is a methodology that involves the conversion of analogue information into digital form processes it in some rather sophisticated manner and produces an output either analogue or digital Modem submarines use DSP to make sense of acoustic noises that occur under the ocean for example
Digital technology is especially useful because it is less susceptible to electrical noise (spikes or fluxations in voltage or current) temperature effects component aging and other factors that affect analogue systems This does not mean that analogue technology is not important or that students of electronics and even computers should not study analogue circuit and systems In fact just the contrary is true The concepts of radio propagation antenna design amplifier analysis and active filters to mention a brief few are more important than ever To appropriately apply digital design principles to these areas certainly requires an in-depth understanding of analogue principles Furthermore as the frequencies of digital devices continue to increase digital systems designers are faced with solving analogue-related problems
The application of digital technology will continue to grow in a wide range of consumer product industrial control militarydefense and service industries Look for digital system speeds to increase new devices with added complexity integrated systems comprising both digital and analogue functions embedded into a single integrated circuit and even possibly the use of organic material for constructing memory devices
16 Overview of Modern Design Process
Design is a complex process more an art than a science Complex systems can be broken down into three simpler independent design stages the functional structural and physical stages Figure 11 depicts the general process flow in current logic synthesis systems
A switChing circuit design is first specified in the functional design stage with tools such as hardware description language (HDL) or schematic capture Hardware description language allows a design to be described in text form while schematic capture allows a design to be described in graphical form Once the design is specified it is converted into a mathematical description by the design tools and passed on to the next design stage
In the logic design stage the mathematical representation of the design is simplified without modifying the functionality Two major manipulation techniques that have been studied extensively are simplification and portioning techniques The simplification techniques aim to produce a simpler representation while the portioning techniques aim to break a large representation into a set of smaller but equivalent representations
When the manipulation run If the results of sirr redone or the original satisfactory the represen
In designing application placing and routing Ir programmable logic de logic blocks (placing) ar stage only involves prog
When the physical de consideration) may be f1
which may be part of th manufacturing Followir includes the testing ofm
Figure 11 (
thought of as strictly the local oscillator analyzers function
important
a
logic and resistance all have
to fi nd a recently designed Digital signal processing
Iinfnnml-inn into digital fonn output either analogue or
noises that occur under the
to electrical noise (spikes or and other factors that
is not important or that circuit and systems In
antenna design amplifier than ever To
requires an in-depth of digital devices
solving analogue-related
wide range of consumer Look for digital system systems comprising both
and even possibly the
stages
stage with tools such as description language
allows a design to be -rt-11 into a mathematical
is simplified without that have been studied
iti techniques aim to aim to break a large
When the manipulation is completed a pre-layout simulation (with ideal consideration) may be run If the results of simulation are not satisfactory the previous design stages will have to be redone or the original specification may have to be changed However if the results are satisfactory the representation will be passed on to the final stage - physical design stage
In designing application specific integrated circuit (ASIC) this stage includes floor planning placing and routing In designing field programmable gate arrays (FPGAs) and complex programmable logic devices (CPLDs) this stage includes defining the various programmable logic blocks (placing) and programming the interconnections (routing) In designing PLAs this stage only involves programming the interconnections (routing)
When the physical design stage is completed a post-layout simulation (with practical consideration) may be run If the results are not satisfactory the design will have to be redone which may be part of the entire process If the result is satisfactory the design will be sent for manufacturing Following the manufacturing process comes the testing of the devices which includes the testing of manufacturing faults and the design faults
Figure 11 General Process Flow in Current Logic Synthesis Systems
i
Research methoe 1917 Boolean Functions Problem Statement
Boolean derivatives and differentials are used as models for changes in discrete binary coded systems such as cryptosystems for information authentication and data encryption Derivatives describe crucial criteria of Boolean functions such as dependence and independence linearity monotonicity high degree of propagation high nonlinearity 0-1 balancedness and high algebraic degree They are operators generating other Boolean functions Equations with derivatives define classes of Boolean functions Boolean Differentials are models for any kinds of changes such as signal edges errors and deviations An important Boolean problem is that of designing Boolean functions satisfying simultaneously more than one nonlinearity criteria
Boolean function manipulation is the art of exploiting simplification opportunities that exist inherently in logical structures by using the identities that exist within that algebra or reducing the number of terms used We are seeking to express any logical function as simple as possible because this can lead to a reduced usage of resources when that same function is implemented physically
18 Objectives of the Research
The main objective of the project is to generalize simplification rules employed by several existing simplification algorithms and develop simplification algorithms based on the rules derived from the generalization While the measurable objectives are as stated below
I To survey on the existing simplification algorit~ms
2 To study and compare the simplification rules employed by these simplification algorithms
3 To generalize the existing simplification rules and from there identify new simplification rules
4 To implement software package which employs an effective set of simplification rules
The diagram in Figure I
)FamUiarize w gtStudy the nls
gtCompare simi gtAnaJyu the cI gtGeneralize the gt Derive rules fl
gtDevelop simpJ gt Implement the
gtTest new solho Compare resu
~
8
F
110 Thesis Structure
This thesis covers the fo l
rules employed by several algorithms based on the rules
Phase 3 Implementation of Software Package are as stated below
in discrete binary coded data encryption Derivatives and independence linearity
0- balanced ness and high functions Equations with
are models for any kinds rmSlnt Boolean problem is that
one nonlinearity criteria
IIlcallcm opportunities that exist within that algebra or reducing
function as simple as possible same function is implemented
19 Research methodology
The diagram in Figure 12 shows the methodology used and planned in conducting the research
Phase I Literature Review
IDIUJariu wllh the current work done in UNIMAS gtStudy the existing simplification rules
Phase 2 Generalization of Simplification Rules
ompare simplification ru les employed by different simplification algorithms gtAnalyze the characteristics of existing simplification rules gtGeoeralize the simplification rules based on their simplification characteristics raquo Derive rules from the generalization of simplification rules
simplification algorithms
identifY new simplification
of simplification rules
Develop simplification algorithms which emplOy different set of simplification rules raquo lmplement the algorithm onto computer using Visual C++ language
+Phase 4 Analysis of algorithms performance
raquoTest new software package by using practical circuits or benchmarks raquoCompare results obtained to that provided by the traditional methods
Figure 12 Research Methodology Flow Chart
110 Thesis Structure
This thesis covers the following topics
9
In Chapter I history brief concept of Digital System Design and importance of Digital System are provided The research objectives methodology and overview of modem design process are outlined as well
Chapter 2 documents the literature review performed The traditional representation techniques of simplification method basically cover truth table algebraic function and K-Map The existing simplification techniques such as algebraic simplification K-Map simplification Quine McshyCluskey tabulation method are reviewed and discussed
Chapter 3 lists ESPRESSO program description and examples It introduces the main features of Boolean Minimizer and the program is elaborated together with its data formats and controls Moreover the initial generation of implicants is described with an illustrative example
In Chapter 4 the experimental results of the proposed simplification method is evaluated and commented The source code of the simplification method is discussed and explained
In Chapter 5 a conclusion of this thesis is presented and recommendation on further works that can be carried out to further improve the simplification method is also provided
10
21 Review of Traditi4
In designing digital syste Maps or algebraic expres~ be limited in large circui circuits which computati( number of inputs increase has been introduced and representing techn iques de computation time and stOI(
22 Truth Table
Before any combinational a problem is the most imp correctly accomplished 0 necessary logic for imp len table ready for logic desi From the truth table the diagram drawn The logic integrated circuit families complementary metal-oxi (mnemonic) can take on ( variable of the real numbel conditions of a Boolean 1
format called a truth table
Truth table is the most funl describes the operational combinations of input vall row at a time Further the valued variable Thus if 1
there are four combinatio~ inputs is increased by 0
independent input variable 22 show the general truth 1
CHAPTER 2
LITERATURE REVIEW
importance of Digital System of modem design process are
representation technique and K-Map The existing
simplification Quine Mcshy
introduces the main features its data formats and controls illustrative example
method is evaluated and and explained
on further works that also provided
21 Review of Traditional Representation Techniques
In designing digital system switching circuits are usually represented using truth tables KshyMaps or algebraic expressions These traditional representation techniques have been proven to be limited in large circuit designs Thus a more efficient method of representing switching circuits which computation time and storage requirements do not grow exponentially as the number of inputs increases is required The graph-based representation method known as DD has been introduced and its popularity has grown rapidly in the last decade These modem representing techniques describe the operation of a switching circuit more efficiently both in computation time and storage requirements
22 Truth Table
Before any combinational logic system can be designed it must be defmed Proper statement of a problem is the most important part of any digital design task Nothing can occur until that is correctly accomplished Once correctly and clearly stated any problem can be converted to the necessary logic for implementation Practical applications rarely come in a prepackaged truth table ready for logic design Truth table must be constructed from verbal problem descriptions From the truth table the switching equations can be written and simplified and the logic diagram drawn The logic diagram can be realized using anyone of the three main digital integrated circuit families transistor-transistor logic (TTL) emitter-coupled logic (ECL) or complementary metal-oxide silicon (CMOS) We established that a Boolean variable (mnemonic) can take on only two values not an infinite number as its kindred associate the variable of the real number system This basic difference allows us to illustrate all possible logic conditions of a Boolean variable or a collection of Boolean variables using a finite tabular format called a truth table
Truth table is the most fundamental and classical way in the description of a switching circuit It describes the operational behavior of the circuit by listing the output values for all possible liOIIlbinations of input values or arguments in vertical order and each input combination one lOW at a time Further the nontrivial decisions in digital design are based on more than one twoshyvalued variable Thus if an output is to be completely specified as a function of two inputs dIere are four combinations that must be considered From this we see that as the number of ilputs is increased by one the number of possible combinations doubles Therefore n iadcpendent input variables will exhibit 2n distinct combinations of values Table 2 I and Table 22 show the general truth table for a function with n variables and an example with n = 3
II
Figure
11
21
22
23
24
25
26
41
42(a)
42(b)
43
LIST OF TABLES
Description
General process flow in current logic synthesis systems
General structure of a truth table
A 3-input variables truth table
Determine of Prime Implicants
Prime Implicant Chart
Set of four mintermsdont care terms for f=lm (131315) + ld (8910 II)
Prime Implicant Table
Runtime and Minimal Solutions for the Standard Single Output LGSynth93 Benchmarks
Comparison of the Result Quality for Problems With Input Variables (20-140)
Comparison of the Result Quality for Problems With Input Variables (180-300)
Comparison of the Runtime for Problems With Up to 1000 Input Variables and 1000 Minterms
Symbols ADC ASIC CAD CD Search CMOS CP CPLD DA DAC DC DCF DD DIDL DLL DSP ECL EPIs FPGAs HDL IE ISAPI K-Map LCMC LGSynth93 benchmarks LSI LSI MSI Pis PLAs
61 ROM SOP SSl TTL VLSI XLSI
13 35) + Id
Single Output
Input Variables
Input Variables
to 1000 Input
SYlDbols AOC ASIC CAD CD Search CMOS CP CPLO OA OAC DC DCF DO DIOL OLL OSP ECL EPIs FPGAs HOL IE ISAPI K-Map LCMC LGSynth93 benchmarks LSI LSI MSI PIs PLAs ROM SOP SSI TIL VLSI XLSI
LIST OF ABBREVIATIONS
Abbreviation Analog-to-Digital Converter Application Specific Integrated Circuit Computer Aided Design Coverage Directed Search Complementary Metal-Oxide Silicon Covering Problem Complex Programmable Logic Devices Design Automation Digital-to-Analog Converter Dont Care Disjunctive Canonical Form Decision Diagram Digital Integrated Design Language Dynamic Link Library Digital Signal Processing Emitter-Coupled Logic Essential Prime Implicants Field Programmable Gate Arrays Hardware Description Language Implicant Expansion Internet Server Application Programming Interface Karnaugh Map Least Covered Most Covering Logic Synthesis and Optimization Benchmarks Large Scale Integration Large Scale Integrated Circuits Medium Scale Integrated Circuits Prime Implicants Programmable Logic Arrays Read-Only-Memory Sum Of Product Small Scale Integrated Circuits Transistor-Transistor Logic Very Large Scale Integration Extra Large Scale Integrated Circuits
xii
CHAPTER 1
INTRODUCTION
11 Introduction
The field of digital system design has made great progress over the past decades From early days of simple relay switching circuits to the present time of sophisticated very large scale integration (VLSI) circuits the designing of a digital system has advanced to become a complex and multi-staged process Algorithms and techniques for representing manipulating simulating routing placing manufacturing and testing of designs are continuously introduced and modified Meanwhile the number of devices and technologies based on different logic families keep on growing As a result many design approaches have been developed which have given rise to a wide variety of possible solutions
While the design process of digital system is becoming more complex it is becoming less possible to design a system in one step using a single design tool And it is more necessary to break the design process into several stages using different design tools at each stage Such multi-staged design processes introduce the very undesired effect of requiring a system designer to learn the various design tools employed by the different stages
As each stage develops it becomes difficult for a designer to master all the tools As such design tool developers have to strive to increase the level of design automation without compromising the final solution Whereas a design automation (DA) or computer aided design (CAD) researcher can only focus hisher study on a specific area a highly automated design environment becomes less achievable Nevertheless researchers should try to keep abreast of the development of the entire design process if possible also the simulation manufacturing and testing processes (which come after the design process) so as to have a complete idea of developing an entire system
Since the early days of designing digital circuits simplification has been justified as an effective simplification technique of Boolean functions in reducing the cost of circuits It becomes an essential design process in various application of computer-aided design (CAD) such as test generation synthesis and verification The efficiency of Boolean functions simplification depends on the form of representation techniques Unfortunately the traditional methods of representation such as truth tables Kamaugh maps (K-Maps) and algebraic functions have been proven to be quite impractical This is because every increment of the Boolean function input size could yield a function with exponential representation Therefore it is costly in terms of computer time and storage space
In recent years decision diagrams (DDs) have become the most popular representation techniques employed by computer-aided-design software to represent Boolean functions Decision diagram [Akers 1978 and Bryant 1986] has advantage over the classical representation Two most distinctive advantages being its time complexity and space complexity are non-exponential ie as the input size of Boolean functions grow linearly computer time and storage space requirements of algorithms to represent and manipulate DDs do not necessarily grow exponentially (as is the case for traditional representation techniques)
I
12 History of Digital System Designs
A digital system is a synchronous system in which signals have a finite number of integer values and may change only at discrete instants The very basic digital design can be defined as the science of organizing arrays of simple switches into what is called a discrete system that performs transformations on two-level (binary) information in a meaningful and predictable way Certainly this is true but digital design as we know it today is much more exciting than this definition portends Digital representation and processing methods have been used for a long time but the development of digital artifacts underwent a dramatic increase with the invention of the digital computer Since then digital design underpins the creation of myriad of imaginative digital devices that surround us Extraordinary progress has been made in all these aspects making the computer indispensable in almost every aspect of modem society The development of computer technology and digital microelectronics such as hand-held calculators digital watches microprocessors microwave oven controllers and digital voltmeters in particular have made possible the cost effective production of a large variety of specialized digital systems This trend continues as new applications are replacing analogue systems but in many others they are making possible applications that did not previously exist As a consequence knowledge about the designs and use of digital systems is required in a large variety of human activities
In the late 1840s George Boole [I 849J invented a very abstract form of fundamental concepts of a two-valued (binary) system which is later called the Boolean algebra But Boolean algebra is not used until about 80 years later due to its sophistication In the late of 1930s Claude Shannon [1938] applied switching algebra onto his study of relay switching circuits Since then design methods have been pretty much standard following Booles and Shannons fundamentals with added refinements here and there as new knowledge has been discovered and more exotic logic devices have been developed tried and proven leading the way into one of the most fascinating and challenging fields of study
The theory was then extended to cover both the combinational and sequential circuits in the following one and half decades Combinational switching networks are those which depend only on the current inputs and which are without memory In sequential networks the outputs respond to both current inputs and the history of all previous inputs The system must remember the entire history of the input patterns
In the 1950s further development on the theory lead to the finite-state machine theory and then the automata theory meanwhile simplification of switching functions became an active area of research This is because of the logic gates were then very expensive Also Reed and Muller introduced Reed-Muller algebra This form of expression has now become very popular and useful in the study of AND-EXOR implementation of Boolean functions
The concept of design automation that allows larger and more complex digital system to be designed wholly by computer became popular in the early 1960s However the results obtained by these tools were not always satisfactory Therefore the computer aided design concept is then introduced This allows the designer to intervene with the computerized process Also in the 1960s Quine [1952] and McCluskey [1956] devised the tabulation method for Boolean function simplification In the late 1960s simplification became less essential because of a reduction in the cost of logic gates
2
Programmable Logic Ar desirable for implementin can be designed automat PLAs which were made Hence two-level implem synthesize switching fune level simplification again
13 Digital Designs (
Digital design as treated design of recognizable considered worthy of me digital designer in reachi attempt to standardize a the designers insight to dynamic action related aj
However if these techn designs they become nl
lend themselves very nic( to system design Digit multi-level register tran automation documentati Separation of the control hardware control imple) procedure capabilities fo down to the logic level
Generally speaking be in classifying information which can be processed ( a process of classifying information which can h False Thus the Boolean that any Boolean variab applicable to arguments really optimal This nonmiddot is generally a process of Actions It implies that tl information entities defil actions which is to be d directly related to som operation
The use of verbs such a logic message and does
number of integer values can be defined as the
a discrete system that oul and predictable
more exciting than have been used for a
increase with the the creation of myriad of
been made in all these of modem society The
such as hand-held and digital voltmeters variety of specialized
analogue systems but in previously exist As a
is required in a large
of fundamental concepts But Boolean algebra
late of 1930s Claude circuits Since then s and Shannons
has been discovered leading the way into one
sequential circuits in the are those which depend
networks the outputs system must remember
machine theory and then became an active area of
Also Reed and Muller very popular and
digital system to be the results obtained
aided design concept is tmiddotri middot7 ti process Also in
method for Boolean
Programmable Logic Arrays (PLAs) were introduced in the early 1970 s and became very desirable for implementing switching functions due to the fact that PLAs reduce design time and can be designed automatically An array of AND-gates and an array of OR-gates exist in the PLAs which were made possible with the advent of large-scale integration (LSI) technology Hence two-level implementation became popular The physical area requirement of PLAs to synthesize switching functions is directly linked to the size of the Boolean functions thus twoshylevel simplification again became an important area of research
13 Digital Designs Concept
Digital design as treated in the field of study relating the adaptation of Logic concepts to the design of recognizable realizable and reliable digital hardware These concepts have been considered worthy of mention because they have been found when properly applied to aid the digital designer in reaching his goals in a straightforward manner These concepts are also an attempt to standardize a logic Action description and definition for the purpose of improving the designers insight to logic design and documentation These concepts transfer the idea of a dynamic action related approach to logic thought
However if these techniques are practiced and applied to the more traditional small scale designs they become natural and easy to extend to system level design application They also lend themselves very nicely to the Digital Design Language and Programmed Logic approaches to system design Digital Integrated Design Language (DIDL) is a formal block-structured multi-level register transfer type specialized language system for use in the design design automation documentation and simulation of all digital systems including digital computers Separation of the control and the data path of a system are allowed so that either software or hardware control implementation can be employed DIDL has also macro definition and procedure capabilities for initial system specification various levels of design and simulation down to the logic level
Generally speaking being involved in digital design is dealing in logic which is a process of classifying information while information is intelligence related to ideas meanings and actions which can be processed or transformed into other forms Binary Logic or two-valued logic is a process of classifying information into two classes Traditionally binary arguments or that infonnation which can be definitely classified as two-valued have been deemed either True or False Thus the Boolean variable is unlike the algebraic variables of the field of real numbers in that any Boolean variable can take on only two values the True or False Though certainly applicable to arguments and conditions this TrueFalse classification for digital des ign is not really optimal This non-optimal classification stems from the fact that digital hardware design is generally a process of organizing hardware for the express purpose of classifying information Actions It implies that the hardware in a digital system should be 0rganized to process the input infonnation entities defined as binary input actions and in tum generate some binary output actions which is to be thought of as a dynamic process Action is the most hardware responses directly related to some physical operation or some condition resulting from a physical operation
The use of verbs such as Asserted Excited or Invoked can be used to modify as Action related logic message and does so by directing to the signal condition under which the Action is to be
3
l
l
performed Asserted is defined as the affirmative position of an Action related Boolean variable (mnemonic) Now if the logic operation is being performed we say that the Boolean variable is Asserted It follows that if the logic operation is not being performed we say that the Boolean variable is Not-Asserted Traditionally it is standard to use the shorthand symbols I for True and 0 for False However Is or Os are also used for numeric values (binary numbers) and as high or low voltage indicators as well
14 Digital and The Real World
In real life there are two ways of representing information analog and digital Analog signals contain all the information as a continuously varying wave - such as on an oscilloscope screen when you speak into a microphone connected to it Digital signals are a series of pulses - ons and offs or Is and Os A system that processes analogue signal is termed as analogue system and a system that processes digital signal is termed as digital system A few of these are light nuclear radiation and the electric signals governing the human nervous system which are interestingly enough most definitely discrete phenomena The use of digital practices can be a viable method for solving design problems in the real world The reasons that design problems are emphasized stems from the fact that the major areas of involvement for electrical and digital engineers are (I) the measurement (2) the control and (3) the transmission of information and energy Thus we fmd that we are continuously trying to find solutions to problems related to the measurement control and transmission of information or energy in the domain of the real world However the real world tends to have a continuous nature Because of this the discrete domain needs to the buffered in some way
In recent years systems that are capable of processing a mixture of both analogue and digital signals are increasingly popular The interdomain converter is a specialized system that converts or translates information of one domain into information of another domain For example an analogue signal can often be converted to a digital signal using analogue-to-digital converter (ADC) The processed signal can be converted back to the original form using the digital-toshyanalogue converter (DAC)
Since pure digital systems are made up of arrays of simple and reliable switches with only two positions a numerical system that already existed was adapted to serve as the tool needed for utilizing the basic concept This numerical math system called the binary system is based on the two symbols 0 and I in contrast to the decimal system which has ten symbols 0 I 2 9 We should see now that in order to use a digital system such as a digital computer for mathematical computations we must first convert our mathematical symbolisms (decimal in this case) into binary symbolisms to allow the computer to perform this mathematical operation Once this is done the inverse process must he performed to convert the binary results into a readable decimal representation
The obvious question Is digital worth all of the conversion The answer cannot be simply stated in yes or no terms but must be left to the individual and the particular situation In certain instances it may not in fact be worth the bother Such would not be the case if we were able to create and use multiple-valued logic systems to create a totally decimal machine Obviously if there were ten unique descriptors usable for our decimal computer there would be no need
to convert any infonn practically speaking bil system for some years t communicate with his IT
conversion and the diffe
15 The Importance
Digital systems are use have displaced the ear numerical and non-nume
Information processing processing task elimir representation of the pn the representation and tri
The finite number of va two values (binary sigm binary as a result the switches with two states
Digital signals are quit operating temperature significant portions of a separated so that small better dynamic range T be made more accurate Thus it is more reliab susceptible to variations
The advance of microelt of extremely complex d are built as integrated cil to select among differ~ hardware
Digital technology ha computers to small persl injected in a new autom large systems in a bank last 10 years the grov microprocessors being ~ used by the millions television sets and in controlling steel making
Action related Boolean we say that the Boolean
we say that the shorthand symbols 1 for values (binary numbers)
digital Analog signals on an oscilloscope screen
a series of pulses - ons as analogue system
A few of these are light system which are
digital practices can be a that design problems
for electrical and digital of information and
to problems related to the domain of the real world this the discrete domain
switches with only two as the tool needed for
system is based on has ten symbols 0 I 2 bull bull
a digital computer for symbolisms (decimal in mathematical operation the binary results into a
cannot be simply situation In certain
to convert any information into the now required two-valued binary system However practically speaking binary systems presently dominate and will continue to be the dominant system for some years to come Since such is the case and man ultimately must learn how to communicate with his machine it is necessary that we study the processes involved in number conversion and the different codes used to represent and convey information
IS The Importance of Digital Systems
Digital systems are used in information processing wherein they have become prevalent and have displaced the earlier analogue system Digital representation is well suited for both numerical and non-numerical information processing
Information processing can use a general-purpose system that is programmed for a particular processing task eliminating the need to have a different system for each task The representation of the program and its interpretation can use the same techniques employed for the representation and transformation of the data
The finite number of values in digital signal can be represented by a vector of signals with just two values (binary signals) This representation allow implementations in which all signals are binary as a result the devices that process these signals are very simple (essentially just switches with two states open and closed)
Digital signals are quite insensitive to variations of component parameter values such as operating temperature This includes its potential flexibility in terms of time-multiplexing significant portions of a given system The physical representation of the values is sufficiently separated so that small variations do not change the value it provides exact replicablity with a better dynamic range This is especially true for binary signals Numerical digital systems can be made more accurate by simply increasing the number of digits used in the representation Thus it is more reliable more applicable to nonlinear control more predictable and less susceptible to variations of environment
The advance of microelectronics technology in recent years have made possible the fabrication of extremely complex digital systems that are small fast and cheap Complex digital systems are built as integrated circuits composed of a large number of very simple devices It is possible to select among different implementations of systems that trade off speed and amount of hardware
Digital technology has affected computing from large multimillion dollars mainframe computers to small personal computers and microprocessor controllers measuring the fuel to be injected in a new automobile engine Many of us think of computers in the sense of medium to large systems in a bank or insurance company or for scientific research or military used In the last 10 years the growth of personal computing has been tremendous But most of the microprocessors being sold today do not go into personal computers Instead they are being used by the millions in dishwashers automobiles aircraft oscilloscopes stereo systems television sets and in industrial control systems used for measuring lumber thickness or controlling steel making
5
Digital technology is finding its way into areas of electronics normally thought of as strictly analogue Commercial two-way radios have microcontrollers setting the local oscillator frequency Electronic instrumentation such as oscilloscopes logic analyzers function generators power supplies and multimeters measuring current voltage and resistance all have made widespread use of digital technology In fact it is difficult to find a recently designed electronic instrument that does not use digital technology in some way Digital signal processing (DSP) is a methodology that involves the conversion of analogue information into digital form processes it in some rather sophisticated manner and produces an output either analogue or digital Modem submarines use DSP to make sense of acoustic noises that occur under the ocean for example
Digital technology is especially useful because it is less susceptible to electrical noise (spikes or fluxations in voltage or current) temperature effects component aging and other factors that affect analogue systems This does not mean that analogue technology is not important or that students of electronics and even computers should not study analogue circuit and systems In fact just the contrary is true The concepts of radio propagation antenna design amplifier analysis and active filters to mention a brief few are more important than ever To appropriately apply digital design principles to these areas certainly requires an in-depth understanding of analogue principles Furthermore as the frequencies of digital devices continue to increase digital systems designers are faced with solving analogue-related problems
The application of digital technology will continue to grow in a wide range of consumer product industrial control militarydefense and service industries Look for digital system speeds to increase new devices with added complexity integrated systems comprising both digital and analogue functions embedded into a single integrated circuit and even possibly the use of organic material for constructing memory devices
16 Overview of Modern Design Process
Design is a complex process more an art than a science Complex systems can be broken down into three simpler independent design stages the functional structural and physical stages Figure 11 depicts the general process flow in current logic synthesis systems
A switChing circuit design is first specified in the functional design stage with tools such as hardware description language (HDL) or schematic capture Hardware description language allows a design to be described in text form while schematic capture allows a design to be described in graphical form Once the design is specified it is converted into a mathematical description by the design tools and passed on to the next design stage
In the logic design stage the mathematical representation of the design is simplified without modifying the functionality Two major manipulation techniques that have been studied extensively are simplification and portioning techniques The simplification techniques aim to produce a simpler representation while the portioning techniques aim to break a large representation into a set of smaller but equivalent representations
When the manipulation run If the results of sirr redone or the original satisfactory the represen
In designing application placing and routing Ir programmable logic de logic blocks (placing) ar stage only involves prog
When the physical de consideration) may be f1
which may be part of th manufacturing Followir includes the testing ofm
Figure 11 (
thought of as strictly the local oscillator analyzers function
important
a
logic and resistance all have
to fi nd a recently designed Digital signal processing
Iinfnnml-inn into digital fonn output either analogue or
noises that occur under the
to electrical noise (spikes or and other factors that
is not important or that circuit and systems In
antenna design amplifier than ever To
requires an in-depth of digital devices
solving analogue-related
wide range of consumer Look for digital system systems comprising both
and even possibly the
stages
stage with tools such as description language
allows a design to be -rt-11 into a mathematical
is simplified without that have been studied
iti techniques aim to aim to break a large
When the manipulation is completed a pre-layout simulation (with ideal consideration) may be run If the results of simulation are not satisfactory the previous design stages will have to be redone or the original specification may have to be changed However if the results are satisfactory the representation will be passed on to the final stage - physical design stage
In designing application specific integrated circuit (ASIC) this stage includes floor planning placing and routing In designing field programmable gate arrays (FPGAs) and complex programmable logic devices (CPLDs) this stage includes defining the various programmable logic blocks (placing) and programming the interconnections (routing) In designing PLAs this stage only involves programming the interconnections (routing)
When the physical design stage is completed a post-layout simulation (with practical consideration) may be run If the results are not satisfactory the design will have to be redone which may be part of the entire process If the result is satisfactory the design will be sent for manufacturing Following the manufacturing process comes the testing of the devices which includes the testing of manufacturing faults and the design faults
Figure 11 General Process Flow in Current Logic Synthesis Systems
i
Research methoe 1917 Boolean Functions Problem Statement
Boolean derivatives and differentials are used as models for changes in discrete binary coded systems such as cryptosystems for information authentication and data encryption Derivatives describe crucial criteria of Boolean functions such as dependence and independence linearity monotonicity high degree of propagation high nonlinearity 0-1 balancedness and high algebraic degree They are operators generating other Boolean functions Equations with derivatives define classes of Boolean functions Boolean Differentials are models for any kinds of changes such as signal edges errors and deviations An important Boolean problem is that of designing Boolean functions satisfying simultaneously more than one nonlinearity criteria
Boolean function manipulation is the art of exploiting simplification opportunities that exist inherently in logical structures by using the identities that exist within that algebra or reducing the number of terms used We are seeking to express any logical function as simple as possible because this can lead to a reduced usage of resources when that same function is implemented physically
18 Objectives of the Research
The main objective of the project is to generalize simplification rules employed by several existing simplification algorithms and develop simplification algorithms based on the rules derived from the generalization While the measurable objectives are as stated below
I To survey on the existing simplification algorit~ms
2 To study and compare the simplification rules employed by these simplification algorithms
3 To generalize the existing simplification rules and from there identify new simplification rules
4 To implement software package which employs an effective set of simplification rules
The diagram in Figure I
)FamUiarize w gtStudy the nls
gtCompare simi gtAnaJyu the cI gtGeneralize the gt Derive rules fl
gtDevelop simpJ gt Implement the
gtTest new solho Compare resu
~
8
F
110 Thesis Structure
This thesis covers the fo l
rules employed by several algorithms based on the rules
Phase 3 Implementation of Software Package are as stated below
in discrete binary coded data encryption Derivatives and independence linearity
0- balanced ness and high functions Equations with
are models for any kinds rmSlnt Boolean problem is that
one nonlinearity criteria
IIlcallcm opportunities that exist within that algebra or reducing
function as simple as possible same function is implemented
19 Research methodology
The diagram in Figure 12 shows the methodology used and planned in conducting the research
Phase I Literature Review
IDIUJariu wllh the current work done in UNIMAS gtStudy the existing simplification rules
Phase 2 Generalization of Simplification Rules
ompare simplification ru les employed by different simplification algorithms gtAnalyze the characteristics of existing simplification rules gtGeoeralize the simplification rules based on their simplification characteristics raquo Derive rules from the generalization of simplification rules
simplification algorithms
identifY new simplification
of simplification rules
Develop simplification algorithms which emplOy different set of simplification rules raquo lmplement the algorithm onto computer using Visual C++ language
+Phase 4 Analysis of algorithms performance
raquoTest new software package by using practical circuits or benchmarks raquoCompare results obtained to that provided by the traditional methods
Figure 12 Research Methodology Flow Chart
110 Thesis Structure
This thesis covers the following topics
9
In Chapter I history brief concept of Digital System Design and importance of Digital System are provided The research objectives methodology and overview of modem design process are outlined as well
Chapter 2 documents the literature review performed The traditional representation techniques of simplification method basically cover truth table algebraic function and K-Map The existing simplification techniques such as algebraic simplification K-Map simplification Quine McshyCluskey tabulation method are reviewed and discussed
Chapter 3 lists ESPRESSO program description and examples It introduces the main features of Boolean Minimizer and the program is elaborated together with its data formats and controls Moreover the initial generation of implicants is described with an illustrative example
In Chapter 4 the experimental results of the proposed simplification method is evaluated and commented The source code of the simplification method is discussed and explained
In Chapter 5 a conclusion of this thesis is presented and recommendation on further works that can be carried out to further improve the simplification method is also provided
10
21 Review of Traditi4
In designing digital syste Maps or algebraic expres~ be limited in large circui circuits which computati( number of inputs increase has been introduced and representing techn iques de computation time and stOI(
22 Truth Table
Before any combinational a problem is the most imp correctly accomplished 0 necessary logic for imp len table ready for logic desi From the truth table the diagram drawn The logic integrated circuit families complementary metal-oxi (mnemonic) can take on ( variable of the real numbel conditions of a Boolean 1
format called a truth table
Truth table is the most funl describes the operational combinations of input vall row at a time Further the valued variable Thus if 1
there are four combinatio~ inputs is increased by 0
independent input variable 22 show the general truth 1
CHAPTER 2
LITERATURE REVIEW
importance of Digital System of modem design process are
representation technique and K-Map The existing
simplification Quine Mcshy
introduces the main features its data formats and controls illustrative example
method is evaluated and and explained
on further works that also provided
21 Review of Traditional Representation Techniques
In designing digital system switching circuits are usually represented using truth tables KshyMaps or algebraic expressions These traditional representation techniques have been proven to be limited in large circuit designs Thus a more efficient method of representing switching circuits which computation time and storage requirements do not grow exponentially as the number of inputs increases is required The graph-based representation method known as DD has been introduced and its popularity has grown rapidly in the last decade These modem representing techniques describe the operation of a switching circuit more efficiently both in computation time and storage requirements
22 Truth Table
Before any combinational logic system can be designed it must be defmed Proper statement of a problem is the most important part of any digital design task Nothing can occur until that is correctly accomplished Once correctly and clearly stated any problem can be converted to the necessary logic for implementation Practical applications rarely come in a prepackaged truth table ready for logic design Truth table must be constructed from verbal problem descriptions From the truth table the switching equations can be written and simplified and the logic diagram drawn The logic diagram can be realized using anyone of the three main digital integrated circuit families transistor-transistor logic (TTL) emitter-coupled logic (ECL) or complementary metal-oxide silicon (CMOS) We established that a Boolean variable (mnemonic) can take on only two values not an infinite number as its kindred associate the variable of the real number system This basic difference allows us to illustrate all possible logic conditions of a Boolean variable or a collection of Boolean variables using a finite tabular format called a truth table
Truth table is the most fundamental and classical way in the description of a switching circuit It describes the operational behavior of the circuit by listing the output values for all possible liOIIlbinations of input values or arguments in vertical order and each input combination one lOW at a time Further the nontrivial decisions in digital design are based on more than one twoshyvalued variable Thus if an output is to be completely specified as a function of two inputs dIere are four combinations that must be considered From this we see that as the number of ilputs is increased by one the number of possible combinations doubles Therefore n iadcpendent input variables will exhibit 2n distinct combinations of values Table 2 I and Table 22 show the general truth table for a function with n variables and an example with n = 3
II
13 35) + Id
Single Output
Input Variables
Input Variables
to 1000 Input
SYlDbols AOC ASIC CAD CD Search CMOS CP CPLO OA OAC DC DCF DO DIOL OLL OSP ECL EPIs FPGAs HOL IE ISAPI K-Map LCMC LGSynth93 benchmarks LSI LSI MSI PIs PLAs ROM SOP SSI TIL VLSI XLSI
LIST OF ABBREVIATIONS
Abbreviation Analog-to-Digital Converter Application Specific Integrated Circuit Computer Aided Design Coverage Directed Search Complementary Metal-Oxide Silicon Covering Problem Complex Programmable Logic Devices Design Automation Digital-to-Analog Converter Dont Care Disjunctive Canonical Form Decision Diagram Digital Integrated Design Language Dynamic Link Library Digital Signal Processing Emitter-Coupled Logic Essential Prime Implicants Field Programmable Gate Arrays Hardware Description Language Implicant Expansion Internet Server Application Programming Interface Karnaugh Map Least Covered Most Covering Logic Synthesis and Optimization Benchmarks Large Scale Integration Large Scale Integrated Circuits Medium Scale Integrated Circuits Prime Implicants Programmable Logic Arrays Read-Only-Memory Sum Of Product Small Scale Integrated Circuits Transistor-Transistor Logic Very Large Scale Integration Extra Large Scale Integrated Circuits
xii
CHAPTER 1
INTRODUCTION
11 Introduction
The field of digital system design has made great progress over the past decades From early days of simple relay switching circuits to the present time of sophisticated very large scale integration (VLSI) circuits the designing of a digital system has advanced to become a complex and multi-staged process Algorithms and techniques for representing manipulating simulating routing placing manufacturing and testing of designs are continuously introduced and modified Meanwhile the number of devices and technologies based on different logic families keep on growing As a result many design approaches have been developed which have given rise to a wide variety of possible solutions
While the design process of digital system is becoming more complex it is becoming less possible to design a system in one step using a single design tool And it is more necessary to break the design process into several stages using different design tools at each stage Such multi-staged design processes introduce the very undesired effect of requiring a system designer to learn the various design tools employed by the different stages
As each stage develops it becomes difficult for a designer to master all the tools As such design tool developers have to strive to increase the level of design automation without compromising the final solution Whereas a design automation (DA) or computer aided design (CAD) researcher can only focus hisher study on a specific area a highly automated design environment becomes less achievable Nevertheless researchers should try to keep abreast of the development of the entire design process if possible also the simulation manufacturing and testing processes (which come after the design process) so as to have a complete idea of developing an entire system
Since the early days of designing digital circuits simplification has been justified as an effective simplification technique of Boolean functions in reducing the cost of circuits It becomes an essential design process in various application of computer-aided design (CAD) such as test generation synthesis and verification The efficiency of Boolean functions simplification depends on the form of representation techniques Unfortunately the traditional methods of representation such as truth tables Kamaugh maps (K-Maps) and algebraic functions have been proven to be quite impractical This is because every increment of the Boolean function input size could yield a function with exponential representation Therefore it is costly in terms of computer time and storage space
In recent years decision diagrams (DDs) have become the most popular representation techniques employed by computer-aided-design software to represent Boolean functions Decision diagram [Akers 1978 and Bryant 1986] has advantage over the classical representation Two most distinctive advantages being its time complexity and space complexity are non-exponential ie as the input size of Boolean functions grow linearly computer time and storage space requirements of algorithms to represent and manipulate DDs do not necessarily grow exponentially (as is the case for traditional representation techniques)
I
12 History of Digital System Designs
A digital system is a synchronous system in which signals have a finite number of integer values and may change only at discrete instants The very basic digital design can be defined as the science of organizing arrays of simple switches into what is called a discrete system that performs transformations on two-level (binary) information in a meaningful and predictable way Certainly this is true but digital design as we know it today is much more exciting than this definition portends Digital representation and processing methods have been used for a long time but the development of digital artifacts underwent a dramatic increase with the invention of the digital computer Since then digital design underpins the creation of myriad of imaginative digital devices that surround us Extraordinary progress has been made in all these aspects making the computer indispensable in almost every aspect of modem society The development of computer technology and digital microelectronics such as hand-held calculators digital watches microprocessors microwave oven controllers and digital voltmeters in particular have made possible the cost effective production of a large variety of specialized digital systems This trend continues as new applications are replacing analogue systems but in many others they are making possible applications that did not previously exist As a consequence knowledge about the designs and use of digital systems is required in a large variety of human activities
In the late 1840s George Boole [I 849J invented a very abstract form of fundamental concepts of a two-valued (binary) system which is later called the Boolean algebra But Boolean algebra is not used until about 80 years later due to its sophistication In the late of 1930s Claude Shannon [1938] applied switching algebra onto his study of relay switching circuits Since then design methods have been pretty much standard following Booles and Shannons fundamentals with added refinements here and there as new knowledge has been discovered and more exotic logic devices have been developed tried and proven leading the way into one of the most fascinating and challenging fields of study
The theory was then extended to cover both the combinational and sequential circuits in the following one and half decades Combinational switching networks are those which depend only on the current inputs and which are without memory In sequential networks the outputs respond to both current inputs and the history of all previous inputs The system must remember the entire history of the input patterns
In the 1950s further development on the theory lead to the finite-state machine theory and then the automata theory meanwhile simplification of switching functions became an active area of research This is because of the logic gates were then very expensive Also Reed and Muller introduced Reed-Muller algebra This form of expression has now become very popular and useful in the study of AND-EXOR implementation of Boolean functions
The concept of design automation that allows larger and more complex digital system to be designed wholly by computer became popular in the early 1960s However the results obtained by these tools were not always satisfactory Therefore the computer aided design concept is then introduced This allows the designer to intervene with the computerized process Also in the 1960s Quine [1952] and McCluskey [1956] devised the tabulation method for Boolean function simplification In the late 1960s simplification became less essential because of a reduction in the cost of logic gates
2
Programmable Logic Ar desirable for implementin can be designed automat PLAs which were made Hence two-level implem synthesize switching fune level simplification again
13 Digital Designs (
Digital design as treated design of recognizable considered worthy of me digital designer in reachi attempt to standardize a the designers insight to dynamic action related aj
However if these techn designs they become nl
lend themselves very nic( to system design Digit multi-level register tran automation documentati Separation of the control hardware control imple) procedure capabilities fo down to the logic level
Generally speaking be in classifying information which can be processed ( a process of classifying information which can h False Thus the Boolean that any Boolean variab applicable to arguments really optimal This nonmiddot is generally a process of Actions It implies that tl information entities defil actions which is to be d directly related to som operation
The use of verbs such a logic message and does
number of integer values can be defined as the
a discrete system that oul and predictable
more exciting than have been used for a
increase with the the creation of myriad of
been made in all these of modem society The
such as hand-held and digital voltmeters variety of specialized
analogue systems but in previously exist As a
is required in a large
of fundamental concepts But Boolean algebra
late of 1930s Claude circuits Since then s and Shannons
has been discovered leading the way into one
sequential circuits in the are those which depend
networks the outputs system must remember
machine theory and then became an active area of
Also Reed and Muller very popular and
digital system to be the results obtained
aided design concept is tmiddotri middot7 ti process Also in
method for Boolean
Programmable Logic Arrays (PLAs) were introduced in the early 1970 s and became very desirable for implementing switching functions due to the fact that PLAs reduce design time and can be designed automatically An array of AND-gates and an array of OR-gates exist in the PLAs which were made possible with the advent of large-scale integration (LSI) technology Hence two-level implementation became popular The physical area requirement of PLAs to synthesize switching functions is directly linked to the size of the Boolean functions thus twoshylevel simplification again became an important area of research
13 Digital Designs Concept
Digital design as treated in the field of study relating the adaptation of Logic concepts to the design of recognizable realizable and reliable digital hardware These concepts have been considered worthy of mention because they have been found when properly applied to aid the digital designer in reaching his goals in a straightforward manner These concepts are also an attempt to standardize a logic Action description and definition for the purpose of improving the designers insight to logic design and documentation These concepts transfer the idea of a dynamic action related approach to logic thought
However if these techniques are practiced and applied to the more traditional small scale designs they become natural and easy to extend to system level design application They also lend themselves very nicely to the Digital Design Language and Programmed Logic approaches to system design Digital Integrated Design Language (DIDL) is a formal block-structured multi-level register transfer type specialized language system for use in the design design automation documentation and simulation of all digital systems including digital computers Separation of the control and the data path of a system are allowed so that either software or hardware control implementation can be employed DIDL has also macro definition and procedure capabilities for initial system specification various levels of design and simulation down to the logic level
Generally speaking being involved in digital design is dealing in logic which is a process of classifying information while information is intelligence related to ideas meanings and actions which can be processed or transformed into other forms Binary Logic or two-valued logic is a process of classifying information into two classes Traditionally binary arguments or that infonnation which can be definitely classified as two-valued have been deemed either True or False Thus the Boolean variable is unlike the algebraic variables of the field of real numbers in that any Boolean variable can take on only two values the True or False Though certainly applicable to arguments and conditions this TrueFalse classification for digital des ign is not really optimal This non-optimal classification stems from the fact that digital hardware design is generally a process of organizing hardware for the express purpose of classifying information Actions It implies that the hardware in a digital system should be 0rganized to process the input infonnation entities defined as binary input actions and in tum generate some binary output actions which is to be thought of as a dynamic process Action is the most hardware responses directly related to some physical operation or some condition resulting from a physical operation
The use of verbs such as Asserted Excited or Invoked can be used to modify as Action related logic message and does so by directing to the signal condition under which the Action is to be
3
l
l
performed Asserted is defined as the affirmative position of an Action related Boolean variable (mnemonic) Now if the logic operation is being performed we say that the Boolean variable is Asserted It follows that if the logic operation is not being performed we say that the Boolean variable is Not-Asserted Traditionally it is standard to use the shorthand symbols I for True and 0 for False However Is or Os are also used for numeric values (binary numbers) and as high or low voltage indicators as well
14 Digital and The Real World
In real life there are two ways of representing information analog and digital Analog signals contain all the information as a continuously varying wave - such as on an oscilloscope screen when you speak into a microphone connected to it Digital signals are a series of pulses - ons and offs or Is and Os A system that processes analogue signal is termed as analogue system and a system that processes digital signal is termed as digital system A few of these are light nuclear radiation and the electric signals governing the human nervous system which are interestingly enough most definitely discrete phenomena The use of digital practices can be a viable method for solving design problems in the real world The reasons that design problems are emphasized stems from the fact that the major areas of involvement for electrical and digital engineers are (I) the measurement (2) the control and (3) the transmission of information and energy Thus we fmd that we are continuously trying to find solutions to problems related to the measurement control and transmission of information or energy in the domain of the real world However the real world tends to have a continuous nature Because of this the discrete domain needs to the buffered in some way
In recent years systems that are capable of processing a mixture of both analogue and digital signals are increasingly popular The interdomain converter is a specialized system that converts or translates information of one domain into information of another domain For example an analogue signal can often be converted to a digital signal using analogue-to-digital converter (ADC) The processed signal can be converted back to the original form using the digital-toshyanalogue converter (DAC)
Since pure digital systems are made up of arrays of simple and reliable switches with only two positions a numerical system that already existed was adapted to serve as the tool needed for utilizing the basic concept This numerical math system called the binary system is based on the two symbols 0 and I in contrast to the decimal system which has ten symbols 0 I 2 9 We should see now that in order to use a digital system such as a digital computer for mathematical computations we must first convert our mathematical symbolisms (decimal in this case) into binary symbolisms to allow the computer to perform this mathematical operation Once this is done the inverse process must he performed to convert the binary results into a readable decimal representation
The obvious question Is digital worth all of the conversion The answer cannot be simply stated in yes or no terms but must be left to the individual and the particular situation In certain instances it may not in fact be worth the bother Such would not be the case if we were able to create and use multiple-valued logic systems to create a totally decimal machine Obviously if there were ten unique descriptors usable for our decimal computer there would be no need
to convert any infonn practically speaking bil system for some years t communicate with his IT
conversion and the diffe
15 The Importance
Digital systems are use have displaced the ear numerical and non-nume
Information processing processing task elimir representation of the pn the representation and tri
The finite number of va two values (binary sigm binary as a result the switches with two states
Digital signals are quit operating temperature significant portions of a separated so that small better dynamic range T be made more accurate Thus it is more reliab susceptible to variations
The advance of microelt of extremely complex d are built as integrated cil to select among differ~ hardware
Digital technology ha computers to small persl injected in a new autom large systems in a bank last 10 years the grov microprocessors being ~ used by the millions television sets and in controlling steel making
Action related Boolean we say that the Boolean
we say that the shorthand symbols 1 for values (binary numbers)
digital Analog signals on an oscilloscope screen
a series of pulses - ons as analogue system
A few of these are light system which are
digital practices can be a that design problems
for electrical and digital of information and
to problems related to the domain of the real world this the discrete domain
switches with only two as the tool needed for
system is based on has ten symbols 0 I 2 bull bull
a digital computer for symbolisms (decimal in mathematical operation the binary results into a
cannot be simply situation In certain
to convert any information into the now required two-valued binary system However practically speaking binary systems presently dominate and will continue to be the dominant system for some years to come Since such is the case and man ultimately must learn how to communicate with his machine it is necessary that we study the processes involved in number conversion and the different codes used to represent and convey information
IS The Importance of Digital Systems
Digital systems are used in information processing wherein they have become prevalent and have displaced the earlier analogue system Digital representation is well suited for both numerical and non-numerical information processing
Information processing can use a general-purpose system that is programmed for a particular processing task eliminating the need to have a different system for each task The representation of the program and its interpretation can use the same techniques employed for the representation and transformation of the data
The finite number of values in digital signal can be represented by a vector of signals with just two values (binary signals) This representation allow implementations in which all signals are binary as a result the devices that process these signals are very simple (essentially just switches with two states open and closed)
Digital signals are quite insensitive to variations of component parameter values such as operating temperature This includes its potential flexibility in terms of time-multiplexing significant portions of a given system The physical representation of the values is sufficiently separated so that small variations do not change the value it provides exact replicablity with a better dynamic range This is especially true for binary signals Numerical digital systems can be made more accurate by simply increasing the number of digits used in the representation Thus it is more reliable more applicable to nonlinear control more predictable and less susceptible to variations of environment
The advance of microelectronics technology in recent years have made possible the fabrication of extremely complex digital systems that are small fast and cheap Complex digital systems are built as integrated circuits composed of a large number of very simple devices It is possible to select among different implementations of systems that trade off speed and amount of hardware
Digital technology has affected computing from large multimillion dollars mainframe computers to small personal computers and microprocessor controllers measuring the fuel to be injected in a new automobile engine Many of us think of computers in the sense of medium to large systems in a bank or insurance company or for scientific research or military used In the last 10 years the growth of personal computing has been tremendous But most of the microprocessors being sold today do not go into personal computers Instead they are being used by the millions in dishwashers automobiles aircraft oscilloscopes stereo systems television sets and in industrial control systems used for measuring lumber thickness or controlling steel making
5
Digital technology is finding its way into areas of electronics normally thought of as strictly analogue Commercial two-way radios have microcontrollers setting the local oscillator frequency Electronic instrumentation such as oscilloscopes logic analyzers function generators power supplies and multimeters measuring current voltage and resistance all have made widespread use of digital technology In fact it is difficult to find a recently designed electronic instrument that does not use digital technology in some way Digital signal processing (DSP) is a methodology that involves the conversion of analogue information into digital form processes it in some rather sophisticated manner and produces an output either analogue or digital Modem submarines use DSP to make sense of acoustic noises that occur under the ocean for example
Digital technology is especially useful because it is less susceptible to electrical noise (spikes or fluxations in voltage or current) temperature effects component aging and other factors that affect analogue systems This does not mean that analogue technology is not important or that students of electronics and even computers should not study analogue circuit and systems In fact just the contrary is true The concepts of radio propagation antenna design amplifier analysis and active filters to mention a brief few are more important than ever To appropriately apply digital design principles to these areas certainly requires an in-depth understanding of analogue principles Furthermore as the frequencies of digital devices continue to increase digital systems designers are faced with solving analogue-related problems
The application of digital technology will continue to grow in a wide range of consumer product industrial control militarydefense and service industries Look for digital system speeds to increase new devices with added complexity integrated systems comprising both digital and analogue functions embedded into a single integrated circuit and even possibly the use of organic material for constructing memory devices
16 Overview of Modern Design Process
Design is a complex process more an art than a science Complex systems can be broken down into three simpler independent design stages the functional structural and physical stages Figure 11 depicts the general process flow in current logic synthesis systems
A switChing circuit design is first specified in the functional design stage with tools such as hardware description language (HDL) or schematic capture Hardware description language allows a design to be described in text form while schematic capture allows a design to be described in graphical form Once the design is specified it is converted into a mathematical description by the design tools and passed on to the next design stage
In the logic design stage the mathematical representation of the design is simplified without modifying the functionality Two major manipulation techniques that have been studied extensively are simplification and portioning techniques The simplification techniques aim to produce a simpler representation while the portioning techniques aim to break a large representation into a set of smaller but equivalent representations
When the manipulation run If the results of sirr redone or the original satisfactory the represen
In designing application placing and routing Ir programmable logic de logic blocks (placing) ar stage only involves prog
When the physical de consideration) may be f1
which may be part of th manufacturing Followir includes the testing ofm
Figure 11 (
thought of as strictly the local oscillator analyzers function
important
a
logic and resistance all have
to fi nd a recently designed Digital signal processing
Iinfnnml-inn into digital fonn output either analogue or
noises that occur under the
to electrical noise (spikes or and other factors that
is not important or that circuit and systems In
antenna design amplifier than ever To
requires an in-depth of digital devices
solving analogue-related
wide range of consumer Look for digital system systems comprising both
and even possibly the
stages
stage with tools such as description language
allows a design to be -rt-11 into a mathematical
is simplified without that have been studied
iti techniques aim to aim to break a large
When the manipulation is completed a pre-layout simulation (with ideal consideration) may be run If the results of simulation are not satisfactory the previous design stages will have to be redone or the original specification may have to be changed However if the results are satisfactory the representation will be passed on to the final stage - physical design stage
In designing application specific integrated circuit (ASIC) this stage includes floor planning placing and routing In designing field programmable gate arrays (FPGAs) and complex programmable logic devices (CPLDs) this stage includes defining the various programmable logic blocks (placing) and programming the interconnections (routing) In designing PLAs this stage only involves programming the interconnections (routing)
When the physical design stage is completed a post-layout simulation (with practical consideration) may be run If the results are not satisfactory the design will have to be redone which may be part of the entire process If the result is satisfactory the design will be sent for manufacturing Following the manufacturing process comes the testing of the devices which includes the testing of manufacturing faults and the design faults
Figure 11 General Process Flow in Current Logic Synthesis Systems
i
Research methoe 1917 Boolean Functions Problem Statement
Boolean derivatives and differentials are used as models for changes in discrete binary coded systems such as cryptosystems for information authentication and data encryption Derivatives describe crucial criteria of Boolean functions such as dependence and independence linearity monotonicity high degree of propagation high nonlinearity 0-1 balancedness and high algebraic degree They are operators generating other Boolean functions Equations with derivatives define classes of Boolean functions Boolean Differentials are models for any kinds of changes such as signal edges errors and deviations An important Boolean problem is that of designing Boolean functions satisfying simultaneously more than one nonlinearity criteria
Boolean function manipulation is the art of exploiting simplification opportunities that exist inherently in logical structures by using the identities that exist within that algebra or reducing the number of terms used We are seeking to express any logical function as simple as possible because this can lead to a reduced usage of resources when that same function is implemented physically
18 Objectives of the Research
The main objective of the project is to generalize simplification rules employed by several existing simplification algorithms and develop simplification algorithms based on the rules derived from the generalization While the measurable objectives are as stated below
I To survey on the existing simplification algorit~ms
2 To study and compare the simplification rules employed by these simplification algorithms
3 To generalize the existing simplification rules and from there identify new simplification rules
4 To implement software package which employs an effective set of simplification rules
The diagram in Figure I
)FamUiarize w gtStudy the nls
gtCompare simi gtAnaJyu the cI gtGeneralize the gt Derive rules fl
gtDevelop simpJ gt Implement the
gtTest new solho Compare resu
~
8
F
110 Thesis Structure
This thesis covers the fo l
rules employed by several algorithms based on the rules
Phase 3 Implementation of Software Package are as stated below
in discrete binary coded data encryption Derivatives and independence linearity
0- balanced ness and high functions Equations with
are models for any kinds rmSlnt Boolean problem is that
one nonlinearity criteria
IIlcallcm opportunities that exist within that algebra or reducing
function as simple as possible same function is implemented
19 Research methodology
The diagram in Figure 12 shows the methodology used and planned in conducting the research
Phase I Literature Review
IDIUJariu wllh the current work done in UNIMAS gtStudy the existing simplification rules
Phase 2 Generalization of Simplification Rules
ompare simplification ru les employed by different simplification algorithms gtAnalyze the characteristics of existing simplification rules gtGeoeralize the simplification rules based on their simplification characteristics raquo Derive rules from the generalization of simplification rules
simplification algorithms
identifY new simplification
of simplification rules
Develop simplification algorithms which emplOy different set of simplification rules raquo lmplement the algorithm onto computer using Visual C++ language
+Phase 4 Analysis of algorithms performance
raquoTest new software package by using practical circuits or benchmarks raquoCompare results obtained to that provided by the traditional methods
Figure 12 Research Methodology Flow Chart
110 Thesis Structure
This thesis covers the following topics
9
In Chapter I history brief concept of Digital System Design and importance of Digital System are provided The research objectives methodology and overview of modem design process are outlined as well
Chapter 2 documents the literature review performed The traditional representation techniques of simplification method basically cover truth table algebraic function and K-Map The existing simplification techniques such as algebraic simplification K-Map simplification Quine McshyCluskey tabulation method are reviewed and discussed
Chapter 3 lists ESPRESSO program description and examples It introduces the main features of Boolean Minimizer and the program is elaborated together with its data formats and controls Moreover the initial generation of implicants is described with an illustrative example
In Chapter 4 the experimental results of the proposed simplification method is evaluated and commented The source code of the simplification method is discussed and explained
In Chapter 5 a conclusion of this thesis is presented and recommendation on further works that can be carried out to further improve the simplification method is also provided
10
21 Review of Traditi4
In designing digital syste Maps or algebraic expres~ be limited in large circui circuits which computati( number of inputs increase has been introduced and representing techn iques de computation time and stOI(
22 Truth Table
Before any combinational a problem is the most imp correctly accomplished 0 necessary logic for imp len table ready for logic desi From the truth table the diagram drawn The logic integrated circuit families complementary metal-oxi (mnemonic) can take on ( variable of the real numbel conditions of a Boolean 1
format called a truth table
Truth table is the most funl describes the operational combinations of input vall row at a time Further the valued variable Thus if 1
there are four combinatio~ inputs is increased by 0
independent input variable 22 show the general truth 1
CHAPTER 2
LITERATURE REVIEW
importance of Digital System of modem design process are
representation technique and K-Map The existing
simplification Quine Mcshy
introduces the main features its data formats and controls illustrative example
method is evaluated and and explained
on further works that also provided
21 Review of Traditional Representation Techniques
In designing digital system switching circuits are usually represented using truth tables KshyMaps or algebraic expressions These traditional representation techniques have been proven to be limited in large circuit designs Thus a more efficient method of representing switching circuits which computation time and storage requirements do not grow exponentially as the number of inputs increases is required The graph-based representation method known as DD has been introduced and its popularity has grown rapidly in the last decade These modem representing techniques describe the operation of a switching circuit more efficiently both in computation time and storage requirements
22 Truth Table
Before any combinational logic system can be designed it must be defmed Proper statement of a problem is the most important part of any digital design task Nothing can occur until that is correctly accomplished Once correctly and clearly stated any problem can be converted to the necessary logic for implementation Practical applications rarely come in a prepackaged truth table ready for logic design Truth table must be constructed from verbal problem descriptions From the truth table the switching equations can be written and simplified and the logic diagram drawn The logic diagram can be realized using anyone of the three main digital integrated circuit families transistor-transistor logic (TTL) emitter-coupled logic (ECL) or complementary metal-oxide silicon (CMOS) We established that a Boolean variable (mnemonic) can take on only two values not an infinite number as its kindred associate the variable of the real number system This basic difference allows us to illustrate all possible logic conditions of a Boolean variable or a collection of Boolean variables using a finite tabular format called a truth table
Truth table is the most fundamental and classical way in the description of a switching circuit It describes the operational behavior of the circuit by listing the output values for all possible liOIIlbinations of input values or arguments in vertical order and each input combination one lOW at a time Further the nontrivial decisions in digital design are based on more than one twoshyvalued variable Thus if an output is to be completely specified as a function of two inputs dIere are four combinations that must be considered From this we see that as the number of ilputs is increased by one the number of possible combinations doubles Therefore n iadcpendent input variables will exhibit 2n distinct combinations of values Table 2 I and Table 22 show the general truth table for a function with n variables and an example with n = 3
II
CHAPTER 1
INTRODUCTION
11 Introduction
The field of digital system design has made great progress over the past decades From early days of simple relay switching circuits to the present time of sophisticated very large scale integration (VLSI) circuits the designing of a digital system has advanced to become a complex and multi-staged process Algorithms and techniques for representing manipulating simulating routing placing manufacturing and testing of designs are continuously introduced and modified Meanwhile the number of devices and technologies based on different logic families keep on growing As a result many design approaches have been developed which have given rise to a wide variety of possible solutions
While the design process of digital system is becoming more complex it is becoming less possible to design a system in one step using a single design tool And it is more necessary to break the design process into several stages using different design tools at each stage Such multi-staged design processes introduce the very undesired effect of requiring a system designer to learn the various design tools employed by the different stages
As each stage develops it becomes difficult for a designer to master all the tools As such design tool developers have to strive to increase the level of design automation without compromising the final solution Whereas a design automation (DA) or computer aided design (CAD) researcher can only focus hisher study on a specific area a highly automated design environment becomes less achievable Nevertheless researchers should try to keep abreast of the development of the entire design process if possible also the simulation manufacturing and testing processes (which come after the design process) so as to have a complete idea of developing an entire system
Since the early days of designing digital circuits simplification has been justified as an effective simplification technique of Boolean functions in reducing the cost of circuits It becomes an essential design process in various application of computer-aided design (CAD) such as test generation synthesis and verification The efficiency of Boolean functions simplification depends on the form of representation techniques Unfortunately the traditional methods of representation such as truth tables Kamaugh maps (K-Maps) and algebraic functions have been proven to be quite impractical This is because every increment of the Boolean function input size could yield a function with exponential representation Therefore it is costly in terms of computer time and storage space
In recent years decision diagrams (DDs) have become the most popular representation techniques employed by computer-aided-design software to represent Boolean functions Decision diagram [Akers 1978 and Bryant 1986] has advantage over the classical representation Two most distinctive advantages being its time complexity and space complexity are non-exponential ie as the input size of Boolean functions grow linearly computer time and storage space requirements of algorithms to represent and manipulate DDs do not necessarily grow exponentially (as is the case for traditional representation techniques)
I
12 History of Digital System Designs
A digital system is a synchronous system in which signals have a finite number of integer values and may change only at discrete instants The very basic digital design can be defined as the science of organizing arrays of simple switches into what is called a discrete system that performs transformations on two-level (binary) information in a meaningful and predictable way Certainly this is true but digital design as we know it today is much more exciting than this definition portends Digital representation and processing methods have been used for a long time but the development of digital artifacts underwent a dramatic increase with the invention of the digital computer Since then digital design underpins the creation of myriad of imaginative digital devices that surround us Extraordinary progress has been made in all these aspects making the computer indispensable in almost every aspect of modem society The development of computer technology and digital microelectronics such as hand-held calculators digital watches microprocessors microwave oven controllers and digital voltmeters in particular have made possible the cost effective production of a large variety of specialized digital systems This trend continues as new applications are replacing analogue systems but in many others they are making possible applications that did not previously exist As a consequence knowledge about the designs and use of digital systems is required in a large variety of human activities
In the late 1840s George Boole [I 849J invented a very abstract form of fundamental concepts of a two-valued (binary) system which is later called the Boolean algebra But Boolean algebra is not used until about 80 years later due to its sophistication In the late of 1930s Claude Shannon [1938] applied switching algebra onto his study of relay switching circuits Since then design methods have been pretty much standard following Booles and Shannons fundamentals with added refinements here and there as new knowledge has been discovered and more exotic logic devices have been developed tried and proven leading the way into one of the most fascinating and challenging fields of study
The theory was then extended to cover both the combinational and sequential circuits in the following one and half decades Combinational switching networks are those which depend only on the current inputs and which are without memory In sequential networks the outputs respond to both current inputs and the history of all previous inputs The system must remember the entire history of the input patterns
In the 1950s further development on the theory lead to the finite-state machine theory and then the automata theory meanwhile simplification of switching functions became an active area of research This is because of the logic gates were then very expensive Also Reed and Muller introduced Reed-Muller algebra This form of expression has now become very popular and useful in the study of AND-EXOR implementation of Boolean functions
The concept of design automation that allows larger and more complex digital system to be designed wholly by computer became popular in the early 1960s However the results obtained by these tools were not always satisfactory Therefore the computer aided design concept is then introduced This allows the designer to intervene with the computerized process Also in the 1960s Quine [1952] and McCluskey [1956] devised the tabulation method for Boolean function simplification In the late 1960s simplification became less essential because of a reduction in the cost of logic gates
2
Programmable Logic Ar desirable for implementin can be designed automat PLAs which were made Hence two-level implem synthesize switching fune level simplification again
13 Digital Designs (
Digital design as treated design of recognizable considered worthy of me digital designer in reachi attempt to standardize a the designers insight to dynamic action related aj
However if these techn designs they become nl
lend themselves very nic( to system design Digit multi-level register tran automation documentati Separation of the control hardware control imple) procedure capabilities fo down to the logic level
Generally speaking be in classifying information which can be processed ( a process of classifying information which can h False Thus the Boolean that any Boolean variab applicable to arguments really optimal This nonmiddot is generally a process of Actions It implies that tl information entities defil actions which is to be d directly related to som operation
The use of verbs such a logic message and does
number of integer values can be defined as the
a discrete system that oul and predictable
more exciting than have been used for a
increase with the the creation of myriad of
been made in all these of modem society The
such as hand-held and digital voltmeters variety of specialized
analogue systems but in previously exist As a
is required in a large
of fundamental concepts But Boolean algebra
late of 1930s Claude circuits Since then s and Shannons
has been discovered leading the way into one
sequential circuits in the are those which depend
networks the outputs system must remember
machine theory and then became an active area of
Also Reed and Muller very popular and
digital system to be the results obtained
aided design concept is tmiddotri middot7 ti process Also in
method for Boolean
Programmable Logic Arrays (PLAs) were introduced in the early 1970 s and became very desirable for implementing switching functions due to the fact that PLAs reduce design time and can be designed automatically An array of AND-gates and an array of OR-gates exist in the PLAs which were made possible with the advent of large-scale integration (LSI) technology Hence two-level implementation became popular The physical area requirement of PLAs to synthesize switching functions is directly linked to the size of the Boolean functions thus twoshylevel simplification again became an important area of research
13 Digital Designs Concept
Digital design as treated in the field of study relating the adaptation of Logic concepts to the design of recognizable realizable and reliable digital hardware These concepts have been considered worthy of mention because they have been found when properly applied to aid the digital designer in reaching his goals in a straightforward manner These concepts are also an attempt to standardize a logic Action description and definition for the purpose of improving the designers insight to logic design and documentation These concepts transfer the idea of a dynamic action related approach to logic thought
However if these techniques are practiced and applied to the more traditional small scale designs they become natural and easy to extend to system level design application They also lend themselves very nicely to the Digital Design Language and Programmed Logic approaches to system design Digital Integrated Design Language (DIDL) is a formal block-structured multi-level register transfer type specialized language system for use in the design design automation documentation and simulation of all digital systems including digital computers Separation of the control and the data path of a system are allowed so that either software or hardware control implementation can be employed DIDL has also macro definition and procedure capabilities for initial system specification various levels of design and simulation down to the logic level
Generally speaking being involved in digital design is dealing in logic which is a process of classifying information while information is intelligence related to ideas meanings and actions which can be processed or transformed into other forms Binary Logic or two-valued logic is a process of classifying information into two classes Traditionally binary arguments or that infonnation which can be definitely classified as two-valued have been deemed either True or False Thus the Boolean variable is unlike the algebraic variables of the field of real numbers in that any Boolean variable can take on only two values the True or False Though certainly applicable to arguments and conditions this TrueFalse classification for digital des ign is not really optimal This non-optimal classification stems from the fact that digital hardware design is generally a process of organizing hardware for the express purpose of classifying information Actions It implies that the hardware in a digital system should be 0rganized to process the input infonnation entities defined as binary input actions and in tum generate some binary output actions which is to be thought of as a dynamic process Action is the most hardware responses directly related to some physical operation or some condition resulting from a physical operation
The use of verbs such as Asserted Excited or Invoked can be used to modify as Action related logic message and does so by directing to the signal condition under which the Action is to be
3
l
l
performed Asserted is defined as the affirmative position of an Action related Boolean variable (mnemonic) Now if the logic operation is being performed we say that the Boolean variable is Asserted It follows that if the logic operation is not being performed we say that the Boolean variable is Not-Asserted Traditionally it is standard to use the shorthand symbols I for True and 0 for False However Is or Os are also used for numeric values (binary numbers) and as high or low voltage indicators as well
14 Digital and The Real World
In real life there are two ways of representing information analog and digital Analog signals contain all the information as a continuously varying wave - such as on an oscilloscope screen when you speak into a microphone connected to it Digital signals are a series of pulses - ons and offs or Is and Os A system that processes analogue signal is termed as analogue system and a system that processes digital signal is termed as digital system A few of these are light nuclear radiation and the electric signals governing the human nervous system which are interestingly enough most definitely discrete phenomena The use of digital practices can be a viable method for solving design problems in the real world The reasons that design problems are emphasized stems from the fact that the major areas of involvement for electrical and digital engineers are (I) the measurement (2) the control and (3) the transmission of information and energy Thus we fmd that we are continuously trying to find solutions to problems related to the measurement control and transmission of information or energy in the domain of the real world However the real world tends to have a continuous nature Because of this the discrete domain needs to the buffered in some way
In recent years systems that are capable of processing a mixture of both analogue and digital signals are increasingly popular The interdomain converter is a specialized system that converts or translates information of one domain into information of another domain For example an analogue signal can often be converted to a digital signal using analogue-to-digital converter (ADC) The processed signal can be converted back to the original form using the digital-toshyanalogue converter (DAC)
Since pure digital systems are made up of arrays of simple and reliable switches with only two positions a numerical system that already existed was adapted to serve as the tool needed for utilizing the basic concept This numerical math system called the binary system is based on the two symbols 0 and I in contrast to the decimal system which has ten symbols 0 I 2 9 We should see now that in order to use a digital system such as a digital computer for mathematical computations we must first convert our mathematical symbolisms (decimal in this case) into binary symbolisms to allow the computer to perform this mathematical operation Once this is done the inverse process must he performed to convert the binary results into a readable decimal representation
The obvious question Is digital worth all of the conversion The answer cannot be simply stated in yes or no terms but must be left to the individual and the particular situation In certain instances it may not in fact be worth the bother Such would not be the case if we were able to create and use multiple-valued logic systems to create a totally decimal machine Obviously if there were ten unique descriptors usable for our decimal computer there would be no need
to convert any infonn practically speaking bil system for some years t communicate with his IT
conversion and the diffe
15 The Importance
Digital systems are use have displaced the ear numerical and non-nume
Information processing processing task elimir representation of the pn the representation and tri
The finite number of va two values (binary sigm binary as a result the switches with two states
Digital signals are quit operating temperature significant portions of a separated so that small better dynamic range T be made more accurate Thus it is more reliab susceptible to variations
The advance of microelt of extremely complex d are built as integrated cil to select among differ~ hardware
Digital technology ha computers to small persl injected in a new autom large systems in a bank last 10 years the grov microprocessors being ~ used by the millions television sets and in controlling steel making
Action related Boolean we say that the Boolean
we say that the shorthand symbols 1 for values (binary numbers)
digital Analog signals on an oscilloscope screen
a series of pulses - ons as analogue system
A few of these are light system which are
digital practices can be a that design problems
for electrical and digital of information and
to problems related to the domain of the real world this the discrete domain
switches with only two as the tool needed for
system is based on has ten symbols 0 I 2 bull bull
a digital computer for symbolisms (decimal in mathematical operation the binary results into a
cannot be simply situation In certain
to convert any information into the now required two-valued binary system However practically speaking binary systems presently dominate and will continue to be the dominant system for some years to come Since such is the case and man ultimately must learn how to communicate with his machine it is necessary that we study the processes involved in number conversion and the different codes used to represent and convey information
IS The Importance of Digital Systems
Digital systems are used in information processing wherein they have become prevalent and have displaced the earlier analogue system Digital representation is well suited for both numerical and non-numerical information processing
Information processing can use a general-purpose system that is programmed for a particular processing task eliminating the need to have a different system for each task The representation of the program and its interpretation can use the same techniques employed for the representation and transformation of the data
The finite number of values in digital signal can be represented by a vector of signals with just two values (binary signals) This representation allow implementations in which all signals are binary as a result the devices that process these signals are very simple (essentially just switches with two states open and closed)
Digital signals are quite insensitive to variations of component parameter values such as operating temperature This includes its potential flexibility in terms of time-multiplexing significant portions of a given system The physical representation of the values is sufficiently separated so that small variations do not change the value it provides exact replicablity with a better dynamic range This is especially true for binary signals Numerical digital systems can be made more accurate by simply increasing the number of digits used in the representation Thus it is more reliable more applicable to nonlinear control more predictable and less susceptible to variations of environment
The advance of microelectronics technology in recent years have made possible the fabrication of extremely complex digital systems that are small fast and cheap Complex digital systems are built as integrated circuits composed of a large number of very simple devices It is possible to select among different implementations of systems that trade off speed and amount of hardware
Digital technology has affected computing from large multimillion dollars mainframe computers to small personal computers and microprocessor controllers measuring the fuel to be injected in a new automobile engine Many of us think of computers in the sense of medium to large systems in a bank or insurance company or for scientific research or military used In the last 10 years the growth of personal computing has been tremendous But most of the microprocessors being sold today do not go into personal computers Instead they are being used by the millions in dishwashers automobiles aircraft oscilloscopes stereo systems television sets and in industrial control systems used for measuring lumber thickness or controlling steel making
5
Digital technology is finding its way into areas of electronics normally thought of as strictly analogue Commercial two-way radios have microcontrollers setting the local oscillator frequency Electronic instrumentation such as oscilloscopes logic analyzers function generators power supplies and multimeters measuring current voltage and resistance all have made widespread use of digital technology In fact it is difficult to find a recently designed electronic instrument that does not use digital technology in some way Digital signal processing (DSP) is a methodology that involves the conversion of analogue information into digital form processes it in some rather sophisticated manner and produces an output either analogue or digital Modem submarines use DSP to make sense of acoustic noises that occur under the ocean for example
Digital technology is especially useful because it is less susceptible to electrical noise (spikes or fluxations in voltage or current) temperature effects component aging and other factors that affect analogue systems This does not mean that analogue technology is not important or that students of electronics and even computers should not study analogue circuit and systems In fact just the contrary is true The concepts of radio propagation antenna design amplifier analysis and active filters to mention a brief few are more important than ever To appropriately apply digital design principles to these areas certainly requires an in-depth understanding of analogue principles Furthermore as the frequencies of digital devices continue to increase digital systems designers are faced with solving analogue-related problems
The application of digital technology will continue to grow in a wide range of consumer product industrial control militarydefense and service industries Look for digital system speeds to increase new devices with added complexity integrated systems comprising both digital and analogue functions embedded into a single integrated circuit and even possibly the use of organic material for constructing memory devices
16 Overview of Modern Design Process
Design is a complex process more an art than a science Complex systems can be broken down into three simpler independent design stages the functional structural and physical stages Figure 11 depicts the general process flow in current logic synthesis systems
A switChing circuit design is first specified in the functional design stage with tools such as hardware description language (HDL) or schematic capture Hardware description language allows a design to be described in text form while schematic capture allows a design to be described in graphical form Once the design is specified it is converted into a mathematical description by the design tools and passed on to the next design stage
In the logic design stage the mathematical representation of the design is simplified without modifying the functionality Two major manipulation techniques that have been studied extensively are simplification and portioning techniques The simplification techniques aim to produce a simpler representation while the portioning techniques aim to break a large representation into a set of smaller but equivalent representations
When the manipulation run If the results of sirr redone or the original satisfactory the represen
In designing application placing and routing Ir programmable logic de logic blocks (placing) ar stage only involves prog
When the physical de consideration) may be f1
which may be part of th manufacturing Followir includes the testing ofm
Figure 11 (
thought of as strictly the local oscillator analyzers function
important
a
logic and resistance all have
to fi nd a recently designed Digital signal processing
Iinfnnml-inn into digital fonn output either analogue or
noises that occur under the
to electrical noise (spikes or and other factors that
is not important or that circuit and systems In
antenna design amplifier than ever To
requires an in-depth of digital devices
solving analogue-related
wide range of consumer Look for digital system systems comprising both
and even possibly the
stages
stage with tools such as description language
allows a design to be -rt-11 into a mathematical
is simplified without that have been studied
iti techniques aim to aim to break a large
When the manipulation is completed a pre-layout simulation (with ideal consideration) may be run If the results of simulation are not satisfactory the previous design stages will have to be redone or the original specification may have to be changed However if the results are satisfactory the representation will be passed on to the final stage - physical design stage
In designing application specific integrated circuit (ASIC) this stage includes floor planning placing and routing In designing field programmable gate arrays (FPGAs) and complex programmable logic devices (CPLDs) this stage includes defining the various programmable logic blocks (placing) and programming the interconnections (routing) In designing PLAs this stage only involves programming the interconnections (routing)
When the physical design stage is completed a post-layout simulation (with practical consideration) may be run If the results are not satisfactory the design will have to be redone which may be part of the entire process If the result is satisfactory the design will be sent for manufacturing Following the manufacturing process comes the testing of the devices which includes the testing of manufacturing faults and the design faults
Figure 11 General Process Flow in Current Logic Synthesis Systems
i
Research methoe 1917 Boolean Functions Problem Statement
Boolean derivatives and differentials are used as models for changes in discrete binary coded systems such as cryptosystems for information authentication and data encryption Derivatives describe crucial criteria of Boolean functions such as dependence and independence linearity monotonicity high degree of propagation high nonlinearity 0-1 balancedness and high algebraic degree They are operators generating other Boolean functions Equations with derivatives define classes of Boolean functions Boolean Differentials are models for any kinds of changes such as signal edges errors and deviations An important Boolean problem is that of designing Boolean functions satisfying simultaneously more than one nonlinearity criteria
Boolean function manipulation is the art of exploiting simplification opportunities that exist inherently in logical structures by using the identities that exist within that algebra or reducing the number of terms used We are seeking to express any logical function as simple as possible because this can lead to a reduced usage of resources when that same function is implemented physically
18 Objectives of the Research
The main objective of the project is to generalize simplification rules employed by several existing simplification algorithms and develop simplification algorithms based on the rules derived from the generalization While the measurable objectives are as stated below
I To survey on the existing simplification algorit~ms
2 To study and compare the simplification rules employed by these simplification algorithms
3 To generalize the existing simplification rules and from there identify new simplification rules
4 To implement software package which employs an effective set of simplification rules
The diagram in Figure I
)FamUiarize w gtStudy the nls
gtCompare simi gtAnaJyu the cI gtGeneralize the gt Derive rules fl
gtDevelop simpJ gt Implement the
gtTest new solho Compare resu
~
8
F
110 Thesis Structure
This thesis covers the fo l
rules employed by several algorithms based on the rules
Phase 3 Implementation of Software Package are as stated below
in discrete binary coded data encryption Derivatives and independence linearity
0- balanced ness and high functions Equations with
are models for any kinds rmSlnt Boolean problem is that
one nonlinearity criteria
IIlcallcm opportunities that exist within that algebra or reducing
function as simple as possible same function is implemented
19 Research methodology
The diagram in Figure 12 shows the methodology used and planned in conducting the research
Phase I Literature Review
IDIUJariu wllh the current work done in UNIMAS gtStudy the existing simplification rules
Phase 2 Generalization of Simplification Rules
ompare simplification ru les employed by different simplification algorithms gtAnalyze the characteristics of existing simplification rules gtGeoeralize the simplification rules based on their simplification characteristics raquo Derive rules from the generalization of simplification rules
simplification algorithms
identifY new simplification
of simplification rules
Develop simplification algorithms which emplOy different set of simplification rules raquo lmplement the algorithm onto computer using Visual C++ language
+Phase 4 Analysis of algorithms performance
raquoTest new software package by using practical circuits or benchmarks raquoCompare results obtained to that provided by the traditional methods
Figure 12 Research Methodology Flow Chart
110 Thesis Structure
This thesis covers the following topics
9
In Chapter I history brief concept of Digital System Design and importance of Digital System are provided The research objectives methodology and overview of modem design process are outlined as well
Chapter 2 documents the literature review performed The traditional representation techniques of simplification method basically cover truth table algebraic function and K-Map The existing simplification techniques such as algebraic simplification K-Map simplification Quine McshyCluskey tabulation method are reviewed and discussed
Chapter 3 lists ESPRESSO program description and examples It introduces the main features of Boolean Minimizer and the program is elaborated together with its data formats and controls Moreover the initial generation of implicants is described with an illustrative example
In Chapter 4 the experimental results of the proposed simplification method is evaluated and commented The source code of the simplification method is discussed and explained
In Chapter 5 a conclusion of this thesis is presented and recommendation on further works that can be carried out to further improve the simplification method is also provided
10
21 Review of Traditi4
In designing digital syste Maps or algebraic expres~ be limited in large circui circuits which computati( number of inputs increase has been introduced and representing techn iques de computation time and stOI(
22 Truth Table
Before any combinational a problem is the most imp correctly accomplished 0 necessary logic for imp len table ready for logic desi From the truth table the diagram drawn The logic integrated circuit families complementary metal-oxi (mnemonic) can take on ( variable of the real numbel conditions of a Boolean 1
format called a truth table
Truth table is the most funl describes the operational combinations of input vall row at a time Further the valued variable Thus if 1
there are four combinatio~ inputs is increased by 0
independent input variable 22 show the general truth 1
CHAPTER 2
LITERATURE REVIEW
importance of Digital System of modem design process are
representation technique and K-Map The existing
simplification Quine Mcshy
introduces the main features its data formats and controls illustrative example
method is evaluated and and explained
on further works that also provided
21 Review of Traditional Representation Techniques
In designing digital system switching circuits are usually represented using truth tables KshyMaps or algebraic expressions These traditional representation techniques have been proven to be limited in large circuit designs Thus a more efficient method of representing switching circuits which computation time and storage requirements do not grow exponentially as the number of inputs increases is required The graph-based representation method known as DD has been introduced and its popularity has grown rapidly in the last decade These modem representing techniques describe the operation of a switching circuit more efficiently both in computation time and storage requirements
22 Truth Table
Before any combinational logic system can be designed it must be defmed Proper statement of a problem is the most important part of any digital design task Nothing can occur until that is correctly accomplished Once correctly and clearly stated any problem can be converted to the necessary logic for implementation Practical applications rarely come in a prepackaged truth table ready for logic design Truth table must be constructed from verbal problem descriptions From the truth table the switching equations can be written and simplified and the logic diagram drawn The logic diagram can be realized using anyone of the three main digital integrated circuit families transistor-transistor logic (TTL) emitter-coupled logic (ECL) or complementary metal-oxide silicon (CMOS) We established that a Boolean variable (mnemonic) can take on only two values not an infinite number as its kindred associate the variable of the real number system This basic difference allows us to illustrate all possible logic conditions of a Boolean variable or a collection of Boolean variables using a finite tabular format called a truth table
Truth table is the most fundamental and classical way in the description of a switching circuit It describes the operational behavior of the circuit by listing the output values for all possible liOIIlbinations of input values or arguments in vertical order and each input combination one lOW at a time Further the nontrivial decisions in digital design are based on more than one twoshyvalued variable Thus if an output is to be completely specified as a function of two inputs dIere are four combinations that must be considered From this we see that as the number of ilputs is increased by one the number of possible combinations doubles Therefore n iadcpendent input variables will exhibit 2n distinct combinations of values Table 2 I and Table 22 show the general truth table for a function with n variables and an example with n = 3
II
I
12 History of Digital System Designs
A digital system is a synchronous system in which signals have a finite number of integer values and may change only at discrete instants The very basic digital design can be defined as the science of organizing arrays of simple switches into what is called a discrete system that performs transformations on two-level (binary) information in a meaningful and predictable way Certainly this is true but digital design as we know it today is much more exciting than this definition portends Digital representation and processing methods have been used for a long time but the development of digital artifacts underwent a dramatic increase with the invention of the digital computer Since then digital design underpins the creation of myriad of imaginative digital devices that surround us Extraordinary progress has been made in all these aspects making the computer indispensable in almost every aspect of modem society The development of computer technology and digital microelectronics such as hand-held calculators digital watches microprocessors microwave oven controllers and digital voltmeters in particular have made possible the cost effective production of a large variety of specialized digital systems This trend continues as new applications are replacing analogue systems but in many others they are making possible applications that did not previously exist As a consequence knowledge about the designs and use of digital systems is required in a large variety of human activities
In the late 1840s George Boole [I 849J invented a very abstract form of fundamental concepts of a two-valued (binary) system which is later called the Boolean algebra But Boolean algebra is not used until about 80 years later due to its sophistication In the late of 1930s Claude Shannon [1938] applied switching algebra onto his study of relay switching circuits Since then design methods have been pretty much standard following Booles and Shannons fundamentals with added refinements here and there as new knowledge has been discovered and more exotic logic devices have been developed tried and proven leading the way into one of the most fascinating and challenging fields of study
The theory was then extended to cover both the combinational and sequential circuits in the following one and half decades Combinational switching networks are those which depend only on the current inputs and which are without memory In sequential networks the outputs respond to both current inputs and the history of all previous inputs The system must remember the entire history of the input patterns
In the 1950s further development on the theory lead to the finite-state machine theory and then the automata theory meanwhile simplification of switching functions became an active area of research This is because of the logic gates were then very expensive Also Reed and Muller introduced Reed-Muller algebra This form of expression has now become very popular and useful in the study of AND-EXOR implementation of Boolean functions
The concept of design automation that allows larger and more complex digital system to be designed wholly by computer became popular in the early 1960s However the results obtained by these tools were not always satisfactory Therefore the computer aided design concept is then introduced This allows the designer to intervene with the computerized process Also in the 1960s Quine [1952] and McCluskey [1956] devised the tabulation method for Boolean function simplification In the late 1960s simplification became less essential because of a reduction in the cost of logic gates
2
Programmable Logic Ar desirable for implementin can be designed automat PLAs which were made Hence two-level implem synthesize switching fune level simplification again
13 Digital Designs (
Digital design as treated design of recognizable considered worthy of me digital designer in reachi attempt to standardize a the designers insight to dynamic action related aj
However if these techn designs they become nl
lend themselves very nic( to system design Digit multi-level register tran automation documentati Separation of the control hardware control imple) procedure capabilities fo down to the logic level
Generally speaking be in classifying information which can be processed ( a process of classifying information which can h False Thus the Boolean that any Boolean variab applicable to arguments really optimal This nonmiddot is generally a process of Actions It implies that tl information entities defil actions which is to be d directly related to som operation
The use of verbs such a logic message and does
number of integer values can be defined as the
a discrete system that oul and predictable
more exciting than have been used for a
increase with the the creation of myriad of
been made in all these of modem society The
such as hand-held and digital voltmeters variety of specialized
analogue systems but in previously exist As a
is required in a large
of fundamental concepts But Boolean algebra
late of 1930s Claude circuits Since then s and Shannons
has been discovered leading the way into one
sequential circuits in the are those which depend
networks the outputs system must remember
machine theory and then became an active area of
Also Reed and Muller very popular and
digital system to be the results obtained
aided design concept is tmiddotri middot7 ti process Also in
method for Boolean
Programmable Logic Arrays (PLAs) were introduced in the early 1970 s and became very desirable for implementing switching functions due to the fact that PLAs reduce design time and can be designed automatically An array of AND-gates and an array of OR-gates exist in the PLAs which were made possible with the advent of large-scale integration (LSI) technology Hence two-level implementation became popular The physical area requirement of PLAs to synthesize switching functions is directly linked to the size of the Boolean functions thus twoshylevel simplification again became an important area of research
13 Digital Designs Concept
Digital design as treated in the field of study relating the adaptation of Logic concepts to the design of recognizable realizable and reliable digital hardware These concepts have been considered worthy of mention because they have been found when properly applied to aid the digital designer in reaching his goals in a straightforward manner These concepts are also an attempt to standardize a logic Action description and definition for the purpose of improving the designers insight to logic design and documentation These concepts transfer the idea of a dynamic action related approach to logic thought
However if these techniques are practiced and applied to the more traditional small scale designs they become natural and easy to extend to system level design application They also lend themselves very nicely to the Digital Design Language and Programmed Logic approaches to system design Digital Integrated Design Language (DIDL) is a formal block-structured multi-level register transfer type specialized language system for use in the design design automation documentation and simulation of all digital systems including digital computers Separation of the control and the data path of a system are allowed so that either software or hardware control implementation can be employed DIDL has also macro definition and procedure capabilities for initial system specification various levels of design and simulation down to the logic level
Generally speaking being involved in digital design is dealing in logic which is a process of classifying information while information is intelligence related to ideas meanings and actions which can be processed or transformed into other forms Binary Logic or two-valued logic is a process of classifying information into two classes Traditionally binary arguments or that infonnation which can be definitely classified as two-valued have been deemed either True or False Thus the Boolean variable is unlike the algebraic variables of the field of real numbers in that any Boolean variable can take on only two values the True or False Though certainly applicable to arguments and conditions this TrueFalse classification for digital des ign is not really optimal This non-optimal classification stems from the fact that digital hardware design is generally a process of organizing hardware for the express purpose of classifying information Actions It implies that the hardware in a digital system should be 0rganized to process the input infonnation entities defined as binary input actions and in tum generate some binary output actions which is to be thought of as a dynamic process Action is the most hardware responses directly related to some physical operation or some condition resulting from a physical operation
The use of verbs such as Asserted Excited or Invoked can be used to modify as Action related logic message and does so by directing to the signal condition under which the Action is to be
3
l
l
performed Asserted is defined as the affirmative position of an Action related Boolean variable (mnemonic) Now if the logic operation is being performed we say that the Boolean variable is Asserted It follows that if the logic operation is not being performed we say that the Boolean variable is Not-Asserted Traditionally it is standard to use the shorthand symbols I for True and 0 for False However Is or Os are also used for numeric values (binary numbers) and as high or low voltage indicators as well
14 Digital and The Real World
In real life there are two ways of representing information analog and digital Analog signals contain all the information as a continuously varying wave - such as on an oscilloscope screen when you speak into a microphone connected to it Digital signals are a series of pulses - ons and offs or Is and Os A system that processes analogue signal is termed as analogue system and a system that processes digital signal is termed as digital system A few of these are light nuclear radiation and the electric signals governing the human nervous system which are interestingly enough most definitely discrete phenomena The use of digital practices can be a viable method for solving design problems in the real world The reasons that design problems are emphasized stems from the fact that the major areas of involvement for electrical and digital engineers are (I) the measurement (2) the control and (3) the transmission of information and energy Thus we fmd that we are continuously trying to find solutions to problems related to the measurement control and transmission of information or energy in the domain of the real world However the real world tends to have a continuous nature Because of this the discrete domain needs to the buffered in some way
In recent years systems that are capable of processing a mixture of both analogue and digital signals are increasingly popular The interdomain converter is a specialized system that converts or translates information of one domain into information of another domain For example an analogue signal can often be converted to a digital signal using analogue-to-digital converter (ADC) The processed signal can be converted back to the original form using the digital-toshyanalogue converter (DAC)
Since pure digital systems are made up of arrays of simple and reliable switches with only two positions a numerical system that already existed was adapted to serve as the tool needed for utilizing the basic concept This numerical math system called the binary system is based on the two symbols 0 and I in contrast to the decimal system which has ten symbols 0 I 2 9 We should see now that in order to use a digital system such as a digital computer for mathematical computations we must first convert our mathematical symbolisms (decimal in this case) into binary symbolisms to allow the computer to perform this mathematical operation Once this is done the inverse process must he performed to convert the binary results into a readable decimal representation
The obvious question Is digital worth all of the conversion The answer cannot be simply stated in yes or no terms but must be left to the individual and the particular situation In certain instances it may not in fact be worth the bother Such would not be the case if we were able to create and use multiple-valued logic systems to create a totally decimal machine Obviously if there were ten unique descriptors usable for our decimal computer there would be no need
to convert any infonn practically speaking bil system for some years t communicate with his IT
conversion and the diffe
15 The Importance
Digital systems are use have displaced the ear numerical and non-nume
Information processing processing task elimir representation of the pn the representation and tri
The finite number of va two values (binary sigm binary as a result the switches with two states
Digital signals are quit operating temperature significant portions of a separated so that small better dynamic range T be made more accurate Thus it is more reliab susceptible to variations
The advance of microelt of extremely complex d are built as integrated cil to select among differ~ hardware
Digital technology ha computers to small persl injected in a new autom large systems in a bank last 10 years the grov microprocessors being ~ used by the millions television sets and in controlling steel making
Action related Boolean we say that the Boolean
we say that the shorthand symbols 1 for values (binary numbers)
digital Analog signals on an oscilloscope screen
a series of pulses - ons as analogue system
A few of these are light system which are
digital practices can be a that design problems
for electrical and digital of information and
to problems related to the domain of the real world this the discrete domain
switches with only two as the tool needed for
system is based on has ten symbols 0 I 2 bull bull
a digital computer for symbolisms (decimal in mathematical operation the binary results into a
cannot be simply situation In certain
to convert any information into the now required two-valued binary system However practically speaking binary systems presently dominate and will continue to be the dominant system for some years to come Since such is the case and man ultimately must learn how to communicate with his machine it is necessary that we study the processes involved in number conversion and the different codes used to represent and convey information
IS The Importance of Digital Systems
Digital systems are used in information processing wherein they have become prevalent and have displaced the earlier analogue system Digital representation is well suited for both numerical and non-numerical information processing
Information processing can use a general-purpose system that is programmed for a particular processing task eliminating the need to have a different system for each task The representation of the program and its interpretation can use the same techniques employed for the representation and transformation of the data
The finite number of values in digital signal can be represented by a vector of signals with just two values (binary signals) This representation allow implementations in which all signals are binary as a result the devices that process these signals are very simple (essentially just switches with two states open and closed)
Digital signals are quite insensitive to variations of component parameter values such as operating temperature This includes its potential flexibility in terms of time-multiplexing significant portions of a given system The physical representation of the values is sufficiently separated so that small variations do not change the value it provides exact replicablity with a better dynamic range This is especially true for binary signals Numerical digital systems can be made more accurate by simply increasing the number of digits used in the representation Thus it is more reliable more applicable to nonlinear control more predictable and less susceptible to variations of environment
The advance of microelectronics technology in recent years have made possible the fabrication of extremely complex digital systems that are small fast and cheap Complex digital systems are built as integrated circuits composed of a large number of very simple devices It is possible to select among different implementations of systems that trade off speed and amount of hardware
Digital technology has affected computing from large multimillion dollars mainframe computers to small personal computers and microprocessor controllers measuring the fuel to be injected in a new automobile engine Many of us think of computers in the sense of medium to large systems in a bank or insurance company or for scientific research or military used In the last 10 years the growth of personal computing has been tremendous But most of the microprocessors being sold today do not go into personal computers Instead they are being used by the millions in dishwashers automobiles aircraft oscilloscopes stereo systems television sets and in industrial control systems used for measuring lumber thickness or controlling steel making
5
Digital technology is finding its way into areas of electronics normally thought of as strictly analogue Commercial two-way radios have microcontrollers setting the local oscillator frequency Electronic instrumentation such as oscilloscopes logic analyzers function generators power supplies and multimeters measuring current voltage and resistance all have made widespread use of digital technology In fact it is difficult to find a recently designed electronic instrument that does not use digital technology in some way Digital signal processing (DSP) is a methodology that involves the conversion of analogue information into digital form processes it in some rather sophisticated manner and produces an output either analogue or digital Modem submarines use DSP to make sense of acoustic noises that occur under the ocean for example
Digital technology is especially useful because it is less susceptible to electrical noise (spikes or fluxations in voltage or current) temperature effects component aging and other factors that affect analogue systems This does not mean that analogue technology is not important or that students of electronics and even computers should not study analogue circuit and systems In fact just the contrary is true The concepts of radio propagation antenna design amplifier analysis and active filters to mention a brief few are more important than ever To appropriately apply digital design principles to these areas certainly requires an in-depth understanding of analogue principles Furthermore as the frequencies of digital devices continue to increase digital systems designers are faced with solving analogue-related problems
The application of digital technology will continue to grow in a wide range of consumer product industrial control militarydefense and service industries Look for digital system speeds to increase new devices with added complexity integrated systems comprising both digital and analogue functions embedded into a single integrated circuit and even possibly the use of organic material for constructing memory devices
16 Overview of Modern Design Process
Design is a complex process more an art than a science Complex systems can be broken down into three simpler independent design stages the functional structural and physical stages Figure 11 depicts the general process flow in current logic synthesis systems
A switChing circuit design is first specified in the functional design stage with tools such as hardware description language (HDL) or schematic capture Hardware description language allows a design to be described in text form while schematic capture allows a design to be described in graphical form Once the design is specified it is converted into a mathematical description by the design tools and passed on to the next design stage
In the logic design stage the mathematical representation of the design is simplified without modifying the functionality Two major manipulation techniques that have been studied extensively are simplification and portioning techniques The simplification techniques aim to produce a simpler representation while the portioning techniques aim to break a large representation into a set of smaller but equivalent representations
When the manipulation run If the results of sirr redone or the original satisfactory the represen
In designing application placing and routing Ir programmable logic de logic blocks (placing) ar stage only involves prog
When the physical de consideration) may be f1
which may be part of th manufacturing Followir includes the testing ofm
Figure 11 (
thought of as strictly the local oscillator analyzers function
important
a
logic and resistance all have
to fi nd a recently designed Digital signal processing
Iinfnnml-inn into digital fonn output either analogue or
noises that occur under the
to electrical noise (spikes or and other factors that
is not important or that circuit and systems In
antenna design amplifier than ever To
requires an in-depth of digital devices
solving analogue-related
wide range of consumer Look for digital system systems comprising both
and even possibly the
stages
stage with tools such as description language
allows a design to be -rt-11 into a mathematical
is simplified without that have been studied
iti techniques aim to aim to break a large
When the manipulation is completed a pre-layout simulation (with ideal consideration) may be run If the results of simulation are not satisfactory the previous design stages will have to be redone or the original specification may have to be changed However if the results are satisfactory the representation will be passed on to the final stage - physical design stage
In designing application specific integrated circuit (ASIC) this stage includes floor planning placing and routing In designing field programmable gate arrays (FPGAs) and complex programmable logic devices (CPLDs) this stage includes defining the various programmable logic blocks (placing) and programming the interconnections (routing) In designing PLAs this stage only involves programming the interconnections (routing)
When the physical design stage is completed a post-layout simulation (with practical consideration) may be run If the results are not satisfactory the design will have to be redone which may be part of the entire process If the result is satisfactory the design will be sent for manufacturing Following the manufacturing process comes the testing of the devices which includes the testing of manufacturing faults and the design faults
Figure 11 General Process Flow in Current Logic Synthesis Systems
i
Research methoe 1917 Boolean Functions Problem Statement
Boolean derivatives and differentials are used as models for changes in discrete binary coded systems such as cryptosystems for information authentication and data encryption Derivatives describe crucial criteria of Boolean functions such as dependence and independence linearity monotonicity high degree of propagation high nonlinearity 0-1 balancedness and high algebraic degree They are operators generating other Boolean functions Equations with derivatives define classes of Boolean functions Boolean Differentials are models for any kinds of changes such as signal edges errors and deviations An important Boolean problem is that of designing Boolean functions satisfying simultaneously more than one nonlinearity criteria
Boolean function manipulation is the art of exploiting simplification opportunities that exist inherently in logical structures by using the identities that exist within that algebra or reducing the number of terms used We are seeking to express any logical function as simple as possible because this can lead to a reduced usage of resources when that same function is implemented physically
18 Objectives of the Research
The main objective of the project is to generalize simplification rules employed by several existing simplification algorithms and develop simplification algorithms based on the rules derived from the generalization While the measurable objectives are as stated below
I To survey on the existing simplification algorit~ms
2 To study and compare the simplification rules employed by these simplification algorithms
3 To generalize the existing simplification rules and from there identify new simplification rules
4 To implement software package which employs an effective set of simplification rules
The diagram in Figure I
)FamUiarize w gtStudy the nls
gtCompare simi gtAnaJyu the cI gtGeneralize the gt Derive rules fl
gtDevelop simpJ gt Implement the
gtTest new solho Compare resu
~
8
F
110 Thesis Structure
This thesis covers the fo l
rules employed by several algorithms based on the rules
Phase 3 Implementation of Software Package are as stated below
in discrete binary coded data encryption Derivatives and independence linearity
0- balanced ness and high functions Equations with
are models for any kinds rmSlnt Boolean problem is that
one nonlinearity criteria
IIlcallcm opportunities that exist within that algebra or reducing
function as simple as possible same function is implemented
19 Research methodology
The diagram in Figure 12 shows the methodology used and planned in conducting the research
Phase I Literature Review
IDIUJariu wllh the current work done in UNIMAS gtStudy the existing simplification rules
Phase 2 Generalization of Simplification Rules
ompare simplification ru les employed by different simplification algorithms gtAnalyze the characteristics of existing simplification rules gtGeoeralize the simplification rules based on their simplification characteristics raquo Derive rules from the generalization of simplification rules
simplification algorithms
identifY new simplification
of simplification rules
Develop simplification algorithms which emplOy different set of simplification rules raquo lmplement the algorithm onto computer using Visual C++ language
+Phase 4 Analysis of algorithms performance
raquoTest new software package by using practical circuits or benchmarks raquoCompare results obtained to that provided by the traditional methods
Figure 12 Research Methodology Flow Chart
110 Thesis Structure
This thesis covers the following topics
9
In Chapter I history brief concept of Digital System Design and importance of Digital System are provided The research objectives methodology and overview of modem design process are outlined as well
Chapter 2 documents the literature review performed The traditional representation techniques of simplification method basically cover truth table algebraic function and K-Map The existing simplification techniques such as algebraic simplification K-Map simplification Quine McshyCluskey tabulation method are reviewed and discussed
Chapter 3 lists ESPRESSO program description and examples It introduces the main features of Boolean Minimizer and the program is elaborated together with its data formats and controls Moreover the initial generation of implicants is described with an illustrative example
In Chapter 4 the experimental results of the proposed simplification method is evaluated and commented The source code of the simplification method is discussed and explained
In Chapter 5 a conclusion of this thesis is presented and recommendation on further works that can be carried out to further improve the simplification method is also provided
10
21 Review of Traditi4
In designing digital syste Maps or algebraic expres~ be limited in large circui circuits which computati( number of inputs increase has been introduced and representing techn iques de computation time and stOI(
22 Truth Table
Before any combinational a problem is the most imp correctly accomplished 0 necessary logic for imp len table ready for logic desi From the truth table the diagram drawn The logic integrated circuit families complementary metal-oxi (mnemonic) can take on ( variable of the real numbel conditions of a Boolean 1
format called a truth table
Truth table is the most funl describes the operational combinations of input vall row at a time Further the valued variable Thus if 1
there are four combinatio~ inputs is increased by 0
independent input variable 22 show the general truth 1
CHAPTER 2
LITERATURE REVIEW
importance of Digital System of modem design process are
representation technique and K-Map The existing
simplification Quine Mcshy
introduces the main features its data formats and controls illustrative example
method is evaluated and and explained
on further works that also provided
21 Review of Traditional Representation Techniques
In designing digital system switching circuits are usually represented using truth tables KshyMaps or algebraic expressions These traditional representation techniques have been proven to be limited in large circuit designs Thus a more efficient method of representing switching circuits which computation time and storage requirements do not grow exponentially as the number of inputs increases is required The graph-based representation method known as DD has been introduced and its popularity has grown rapidly in the last decade These modem representing techniques describe the operation of a switching circuit more efficiently both in computation time and storage requirements
22 Truth Table
Before any combinational logic system can be designed it must be defmed Proper statement of a problem is the most important part of any digital design task Nothing can occur until that is correctly accomplished Once correctly and clearly stated any problem can be converted to the necessary logic for implementation Practical applications rarely come in a prepackaged truth table ready for logic design Truth table must be constructed from verbal problem descriptions From the truth table the switching equations can be written and simplified and the logic diagram drawn The logic diagram can be realized using anyone of the three main digital integrated circuit families transistor-transistor logic (TTL) emitter-coupled logic (ECL) or complementary metal-oxide silicon (CMOS) We established that a Boolean variable (mnemonic) can take on only two values not an infinite number as its kindred associate the variable of the real number system This basic difference allows us to illustrate all possible logic conditions of a Boolean variable or a collection of Boolean variables using a finite tabular format called a truth table
Truth table is the most fundamental and classical way in the description of a switching circuit It describes the operational behavior of the circuit by listing the output values for all possible liOIIlbinations of input values or arguments in vertical order and each input combination one lOW at a time Further the nontrivial decisions in digital design are based on more than one twoshyvalued variable Thus if an output is to be completely specified as a function of two inputs dIere are four combinations that must be considered From this we see that as the number of ilputs is increased by one the number of possible combinations doubles Therefore n iadcpendent input variables will exhibit 2n distinct combinations of values Table 2 I and Table 22 show the general truth table for a function with n variables and an example with n = 3
II
number of integer values can be defined as the
a discrete system that oul and predictable
more exciting than have been used for a
increase with the the creation of myriad of
been made in all these of modem society The
such as hand-held and digital voltmeters variety of specialized
analogue systems but in previously exist As a
is required in a large
of fundamental concepts But Boolean algebra
late of 1930s Claude circuits Since then s and Shannons
has been discovered leading the way into one
sequential circuits in the are those which depend
networks the outputs system must remember
machine theory and then became an active area of
Also Reed and Muller very popular and
digital system to be the results obtained
aided design concept is tmiddotri middot7 ti process Also in
method for Boolean
Programmable Logic Arrays (PLAs) were introduced in the early 1970 s and became very desirable for implementing switching functions due to the fact that PLAs reduce design time and can be designed automatically An array of AND-gates and an array of OR-gates exist in the PLAs which were made possible with the advent of large-scale integration (LSI) technology Hence two-level implementation became popular The physical area requirement of PLAs to synthesize switching functions is directly linked to the size of the Boolean functions thus twoshylevel simplification again became an important area of research
13 Digital Designs Concept
Digital design as treated in the field of study relating the adaptation of Logic concepts to the design of recognizable realizable and reliable digital hardware These concepts have been considered worthy of mention because they have been found when properly applied to aid the digital designer in reaching his goals in a straightforward manner These concepts are also an attempt to standardize a logic Action description and definition for the purpose of improving the designers insight to logic design and documentation These concepts transfer the idea of a dynamic action related approach to logic thought
However if these techniques are practiced and applied to the more traditional small scale designs they become natural and easy to extend to system level design application They also lend themselves very nicely to the Digital Design Language and Programmed Logic approaches to system design Digital Integrated Design Language (DIDL) is a formal block-structured multi-level register transfer type specialized language system for use in the design design automation documentation and simulation of all digital systems including digital computers Separation of the control and the data path of a system are allowed so that either software or hardware control implementation can be employed DIDL has also macro definition and procedure capabilities for initial system specification various levels of design and simulation down to the logic level
Generally speaking being involved in digital design is dealing in logic which is a process of classifying information while information is intelligence related to ideas meanings and actions which can be processed or transformed into other forms Binary Logic or two-valued logic is a process of classifying information into two classes Traditionally binary arguments or that infonnation which can be definitely classified as two-valued have been deemed either True or False Thus the Boolean variable is unlike the algebraic variables of the field of real numbers in that any Boolean variable can take on only two values the True or False Though certainly applicable to arguments and conditions this TrueFalse classification for digital des ign is not really optimal This non-optimal classification stems from the fact that digital hardware design is generally a process of organizing hardware for the express purpose of classifying information Actions It implies that the hardware in a digital system should be 0rganized to process the input infonnation entities defined as binary input actions and in tum generate some binary output actions which is to be thought of as a dynamic process Action is the most hardware responses directly related to some physical operation or some condition resulting from a physical operation
The use of verbs such as Asserted Excited or Invoked can be used to modify as Action related logic message and does so by directing to the signal condition under which the Action is to be
3
l
l
performed Asserted is defined as the affirmative position of an Action related Boolean variable (mnemonic) Now if the logic operation is being performed we say that the Boolean variable is Asserted It follows that if the logic operation is not being performed we say that the Boolean variable is Not-Asserted Traditionally it is standard to use the shorthand symbols I for True and 0 for False However Is or Os are also used for numeric values (binary numbers) and as high or low voltage indicators as well
14 Digital and The Real World
In real life there are two ways of representing information analog and digital Analog signals contain all the information as a continuously varying wave - such as on an oscilloscope screen when you speak into a microphone connected to it Digital signals are a series of pulses - ons and offs or Is and Os A system that processes analogue signal is termed as analogue system and a system that processes digital signal is termed as digital system A few of these are light nuclear radiation and the electric signals governing the human nervous system which are interestingly enough most definitely discrete phenomena The use of digital practices can be a viable method for solving design problems in the real world The reasons that design problems are emphasized stems from the fact that the major areas of involvement for electrical and digital engineers are (I) the measurement (2) the control and (3) the transmission of information and energy Thus we fmd that we are continuously trying to find solutions to problems related to the measurement control and transmission of information or energy in the domain of the real world However the real world tends to have a continuous nature Because of this the discrete domain needs to the buffered in some way
In recent years systems that are capable of processing a mixture of both analogue and digital signals are increasingly popular The interdomain converter is a specialized system that converts or translates information of one domain into information of another domain For example an analogue signal can often be converted to a digital signal using analogue-to-digital converter (ADC) The processed signal can be converted back to the original form using the digital-toshyanalogue converter (DAC)
Since pure digital systems are made up of arrays of simple and reliable switches with only two positions a numerical system that already existed was adapted to serve as the tool needed for utilizing the basic concept This numerical math system called the binary system is based on the two symbols 0 and I in contrast to the decimal system which has ten symbols 0 I 2 9 We should see now that in order to use a digital system such as a digital computer for mathematical computations we must first convert our mathematical symbolisms (decimal in this case) into binary symbolisms to allow the computer to perform this mathematical operation Once this is done the inverse process must he performed to convert the binary results into a readable decimal representation
The obvious question Is digital worth all of the conversion The answer cannot be simply stated in yes or no terms but must be left to the individual and the particular situation In certain instances it may not in fact be worth the bother Such would not be the case if we were able to create and use multiple-valued logic systems to create a totally decimal machine Obviously if there were ten unique descriptors usable for our decimal computer there would be no need
to convert any infonn practically speaking bil system for some years t communicate with his IT
conversion and the diffe
15 The Importance
Digital systems are use have displaced the ear numerical and non-nume
Information processing processing task elimir representation of the pn the representation and tri
The finite number of va two values (binary sigm binary as a result the switches with two states
Digital signals are quit operating temperature significant portions of a separated so that small better dynamic range T be made more accurate Thus it is more reliab susceptible to variations
The advance of microelt of extremely complex d are built as integrated cil to select among differ~ hardware
Digital technology ha computers to small persl injected in a new autom large systems in a bank last 10 years the grov microprocessors being ~ used by the millions television sets and in controlling steel making
Action related Boolean we say that the Boolean
we say that the shorthand symbols 1 for values (binary numbers)
digital Analog signals on an oscilloscope screen
a series of pulses - ons as analogue system
A few of these are light system which are
digital practices can be a that design problems
for electrical and digital of information and
to problems related to the domain of the real world this the discrete domain
switches with only two as the tool needed for
system is based on has ten symbols 0 I 2 bull bull
a digital computer for symbolisms (decimal in mathematical operation the binary results into a
cannot be simply situation In certain
to convert any information into the now required two-valued binary system However practically speaking binary systems presently dominate and will continue to be the dominant system for some years to come Since such is the case and man ultimately must learn how to communicate with his machine it is necessary that we study the processes involved in number conversion and the different codes used to represent and convey information
IS The Importance of Digital Systems
Digital systems are used in information processing wherein they have become prevalent and have displaced the earlier analogue system Digital representation is well suited for both numerical and non-numerical information processing
Information processing can use a general-purpose system that is programmed for a particular processing task eliminating the need to have a different system for each task The representation of the program and its interpretation can use the same techniques employed for the representation and transformation of the data
The finite number of values in digital signal can be represented by a vector of signals with just two values (binary signals) This representation allow implementations in which all signals are binary as a result the devices that process these signals are very simple (essentially just switches with two states open and closed)
Digital signals are quite insensitive to variations of component parameter values such as operating temperature This includes its potential flexibility in terms of time-multiplexing significant portions of a given system The physical representation of the values is sufficiently separated so that small variations do not change the value it provides exact replicablity with a better dynamic range This is especially true for binary signals Numerical digital systems can be made more accurate by simply increasing the number of digits used in the representation Thus it is more reliable more applicable to nonlinear control more predictable and less susceptible to variations of environment
The advance of microelectronics technology in recent years have made possible the fabrication of extremely complex digital systems that are small fast and cheap Complex digital systems are built as integrated circuits composed of a large number of very simple devices It is possible to select among different implementations of systems that trade off speed and amount of hardware
Digital technology has affected computing from large multimillion dollars mainframe computers to small personal computers and microprocessor controllers measuring the fuel to be injected in a new automobile engine Many of us think of computers in the sense of medium to large systems in a bank or insurance company or for scientific research or military used In the last 10 years the growth of personal computing has been tremendous But most of the microprocessors being sold today do not go into personal computers Instead they are being used by the millions in dishwashers automobiles aircraft oscilloscopes stereo systems television sets and in industrial control systems used for measuring lumber thickness or controlling steel making
5
Digital technology is finding its way into areas of electronics normally thought of as strictly analogue Commercial two-way radios have microcontrollers setting the local oscillator frequency Electronic instrumentation such as oscilloscopes logic analyzers function generators power supplies and multimeters measuring current voltage and resistance all have made widespread use of digital technology In fact it is difficult to find a recently designed electronic instrument that does not use digital technology in some way Digital signal processing (DSP) is a methodology that involves the conversion of analogue information into digital form processes it in some rather sophisticated manner and produces an output either analogue or digital Modem submarines use DSP to make sense of acoustic noises that occur under the ocean for example
Digital technology is especially useful because it is less susceptible to electrical noise (spikes or fluxations in voltage or current) temperature effects component aging and other factors that affect analogue systems This does not mean that analogue technology is not important or that students of electronics and even computers should not study analogue circuit and systems In fact just the contrary is true The concepts of radio propagation antenna design amplifier analysis and active filters to mention a brief few are more important than ever To appropriately apply digital design principles to these areas certainly requires an in-depth understanding of analogue principles Furthermore as the frequencies of digital devices continue to increase digital systems designers are faced with solving analogue-related problems
The application of digital technology will continue to grow in a wide range of consumer product industrial control militarydefense and service industries Look for digital system speeds to increase new devices with added complexity integrated systems comprising both digital and analogue functions embedded into a single integrated circuit and even possibly the use of organic material for constructing memory devices
16 Overview of Modern Design Process
Design is a complex process more an art than a science Complex systems can be broken down into three simpler independent design stages the functional structural and physical stages Figure 11 depicts the general process flow in current logic synthesis systems
A switChing circuit design is first specified in the functional design stage with tools such as hardware description language (HDL) or schematic capture Hardware description language allows a design to be described in text form while schematic capture allows a design to be described in graphical form Once the design is specified it is converted into a mathematical description by the design tools and passed on to the next design stage
In the logic design stage the mathematical representation of the design is simplified without modifying the functionality Two major manipulation techniques that have been studied extensively are simplification and portioning techniques The simplification techniques aim to produce a simpler representation while the portioning techniques aim to break a large representation into a set of smaller but equivalent representations
When the manipulation run If the results of sirr redone or the original satisfactory the represen
In designing application placing and routing Ir programmable logic de logic blocks (placing) ar stage only involves prog
When the physical de consideration) may be f1
which may be part of th manufacturing Followir includes the testing ofm
Figure 11 (
thought of as strictly the local oscillator analyzers function
important
a
logic and resistance all have
to fi nd a recently designed Digital signal processing
Iinfnnml-inn into digital fonn output either analogue or
noises that occur under the
to electrical noise (spikes or and other factors that
is not important or that circuit and systems In
antenna design amplifier than ever To
requires an in-depth of digital devices
solving analogue-related
wide range of consumer Look for digital system systems comprising both
and even possibly the
stages
stage with tools such as description language
allows a design to be -rt-11 into a mathematical
is simplified without that have been studied
iti techniques aim to aim to break a large
When the manipulation is completed a pre-layout simulation (with ideal consideration) may be run If the results of simulation are not satisfactory the previous design stages will have to be redone or the original specification may have to be changed However if the results are satisfactory the representation will be passed on to the final stage - physical design stage
In designing application specific integrated circuit (ASIC) this stage includes floor planning placing and routing In designing field programmable gate arrays (FPGAs) and complex programmable logic devices (CPLDs) this stage includes defining the various programmable logic blocks (placing) and programming the interconnections (routing) In designing PLAs this stage only involves programming the interconnections (routing)
When the physical design stage is completed a post-layout simulation (with practical consideration) may be run If the results are not satisfactory the design will have to be redone which may be part of the entire process If the result is satisfactory the design will be sent for manufacturing Following the manufacturing process comes the testing of the devices which includes the testing of manufacturing faults and the design faults
Figure 11 General Process Flow in Current Logic Synthesis Systems
i
Research methoe 1917 Boolean Functions Problem Statement
Boolean derivatives and differentials are used as models for changes in discrete binary coded systems such as cryptosystems for information authentication and data encryption Derivatives describe crucial criteria of Boolean functions such as dependence and independence linearity monotonicity high degree of propagation high nonlinearity 0-1 balancedness and high algebraic degree They are operators generating other Boolean functions Equations with derivatives define classes of Boolean functions Boolean Differentials are models for any kinds of changes such as signal edges errors and deviations An important Boolean problem is that of designing Boolean functions satisfying simultaneously more than one nonlinearity criteria
Boolean function manipulation is the art of exploiting simplification opportunities that exist inherently in logical structures by using the identities that exist within that algebra or reducing the number of terms used We are seeking to express any logical function as simple as possible because this can lead to a reduced usage of resources when that same function is implemented physically
18 Objectives of the Research
The main objective of the project is to generalize simplification rules employed by several existing simplification algorithms and develop simplification algorithms based on the rules derived from the generalization While the measurable objectives are as stated below
I To survey on the existing simplification algorit~ms
2 To study and compare the simplification rules employed by these simplification algorithms
3 To generalize the existing simplification rules and from there identify new simplification rules
4 To implement software package which employs an effective set of simplification rules
The diagram in Figure I
)FamUiarize w gtStudy the nls
gtCompare simi gtAnaJyu the cI gtGeneralize the gt Derive rules fl
gtDevelop simpJ gt Implement the
gtTest new solho Compare resu
~
8
F
110 Thesis Structure
This thesis covers the fo l
rules employed by several algorithms based on the rules
Phase 3 Implementation of Software Package are as stated below
in discrete binary coded data encryption Derivatives and independence linearity
0- balanced ness and high functions Equations with
are models for any kinds rmSlnt Boolean problem is that
one nonlinearity criteria
IIlcallcm opportunities that exist within that algebra or reducing
function as simple as possible same function is implemented
19 Research methodology
The diagram in Figure 12 shows the methodology used and planned in conducting the research
Phase I Literature Review
IDIUJariu wllh the current work done in UNIMAS gtStudy the existing simplification rules
Phase 2 Generalization of Simplification Rules
ompare simplification ru les employed by different simplification algorithms gtAnalyze the characteristics of existing simplification rules gtGeoeralize the simplification rules based on their simplification characteristics raquo Derive rules from the generalization of simplification rules
simplification algorithms
identifY new simplification
of simplification rules
Develop simplification algorithms which emplOy different set of simplification rules raquo lmplement the algorithm onto computer using Visual C++ language
+Phase 4 Analysis of algorithms performance
raquoTest new software package by using practical circuits or benchmarks raquoCompare results obtained to that provided by the traditional methods
Figure 12 Research Methodology Flow Chart
110 Thesis Structure
This thesis covers the following topics
9
In Chapter I history brief concept of Digital System Design and importance of Digital System are provided The research objectives methodology and overview of modem design process are outlined as well
Chapter 2 documents the literature review performed The traditional representation techniques of simplification method basically cover truth table algebraic function and K-Map The existing simplification techniques such as algebraic simplification K-Map simplification Quine McshyCluskey tabulation method are reviewed and discussed
Chapter 3 lists ESPRESSO program description and examples It introduces the main features of Boolean Minimizer and the program is elaborated together with its data formats and controls Moreover the initial generation of implicants is described with an illustrative example
In Chapter 4 the experimental results of the proposed simplification method is evaluated and commented The source code of the simplification method is discussed and explained
In Chapter 5 a conclusion of this thesis is presented and recommendation on further works that can be carried out to further improve the simplification method is also provided
10
21 Review of Traditi4
In designing digital syste Maps or algebraic expres~ be limited in large circui circuits which computati( number of inputs increase has been introduced and representing techn iques de computation time and stOI(
22 Truth Table
Before any combinational a problem is the most imp correctly accomplished 0 necessary logic for imp len table ready for logic desi From the truth table the diagram drawn The logic integrated circuit families complementary metal-oxi (mnemonic) can take on ( variable of the real numbel conditions of a Boolean 1
format called a truth table
Truth table is the most funl describes the operational combinations of input vall row at a time Further the valued variable Thus if 1
there are four combinatio~ inputs is increased by 0
independent input variable 22 show the general truth 1
CHAPTER 2
LITERATURE REVIEW
importance of Digital System of modem design process are
representation technique and K-Map The existing
simplification Quine Mcshy
introduces the main features its data formats and controls illustrative example
method is evaluated and and explained
on further works that also provided
21 Review of Traditional Representation Techniques
In designing digital system switching circuits are usually represented using truth tables KshyMaps or algebraic expressions These traditional representation techniques have been proven to be limited in large circuit designs Thus a more efficient method of representing switching circuits which computation time and storage requirements do not grow exponentially as the number of inputs increases is required The graph-based representation method known as DD has been introduced and its popularity has grown rapidly in the last decade These modem representing techniques describe the operation of a switching circuit more efficiently both in computation time and storage requirements
22 Truth Table
Before any combinational logic system can be designed it must be defmed Proper statement of a problem is the most important part of any digital design task Nothing can occur until that is correctly accomplished Once correctly and clearly stated any problem can be converted to the necessary logic for implementation Practical applications rarely come in a prepackaged truth table ready for logic design Truth table must be constructed from verbal problem descriptions From the truth table the switching equations can be written and simplified and the logic diagram drawn The logic diagram can be realized using anyone of the three main digital integrated circuit families transistor-transistor logic (TTL) emitter-coupled logic (ECL) or complementary metal-oxide silicon (CMOS) We established that a Boolean variable (mnemonic) can take on only two values not an infinite number as its kindred associate the variable of the real number system This basic difference allows us to illustrate all possible logic conditions of a Boolean variable or a collection of Boolean variables using a finite tabular format called a truth table
Truth table is the most fundamental and classical way in the description of a switching circuit It describes the operational behavior of the circuit by listing the output values for all possible liOIIlbinations of input values or arguments in vertical order and each input combination one lOW at a time Further the nontrivial decisions in digital design are based on more than one twoshyvalued variable Thus if an output is to be completely specified as a function of two inputs dIere are four combinations that must be considered From this we see that as the number of ilputs is increased by one the number of possible combinations doubles Therefore n iadcpendent input variables will exhibit 2n distinct combinations of values Table 2 I and Table 22 show the general truth table for a function with n variables and an example with n = 3
II
l
l
performed Asserted is defined as the affirmative position of an Action related Boolean variable (mnemonic) Now if the logic operation is being performed we say that the Boolean variable is Asserted It follows that if the logic operation is not being performed we say that the Boolean variable is Not-Asserted Traditionally it is standard to use the shorthand symbols I for True and 0 for False However Is or Os are also used for numeric values (binary numbers) and as high or low voltage indicators as well
14 Digital and The Real World
In real life there are two ways of representing information analog and digital Analog signals contain all the information as a continuously varying wave - such as on an oscilloscope screen when you speak into a microphone connected to it Digital signals are a series of pulses - ons and offs or Is and Os A system that processes analogue signal is termed as analogue system and a system that processes digital signal is termed as digital system A few of these are light nuclear radiation and the electric signals governing the human nervous system which are interestingly enough most definitely discrete phenomena The use of digital practices can be a viable method for solving design problems in the real world The reasons that design problems are emphasized stems from the fact that the major areas of involvement for electrical and digital engineers are (I) the measurement (2) the control and (3) the transmission of information and energy Thus we fmd that we are continuously trying to find solutions to problems related to the measurement control and transmission of information or energy in the domain of the real world However the real world tends to have a continuous nature Because of this the discrete domain needs to the buffered in some way
In recent years systems that are capable of processing a mixture of both analogue and digital signals are increasingly popular The interdomain converter is a specialized system that converts or translates information of one domain into information of another domain For example an analogue signal can often be converted to a digital signal using analogue-to-digital converter (ADC) The processed signal can be converted back to the original form using the digital-toshyanalogue converter (DAC)
Since pure digital systems are made up of arrays of simple and reliable switches with only two positions a numerical system that already existed was adapted to serve as the tool needed for utilizing the basic concept This numerical math system called the binary system is based on the two symbols 0 and I in contrast to the decimal system which has ten symbols 0 I 2 9 We should see now that in order to use a digital system such as a digital computer for mathematical computations we must first convert our mathematical symbolisms (decimal in this case) into binary symbolisms to allow the computer to perform this mathematical operation Once this is done the inverse process must he performed to convert the binary results into a readable decimal representation
The obvious question Is digital worth all of the conversion The answer cannot be simply stated in yes or no terms but must be left to the individual and the particular situation In certain instances it may not in fact be worth the bother Such would not be the case if we were able to create and use multiple-valued logic systems to create a totally decimal machine Obviously if there were ten unique descriptors usable for our decimal computer there would be no need
to convert any infonn practically speaking bil system for some years t communicate with his IT
conversion and the diffe
15 The Importance
Digital systems are use have displaced the ear numerical and non-nume
Information processing processing task elimir representation of the pn the representation and tri
The finite number of va two values (binary sigm binary as a result the switches with two states
Digital signals are quit operating temperature significant portions of a separated so that small better dynamic range T be made more accurate Thus it is more reliab susceptible to variations
The advance of microelt of extremely complex d are built as integrated cil to select among differ~ hardware
Digital technology ha computers to small persl injected in a new autom large systems in a bank last 10 years the grov microprocessors being ~ used by the millions television sets and in controlling steel making
Action related Boolean we say that the Boolean
we say that the shorthand symbols 1 for values (binary numbers)
digital Analog signals on an oscilloscope screen
a series of pulses - ons as analogue system
A few of these are light system which are
digital practices can be a that design problems
for electrical and digital of information and
to problems related to the domain of the real world this the discrete domain
switches with only two as the tool needed for
system is based on has ten symbols 0 I 2 bull bull
a digital computer for symbolisms (decimal in mathematical operation the binary results into a
cannot be simply situation In certain
to convert any information into the now required two-valued binary system However practically speaking binary systems presently dominate and will continue to be the dominant system for some years to come Since such is the case and man ultimately must learn how to communicate with his machine it is necessary that we study the processes involved in number conversion and the different codes used to represent and convey information
IS The Importance of Digital Systems
Digital systems are used in information processing wherein they have become prevalent and have displaced the earlier analogue system Digital representation is well suited for both numerical and non-numerical information processing
Information processing can use a general-purpose system that is programmed for a particular processing task eliminating the need to have a different system for each task The representation of the program and its interpretation can use the same techniques employed for the representation and transformation of the data
The finite number of values in digital signal can be represented by a vector of signals with just two values (binary signals) This representation allow implementations in which all signals are binary as a result the devices that process these signals are very simple (essentially just switches with two states open and closed)
Digital signals are quite insensitive to variations of component parameter values such as operating temperature This includes its potential flexibility in terms of time-multiplexing significant portions of a given system The physical representation of the values is sufficiently separated so that small variations do not change the value it provides exact replicablity with a better dynamic range This is especially true for binary signals Numerical digital systems can be made more accurate by simply increasing the number of digits used in the representation Thus it is more reliable more applicable to nonlinear control more predictable and less susceptible to variations of environment
The advance of microelectronics technology in recent years have made possible the fabrication of extremely complex digital systems that are small fast and cheap Complex digital systems are built as integrated circuits composed of a large number of very simple devices It is possible to select among different implementations of systems that trade off speed and amount of hardware
Digital technology has affected computing from large multimillion dollars mainframe computers to small personal computers and microprocessor controllers measuring the fuel to be injected in a new automobile engine Many of us think of computers in the sense of medium to large systems in a bank or insurance company or for scientific research or military used In the last 10 years the growth of personal computing has been tremendous But most of the microprocessors being sold today do not go into personal computers Instead they are being used by the millions in dishwashers automobiles aircraft oscilloscopes stereo systems television sets and in industrial control systems used for measuring lumber thickness or controlling steel making
5
Digital technology is finding its way into areas of electronics normally thought of as strictly analogue Commercial two-way radios have microcontrollers setting the local oscillator frequency Electronic instrumentation such as oscilloscopes logic analyzers function generators power supplies and multimeters measuring current voltage and resistance all have made widespread use of digital technology In fact it is difficult to find a recently designed electronic instrument that does not use digital technology in some way Digital signal processing (DSP) is a methodology that involves the conversion of analogue information into digital form processes it in some rather sophisticated manner and produces an output either analogue or digital Modem submarines use DSP to make sense of acoustic noises that occur under the ocean for example
Digital technology is especially useful because it is less susceptible to electrical noise (spikes or fluxations in voltage or current) temperature effects component aging and other factors that affect analogue systems This does not mean that analogue technology is not important or that students of electronics and even computers should not study analogue circuit and systems In fact just the contrary is true The concepts of radio propagation antenna design amplifier analysis and active filters to mention a brief few are more important than ever To appropriately apply digital design principles to these areas certainly requires an in-depth understanding of analogue principles Furthermore as the frequencies of digital devices continue to increase digital systems designers are faced with solving analogue-related problems
The application of digital technology will continue to grow in a wide range of consumer product industrial control militarydefense and service industries Look for digital system speeds to increase new devices with added complexity integrated systems comprising both digital and analogue functions embedded into a single integrated circuit and even possibly the use of organic material for constructing memory devices
16 Overview of Modern Design Process
Design is a complex process more an art than a science Complex systems can be broken down into three simpler independent design stages the functional structural and physical stages Figure 11 depicts the general process flow in current logic synthesis systems
A switChing circuit design is first specified in the functional design stage with tools such as hardware description language (HDL) or schematic capture Hardware description language allows a design to be described in text form while schematic capture allows a design to be described in graphical form Once the design is specified it is converted into a mathematical description by the design tools and passed on to the next design stage
In the logic design stage the mathematical representation of the design is simplified without modifying the functionality Two major manipulation techniques that have been studied extensively are simplification and portioning techniques The simplification techniques aim to produce a simpler representation while the portioning techniques aim to break a large representation into a set of smaller but equivalent representations
When the manipulation run If the results of sirr redone or the original satisfactory the represen
In designing application placing and routing Ir programmable logic de logic blocks (placing) ar stage only involves prog
When the physical de consideration) may be f1
which may be part of th manufacturing Followir includes the testing ofm
Figure 11 (
thought of as strictly the local oscillator analyzers function
important
a
logic and resistance all have
to fi nd a recently designed Digital signal processing
Iinfnnml-inn into digital fonn output either analogue or
noises that occur under the
to electrical noise (spikes or and other factors that
is not important or that circuit and systems In
antenna design amplifier than ever To
requires an in-depth of digital devices
solving analogue-related
wide range of consumer Look for digital system systems comprising both
and even possibly the
stages
stage with tools such as description language
allows a design to be -rt-11 into a mathematical
is simplified without that have been studied
iti techniques aim to aim to break a large
When the manipulation is completed a pre-layout simulation (with ideal consideration) may be run If the results of simulation are not satisfactory the previous design stages will have to be redone or the original specification may have to be changed However if the results are satisfactory the representation will be passed on to the final stage - physical design stage
In designing application specific integrated circuit (ASIC) this stage includes floor planning placing and routing In designing field programmable gate arrays (FPGAs) and complex programmable logic devices (CPLDs) this stage includes defining the various programmable logic blocks (placing) and programming the interconnections (routing) In designing PLAs this stage only involves programming the interconnections (routing)
When the physical design stage is completed a post-layout simulation (with practical consideration) may be run If the results are not satisfactory the design will have to be redone which may be part of the entire process If the result is satisfactory the design will be sent for manufacturing Following the manufacturing process comes the testing of the devices which includes the testing of manufacturing faults and the design faults
Figure 11 General Process Flow in Current Logic Synthesis Systems
i
Research methoe 1917 Boolean Functions Problem Statement
Boolean derivatives and differentials are used as models for changes in discrete binary coded systems such as cryptosystems for information authentication and data encryption Derivatives describe crucial criteria of Boolean functions such as dependence and independence linearity monotonicity high degree of propagation high nonlinearity 0-1 balancedness and high algebraic degree They are operators generating other Boolean functions Equations with derivatives define classes of Boolean functions Boolean Differentials are models for any kinds of changes such as signal edges errors and deviations An important Boolean problem is that of designing Boolean functions satisfying simultaneously more than one nonlinearity criteria
Boolean function manipulation is the art of exploiting simplification opportunities that exist inherently in logical structures by using the identities that exist within that algebra or reducing the number of terms used We are seeking to express any logical function as simple as possible because this can lead to a reduced usage of resources when that same function is implemented physically
18 Objectives of the Research
The main objective of the project is to generalize simplification rules employed by several existing simplification algorithms and develop simplification algorithms based on the rules derived from the generalization While the measurable objectives are as stated below
I To survey on the existing simplification algorit~ms
2 To study and compare the simplification rules employed by these simplification algorithms
3 To generalize the existing simplification rules and from there identify new simplification rules
4 To implement software package which employs an effective set of simplification rules
The diagram in Figure I
)FamUiarize w gtStudy the nls
gtCompare simi gtAnaJyu the cI gtGeneralize the gt Derive rules fl
gtDevelop simpJ gt Implement the
gtTest new solho Compare resu
~
8
F
110 Thesis Structure
This thesis covers the fo l
rules employed by several algorithms based on the rules
Phase 3 Implementation of Software Package are as stated below
in discrete binary coded data encryption Derivatives and independence linearity
0- balanced ness and high functions Equations with
are models for any kinds rmSlnt Boolean problem is that
one nonlinearity criteria
IIlcallcm opportunities that exist within that algebra or reducing
function as simple as possible same function is implemented
19 Research methodology
The diagram in Figure 12 shows the methodology used and planned in conducting the research
Phase I Literature Review
IDIUJariu wllh the current work done in UNIMAS gtStudy the existing simplification rules
Phase 2 Generalization of Simplification Rules
ompare simplification ru les employed by different simplification algorithms gtAnalyze the characteristics of existing simplification rules gtGeoeralize the simplification rules based on their simplification characteristics raquo Derive rules from the generalization of simplification rules
simplification algorithms
identifY new simplification
of simplification rules
Develop simplification algorithms which emplOy different set of simplification rules raquo lmplement the algorithm onto computer using Visual C++ language
+Phase 4 Analysis of algorithms performance
raquoTest new software package by using practical circuits or benchmarks raquoCompare results obtained to that provided by the traditional methods
Figure 12 Research Methodology Flow Chart
110 Thesis Structure
This thesis covers the following topics
9
In Chapter I history brief concept of Digital System Design and importance of Digital System are provided The research objectives methodology and overview of modem design process are outlined as well
Chapter 2 documents the literature review performed The traditional representation techniques of simplification method basically cover truth table algebraic function and K-Map The existing simplification techniques such as algebraic simplification K-Map simplification Quine McshyCluskey tabulation method are reviewed and discussed
Chapter 3 lists ESPRESSO program description and examples It introduces the main features of Boolean Minimizer and the program is elaborated together with its data formats and controls Moreover the initial generation of implicants is described with an illustrative example
In Chapter 4 the experimental results of the proposed simplification method is evaluated and commented The source code of the simplification method is discussed and explained
In Chapter 5 a conclusion of this thesis is presented and recommendation on further works that can be carried out to further improve the simplification method is also provided
10
21 Review of Traditi4
In designing digital syste Maps or algebraic expres~ be limited in large circui circuits which computati( number of inputs increase has been introduced and representing techn iques de computation time and stOI(
22 Truth Table
Before any combinational a problem is the most imp correctly accomplished 0 necessary logic for imp len table ready for logic desi From the truth table the diagram drawn The logic integrated circuit families complementary metal-oxi (mnemonic) can take on ( variable of the real numbel conditions of a Boolean 1
format called a truth table
Truth table is the most funl describes the operational combinations of input vall row at a time Further the valued variable Thus if 1
there are four combinatio~ inputs is increased by 0
independent input variable 22 show the general truth 1
CHAPTER 2
LITERATURE REVIEW
importance of Digital System of modem design process are
representation technique and K-Map The existing
simplification Quine Mcshy
introduces the main features its data formats and controls illustrative example
method is evaluated and and explained
on further works that also provided
21 Review of Traditional Representation Techniques
In designing digital system switching circuits are usually represented using truth tables KshyMaps or algebraic expressions These traditional representation techniques have been proven to be limited in large circuit designs Thus a more efficient method of representing switching circuits which computation time and storage requirements do not grow exponentially as the number of inputs increases is required The graph-based representation method known as DD has been introduced and its popularity has grown rapidly in the last decade These modem representing techniques describe the operation of a switching circuit more efficiently both in computation time and storage requirements
22 Truth Table
Before any combinational logic system can be designed it must be defmed Proper statement of a problem is the most important part of any digital design task Nothing can occur until that is correctly accomplished Once correctly and clearly stated any problem can be converted to the necessary logic for implementation Practical applications rarely come in a prepackaged truth table ready for logic design Truth table must be constructed from verbal problem descriptions From the truth table the switching equations can be written and simplified and the logic diagram drawn The logic diagram can be realized using anyone of the three main digital integrated circuit families transistor-transistor logic (TTL) emitter-coupled logic (ECL) or complementary metal-oxide silicon (CMOS) We established that a Boolean variable (mnemonic) can take on only two values not an infinite number as its kindred associate the variable of the real number system This basic difference allows us to illustrate all possible logic conditions of a Boolean variable or a collection of Boolean variables using a finite tabular format called a truth table
Truth table is the most fundamental and classical way in the description of a switching circuit It describes the operational behavior of the circuit by listing the output values for all possible liOIIlbinations of input values or arguments in vertical order and each input combination one lOW at a time Further the nontrivial decisions in digital design are based on more than one twoshyvalued variable Thus if an output is to be completely specified as a function of two inputs dIere are four combinations that must be considered From this we see that as the number of ilputs is increased by one the number of possible combinations doubles Therefore n iadcpendent input variables will exhibit 2n distinct combinations of values Table 2 I and Table 22 show the general truth table for a function with n variables and an example with n = 3
II
Action related Boolean we say that the Boolean
we say that the shorthand symbols 1 for values (binary numbers)
digital Analog signals on an oscilloscope screen
a series of pulses - ons as analogue system
A few of these are light system which are
digital practices can be a that design problems
for electrical and digital of information and
to problems related to the domain of the real world this the discrete domain
switches with only two as the tool needed for
system is based on has ten symbols 0 I 2 bull bull
a digital computer for symbolisms (decimal in mathematical operation the binary results into a
cannot be simply situation In certain
to convert any information into the now required two-valued binary system However practically speaking binary systems presently dominate and will continue to be the dominant system for some years to come Since such is the case and man ultimately must learn how to communicate with his machine it is necessary that we study the processes involved in number conversion and the different codes used to represent and convey information
IS The Importance of Digital Systems
Digital systems are used in information processing wherein they have become prevalent and have displaced the earlier analogue system Digital representation is well suited for both numerical and non-numerical information processing
Information processing can use a general-purpose system that is programmed for a particular processing task eliminating the need to have a different system for each task The representation of the program and its interpretation can use the same techniques employed for the representation and transformation of the data
The finite number of values in digital signal can be represented by a vector of signals with just two values (binary signals) This representation allow implementations in which all signals are binary as a result the devices that process these signals are very simple (essentially just switches with two states open and closed)
Digital signals are quite insensitive to variations of component parameter values such as operating temperature This includes its potential flexibility in terms of time-multiplexing significant portions of a given system The physical representation of the values is sufficiently separated so that small variations do not change the value it provides exact replicablity with a better dynamic range This is especially true for binary signals Numerical digital systems can be made more accurate by simply increasing the number of digits used in the representation Thus it is more reliable more applicable to nonlinear control more predictable and less susceptible to variations of environment
The advance of microelectronics technology in recent years have made possible the fabrication of extremely complex digital systems that are small fast and cheap Complex digital systems are built as integrated circuits composed of a large number of very simple devices It is possible to select among different implementations of systems that trade off speed and amount of hardware
Digital technology has affected computing from large multimillion dollars mainframe computers to small personal computers and microprocessor controllers measuring the fuel to be injected in a new automobile engine Many of us think of computers in the sense of medium to large systems in a bank or insurance company or for scientific research or military used In the last 10 years the growth of personal computing has been tremendous But most of the microprocessors being sold today do not go into personal computers Instead they are being used by the millions in dishwashers automobiles aircraft oscilloscopes stereo systems television sets and in industrial control systems used for measuring lumber thickness or controlling steel making
5
Digital technology is finding its way into areas of electronics normally thought of as strictly analogue Commercial two-way radios have microcontrollers setting the local oscillator frequency Electronic instrumentation such as oscilloscopes logic analyzers function generators power supplies and multimeters measuring current voltage and resistance all have made widespread use of digital technology In fact it is difficult to find a recently designed electronic instrument that does not use digital technology in some way Digital signal processing (DSP) is a methodology that involves the conversion of analogue information into digital form processes it in some rather sophisticated manner and produces an output either analogue or digital Modem submarines use DSP to make sense of acoustic noises that occur under the ocean for example
Digital technology is especially useful because it is less susceptible to electrical noise (spikes or fluxations in voltage or current) temperature effects component aging and other factors that affect analogue systems This does not mean that analogue technology is not important or that students of electronics and even computers should not study analogue circuit and systems In fact just the contrary is true The concepts of radio propagation antenna design amplifier analysis and active filters to mention a brief few are more important than ever To appropriately apply digital design principles to these areas certainly requires an in-depth understanding of analogue principles Furthermore as the frequencies of digital devices continue to increase digital systems designers are faced with solving analogue-related problems
The application of digital technology will continue to grow in a wide range of consumer product industrial control militarydefense and service industries Look for digital system speeds to increase new devices with added complexity integrated systems comprising both digital and analogue functions embedded into a single integrated circuit and even possibly the use of organic material for constructing memory devices
16 Overview of Modern Design Process
Design is a complex process more an art than a science Complex systems can be broken down into three simpler independent design stages the functional structural and physical stages Figure 11 depicts the general process flow in current logic synthesis systems
A switChing circuit design is first specified in the functional design stage with tools such as hardware description language (HDL) or schematic capture Hardware description language allows a design to be described in text form while schematic capture allows a design to be described in graphical form Once the design is specified it is converted into a mathematical description by the design tools and passed on to the next design stage
In the logic design stage the mathematical representation of the design is simplified without modifying the functionality Two major manipulation techniques that have been studied extensively are simplification and portioning techniques The simplification techniques aim to produce a simpler representation while the portioning techniques aim to break a large representation into a set of smaller but equivalent representations
When the manipulation run If the results of sirr redone or the original satisfactory the represen
In designing application placing and routing Ir programmable logic de logic blocks (placing) ar stage only involves prog
When the physical de consideration) may be f1
which may be part of th manufacturing Followir includes the testing ofm
Figure 11 (
thought of as strictly the local oscillator analyzers function
important
a
logic and resistance all have
to fi nd a recently designed Digital signal processing
Iinfnnml-inn into digital fonn output either analogue or
noises that occur under the
to electrical noise (spikes or and other factors that
is not important or that circuit and systems In
antenna design amplifier than ever To
requires an in-depth of digital devices
solving analogue-related
wide range of consumer Look for digital system systems comprising both
and even possibly the
stages
stage with tools such as description language
allows a design to be -rt-11 into a mathematical
is simplified without that have been studied
iti techniques aim to aim to break a large
When the manipulation is completed a pre-layout simulation (with ideal consideration) may be run If the results of simulation are not satisfactory the previous design stages will have to be redone or the original specification may have to be changed However if the results are satisfactory the representation will be passed on to the final stage - physical design stage
In designing application specific integrated circuit (ASIC) this stage includes floor planning placing and routing In designing field programmable gate arrays (FPGAs) and complex programmable logic devices (CPLDs) this stage includes defining the various programmable logic blocks (placing) and programming the interconnections (routing) In designing PLAs this stage only involves programming the interconnections (routing)
When the physical design stage is completed a post-layout simulation (with practical consideration) may be run If the results are not satisfactory the design will have to be redone which may be part of the entire process If the result is satisfactory the design will be sent for manufacturing Following the manufacturing process comes the testing of the devices which includes the testing of manufacturing faults and the design faults
Figure 11 General Process Flow in Current Logic Synthesis Systems
i
Research methoe 1917 Boolean Functions Problem Statement
Boolean derivatives and differentials are used as models for changes in discrete binary coded systems such as cryptosystems for information authentication and data encryption Derivatives describe crucial criteria of Boolean functions such as dependence and independence linearity monotonicity high degree of propagation high nonlinearity 0-1 balancedness and high algebraic degree They are operators generating other Boolean functions Equations with derivatives define classes of Boolean functions Boolean Differentials are models for any kinds of changes such as signal edges errors and deviations An important Boolean problem is that of designing Boolean functions satisfying simultaneously more than one nonlinearity criteria
Boolean function manipulation is the art of exploiting simplification opportunities that exist inherently in logical structures by using the identities that exist within that algebra or reducing the number of terms used We are seeking to express any logical function as simple as possible because this can lead to a reduced usage of resources when that same function is implemented physically
18 Objectives of the Research
The main objective of the project is to generalize simplification rules employed by several existing simplification algorithms and develop simplification algorithms based on the rules derived from the generalization While the measurable objectives are as stated below
I To survey on the existing simplification algorit~ms
2 To study and compare the simplification rules employed by these simplification algorithms
3 To generalize the existing simplification rules and from there identify new simplification rules
4 To implement software package which employs an effective set of simplification rules
The diagram in Figure I
)FamUiarize w gtStudy the nls
gtCompare simi gtAnaJyu the cI gtGeneralize the gt Derive rules fl
gtDevelop simpJ gt Implement the
gtTest new solho Compare resu
~
8
F
110 Thesis Structure
This thesis covers the fo l
rules employed by several algorithms based on the rules
Phase 3 Implementation of Software Package are as stated below
in discrete binary coded data encryption Derivatives and independence linearity
0- balanced ness and high functions Equations with
are models for any kinds rmSlnt Boolean problem is that
one nonlinearity criteria
IIlcallcm opportunities that exist within that algebra or reducing
function as simple as possible same function is implemented
19 Research methodology
The diagram in Figure 12 shows the methodology used and planned in conducting the research
Phase I Literature Review
IDIUJariu wllh the current work done in UNIMAS gtStudy the existing simplification rules
Phase 2 Generalization of Simplification Rules
ompare simplification ru les employed by different simplification algorithms gtAnalyze the characteristics of existing simplification rules gtGeoeralize the simplification rules based on their simplification characteristics raquo Derive rules from the generalization of simplification rules
simplification algorithms
identifY new simplification
of simplification rules
Develop simplification algorithms which emplOy different set of simplification rules raquo lmplement the algorithm onto computer using Visual C++ language
+Phase 4 Analysis of algorithms performance
raquoTest new software package by using practical circuits or benchmarks raquoCompare results obtained to that provided by the traditional methods
Figure 12 Research Methodology Flow Chart
110 Thesis Structure
This thesis covers the following topics
9
In Chapter I history brief concept of Digital System Design and importance of Digital System are provided The research objectives methodology and overview of modem design process are outlined as well
Chapter 2 documents the literature review performed The traditional representation techniques of simplification method basically cover truth table algebraic function and K-Map The existing simplification techniques such as algebraic simplification K-Map simplification Quine McshyCluskey tabulation method are reviewed and discussed
Chapter 3 lists ESPRESSO program description and examples It introduces the main features of Boolean Minimizer and the program is elaborated together with its data formats and controls Moreover the initial generation of implicants is described with an illustrative example
In Chapter 4 the experimental results of the proposed simplification method is evaluated and commented The source code of the simplification method is discussed and explained
In Chapter 5 a conclusion of this thesis is presented and recommendation on further works that can be carried out to further improve the simplification method is also provided
10
21 Review of Traditi4
In designing digital syste Maps or algebraic expres~ be limited in large circui circuits which computati( number of inputs increase has been introduced and representing techn iques de computation time and stOI(
22 Truth Table
Before any combinational a problem is the most imp correctly accomplished 0 necessary logic for imp len table ready for logic desi From the truth table the diagram drawn The logic integrated circuit families complementary metal-oxi (mnemonic) can take on ( variable of the real numbel conditions of a Boolean 1
format called a truth table
Truth table is the most funl describes the operational combinations of input vall row at a time Further the valued variable Thus if 1
there are four combinatio~ inputs is increased by 0
independent input variable 22 show the general truth 1
CHAPTER 2
LITERATURE REVIEW
importance of Digital System of modem design process are
representation technique and K-Map The existing
simplification Quine Mcshy
introduces the main features its data formats and controls illustrative example
method is evaluated and and explained
on further works that also provided
21 Review of Traditional Representation Techniques
In designing digital system switching circuits are usually represented using truth tables KshyMaps or algebraic expressions These traditional representation techniques have been proven to be limited in large circuit designs Thus a more efficient method of representing switching circuits which computation time and storage requirements do not grow exponentially as the number of inputs increases is required The graph-based representation method known as DD has been introduced and its popularity has grown rapidly in the last decade These modem representing techniques describe the operation of a switching circuit more efficiently both in computation time and storage requirements
22 Truth Table
Before any combinational logic system can be designed it must be defmed Proper statement of a problem is the most important part of any digital design task Nothing can occur until that is correctly accomplished Once correctly and clearly stated any problem can be converted to the necessary logic for implementation Practical applications rarely come in a prepackaged truth table ready for logic design Truth table must be constructed from verbal problem descriptions From the truth table the switching equations can be written and simplified and the logic diagram drawn The logic diagram can be realized using anyone of the three main digital integrated circuit families transistor-transistor logic (TTL) emitter-coupled logic (ECL) or complementary metal-oxide silicon (CMOS) We established that a Boolean variable (mnemonic) can take on only two values not an infinite number as its kindred associate the variable of the real number system This basic difference allows us to illustrate all possible logic conditions of a Boolean variable or a collection of Boolean variables using a finite tabular format called a truth table
Truth table is the most fundamental and classical way in the description of a switching circuit It describes the operational behavior of the circuit by listing the output values for all possible liOIIlbinations of input values or arguments in vertical order and each input combination one lOW at a time Further the nontrivial decisions in digital design are based on more than one twoshyvalued variable Thus if an output is to be completely specified as a function of two inputs dIere are four combinations that must be considered From this we see that as the number of ilputs is increased by one the number of possible combinations doubles Therefore n iadcpendent input variables will exhibit 2n distinct combinations of values Table 2 I and Table 22 show the general truth table for a function with n variables and an example with n = 3
II
Digital technology is finding its way into areas of electronics normally thought of as strictly analogue Commercial two-way radios have microcontrollers setting the local oscillator frequency Electronic instrumentation such as oscilloscopes logic analyzers function generators power supplies and multimeters measuring current voltage and resistance all have made widespread use of digital technology In fact it is difficult to find a recently designed electronic instrument that does not use digital technology in some way Digital signal processing (DSP) is a methodology that involves the conversion of analogue information into digital form processes it in some rather sophisticated manner and produces an output either analogue or digital Modem submarines use DSP to make sense of acoustic noises that occur under the ocean for example
Digital technology is especially useful because it is less susceptible to electrical noise (spikes or fluxations in voltage or current) temperature effects component aging and other factors that affect analogue systems This does not mean that analogue technology is not important or that students of electronics and even computers should not study analogue circuit and systems In fact just the contrary is true The concepts of radio propagation antenna design amplifier analysis and active filters to mention a brief few are more important than ever To appropriately apply digital design principles to these areas certainly requires an in-depth understanding of analogue principles Furthermore as the frequencies of digital devices continue to increase digital systems designers are faced with solving analogue-related problems
The application of digital technology will continue to grow in a wide range of consumer product industrial control militarydefense and service industries Look for digital system speeds to increase new devices with added complexity integrated systems comprising both digital and analogue functions embedded into a single integrated circuit and even possibly the use of organic material for constructing memory devices
16 Overview of Modern Design Process
Design is a complex process more an art than a science Complex systems can be broken down into three simpler independent design stages the functional structural and physical stages Figure 11 depicts the general process flow in current logic synthesis systems
A switChing circuit design is first specified in the functional design stage with tools such as hardware description language (HDL) or schematic capture Hardware description language allows a design to be described in text form while schematic capture allows a design to be described in graphical form Once the design is specified it is converted into a mathematical description by the design tools and passed on to the next design stage
In the logic design stage the mathematical representation of the design is simplified without modifying the functionality Two major manipulation techniques that have been studied extensively are simplification and portioning techniques The simplification techniques aim to produce a simpler representation while the portioning techniques aim to break a large representation into a set of smaller but equivalent representations
When the manipulation run If the results of sirr redone or the original satisfactory the represen
In designing application placing and routing Ir programmable logic de logic blocks (placing) ar stage only involves prog
When the physical de consideration) may be f1
which may be part of th manufacturing Followir includes the testing ofm
Figure 11 (
thought of as strictly the local oscillator analyzers function
important
a
logic and resistance all have
to fi nd a recently designed Digital signal processing
Iinfnnml-inn into digital fonn output either analogue or
noises that occur under the
to electrical noise (spikes or and other factors that
is not important or that circuit and systems In
antenna design amplifier than ever To
requires an in-depth of digital devices
solving analogue-related
wide range of consumer Look for digital system systems comprising both
and even possibly the
stages
stage with tools such as description language
allows a design to be -rt-11 into a mathematical
is simplified without that have been studied
iti techniques aim to aim to break a large
When the manipulation is completed a pre-layout simulation (with ideal consideration) may be run If the results of simulation are not satisfactory the previous design stages will have to be redone or the original specification may have to be changed However if the results are satisfactory the representation will be passed on to the final stage - physical design stage
In designing application specific integrated circuit (ASIC) this stage includes floor planning placing and routing In designing field programmable gate arrays (FPGAs) and complex programmable logic devices (CPLDs) this stage includes defining the various programmable logic blocks (placing) and programming the interconnections (routing) In designing PLAs this stage only involves programming the interconnections (routing)
When the physical design stage is completed a post-layout simulation (with practical consideration) may be run If the results are not satisfactory the design will have to be redone which may be part of the entire process If the result is satisfactory the design will be sent for manufacturing Following the manufacturing process comes the testing of the devices which includes the testing of manufacturing faults and the design faults
Figure 11 General Process Flow in Current Logic Synthesis Systems
i
Research methoe 1917 Boolean Functions Problem Statement
Boolean derivatives and differentials are used as models for changes in discrete binary coded systems such as cryptosystems for information authentication and data encryption Derivatives describe crucial criteria of Boolean functions such as dependence and independence linearity monotonicity high degree of propagation high nonlinearity 0-1 balancedness and high algebraic degree They are operators generating other Boolean functions Equations with derivatives define classes of Boolean functions Boolean Differentials are models for any kinds of changes such as signal edges errors and deviations An important Boolean problem is that of designing Boolean functions satisfying simultaneously more than one nonlinearity criteria
Boolean function manipulation is the art of exploiting simplification opportunities that exist inherently in logical structures by using the identities that exist within that algebra or reducing the number of terms used We are seeking to express any logical function as simple as possible because this can lead to a reduced usage of resources when that same function is implemented physically
18 Objectives of the Research
The main objective of the project is to generalize simplification rules employed by several existing simplification algorithms and develop simplification algorithms based on the rules derived from the generalization While the measurable objectives are as stated below
I To survey on the existing simplification algorit~ms
2 To study and compare the simplification rules employed by these simplification algorithms
3 To generalize the existing simplification rules and from there identify new simplification rules
4 To implement software package which employs an effective set of simplification rules
The diagram in Figure I
)FamUiarize w gtStudy the nls
gtCompare simi gtAnaJyu the cI gtGeneralize the gt Derive rules fl
gtDevelop simpJ gt Implement the
gtTest new solho Compare resu
~
8
F
110 Thesis Structure
This thesis covers the fo l
rules employed by several algorithms based on the rules
Phase 3 Implementation of Software Package are as stated below
in discrete binary coded data encryption Derivatives and independence linearity
0- balanced ness and high functions Equations with
are models for any kinds rmSlnt Boolean problem is that
one nonlinearity criteria
IIlcallcm opportunities that exist within that algebra or reducing
function as simple as possible same function is implemented
19 Research methodology
The diagram in Figure 12 shows the methodology used and planned in conducting the research
Phase I Literature Review
IDIUJariu wllh the current work done in UNIMAS gtStudy the existing simplification rules
Phase 2 Generalization of Simplification Rules
ompare simplification ru les employed by different simplification algorithms gtAnalyze the characteristics of existing simplification rules gtGeoeralize the simplification rules based on their simplification characteristics raquo Derive rules from the generalization of simplification rules
simplification algorithms
identifY new simplification
of simplification rules
Develop simplification algorithms which emplOy different set of simplification rules raquo lmplement the algorithm onto computer using Visual C++ language
+Phase 4 Analysis of algorithms performance
raquoTest new software package by using practical circuits or benchmarks raquoCompare results obtained to that provided by the traditional methods
Figure 12 Research Methodology Flow Chart
110 Thesis Structure
This thesis covers the following topics
9
In Chapter I history brief concept of Digital System Design and importance of Digital System are provided The research objectives methodology and overview of modem design process are outlined as well
Chapter 2 documents the literature review performed The traditional representation techniques of simplification method basically cover truth table algebraic function and K-Map The existing simplification techniques such as algebraic simplification K-Map simplification Quine McshyCluskey tabulation method are reviewed and discussed
Chapter 3 lists ESPRESSO program description and examples It introduces the main features of Boolean Minimizer and the program is elaborated together with its data formats and controls Moreover the initial generation of implicants is described with an illustrative example
In Chapter 4 the experimental results of the proposed simplification method is evaluated and commented The source code of the simplification method is discussed and explained
In Chapter 5 a conclusion of this thesis is presented and recommendation on further works that can be carried out to further improve the simplification method is also provided
10
21 Review of Traditi4
In designing digital syste Maps or algebraic expres~ be limited in large circui circuits which computati( number of inputs increase has been introduced and representing techn iques de computation time and stOI(
22 Truth Table
Before any combinational a problem is the most imp correctly accomplished 0 necessary logic for imp len table ready for logic desi From the truth table the diagram drawn The logic integrated circuit families complementary metal-oxi (mnemonic) can take on ( variable of the real numbel conditions of a Boolean 1
format called a truth table
Truth table is the most funl describes the operational combinations of input vall row at a time Further the valued variable Thus if 1
there are four combinatio~ inputs is increased by 0
independent input variable 22 show the general truth 1
CHAPTER 2
LITERATURE REVIEW
importance of Digital System of modem design process are
representation technique and K-Map The existing
simplification Quine Mcshy
introduces the main features its data formats and controls illustrative example
method is evaluated and and explained
on further works that also provided
21 Review of Traditional Representation Techniques
In designing digital system switching circuits are usually represented using truth tables KshyMaps or algebraic expressions These traditional representation techniques have been proven to be limited in large circuit designs Thus a more efficient method of representing switching circuits which computation time and storage requirements do not grow exponentially as the number of inputs increases is required The graph-based representation method known as DD has been introduced and its popularity has grown rapidly in the last decade These modem representing techniques describe the operation of a switching circuit more efficiently both in computation time and storage requirements
22 Truth Table
Before any combinational logic system can be designed it must be defmed Proper statement of a problem is the most important part of any digital design task Nothing can occur until that is correctly accomplished Once correctly and clearly stated any problem can be converted to the necessary logic for implementation Practical applications rarely come in a prepackaged truth table ready for logic design Truth table must be constructed from verbal problem descriptions From the truth table the switching equations can be written and simplified and the logic diagram drawn The logic diagram can be realized using anyone of the three main digital integrated circuit families transistor-transistor logic (TTL) emitter-coupled logic (ECL) or complementary metal-oxide silicon (CMOS) We established that a Boolean variable (mnemonic) can take on only two values not an infinite number as its kindred associate the variable of the real number system This basic difference allows us to illustrate all possible logic conditions of a Boolean variable or a collection of Boolean variables using a finite tabular format called a truth table
Truth table is the most fundamental and classical way in the description of a switching circuit It describes the operational behavior of the circuit by listing the output values for all possible liOIIlbinations of input values or arguments in vertical order and each input combination one lOW at a time Further the nontrivial decisions in digital design are based on more than one twoshyvalued variable Thus if an output is to be completely specified as a function of two inputs dIere are four combinations that must be considered From this we see that as the number of ilputs is increased by one the number of possible combinations doubles Therefore n iadcpendent input variables will exhibit 2n distinct combinations of values Table 2 I and Table 22 show the general truth table for a function with n variables and an example with n = 3
II
thought of as strictly the local oscillator analyzers function
important
a
logic and resistance all have
to fi nd a recently designed Digital signal processing
Iinfnnml-inn into digital fonn output either analogue or
noises that occur under the
to electrical noise (spikes or and other factors that
is not important or that circuit and systems In
antenna design amplifier than ever To
requires an in-depth of digital devices
solving analogue-related
wide range of consumer Look for digital system systems comprising both
and even possibly the
stages
stage with tools such as description language
allows a design to be -rt-11 into a mathematical
is simplified without that have been studied
iti techniques aim to aim to break a large
When the manipulation is completed a pre-layout simulation (with ideal consideration) may be run If the results of simulation are not satisfactory the previous design stages will have to be redone or the original specification may have to be changed However if the results are satisfactory the representation will be passed on to the final stage - physical design stage
In designing application specific integrated circuit (ASIC) this stage includes floor planning placing and routing In designing field programmable gate arrays (FPGAs) and complex programmable logic devices (CPLDs) this stage includes defining the various programmable logic blocks (placing) and programming the interconnections (routing) In designing PLAs this stage only involves programming the interconnections (routing)
When the physical design stage is completed a post-layout simulation (with practical consideration) may be run If the results are not satisfactory the design will have to be redone which may be part of the entire process If the result is satisfactory the design will be sent for manufacturing Following the manufacturing process comes the testing of the devices which includes the testing of manufacturing faults and the design faults
Figure 11 General Process Flow in Current Logic Synthesis Systems
i
Research methoe 1917 Boolean Functions Problem Statement
Boolean derivatives and differentials are used as models for changes in discrete binary coded systems such as cryptosystems for information authentication and data encryption Derivatives describe crucial criteria of Boolean functions such as dependence and independence linearity monotonicity high degree of propagation high nonlinearity 0-1 balancedness and high algebraic degree They are operators generating other Boolean functions Equations with derivatives define classes of Boolean functions Boolean Differentials are models for any kinds of changes such as signal edges errors and deviations An important Boolean problem is that of designing Boolean functions satisfying simultaneously more than one nonlinearity criteria
Boolean function manipulation is the art of exploiting simplification opportunities that exist inherently in logical structures by using the identities that exist within that algebra or reducing the number of terms used We are seeking to express any logical function as simple as possible because this can lead to a reduced usage of resources when that same function is implemented physically
18 Objectives of the Research
The main objective of the project is to generalize simplification rules employed by several existing simplification algorithms and develop simplification algorithms based on the rules derived from the generalization While the measurable objectives are as stated below
I To survey on the existing simplification algorit~ms
2 To study and compare the simplification rules employed by these simplification algorithms
3 To generalize the existing simplification rules and from there identify new simplification rules
4 To implement software package which employs an effective set of simplification rules
The diagram in Figure I
)FamUiarize w gtStudy the nls
gtCompare simi gtAnaJyu the cI gtGeneralize the gt Derive rules fl
gtDevelop simpJ gt Implement the
gtTest new solho Compare resu
~
8
F
110 Thesis Structure
This thesis covers the fo l
rules employed by several algorithms based on the rules
Phase 3 Implementation of Software Package are as stated below
in discrete binary coded data encryption Derivatives and independence linearity
0- balanced ness and high functions Equations with
are models for any kinds rmSlnt Boolean problem is that
one nonlinearity criteria
IIlcallcm opportunities that exist within that algebra or reducing
function as simple as possible same function is implemented
19 Research methodology
The diagram in Figure 12 shows the methodology used and planned in conducting the research
Phase I Literature Review
IDIUJariu wllh the current work done in UNIMAS gtStudy the existing simplification rules
Phase 2 Generalization of Simplification Rules
ompare simplification ru les employed by different simplification algorithms gtAnalyze the characteristics of existing simplification rules gtGeoeralize the simplification rules based on their simplification characteristics raquo Derive rules from the generalization of simplification rules
simplification algorithms
identifY new simplification
of simplification rules
Develop simplification algorithms which emplOy different set of simplification rules raquo lmplement the algorithm onto computer using Visual C++ language
+Phase 4 Analysis of algorithms performance
raquoTest new software package by using practical circuits or benchmarks raquoCompare results obtained to that provided by the traditional methods
Figure 12 Research Methodology Flow Chart
110 Thesis Structure
This thesis covers the following topics
9
In Chapter I history brief concept of Digital System Design and importance of Digital System are provided The research objectives methodology and overview of modem design process are outlined as well
Chapter 2 documents the literature review performed The traditional representation techniques of simplification method basically cover truth table algebraic function and K-Map The existing simplification techniques such as algebraic simplification K-Map simplification Quine McshyCluskey tabulation method are reviewed and discussed
Chapter 3 lists ESPRESSO program description and examples It introduces the main features of Boolean Minimizer and the program is elaborated together with its data formats and controls Moreover the initial generation of implicants is described with an illustrative example
In Chapter 4 the experimental results of the proposed simplification method is evaluated and commented The source code of the simplification method is discussed and explained
In Chapter 5 a conclusion of this thesis is presented and recommendation on further works that can be carried out to further improve the simplification method is also provided
10
21 Review of Traditi4
In designing digital syste Maps or algebraic expres~ be limited in large circui circuits which computati( number of inputs increase has been introduced and representing techn iques de computation time and stOI(
22 Truth Table
Before any combinational a problem is the most imp correctly accomplished 0 necessary logic for imp len table ready for logic desi From the truth table the diagram drawn The logic integrated circuit families complementary metal-oxi (mnemonic) can take on ( variable of the real numbel conditions of a Boolean 1
format called a truth table
Truth table is the most funl describes the operational combinations of input vall row at a time Further the valued variable Thus if 1
there are four combinatio~ inputs is increased by 0
independent input variable 22 show the general truth 1
CHAPTER 2
LITERATURE REVIEW
importance of Digital System of modem design process are
representation technique and K-Map The existing
simplification Quine Mcshy
introduces the main features its data formats and controls illustrative example
method is evaluated and and explained
on further works that also provided
21 Review of Traditional Representation Techniques
In designing digital system switching circuits are usually represented using truth tables KshyMaps or algebraic expressions These traditional representation techniques have been proven to be limited in large circuit designs Thus a more efficient method of representing switching circuits which computation time and storage requirements do not grow exponentially as the number of inputs increases is required The graph-based representation method known as DD has been introduced and its popularity has grown rapidly in the last decade These modem representing techniques describe the operation of a switching circuit more efficiently both in computation time and storage requirements
22 Truth Table
Before any combinational logic system can be designed it must be defmed Proper statement of a problem is the most important part of any digital design task Nothing can occur until that is correctly accomplished Once correctly and clearly stated any problem can be converted to the necessary logic for implementation Practical applications rarely come in a prepackaged truth table ready for logic design Truth table must be constructed from verbal problem descriptions From the truth table the switching equations can be written and simplified and the logic diagram drawn The logic diagram can be realized using anyone of the three main digital integrated circuit families transistor-transistor logic (TTL) emitter-coupled logic (ECL) or complementary metal-oxide silicon (CMOS) We established that a Boolean variable (mnemonic) can take on only two values not an infinite number as its kindred associate the variable of the real number system This basic difference allows us to illustrate all possible logic conditions of a Boolean variable or a collection of Boolean variables using a finite tabular format called a truth table
Truth table is the most fundamental and classical way in the description of a switching circuit It describes the operational behavior of the circuit by listing the output values for all possible liOIIlbinations of input values or arguments in vertical order and each input combination one lOW at a time Further the nontrivial decisions in digital design are based on more than one twoshyvalued variable Thus if an output is to be completely specified as a function of two inputs dIere are four combinations that must be considered From this we see that as the number of ilputs is increased by one the number of possible combinations doubles Therefore n iadcpendent input variables will exhibit 2n distinct combinations of values Table 2 I and Table 22 show the general truth table for a function with n variables and an example with n = 3
II
i
Research methoe 1917 Boolean Functions Problem Statement
Boolean derivatives and differentials are used as models for changes in discrete binary coded systems such as cryptosystems for information authentication and data encryption Derivatives describe crucial criteria of Boolean functions such as dependence and independence linearity monotonicity high degree of propagation high nonlinearity 0-1 balancedness and high algebraic degree They are operators generating other Boolean functions Equations with derivatives define classes of Boolean functions Boolean Differentials are models for any kinds of changes such as signal edges errors and deviations An important Boolean problem is that of designing Boolean functions satisfying simultaneously more than one nonlinearity criteria
Boolean function manipulation is the art of exploiting simplification opportunities that exist inherently in logical structures by using the identities that exist within that algebra or reducing the number of terms used We are seeking to express any logical function as simple as possible because this can lead to a reduced usage of resources when that same function is implemented physically
18 Objectives of the Research
The main objective of the project is to generalize simplification rules employed by several existing simplification algorithms and develop simplification algorithms based on the rules derived from the generalization While the measurable objectives are as stated below
I To survey on the existing simplification algorit~ms
2 To study and compare the simplification rules employed by these simplification algorithms
3 To generalize the existing simplification rules and from there identify new simplification rules
4 To implement software package which employs an effective set of simplification rules
The diagram in Figure I
)FamUiarize w gtStudy the nls
gtCompare simi gtAnaJyu the cI gtGeneralize the gt Derive rules fl
gtDevelop simpJ gt Implement the
gtTest new solho Compare resu
~
8
F
110 Thesis Structure
This thesis covers the fo l
rules employed by several algorithms based on the rules
Phase 3 Implementation of Software Package are as stated below
in discrete binary coded data encryption Derivatives and independence linearity
0- balanced ness and high functions Equations with
are models for any kinds rmSlnt Boolean problem is that
one nonlinearity criteria
IIlcallcm opportunities that exist within that algebra or reducing
function as simple as possible same function is implemented
19 Research methodology
The diagram in Figure 12 shows the methodology used and planned in conducting the research
Phase I Literature Review
IDIUJariu wllh the current work done in UNIMAS gtStudy the existing simplification rules
Phase 2 Generalization of Simplification Rules
ompare simplification ru les employed by different simplification algorithms gtAnalyze the characteristics of existing simplification rules gtGeoeralize the simplification rules based on their simplification characteristics raquo Derive rules from the generalization of simplification rules
simplification algorithms
identifY new simplification
of simplification rules
Develop simplification algorithms which emplOy different set of simplification rules raquo lmplement the algorithm onto computer using Visual C++ language
+Phase 4 Analysis of algorithms performance
raquoTest new software package by using practical circuits or benchmarks raquoCompare results obtained to that provided by the traditional methods
Figure 12 Research Methodology Flow Chart
110 Thesis Structure
This thesis covers the following topics
9
In Chapter I history brief concept of Digital System Design and importance of Digital System are provided The research objectives methodology and overview of modem design process are outlined as well
Chapter 2 documents the literature review performed The traditional representation techniques of simplification method basically cover truth table algebraic function and K-Map The existing simplification techniques such as algebraic simplification K-Map simplification Quine McshyCluskey tabulation method are reviewed and discussed
Chapter 3 lists ESPRESSO program description and examples It introduces the main features of Boolean Minimizer and the program is elaborated together with its data formats and controls Moreover the initial generation of implicants is described with an illustrative example
In Chapter 4 the experimental results of the proposed simplification method is evaluated and commented The source code of the simplification method is discussed and explained
In Chapter 5 a conclusion of this thesis is presented and recommendation on further works that can be carried out to further improve the simplification method is also provided
10
21 Review of Traditi4
In designing digital syste Maps or algebraic expres~ be limited in large circui circuits which computati( number of inputs increase has been introduced and representing techn iques de computation time and stOI(
22 Truth Table
Before any combinational a problem is the most imp correctly accomplished 0 necessary logic for imp len table ready for logic desi From the truth table the diagram drawn The logic integrated circuit families complementary metal-oxi (mnemonic) can take on ( variable of the real numbel conditions of a Boolean 1
format called a truth table
Truth table is the most funl describes the operational combinations of input vall row at a time Further the valued variable Thus if 1
there are four combinatio~ inputs is increased by 0
independent input variable 22 show the general truth 1
CHAPTER 2
LITERATURE REVIEW
importance of Digital System of modem design process are
representation technique and K-Map The existing
simplification Quine Mcshy
introduces the main features its data formats and controls illustrative example
method is evaluated and and explained
on further works that also provided
21 Review of Traditional Representation Techniques
In designing digital system switching circuits are usually represented using truth tables KshyMaps or algebraic expressions These traditional representation techniques have been proven to be limited in large circuit designs Thus a more efficient method of representing switching circuits which computation time and storage requirements do not grow exponentially as the number of inputs increases is required The graph-based representation method known as DD has been introduced and its popularity has grown rapidly in the last decade These modem representing techniques describe the operation of a switching circuit more efficiently both in computation time and storage requirements
22 Truth Table
Before any combinational logic system can be designed it must be defmed Proper statement of a problem is the most important part of any digital design task Nothing can occur until that is correctly accomplished Once correctly and clearly stated any problem can be converted to the necessary logic for implementation Practical applications rarely come in a prepackaged truth table ready for logic design Truth table must be constructed from verbal problem descriptions From the truth table the switching equations can be written and simplified and the logic diagram drawn The logic diagram can be realized using anyone of the three main digital integrated circuit families transistor-transistor logic (TTL) emitter-coupled logic (ECL) or complementary metal-oxide silicon (CMOS) We established that a Boolean variable (mnemonic) can take on only two values not an infinite number as its kindred associate the variable of the real number system This basic difference allows us to illustrate all possible logic conditions of a Boolean variable or a collection of Boolean variables using a finite tabular format called a truth table
Truth table is the most fundamental and classical way in the description of a switching circuit It describes the operational behavior of the circuit by listing the output values for all possible liOIIlbinations of input values or arguments in vertical order and each input combination one lOW at a time Further the nontrivial decisions in digital design are based on more than one twoshyvalued variable Thus if an output is to be completely specified as a function of two inputs dIere are four combinations that must be considered From this we see that as the number of ilputs is increased by one the number of possible combinations doubles Therefore n iadcpendent input variables will exhibit 2n distinct combinations of values Table 2 I and Table 22 show the general truth table for a function with n variables and an example with n = 3
II
rules employed by several algorithms based on the rules
Phase 3 Implementation of Software Package are as stated below
in discrete binary coded data encryption Derivatives and independence linearity
0- balanced ness and high functions Equations with
are models for any kinds rmSlnt Boolean problem is that
one nonlinearity criteria
IIlcallcm opportunities that exist within that algebra or reducing
function as simple as possible same function is implemented
19 Research methodology
The diagram in Figure 12 shows the methodology used and planned in conducting the research
Phase I Literature Review
IDIUJariu wllh the current work done in UNIMAS gtStudy the existing simplification rules
Phase 2 Generalization of Simplification Rules
ompare simplification ru les employed by different simplification algorithms gtAnalyze the characteristics of existing simplification rules gtGeoeralize the simplification rules based on their simplification characteristics raquo Derive rules from the generalization of simplification rules
simplification algorithms
identifY new simplification
of simplification rules
Develop simplification algorithms which emplOy different set of simplification rules raquo lmplement the algorithm onto computer using Visual C++ language
+Phase 4 Analysis of algorithms performance
raquoTest new software package by using practical circuits or benchmarks raquoCompare results obtained to that provided by the traditional methods
Figure 12 Research Methodology Flow Chart
110 Thesis Structure
This thesis covers the following topics
9
In Chapter I history brief concept of Digital System Design and importance of Digital System are provided The research objectives methodology and overview of modem design process are outlined as well
Chapter 2 documents the literature review performed The traditional representation techniques of simplification method basically cover truth table algebraic function and K-Map The existing simplification techniques such as algebraic simplification K-Map simplification Quine McshyCluskey tabulation method are reviewed and discussed
Chapter 3 lists ESPRESSO program description and examples It introduces the main features of Boolean Minimizer and the program is elaborated together with its data formats and controls Moreover the initial generation of implicants is described with an illustrative example
In Chapter 4 the experimental results of the proposed simplification method is evaluated and commented The source code of the simplification method is discussed and explained
In Chapter 5 a conclusion of this thesis is presented and recommendation on further works that can be carried out to further improve the simplification method is also provided
10
21 Review of Traditi4
In designing digital syste Maps or algebraic expres~ be limited in large circui circuits which computati( number of inputs increase has been introduced and representing techn iques de computation time and stOI(
22 Truth Table
Before any combinational a problem is the most imp correctly accomplished 0 necessary logic for imp len table ready for logic desi From the truth table the diagram drawn The logic integrated circuit families complementary metal-oxi (mnemonic) can take on ( variable of the real numbel conditions of a Boolean 1
format called a truth table
Truth table is the most funl describes the operational combinations of input vall row at a time Further the valued variable Thus if 1
there are four combinatio~ inputs is increased by 0
independent input variable 22 show the general truth 1
CHAPTER 2
LITERATURE REVIEW
importance of Digital System of modem design process are
representation technique and K-Map The existing
simplification Quine Mcshy
introduces the main features its data formats and controls illustrative example
method is evaluated and and explained
on further works that also provided
21 Review of Traditional Representation Techniques
In designing digital system switching circuits are usually represented using truth tables KshyMaps or algebraic expressions These traditional representation techniques have been proven to be limited in large circuit designs Thus a more efficient method of representing switching circuits which computation time and storage requirements do not grow exponentially as the number of inputs increases is required The graph-based representation method known as DD has been introduced and its popularity has grown rapidly in the last decade These modem representing techniques describe the operation of a switching circuit more efficiently both in computation time and storage requirements
22 Truth Table
Before any combinational logic system can be designed it must be defmed Proper statement of a problem is the most important part of any digital design task Nothing can occur until that is correctly accomplished Once correctly and clearly stated any problem can be converted to the necessary logic for implementation Practical applications rarely come in a prepackaged truth table ready for logic design Truth table must be constructed from verbal problem descriptions From the truth table the switching equations can be written and simplified and the logic diagram drawn The logic diagram can be realized using anyone of the three main digital integrated circuit families transistor-transistor logic (TTL) emitter-coupled logic (ECL) or complementary metal-oxide silicon (CMOS) We established that a Boolean variable (mnemonic) can take on only two values not an infinite number as its kindred associate the variable of the real number system This basic difference allows us to illustrate all possible logic conditions of a Boolean variable or a collection of Boolean variables using a finite tabular format called a truth table
Truth table is the most fundamental and classical way in the description of a switching circuit It describes the operational behavior of the circuit by listing the output values for all possible liOIIlbinations of input values or arguments in vertical order and each input combination one lOW at a time Further the nontrivial decisions in digital design are based on more than one twoshyvalued variable Thus if an output is to be completely specified as a function of two inputs dIere are four combinations that must be considered From this we see that as the number of ilputs is increased by one the number of possible combinations doubles Therefore n iadcpendent input variables will exhibit 2n distinct combinations of values Table 2 I and Table 22 show the general truth table for a function with n variables and an example with n = 3
II
In Chapter I history brief concept of Digital System Design and importance of Digital System are provided The research objectives methodology and overview of modem design process are outlined as well
Chapter 2 documents the literature review performed The traditional representation techniques of simplification method basically cover truth table algebraic function and K-Map The existing simplification techniques such as algebraic simplification K-Map simplification Quine McshyCluskey tabulation method are reviewed and discussed
Chapter 3 lists ESPRESSO program description and examples It introduces the main features of Boolean Minimizer and the program is elaborated together with its data formats and controls Moreover the initial generation of implicants is described with an illustrative example
In Chapter 4 the experimental results of the proposed simplification method is evaluated and commented The source code of the simplification method is discussed and explained
In Chapter 5 a conclusion of this thesis is presented and recommendation on further works that can be carried out to further improve the simplification method is also provided
10
21 Review of Traditi4
In designing digital syste Maps or algebraic expres~ be limited in large circui circuits which computati( number of inputs increase has been introduced and representing techn iques de computation time and stOI(
22 Truth Table
Before any combinational a problem is the most imp correctly accomplished 0 necessary logic for imp len table ready for logic desi From the truth table the diagram drawn The logic integrated circuit families complementary metal-oxi (mnemonic) can take on ( variable of the real numbel conditions of a Boolean 1
format called a truth table
Truth table is the most funl describes the operational combinations of input vall row at a time Further the valued variable Thus if 1
there are four combinatio~ inputs is increased by 0
independent input variable 22 show the general truth 1
CHAPTER 2
LITERATURE REVIEW
importance of Digital System of modem design process are
representation technique and K-Map The existing
simplification Quine Mcshy
introduces the main features its data formats and controls illustrative example
method is evaluated and and explained
on further works that also provided
21 Review of Traditional Representation Techniques
In designing digital system switching circuits are usually represented using truth tables KshyMaps or algebraic expressions These traditional representation techniques have been proven to be limited in large circuit designs Thus a more efficient method of representing switching circuits which computation time and storage requirements do not grow exponentially as the number of inputs increases is required The graph-based representation method known as DD has been introduced and its popularity has grown rapidly in the last decade These modem representing techniques describe the operation of a switching circuit more efficiently both in computation time and storage requirements
22 Truth Table
Before any combinational logic system can be designed it must be defmed Proper statement of a problem is the most important part of any digital design task Nothing can occur until that is correctly accomplished Once correctly and clearly stated any problem can be converted to the necessary logic for implementation Practical applications rarely come in a prepackaged truth table ready for logic design Truth table must be constructed from verbal problem descriptions From the truth table the switching equations can be written and simplified and the logic diagram drawn The logic diagram can be realized using anyone of the three main digital integrated circuit families transistor-transistor logic (TTL) emitter-coupled logic (ECL) or complementary metal-oxide silicon (CMOS) We established that a Boolean variable (mnemonic) can take on only two values not an infinite number as its kindred associate the variable of the real number system This basic difference allows us to illustrate all possible logic conditions of a Boolean variable or a collection of Boolean variables using a finite tabular format called a truth table
Truth table is the most fundamental and classical way in the description of a switching circuit It describes the operational behavior of the circuit by listing the output values for all possible liOIIlbinations of input values or arguments in vertical order and each input combination one lOW at a time Further the nontrivial decisions in digital design are based on more than one twoshyvalued variable Thus if an output is to be completely specified as a function of two inputs dIere are four combinations that must be considered From this we see that as the number of ilputs is increased by one the number of possible combinations doubles Therefore n iadcpendent input variables will exhibit 2n distinct combinations of values Table 2 I and Table 22 show the general truth table for a function with n variables and an example with n = 3
II
CHAPTER 2
LITERATURE REVIEW
importance of Digital System of modem design process are
representation technique and K-Map The existing
simplification Quine Mcshy
introduces the main features its data formats and controls illustrative example
method is evaluated and and explained
on further works that also provided
21 Review of Traditional Representation Techniques
In designing digital system switching circuits are usually represented using truth tables KshyMaps or algebraic expressions These traditional representation techniques have been proven to be limited in large circuit designs Thus a more efficient method of representing switching circuits which computation time and storage requirements do not grow exponentially as the number of inputs increases is required The graph-based representation method known as DD has been introduced and its popularity has grown rapidly in the last decade These modem representing techniques describe the operation of a switching circuit more efficiently both in computation time and storage requirements
22 Truth Table
Before any combinational logic system can be designed it must be defmed Proper statement of a problem is the most important part of any digital design task Nothing can occur until that is correctly accomplished Once correctly and clearly stated any problem can be converted to the necessary logic for implementation Practical applications rarely come in a prepackaged truth table ready for logic design Truth table must be constructed from verbal problem descriptions From the truth table the switching equations can be written and simplified and the logic diagram drawn The logic diagram can be realized using anyone of the three main digital integrated circuit families transistor-transistor logic (TTL) emitter-coupled logic (ECL) or complementary metal-oxide silicon (CMOS) We established that a Boolean variable (mnemonic) can take on only two values not an infinite number as its kindred associate the variable of the real number system This basic difference allows us to illustrate all possible logic conditions of a Boolean variable or a collection of Boolean variables using a finite tabular format called a truth table
Truth table is the most fundamental and classical way in the description of a switching circuit It describes the operational behavior of the circuit by listing the output values for all possible liOIIlbinations of input values or arguments in vertical order and each input combination one lOW at a time Further the nontrivial decisions in digital design are based on more than one twoshyvalued variable Thus if an output is to be completely specified as a function of two inputs dIere are four combinations that must be considered From this we see that as the number of ilputs is increased by one the number of possible combinations doubles Therefore n iadcpendent input variables will exhibit 2n distinct combinations of values Table 2 I and Table 22 show the general truth table for a function with n variables and an example with n = 3
II