Design of Framework for Logic Synthesis Engine

Similar documents
1/28/2013. Synthesis. The Y-diagram Revisited. Structural Behavioral. More abstract designs Physical. CAD for VLSI 2

ICS 252 Introduction to Computer Design

Unit 4: Formal Verification

Advanced Digital Logic Design EECS 303

Giovanni De Micheli. Integrated Systems Centre EPF Lausanne

ECE260B CSE241A Winter Logic Synthesis

CSE241 VLSI Digital Circuits UC San Diego

Synthesis 1. 1 Figures in this chapter taken from S. H. Gerez, Algorithms for VLSI Design Automation, Wiley, Typeset by FoilTEX 1

Two-Level Logic Optimization ( Introduction to Computer-Aided Design) School of EECS Seoul National University

VLSI System Design Part II : Logic Synthesis (1) Oct Feb.2007

Karnaugh Map (K-Map) Karnaugh Map. Karnaugh Map Examples. Ch. 2.4 Ch. 2.5 Simplification using K-map

SEPP: a New Compact Three-Level Logic Form

Heuristic Minimization of Boolean Relations Using Testing Techniques

Software Implementation of Break-Up Algorithm for Logic Minimization

CS8803: Advanced Digital Design for Embedded Hardware

ECE260B CSE241A Winter Logic Synthesis

Breakup Algorithm for Switching Circuit Simplifications

Combinational Logic Circuits Part III -Theoretical Foundations

ESE535: Electronic Design Automation. Today. EDA Use. Problem PLA. Programmable Logic Arrays (PLAs) Two-Level Logic Optimization

ON AN OPTIMIZATION TECHNIQUE USING BINARY DECISION DIAGRAM

LOGIC SYNTHESIS AND VERIFICATION ALGORITHMS. Gary D. Hachtel University of Colorado. Fabio Somenzi University of Colorado.

3.4 QUINE MCCLUSKEY METHOD 73. f(a, B, C, D, E)¼AC ĒþB CD þ BCDþĀBD.

Assign auniquecodeto each state to produce a. Given jsj states, needed at least dlog jsje state bits. (minimum width encoding), at most jsj state bits

ELCT201: DIGITAL LOGIC DESIGN

CHAPTER-2 STRUCTURE OF BOOLEAN FUNCTION USING GATES, K-Map and Quine-McCluskey

Minimization of Multiple-Valued Functions in Post Algebra

Chapter 3. Gate-Level Minimization. Outlines

MVSIS v1.1 Manual. Jie-Hong Jiang, Yunjian Jiang, Yinghua Li, Alan Mishchenko*, Subarna Sinha Tiziano Villa**, Robert Brayton

Chapter 2 Combinational Logic Circuits

Specifying logic functions

Gate-Level Minimization. BME208 Logic Circuits Yalçın İŞLER

ESOP CIRCUIT MINIMIZATION BASED ON THE FUNCTION ON-SET. Likai Chai

Module -7. Karnaugh Maps

CAD for VLSI Design - I. Lecture 21 V. Kamakoti and Shankar Balachandran

Introduction. The Quine-McCluskey Method Handout 5 January 24, CSEE E6861y Prof. Steven Nowick

SYNTHESIS FOR ADVANCED NODES

Multi-valued Logic Synthesis. Robert K Brayton Sunil P Khatri University of California Berkeley, CA brayton,

1. Fill in the entries in the truth table below to specify the logic function described by the expression, AB AC A B C Z

Flexible Two-Level Boolean Minimizer BOOM-II and Its Applications

CSCI 220: Computer Architecture I Instructor: Pranava K. Jha. Simplification of Boolean Functions using a Karnaugh Map

Logic Synthesis and Verification

ELCT201: DIGITAL LOGIC DESIGN

Cofactoring-Based Upper Bound Computation for Covering Problems

Switching Circuits & Logic Design

Chapter 3 Simplification of Boolean functions

ECE 5745 Complex Digital ASIC Design Topic 12: Synthesis Algorithms

CMPE223/CMSE222 Digital Logic

Don t Cares and Multi-Valued Logic Network Minimization

Gate Level Minimization Map Method

Chapter 2 Combinational

Combinational Logic Circuits

SOFTWARE FOR THE MINIMIZATION OF THE COMBINATIONAL LOGIC FUNCTIONS

VALLIAMMAI ENGINEERING COLLEGE. SRM Nagar, Kattankulathur DEPARTMENT OF ELECTRONICS AND COMMUNICATION ENGINEERING EC6302 DIGITAL ELECTRONICS

Combinatorial Algorithms. Unate Covering Binate Covering Graph Coloring Maximum Clique

Gate-Level Minimization. section instructor: Ufuk Çelikcan

Overview. Design flow. Principles of logic synthesis. Logic Synthesis with the common tools. Conclusions

Date Performed: Marks Obtained: /10. Group Members (ID):. Experiment # 04. Boolean Expression Simplification and Implementation

Advanced VLSI Design Prof. Virendra K. Singh Department of Electrical Engineering Indian Institute of Technology Bombay

A New Algorithm to Create Prime Irredundant Boolean Expressions

Combinational Logic Circuits

ECE380 Digital Logic

IT 201 Digital System Design Module II Notes

Switching Theory And Logic Design UNIT-II GATE LEVEL MINIMIZATION

DKT 122/3 DIGITAL SYSTEM 1

ICS 252 Introduction to Computer Design

Larger K-maps. So far we have only discussed 2 and 3-variable K-maps. We can now create a 4-variable map in the

User s Manual. Ronwaldo A. Collado Diosdado Y. Tejoso Jr. CMSC 130 Logistic Design and Digital Computer Circuits Second Semester, A. Y.

Software for The Minimization of The Combinational Logic Functions

An Efficient Carry Select Adder with Less Delay and Reduced Area Application

Switching Circuits Simplifications Using Binary Coded Octal Minterms

CS470: Computer Architecture. AMD Quad Core

Gate-Level Minimization

Formal Verification using Probabilistic Techniques

Literal Cost F = BD + A B C + A C D F = BD + A B C + A BD + AB C F = (A + B)(A + D)(B + C + D )( B + C + D) L = 10

DHANALAKSHMI SRINIVASAN COLLEGE OF ENGINEERING AND TECHNOLOGY

Code No: R Set No. 1

Code No: R Set No. 1

Versatile SAT-based Remapping for Standard Cells

Quine-McCluskey Algorithm

DIGITAL TECHNICS. Dr. Bálint Pődör. Óbuda University, Microelectronics and Technology Institute 2. LECTURE: LOGIC NETWORK MINIMIZATION 2016/2017

ENEL 353: Digital Circuits Midterm Examination

QUESTION BANK FOR TEST

ADAPTIVE MAP FOR SIMPLIFYING BOOLEAN EXPRESSIONS

9 Conclusions. References [1] V. Akella and G. Gopalakrishnan. Shilpa: a high-level synthesis system for self-timed circuits. In ICCAD-1992.

A Boolean Paradigm in Multi-Valued Logic Synthesis

UNIT II. Circuit minimization

Gate-Level Minimization

Slide Set 5. for ENEL 353 Fall Steve Norman, PhD, PEng. Electrical & Computer Engineering Schulich School of Engineering University of Calgary

COLLEGE OF ENGINEERING DEPARTMENT OF ELECTRICAL AND ELECTRONICS ENGINEERING QUESTION BANK SUBJECT CODE & NAME: EC 1312 DIGITAL LOGIC CIRCUITS UNIT I


L3: Representations of functions

Design and Verification of Area Efficient High-Speed Carry Select Adder

Chapter 2 Combinational Logic Circuits

UNIT I BOOLEAN ALGEBRA AND COMBINATIONAL CIRCUITS PART-A (2 MARKS)

Simplification of Boolean Functions

Chapter 8. 8 Minimization Techniques. 8.1 Introduction. 8.2 Single-Output Minimization Design Constraints

ECE 5775 (Fall 17) High-Level Digital Design Automation. Binary Decision Diagrams Static Timing Analysis

EECS 219C: Formal Methods Binary Decision Diagrams (BDDs) Sanjit A. Seshia EECS, UC Berkeley

File Formats. Appendix A. A.1 Benchmarks. A.2 ESPRESSO Format

An Algorithm for Face-Constrained Encoding of Symbols Using Minimum Code Length

Transcription:

Design of Framework for Logic Synthesis Engine Tribikram Pradhan 1, Pramod Kumar 2, Anil N S 3, Amit Bakshi 4 1 School of Information technology and Engineering, VIT University, Vellore 632014, Tamilnadu, India 2 School of Computing Science and Engineering, VIT University, Vellore 632014, Tamilnadu, India 3 Computer Science and Engineering, S. J. College of Engineering, Mysore, India 4 School of Electronics Engineering, VIT University, Vellore 632014, Tamilnadu, India 1 Tribikram14@gmail.com 3 anilns87@gmail.com 2 pramodkumar.p2011@vit.ac.in 4 abakshi.ece@gmail.com Abstract- Logic synthesis is a novel architectural concept used for converting a high level description of logic circuit into optimized gate level description. The method ranges from transforming a RTL description to producing an optimized netlist. Logic minimization plays an important role in optimization of logic synthesis. This optimization is done through the function minimization through different existing methods. The existing work on function minimization has resulted into many algorithms. In the proposed work, we form the basis for our synthesis engines vide detailed performance analysis and insight into the various minimization algorithms proposed erstwhile, and apply them on some real example circuit. We plan to propose our own algorithm as well for enhanced performance. Keywords Logic Minimization, Netlist, BDD I. INTRODUCTION A. Objective In today s VLSI design domain logic synthesis plays an important role as commercial production needs cost and time to be optimum. Any logic optimizer would target to reduce design time by analyzing the circuit s requirement specifications and applying proper data structure and minimization methods, thus providing an optimal solution. But as time evolves, newer and smarter techniques have come into play. For our design of synthesis engine, currently we concentrate up to logic minimization part, leaving technology mapping and optimization. In this paper we would analyse some of the existing logic minimization methods (newer and older) which will provide the base for our future work. B. Motivation There are several logic synthesis engines currently available, for example MIS, MINI, ESPRESSO-MV, BDS etc. However, they use different methods for different stages of logic synthesis. And accordingly, these are highly dependent on the type and nature of functions. For some of such existing methods we have observed their behavior. For example, some uses heuristic approach for logic minimization, whereas others take exact approach. In heuristic approach neither exact prime implicants nor the cover is generated, rather it targets to find the minimal cover in least time. The exact minimization approach goes in detail to find the target. C. Previous work and literature study There are several logic minimization tools having different approaches. MINI (S J Hong, R G Cain, D L Ostapko) and MIS (Robert K. Brayton, Richard L Rudell, Alberto Sangiovanni-Vincentelli, Albert R. Wang,) works on heuristic approach. MIS also considers area and timing constraints. This is a multiple logic minimization system. MINI is a general two level logic minimization technique. One other popular logic synthesis system, ESPRESSO-MV (Richard L Rudell and Alberto Sangiovanni-Vincentelli), is also a heuristic approach where the algorithm applies a greedy method to make the run time faster. Some newer minimization techniques use binary decision diagram (BDD). II. DESIGN ARCHITECTURE Logic synthesis tool has reduced design cycle time significantly. A typical logic synthesis process starts with a high-level description of a circuit and produces an optimized gate level representation under some design constraints (such as timing, area, testability and power) and a standard cell library. A standard cell library consists of several basic gates like NOT, AND, OR, XOR and some macro cells like ADDER, MUX etc. Thus a designer has the opportunity to design at high level abstraction in a very short time and gets the ISSN : 0975-4024 Vol 5 No 2 Apr-May 2013 1710

flexibility to map it into different technology libraries. The basic flow of logic synthesis process is as follows: Phase-0 tool works here Fig. 1. Logic synthesis flow and where we stand Basically logic synthesis is a tool which is directly responsible to synthesis of both combinational and sequential RTL description. In to our system we input the behavioral description in high level language. Internally it generates a netlist which is un-optimized. Two level logic minimization occurs in logic synthesis method as we try to represent Boolean functions in terms of two-level AND, OR, NOT gates with minimal cost. There are two approaches to this problem: a) Exact logic minimization and (b) Heuristic logic minimization. Each of them uses different data structures. We implement both methods to analyse the choice of optimal data structure. IV. DESIGN METHODOLOGY As we have already defined our present proposed work in phase-0 concentrates on the first two phases of logic synthesis. Accordingly, it consists of the following phases: HDL scanner Parser cum Boolean function generator Logic minimizer ISSN : 0975-4024 Vol 5 No 2 Apr-May 2013 1711

The operation of these modules can be understood from the following sequence diagram HDL scanner Parser & Boolean expr. generator Logic minimizer Other phase Input tokens Parsed input and Boolean functions Un-optimized netlist Fig 2. Sequence diagram of Phase-0 tool The following section describes the methods followed to construct our tool. A. Basic definitions and methodologies followed Netlist: A netlist simply defines the circuit connection in terms of gates and other components. Our tool will generate minimized netlist. Boolean term: A completely specified Boolean Function with n inputs and 1 output is defined as a mapping f:b n B, where B = { 0, 1 }. Such a function can be specified by its onset ON (f) = {x, f(x) = 1}, offset OFF (f ) = {x, f(x) = 0}. If B = {0, 1,*} then we find an additional don t care set called DC (f) = {x: f(x) = * } and the Boolean function is then incompletely specified. A sum of products (SOP) denotes a completely specified Boolean function. Two level logic minimization actually finds a minimal cost SOP that covers (we say for two Boolean functions g and f one to cover some elements of f 1. A SOP P is irredundant if there is no subset of P that covers f. So any minimum SOP of f is irredundant, prime and finding such an SOP can be defined as a set covering problem. Let Z be a set, X a subset of Z, and Y a subset of 2 Z. We say that y covers x when x y. Let Cost be cost function that applies on subsets of Y. The set covering problem <X, Y > consists of finding a minimum cost subset S of Y such that any x of X is covered by some element y of S, i.e., Is the union of f s iff f 1 g 1 f 1*, where f 1 is the care set of f and f 1* don t care set. A product p is an implicants of f iff p f 1*, if there is no other implicants that covers p then this implicants (PI).a prime implicants is essential is the prime implicants (EPI). V. IMPLEMENTATION DETAIL Our proposed tool works in three phases. First, it takes an input from the user, which is the high level description of the circuit. Next it scans through it and generates the Boolean expression from it. Then it is fed to logic synthesis engine which gives detailed comparative analysis. Thus it contains the following steps: a. HDL scanner b. Boolean expression generator c. Logic minimizer A. Exact logic minimization Two level logic minimization problem can be stated as set covering problem of <f 1, PI (f 1* ) >. The Classical method for solving this is Quine-McCluskey method. The algorithm is given as follows: ISSN : 0975-4024 Vol 5 No 2 Apr-May 2013 1712

Step1. Compute the set of all prime implicants of f. Step2. Consider the covering matrix with rows labeled by minterms of f and columns labelled by the prime implicants of f. Step3. Using reduction technique finds the minimal PI set. i) Take a minterm ii) Consider it as a product iii) Remove literals while preserving the implication The method described above computes one PI at a time and thus limiting the number of PI. The later discovered BDD method is far more powerful in this regard as it does not confine the number of Pis. The method works as follows: Step1. Find the terminal nodes using Shannon s co-factoring method Step2. Decompose the generated tree (OR decompose used) Step3. Minimize the generated tree B. Heuristic logic minimization method In contrast to the exact logic minimization, the heuristic approach rather targets a near optimal solution in a very short time. Espresso-MV is such an algorithm. C. Example Input expression (given in minterms, for easy comprehension it is presented in terms of variables): a b c d +a b c d+a b cd +ab c d +ab cd +ab cd+abcd +abcd Approach1: First it is minimized using Quine McCluskey method ISSN : 0975-4024 Vol 5 No 2 Apr-May 2013 1713

The minimized SOP is : a b c + b d + ac Approach 2: Next it is minimized using BDD tree After minimization: Here G = ac + ab c and H = b d F = G + H So the minimized output is F= ac + ab c + b d VI. OBSERVATIONS 1. Quine-McCluskey method does not always give the essential prime implicants set. 2. Ordering of variables in BDD is important. Because, for the above example if the ordering is a b c d, then the BDD gives (before minimisation ) F=abc + ab c + a b c + ab c d +a b cd whereas, with the ordering b c d a, it gives: F = b cd + b c d + bcda + bcd a + b cda + b cda It clearly shows that in the second case the size of BDD is more (as number of literals are more) which is not desired. ISSN : 0975-4024 Vol 5 No 2 Apr-May 2013 1714

VII. PERFORMANCE ANALYSIS It is observed that the runtime of Quine-McCluskey algorithm depends highly on the input size. As number of minterms N=2 n depends on number of literal n, it grows exponentially with the increasing count of literal. Thus Quine-McCluskey is practically NP-Complete. On the other hand BDD generation is simple but the ordering of variable is a key to generate minimized functions. But finding the exact order for a particular function is Np Hard. For a function with n input variable and 2 n minterms the space needed to store and manipulate them in Quine- McCluskey method is (n 2 n + additional space for number of iteration) Whereas, in BDD with same number of input variables the total space required is considerably less as the total number of node is 2 n 1, in worst case. VIII. RESULTS AND DISCUSSIONS Logic synthesis tool reduces the probability of error because human intervention is less. In this paper we have worked with several existing logic minimization algorithm which plays an important role in reducing design time. In the current scenario, it is found that BDD minimization method is more time and space efficient with respect to Quine-McCluskey. However, finding the exact order for a particular function is a key to this result. IX. CONCLUSION AND FUTURE WORK As our goal is to design an efficient logic synthesis engine (say logic optimizer), the current work provides a base for it. On the basis of the findings of this paper we shall continue working with this tool. In the current scenario, it is found that the BDD works well in terms of time and space. In the next phase, we shall work on the optimization of the intermediate netlist. However, we would also extend this to incorporate sequential and other complex circuit optimization. REFERENCES [1] Congguang Yang and Maciej Ciesielski, BDS A BDD based logic optimization system [2] Abdul A. Malik, Robert K. Brayton, A Richard Newton, Alberto Sangiovanni-Vincentelli, A modified approach to two level logic minimization [3] Robert K. Brayton, Richard L Rudell, Alberto Sangiovanni-Vincentelli, Albert R. Wang, MIS: A Multiple Level logic optimization system [4] Richard L Rudell and Alberto Sangiovanni-Vincentelli, Multiple-valued minimization for PLA optimization [5] Tsutomu Sasao, Two level logic minimization [6] Samir Palnitkar, Verilog HDL: A Guide to digital design and synthesis [7] M. Morris Mano, Digital logic and computer design [8] Gary D. Hachtel, Fabio Somenzi, Logic synthesis and verification algorithms [9] John R. Levine, Tony Mason, Doug Brown, lex & yacc, O Reilly & Associates ISSN : 0975-4024 Vol 5 No 2 Apr-May 2013 1715