Logical Function Decomposition Method for Synthesis of Digital Logical System Implemented with Programmable Logic Devices (PLD)

Similar documents
WITH rapid growth of traditional FPGA industry, heterogeneous

DIGITAL TECHNICS. Dr. Bálint Pődör. Óbuda University, Microelectronics and Technology Institute

Significance of Logic Synthesis in FPGA-Based Design of Image and Signal Processing Systems

M 340L CS Homework Set 1

DIGITAL LOGIC CIRCUITS

Chapter 7 Logic Circuits

DO NOT COPY DO NOT COPY

University of Toronto Faculty of Applied Science and Engineering Department of Electrical and Computer Engineering Midterm Examination

( c) Give logic symbol, Truth table and circuit diagram for a clocked SR flip-flop. A combinational circuit is defined by the function

Reg. No. Question Paper Code : B.E./B.Tech. DEGREE EXAMINATION, NOVEMBER/DECEMBER Second Semester. Computer Science and Engineering

Sum-of-Generalized Products Expressions Applications and Minimization

University of Technology

EE40 Lec 15. Logic Synthesis and Sequential Logic Circuits

NAND3_X1. Page 104 of 969

Chapter 4 Optimized Implementation of Logic Functions

Vidyalankar S.E. Sem. III [CMPN] Digital Logic Design and Analysis Prelim Question Paper Solution

Combinational Logic Design Principles

Multivariate Gaussian Random Number Generator Targeting Specific Resource Utilization in an FPGA

CS/COE0447: Computer Organization

Elimination Method Streamlined

Learning Objectives 10/7/2010. CE 411 Digital System Design. Fundamental of Logic Design. Review the basic concepts of logic circuits. Dr.

Section 3: Combinational Logic Design. Department of Electrical Engineering, University of Waterloo. Combinational Logic

Sequential Logic Optimization. Optimization in Context. Algorithmic Approach to State Minimization. Finite State Machine Optimization

Exact and heuristic minimization of Boolean functions

CS/EE 181a 2008/09 Lecture 4

DIGITAL LOGIC CIRCUITS

COMP2611: Computer Organization. Introduction to Digital Logic

An Implementation of an Address Generator Using Hash Memories

Analysis and Synthesis of Weighted-Sum Functions

Boolean Algebra and Logic Simplification

From Binary Logic Functions to Fuzzy Logic Functions

CS/COE0447: Computer Organization

ECEN 248: INTRODUCTION TO DIGITAL SYSTEMS DESIGN. Week 9 Dr. Srinivas Shakkottai Dept. of Electrical and Computer Engineering

EEA051 - Digital Logic 數位邏輯 吳俊興高雄大學資訊工程學系. September 2004

L4: Karnaugh diagrams, two-, and multi-level minimization. Elena Dubrova KTH / ICT / ES

Chapter 11 Evolution by Permutation

Chapter 3 Combinational Logic Design

Learning Outcomes. Spiral 2 4. Function Synthesis Techniques SHANNON'S THEOREM

Propositional Logic. Logical Expressions. Logic Minimization. CNF and DNF. Algebraic Laws for Logical Expressions CSC 173

Sample Marking Scheme

CprE 281: Digital Logic

4 Switching Algebra 4.1 Axioms; Signals and Switching Algebra

Digital Design. Digital Design

Let s now begin to formalize our analysis of sequential machines Powerful methods for designing machines for System control Pattern recognition Etc.

Spiral 2-4. Function synthesis with: Muxes (Shannon's Theorem) Memories

Quality of Minimal Sets of Prime Implicants of Boolean Functions

9.1. Unit 9. Implementing Combinational Functions with Karnaugh Maps or Memories

Boolean algebra. Examples of these individual laws of Boolean, rules and theorems for Boolean algebra are given in the following table.

Advanced Higher Mathematics Course Assessment Specification

Chapter 2 (Lect 2) Canonical and Standard Forms. Standard Form. Other Logic Operators Logic Gates. Sum of Minterms Product of Maxterms

Principles of Computer Architecture. Appendix B: Reduction of Digital Logic. Chapter Contents

Department of Electrical & Electronics EE-333 DIGITAL SYSTEMS

IN the areas of machine learning, artificial intelligence, as

Multilevel Logic Synthesis Algebraic Methods

EC-121 Digital Logic Design

Chapter 4: Designing Combinational Systems Uchechukwu Ofoegbu

Chapter Adequacy of Solutions

On Detecting Multiple Faults in Baseline Interconnection Networks

ASYNCHRONOUS SEQUENTIAL CIRCUITS

Lecture 22 Chapters 3 Logic Circuits Part 1

Linear Equations in Linear Algebra

Systems I: Computer Organization and Architecture

Fully and Partly Divergence and Rotation Free Interpolation of Magnetic Fields

Section Summary. Sequences. Recurrence Relations. Summations Special Integer Sequences (optional)

Synchronous Sequential Logic

Department of Electrical and Computer Engineering University of Wisconsin Madison. Fall Final Examination

L2: Combinational Logic Design (Construction and Boolean Algebra)

Introduction to Karnaugh Maps

A Hardware Approach to Self-Testing of Large Programmable Logic Arrays

Faculty of Engineering. FINAL EXAMINATION FALL 2008 (December2008) ANSWER KEY

Research Article k-kernel Symmetric Matrices

Research Article A Generalization of a Class of Matrices: Analytic Inverse and Determinant

XI STANDARD [ COMPUTER SCIENCE ] 5 MARKS STUDY MATERIAL.

Memory, Latches, & Registers

Chapter 2 Boolean Algebra and Logic Gates

2 Generating Functions

33A Linear Algebra and Applications: Practice Final Exam - Solutions

Logical design of digital systems

Digital Design for Multiplication

Matrix Implementation of Moore FSM with Encoding of Collections of Microoperations

CE Optimized State Machines

Review for Test 1 : Ch1 5

PLA Minimization for Low Power VLSI Designs

Software Engineering 2DA4. Slides 8: Multiplexors and More

Handout for Adequacy of Solutions Chapter SET ONE The solution to Make a small change in the right hand side vector of the equations

Logic Gate Level. Part 2

Circuits & Boolean algebra.

Theory of Logic Circuits. Laboratory manual. Exercise 1

Digital- or Logic Circuits. Outline Logic Circuits. Logic Voltage Levels. Binary Representation

CHAPTER 7. Solutions for Exercises

CMSC 313 Preview Slides

University of Minnesota Department of Electrical and Computer Engineering

Review of Linear Algebra

Appendix B. Review of Digital Logic. Baback Izadi Division of Engineering Programs

Chapter 2 Combinational Logic Circuits

9 - Markov processes and Burt & Allison 1963 AGEC

DIGITAL TECHNICS I. Dr. Bálint Pődör. Óbuda University, Microelectronics and Technology Institute 5. LECTURE: LOGIC SYNTHESIS

The Greatest Common Divisor of k Positive Integers


DIGITAL CIRCUIT LOGIC BOOLEAN ALGEBRA

Transcription:

Circuits and Systems, 213, 4, 472-477 Published Online November 213 (http://www.scirp.org/journal/cs) http://d.doi.org/1.4236/cs.213.4762 Logical Function Decomposition Method for Synthesis of Digital Logical System Implemented with Programmable Logic Devices (PLD) Mihai Grigore Timis, Aleandru Valachi, Aleandru Barleanu, Andrei Stan Automatic Control and Computer Engineering Faculty, Technical University Gh.Asachi, Iasi, Romania Email: mtimis@tuiasi.ro, avalachi@tuiasi.ro, abarleanu@tuiasi.ro, andreis@tuiasi.ro Received August 18, 213; revised September 18, 213; accepted September 26, 213 Copyright 213 Mihai Grigore Timis et al. This is an open access article distributed under the Creative Commons Attribution License, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited. ABSTRACT The paper consists in the use of some logical functions decomposition algorithms with application in the implementation of classical circuits like SSI, MSI and PLD. The decomposition methods use the Boolean matri calculation. It is calculated the implementation costs emphasizing the most economical solutions. One important aspect of serial decomposition is the task of selecting best candidate variables for the G function. Decomposition is essentially a process of substituting two or more input variables with a lesser number of new variables. This substitutes results in the reduction of the number of rows in the truth table. Hence, we look for variables which are most likely to reduce the number of rows in the truth table as a result of decomposition. Let us consider an input variable purposely avoiding all inter-relationships among the input variables. The only available parameter to evaluate its activity is the number of l s or O s that it has in the truth table. If the variable has only 1 s or s, it is the best candidate for decomposition, as it is practically redundant. Keywords: Combinational Circuits; Static Hazard; Logic Design; Boolean Functions; Logical Decompositions 1. Introduction In the implementation of logical functions we are looking to optimize some parameters such as the propagation time, cost, areas, power, etc. The decomposition problem is old, and well understood when the function to be decomposed is specified by a truth table, or has one output only. However, modern design tools handle functions with many outputs and represent them by cubes, for reasons of efficiency. We develop a comprehensive theory of serial decompositions for multiple-output, partially specified, Boolean functions. A function f 1,, n has a serial decomposition if it can be epressed as hu,, 1,, ur, gv 1,, vs, where U u1 ur and V v,, 1 v s are subsets of the set X,, 1 n of input variables, and g and h have fewer inputvariables than f. It is sometimes the case that a set of Boolean functions cannot be made to fit into any single module intended for its implementation. The only solution is to decompose the problem in such a way that the requirement can be met by a network of two or more components each implementing a part of the functions. The general pro- blem can be stated as follows. The set of functions to be implemented quires a logic block with N inputs and M outputs. The decomposition task is to design a network which will implement the function using blocks with a maimum of n inputs and m outputs, where n < N or m < M. (A) Initially, we will consider a decomposition algorithm of logical functions [1]. 1.1. Given a Boolean function f 1, n, 1, and p Boolean functions denoted by p 1 yi 1,, y1, y,, yi 1,, y1, y, it is possible to decompose the function f depending on p,? In other words, there is a function F so that F p1,, ; zn 1,, zi f n1,,, where Y yi 1,, y and Z z,, n1 zi are disjoint subsets of the set X n1,,, that means X Y Z and Y Z (1.1) (the empty set). We will call this proceeding, Type I problem. f n,,, there are q functions denoted by q 1 yi 1,, y1, y,, yi 1,, y1, y and a function F so that 1.2. Given a Boolean function 1 1

M. G. TIMIS ET AL. 473 q1,, ; n1,, i n1,, F z z f, where Y yi 1,, y and Z z,, n1 zi have the same meaning as in 1.1. We will call this proceeding, the type II problem. (B) Matrices related to Boolean functions. The image of a logical function [1] It defines the image of a logical function the Boolean row array that represents the values of this function, ordered by truth table. For eample, f 2, 1, R1,1,3, 5,7 has the following truth table: dec.echiv. 2 1 1 1 1 1 2 1 3 1 1 1 4 1 5 1 1 1 6 1 1 7 1 1 1 1 Considering the above, we can write f 11111 (1.2) We can verify the following properties: f1 f2f1f2 f f f f 1 2 1 2 f (1.3) To a function can be attached a Veitch matri, for the previous case being: 2 \ 1 111 E (1.4) 11 2. The Representation of a Boolean Function Using Subfunctions. The R JI Matri Let s consider a function G of two subfunctions f 1 and f that depend on the Boolean variables 2, 1, and on the two variables 4, 3: G,, f, f f f f f (2.1) 4 3 1 4 3 1 4 3 1 4 After a simple calculation is deduced the image of function G. G 11111 (2.2) We suppose that the images of the two subfunctions are: that means: f1 1111 f 1111 f1 211 f 2 2 1 (2.3) (2.4) Starting from the epressions of G, f 1 and f can be calculated: F 4, 3, 2, 1, G4, 3, f12, 1,, f2, 1, (2.5) 432 4321 4 32 431 42 1 The image of function F is calculated below: F 1111111111 (2.6) The Veitch tables E 43: f1f and E 43: 21 relating to the G and F functions are: \ f f \ 4 3 1 4 3 2 1 11 1111 (2.7) E, E 11 1111 1 11 Note that the E matri has only four distinct columns that are found in E matri. In [1], it demonstrates that for the function F it can be attached a pseudo-unitary matri denoted by R JI in which in each column the logic digit 1 corresponds to the E column s order number, therefore: \ 2 1 11 11 (2.8) R JI 11 11 In [1] is also demonstrated the relation: E E R JI ( the matri multiplication) (2.9) Therefore, the decomposition of a function in subfunctions is reduced to solving the following Boolean equations: X A B (2.1) (the type I problem, where the E and R JI matrices are known) or A X B (2.11) (the type II problem, where only the B matri is known, B E ). Considering that the columns of matri E' are found in matri E it deduces the matri A E, and then the matri R JI. Net, we present the solutions of the equations (2.1)

474 M. G. TIMIS ET AL. and (2.11), demonstrated in [1]. A. The solution of the equation A X B [1] a) Let s consider X a some matri. It is valid the relation (2.12), [1]. X t A B (t A -the transpose of the matri A) (2.12) b) Let s consider X a pseudo-unitary matri. It is valid the relation (2.13) [1]. X t Bt B (2.13) A B. The solution of the equation X A B [1] a) Let s consider A a some matri. It is assumed [1]: A X B t A (2.14) b) Let s consider A a pseudo-unitary matri. It is denoted by X c B t A and X a B ta. The sufficient condition of eistence of the solution [1] is: X Bt X Bt and X X X (2.15) c A a A c a If X c X a or X c X a, there is no solution for the matri X. In this case it is trying to solve the following equations: (the previous solution) or F,, 4 G,, f, f F,, 1 4 3 1 H,,,, 4 G,, f, f 1 4 3 2 1 2 4 3 1 H,,,, 2 4 3 2 1 (2.16) (2.17) (the consequence solution). We will return to these problems in a future paper. 3. Eamples (A) Let s consider the function defined by F,,,, R 1 4 3 2 1, 3, 5, 6, 9,1,12,14,15,16,17,18,19, 21, 22, 3 (3.1) Applying the Veitch-Karnaugh method [2], a minimal form is given by the epression: F4, 3, 2, 1, 4321 321 321 4 31 (3.2) 432 4 321432 2 1 3 2 1 We define the cost of implementation as the number of the inputs in the basic circuits, components [3]. In the previous case, by implementing with AND-OR circuits, results: C1 F 56423 9 44. (It is considering that the input variables are provided inverted and non-inverted, i.e. i, i.) Let s consider the following possible decomposition: G,, f, f F,,,, 4 3 1 4 3 2 1 where f f,,, f f,,. 1 1 2 1 2 1 For the function F corresponds the following Veitch matri, denoted by E: 1111 11111 E (3.3) 111111 1 Matri E having four distinct columns, a solution for E is: \ f f 4 3 1 11 111 (3.4) E 111 1 Therefore, the matri R JI, solution of the equation E RJI E, is: 111 11 R t E t E JI E (3.5) E 11 1 From where we obtain: f1 111 f 111 or after an elementary calculation: f 1 2 1 f 1 21 Using E' matri we obtain: G f f f f f f f 1 3 1 4 3 4 3 1 4 3 (3.6) (3.7) (3.8) with a possible implementation as in Figure 1. So, we will have: C f 7 C f 8 (3.9) 1 CG 432 5 19, so that CF 34.

M. G. TIMIS ET AL. 475 Figure 2. The circuit PAL1L8. Figure 1. The implementation of the function F, using subfunctions. (B) Implementation using programmable logic devices (PLD) We will consider a circuit PAL1L8 [4], which has 1 inputs, 8 outputs and having an AND-OR configuration, each NOR having 2 inputs, with the structure illustrated in Figure 2. Let s consider the previous function: where 8 m i i F, m 4 3 2 1 m 1 3 2 1 m 2 3 2 1 m 3 3 2 1 m 4 4 3 1 m 5 4 3 2 m 6 4 3 2 1 m 7 4 3 2 m 8 2 1 (3.1) We will use the following algorithm: Q m m1 Q Q m 1 2 Q Q m F 7 6 8 (3.11) Therefore, Qi Qi 1 mi 1 with Q 1 m, i 7. Will be needed: 9 product terms m m8, 7 Q i terms i 6, so it will be used 16 product terms from maimum 2. But the number of inputs is insufficient (see Figure 3). Classic, we should also use two circuits (PAL1L8), or a single circuit with greater capacity. Let go back to the same function that uses the subfunctions f 1, f, which have the epressions: and f 1 2 1 2 f 1 21 F,,,, 4 3 2 1 G,, f, f 4 3 1 f f f f f 1 3 1 1 3 f f 4 3 1 4 3 (3.12) Therefore, after a preliminary evaluation we have: 4 product terms f1, f and 5 product terms for function G. Let s consider G a a1a2 a3 a4, where a i are the terms of the decomposed function. A PAL implementation is like in Figures 3 and 4.

476 M. G. TIMIS ET AL. Figure 3. PAL implementation. Figure 4. A possible implementation of PAL1L8 circuit. A possible implementation would be (see Figure 4): 4. Decomposition into EMB Blocks The single step of the functional decomposition replaces function F with two subfunctions [5]. This process is recursively applied to both the G and H blocks until a network is constructed where each block can be directly implemented in single logic cell of target FPGA architecture. Logic cell can implement any function of limited input variables (typically 4 or 5). Thus the main effort of logic synthesis methods based on decomposition is to find such partition of input variables into free set and bound set that allows creating decomposition with block G not eceeding the size of logic cell. Various methods are used, including ehaustive search since the size of logic cell is small. It should be noted that the main constraint is the number of inputs to block G and not the number of outputs. This is because block G with more outputs than in logic cell can be implemented with use of few logic cells used in parallel. Since EMB blocks can be configured to work as logic cell of many different sizes [6], approach known from methods targeted for logic cells is not efficient. The main reason is that the method must check decomposition for many different sizes of block G. The second factor is that in case of EMB the efficiency of utilization of these blocks depends on carefully selected size of block G. For eample M512 RAM block of Strati device can be configured among others as 8 input and 2 output logic cell or 7 input and 4 output logic cell. Let assume that in decomposition search following solutions are possible: block G with 8 inputs and 1 output or block G with 7 inputs and 3 outputs. From the EMB utilization point of view the second solution is better, since it utilizes 384 bits of total 512 bits available, while the first solution utilizes only 256 bits. R-admissibility is used to evaluate serial decomposition possibilities for different sizes of G block according to possible configuration of EMB blocks. Since EMB can be configured as a block of many different sizes the possible solution space is large. Using Property 1 the search can be drastically reduced. This will be eplained in the following eample. Eample. R-admissibility application to serial decomposition evaluation. For function from Eample 1 we have that the admissibility of single input variables 1,, 6 is accordingly 4, 4, 4, 3, 3 and 4. This means that only for U 4, V 1, 2, 3, 5, 6 and U 5, V 1, 2, 3, 4, 6 decomposition with 2 outputs from block G may eist. When considering solutions with 4 inputs to block G, according to Property 1, [7,8] only solution with U 4, 5, V 1, 2, 3, 6 should be evaluated. We have: 4 or 5 F 4 8 ; 1 6 ; 2 3 ; 5 7 r 4 e 5 4 5 F 2 2 or 2 log 2 3 (4.1) This means that for such variable partitioning decomposition may eist with block G having 1 output. With this approach to serial decomposition, there is no difference between disjoint and non-disjoint decomposition in their calculation. Particularly, it can be concluded that for finding blanket G we can simply apply the method of calculating compatible classes of βv blocks [7] which was recently improved in [8].

M. G. TIMIS ET AL. 477 5. Conclusions The paper represents the rediscovery of some decomposition algorithms of Boolean logic functions, using subfunctions [1]. After a brief eposure of the decomposition methods of Boolean logical functions, the authors, through the proposed eample, shows the reduction of the implementation cost using standard logical circuits. The authors show that when using PLD circuits, the use of Boolean functions decomposition method reduces the number of circuits necessary for the implementation (see PAL1L8). Balanced decomposition proved to be very useful in implementation of combinational functions using logic cell resources of FPGA architectures. However, results presented in this paper show that functional decomposition can be efficiently and effectively applied also to implement digital systems in embedded memory blocks. Application of r-admissibility concept makes possible fast evaluation of decompositions for different sizes of block G. This allows selecting best possible decomposition strategy. The paper showed that the use of Boolean functions decomposition method reduces the number of circuits necessary for the implementation. However, this substitution process reduces the circuits cost by increasing the circuit compleity, which also enhances the likelihood of errors in the circuit design. Balanced decomposition proved to be very useful in implementation of combinational functions using logic cell resources of FPGA architectures. However, results presented in this paper show that functional decomposition can be efficiently and effectively applied also to implement digital systems in embedded memory blocks. REFERENCES [1] M. Denouette, J. P. Perrin and E. Daclin, Systemès Logiques, Tome I, Dunod, Paris, 1967, pp. 4-56. [2] C. H. Roth, Fundamentals of Logic Design, West Publishing Company, Eagan, 1999, pp. 148-172. [3] Al. Valachi, Fl. Hoza, V. Onofrei and R. Silion, Analiza, Sinteza şi Testarea Dispozitivelor Numerice, Nord-Est, 1993, pp. 31-32; 45-53. [4] J. A. Brzozowski and T. Łuba, Decomposition of Boolean Functions Specified by Cubes, Journal of Multiple-Valued Logic and Soft Computing, Vol. 9, 23. [5] M. Rawski, Decomposition of Boolean Function Sets, Electronics and Telecommunications Quarterly, Vol. 53, No. 3, 27, pp. 231-249. [6] J. A. Brzozowski and T. Łuba, Logic Decomposition Aimed at Programmable Cell Arrays, International Conference of Microelectronics: Microelectronics, Vol. 1783, 1992, pp. 77-88. http://d.doi.org/1.1117/12.13993 [7] S. J. E. Wilton, SMAP: Heterogeneous Technology Mapping for Area Reduction in FPGAs with Embedded Memory Arrays, FPGA, 1998, pp. 171-178. [8] Logic Synthesis Strategy for FPGAs with Embedded Memory Blocks, Mariusz Rawski, Grzegorz Borowik, Tadeusz Łuba, Paweł Tomaszewicz, Bogdan j. Falkow- ski. Przegląd Elektrotechnic Znyelectrical Review), R. 86 NR 11a/21.