Algorithm for Two-Level Simplification (Example)

Total Page:16

File Type:pdf, Size:1020Kb

Algorithm for Two-Level Simplification (Example) CSE 370 Spring 2006 Administrivia Introduction to Digital Design Homework 3 due Friday Lecture 8: Introduction to Verilog Last Lecture Design Examples a K-maps Minimization Algorithm Today Introduction to Verilog Algorithm for two-level simplification Algorithm for two-level Algorithm: minimum sum-of-products expression from a Karnaugh map simplification (example) A A A Step 1: choose an element of the ON-set X101 X101 X101 Step 2: find "maximal" groupings of 1s and Xs adjacent to that 0111 0111 0111 element D D D consider top/bottom row, left/right column, and corner 0XX0 0XX0 0XX0 adjacencies C C C this forms prime implicants (number of elements always a power 0101 0101 0101 of 2) B B B 2 primes around A'BC'D' 2 primes around ABC'D Repeat Steps 1 and 2 to find all prime implicants A A A Step 3: revisit the 1s in the K-map X101 X101 X101 if covered by single prime implicant, it is essential, and 0111 0111 0111 participates in final cover D D D 1s covered by essential prime implicant do not need to be 0XX0 0XX0 0XX0 revisited C C C Step 4: if there remain 1s not covered by essential prime implicants 0101 0101 0101 B B B select the smallest number of prime implicants that cover the 3 primes around AB'C'D' 2 essential primes minimum cover (3 primes) remaining 1s Visit All in the On Set? Activity List all prime implicants for the following K-map: A A 00X001X0 X0X0 0111X1 01X1 CD’ D BC BD AB AC’D D CD’ BC BD AB AC’D 010X11X0 0XX0 C C 00X10111 X111 B B CD’ BD AC’D CD’ BD AC’D Which are essential prime implicants? CD’ BD AC’D CD’ BD AC’D What is the minimum cover? Loose end: POS minimization Ways of specifying circuits using k-maps Schematics Using k-maps for POS minimization Structural description Encircle the zeros in the map Describe circuit as interconnected elements Interpret indices complementary to SOP form Build complex circuits using hierarchy A AB Large circuits are unreadable 00 01 11 10 F = (B’+C+D)(B+C+D’)(A’+B’+C) CD HDLs 00 1001 Check using de Morgan’s on SOP Hardware description languages 01 0100 D F’ = BC’D’+B’C’D+ABC’ Not programming languages 11 1111 C (F’)’ = (BC’D’+B’C’D+ABC’)’ Parallel languages tailored to digital design 10 1111 (F’)’ = (BC’D’)’+(B’C’D)’+(ABC’)’ Synthesize code to produce a circuit B F = (B’+C+D)(B+C+D’)(A’+B’+C) Hardware description languages Verilog (HDLs) module toplevel(clock,reset); input clock; Abel (~1983) input reset; reg flop1; Developed by Data-I/O reg flop2; Targeted to PLDs always @ (posedge reset or posedge clock) if (reset) Limited capabilities (can do state machines) begin flop1 <= 0; Verilog (~1985) flop2 <= 1; Developed by Gateway (now part of Cadence) end else Similar to C begin flop1 <= flop2; Moved to public domain in 1990 flop2 <= flop1; end VHDL (~1987) endmodule DoD sponsored Similar to Ada Verilog versus VHDL Simulation versus synthesis Simulation Both “IEEE standard” languages “Execute” a design to verify correctness Most tools support both Synthesis Verilog is “simpler” Generate a netlist from HDL code Less syntax, fewer constructs VHDL is more structured HDL synthesis circuit Can be better for large, complex systems description Better modularization “execution” simulation functional functional/timing validation validation Simulation versus synthesis Simulation (con’t) Simulation You provide an environment Models what a circuit does Using non-circuit constructs Multiply is “*”, ignoring implementation options Read files, print, control simulation Can include static timing Using Verilog simulation code Note: We will ignore Allows you to test design options A “test fixture” timing and test benches Synthesis until next Verilog lecture Converts your code to a netlist Simulation Can simulate synthesized design Test Fixture Circuit Description Tools map your netlist to hardware (Specification) (Synthesizeable) Verilog and VHDL simulate and synthesize CSE370: Learn simulation CSE467 (Advanced Digital Design): Learn synthesis Levels of abstraction Structural versus behavioral Verilog supports 4 description levels Verilog Switch Structural structural Gate Describe explicit circuit elements Dataflow behavioral Describe explicit connections between elements Algorithmic Connections between logic gates Can mix & match levels in a design Just like schematics, but using text Designs that combine dataflow and algorithmic Behavioral constructs and synthesis are called RTL Describe circuit as algorithms/programs Register Transfer Level What a component does Input/output behavior Many possible circuits could have same behavior Different implementations of a Boolean function Verilog tips Basic building blocks: Modules Instanced into a design Do not write C-code Never called A AND2 Think hardware, not algorithms Illegal to nest module defs. E OR2 g1 Verilog is inherently parallel B 1 g3 X Modules execute in parallel 3 Compilers don’t map algorithms to circuits well Names are case sensitive NOT C Y Do describe hardware circuits // for comments 2 g2 First draw a dataflow diagram Name can’t begin with a Then start coding // first simple example number module smpl (X,Y,A,B,C); References Use wires for connections input A,B,C; output X,Y; Tutorial and reference manual are found in ActiveHDL and, or, not are keywords wire E help All keywords are lower case and g1(E,A,B); not g2(Y,C); And in this week’s reading assignment Gate declarations (and, or, etc) or g3(X,E,Y); “Starter’s Guide to Verilog 2001” by Michael Ciletti List outputs first endmodule copies for borrowing in hardware lab Inputs second Modules are circuit components Structural Verilog Module has ports A AND2 module xor_gate (out,a,b); E OR2 g1 input a,b; External connections B 1 g3 X 3 output out; 8 basic gates (keywords): wire abar, bbar, t1, t2; A,B,C,X,Y in example NOT and, or, nand, nor C Y not inva (abar,a); buf, not, xor, xnor Port types 2 g2 not invb (bbar,b); input and and1 (t1,abar,b); and and2 (t2,bbar,a); output // previous example as a or or1 (out,t1,t2); inout (tristate) // Boolean expression endmodule module smpl2 (X,Y,A,B,C); NOT abar AND2 a t1 Use assign statements for input A,B,C; 4 and1 inva b 6 Boolean expressions output X,Y; OR2 assign X = (A&B)|~C; or1 out and ⇔ & assign Y = ~C; 8 NOT bbar AND2 endmodule b or ⇔ | 5 and2 invb a 7 t2 not ⇔ ~ Behavioral Verilog Behavioral 4-bit adder A module add4 (SUM, OVER, A, B); Describe circuit behavior Sum input [3:0] A; B Adder Cout input [3:0] B; Not implementation Cin output [3:0] SUM; output OVER; assign {OVER, SUM[3:0]} = A[3:0] + B[3:0]; module full_addr (Sum,Cout,A,B,Cin); endmodule input A, B, Cin; output Sum, Cout; assign {Cout, Sum} = A + B + Cin; “[3:0] A” is a 4-wire bus labeled “A” endmodule Bit 3 is the MSB Bit 0 is the LSB {Cout, Sum} is a concatenation Can also write “[0:3] A” Buses are implicitly connected Bit 0 is the MSB If you write BUS[3:2], BUS[1:0] Bit 3 is the LSB They become part of BUS[3:0] Data types Numbers Format: <sign><size><base format><number> Values on a wire 14 0, 1, x (don’t care), z (tristate or unconnected) Decimal number Vectors –4’b11 A[3:0] vector of 4 bits: A[3], A[2], A[1], A[0] Unsigned integer value 4-bit 2’s complement binary of 0011 (is 1101) Indices must be constants 12’b0000_0100_0110 12 bit binary number (_ is ignored) Concatenating bits/vectors e.g. sign extend 3’h046 B[7:0] = {A[3], A[3], A[3], A[3], A[3:0]}; 3-digit (12-bit) hexadecimal number B[7:0] = {4{A[3]}, A[3:0]}; Verilog values are unsigned Style: Use a[7:0] = b[7:0] + c; C[4:0] = A[3:0] + B[3:0]; Not a = b + c; if A = 0110 (6) and B = 1010(–6), then C = 10000 (not 00000) Legal syntax: C = &A[6:7]; // logical and of bits 6 and 7 of A B is zero-padded, not sign-extended Continuous assignment Operators Assignment is continuously evaluated Corresponds to a logic gate Assignments execute in parallel Boolean operators (~ for bit-wise negation) assign A = X | (Y & ~Z); bits can assume four values assign B[3:0] = 4'b01XX; (0, 1, X, Z) variables can be n-bits wide assign C[15:0] = 4'h00ff; (MSB:LSB) assign #3 {Cout, Sum[3:0]} = A[3:0] + B[3:0] + Cin; arithmetic operator Similar to C operators Gate delay (used by simulator) multiple assignment (concatenation) Example: A comparator Comparator example (con’t) // Make a 4-bit comparator from 4 1-bit comparators module Compare1 (Equal, Alarger, Blarger, A, B); input A, B; module Compare4(Equal, Alarger, Blarger, A4, B4); output Equal, Alarger, Blarger; input [3:0] A4, B4; assign Equal = (A & B) | (~A & ~B); output Equal, Alarger, Blarger; assign Alarger = (A & ~B); wire e0, e1, e2, e3, Al0, Al1, Al2, Al3, B10, Bl1, Bl2, Bl3; assign Blarger = (~A & B); Compare1 cp0(e0, Al0, Bl0, A4[0], B4[0]); endmodule Compare1 cp1(e1, Al1, Bl1, A4[1], B4[1]); Compare1 cp2(e2, Al2, Bl2, A4[2], B4[2]); Compare1 cp3(e3, Al3, Bl3, A4[3], B4[3], ); Top-down design and bottom-up design are both okay assign Equal = (e0 & e1 & e2 & e3); assign Alarger = (Al3 | (Al2 & e3) | ⇒ module ordering doesn’t matter (Al1 & e3 & e2) | ⇒ because modules execute in parallel (Al0 & e3 & e2 & e1)); assign Blarger = (~Alarger & ~Equal); endmodule Sequential Verilog-- Blocking Functions and non-blocking assignments Blocking assignments (Q = A) Use functions for complex combinational logic Variable is assigned immediately module and_gate (out, in1, in2); New value is used by subsequent statements input in1, in2; output out; Non-blocking assignments (Q <= A) assign out = myfunction(in1, in2); Variable is assigned after all scheduled statements are executed function myfunction; input in1, in2; Value to be assigned is computed but saved for later begin Usual use:
Recommended publications
  • Boolean Algebra
    Boolean Algebra Definition: A Boolean Algebra is a math construct (B,+, . , ‘, 0,1) where B is a non-empty set, + and . are binary operations in B, ‘ is a unary operation in B, 0 and 1 are special elements of B, such that: a) + and . are communative: for all x and y in B, x+y=y+x, and x.y=y.x b) + and . are associative: for all x, y and z in B, x+(y+z)=(x+y)+z, and x.(y.z)=(x.y).z c) + and . are distributive over one another: x.(y+z)=xy+xz, and x+(y.z)=(x+y).(x+z) d) Identity laws: 1.x=x.1=x and 0+x=x+0=x for all x in B e) Complementation laws: x+x’=1 and x.x’=0 for all x in B Examples: • (B=set of all propositions, or, and, not, T, F) • (B=2A, U, ∩, c, Φ,A) Theorem 1: Let (B,+, . , ‘, 0,1) be a Boolean Algebra. Then the following hold: a) x+x=x and x.x=x for all x in B b) x+1=1 and 0.x=0 for all x in B c) x+(xy)=x and x.(x+y)=x for all x and y in B Proof: a) x = x+0 Identity laws = x+xx’ Complementation laws = (x+x).(x+x’) because + is distributive over . = (x+x).1 Complementation laws = x+x Identity laws x = x.1 Identity laws = x.(x+x’) Complementation laws = x.x +x.x’ because + is distributive over .
    [Show full text]
  • Combinational Logic Circuits
    CHAPTER 4 COMBINATIONAL LOGIC CIRCUITS ■ OUTLINE 4-1 Sum-of-Products Form 4-10 Troubleshooting Digital 4-2 Simplifying Logic Circuits Systems 4-3 Algebraic Simplification 4-11 Internal Digital IC Faults 4-4 Designing Combinational 4-12 External Faults Logic Circuits 4-13 Troubleshooting Prototyped 4-5 Karnaugh Map Method Circuits 4-6 Exclusive-OR and 4-14 Programmable Logic Devices Exclusive-NOR Circuits 4-15 Representing Data in HDL 4-7 Parity Generator and Checker 4-16 Truth Tables Using HDL 4-8 Enable/Disable Circuits 4-17 Decision Control Structures 4-9 Basic Characteristics of in HDL Digital ICs M04_WIDM0130_12_SE_C04.indd 136 1/8/16 8:38 PM ■ CHAPTER OUTCOMES Upon completion of this chapter, you will be able to: ■■ Convert a logic expression into a sum-of-products expression. ■■ Perform the necessary steps to reduce a sum-of-products expression to its simplest form. ■■ Use Boolean algebra and the Karnaugh map as tools to simplify and design logic circuits. ■■ Explain the operation of both exclusive-OR and exclusive-NOR circuits. ■■ Design simple logic circuits without the help of a truth table. ■■ Describe how to implement enable circuits. ■■ Cite the basic characteristics of TTL and CMOS digital ICs. ■■ Use the basic troubleshooting rules of digital systems. ■■ Deduce from observed results the faults of malfunctioning combina- tional logic circuits. ■■ Describe the fundamental idea of programmable logic devices (PLDs). ■■ Describe the steps involved in programming a PLD to perform a simple combinational logic function. ■■ Describe hierarchical design methods. ■■ Identify proper data types for single-bit, bit array, and numeric value variables.
    [Show full text]
  • Final Book -Architecture.Pdf
    1 BHARATHIDASAN UNIVERSITY (Re-accredited with ‘A’ Grade by NAAC) CENTRE FOR DISTANCE EDUCATION PALKALAIPERUR, TIRUCHIRAPPALLI – 24 MCA / PGDCA I - Semester Computer Organization and Architecture CORE COURSE III (Full Package) Copy right reserved For Private Circulation only 2 Chairman: Dr. V.M Muthukumar Vice-Chancellor Bharathidasan University Tiruchirappalli – 620 024. Co-Ordinator: Dr. R.Babu Rajendren Registrar i/c Centre for Distance Education Bharathidasan University Tiruchirappalli – 620 024. Course Director: Dr.V.Vinod Kumar Director i/c Centre for Distance Education Bharathidasan University Tiruchirappalli – 620 024. The Syllabus Revised from 2017-18 onwards Lesson Writer: Dr. J.Sai Geetha Asst. Professor Department of Computer Science Nehru Memorial College Puthanampatti Tituchirappalli – 621 007. 3 CORE COURSE III COMPUTER ORGANIZATION AND ARCHITECTURE Objective: To understand the principles of digital computer logic circuits and their design. To understand the working of a central processing unit architecture of a computer Unit I Number Systems – Decimal, Binary, Octal and Hexadecimal Systems – Conversion from one system to another – Binary Addition, Subtraction, Multiplication and Division – Binary Codes– 8421, 2421, Excess-3, Gray, BCD – Alphanumeric Codes – Error Detection Codes. Unit II Basic Logic Gates – Universal Logic – Boolean Laws and Theorems – Boolean Expressions – Sum of Products – Product of Sums – Simplification of Boolean Expressions –Karnaugh Map Method (up to 4 Variables) – Implementation of Boolean Expressions using Gate Networks. Unit III Combinational Circuits – Multiplexers – Demultiplexers – Decoders – Encoders – Arithmetic Building Blocks – Half and Full Adders – Half and Full Subtractors – Parallel adder –2’s Complement Adder – Subtractor – BCD Adder. Unit IV Sequential Circuits – Flip Flops – RS, Clocked RS, D, JK, T and Master- Slave Flip Flops –Shift Register – Counters – Asynchronous, MOD-n and Synchronous Counters – BCD Counter –Ring Counter.
    [Show full text]
  • 'N' VARIABLES - a NOVEL APPROACH Dr.V.D.Ambeth Kumar1 and Gokul Amuthan .S2 1
    STATIC STRUCTURE SIMPLIFICATION OF BOOLEAN FUNCTION FOR 'N' VARIABLES - A NOVEL APPROACH Dr.V.D.Ambeth Kumar1 and Gokul Amuthan .S2 1. Asso.Professor, Department of CSE, Panimalar Engineering College, Chennai, India-600123. 2. UG Student, Department of CSE, Panimalar Engineering College, Chennai, India-600123. Email: [email protected] ABSTRACT Digital Systems have a prominent role in everyday life that we refer to the present technological period as the digital age.[1] Digital Systems implement digital circuits which are mostly combination of digital gates. These gates can be represented in an understandable form called Boolean expressions. These expressions formed vary for each circuit. Hence for building an efficient circuit the Boolean expression should be minimized. To achieve this, we use, Karnaugh map (K-map) and Quine-McCluskey (QM) methods which are well known methods to simplify Boolean expression. The K-map until now is introduced to solve up to 6 variable and QM which can solve ‘n’ variables, yet it involve a serious of steps and does not provide a visual way to minimising the expression. The following paper implements the idea of K-map to reduce the expression except that it could solve ‘n’ variables as QM method. The method Divide and Conquer Karnaugh map (DC-K-map) implements 4 variable K-map in a redundant way to reduce the expression for variables greater than 7. Keywords: Karnaugh map, Boolean functions, Quine-McCluskey Method, Grouping and Simplification. 1. INTRODUCTION In 1854, George Boole introduced a systematic treatment of logic and developed for this purpose an algebraic system now called as Boolean Algebra[12].
    [Show full text]
  • Static Structure Simplification of Boolean Function for 'N' Variables
    VISVAM DEVADOSS AMBETH KUMAR AND S. GOKUL AMUTHAN: STATIC STRUCTURE SIMPLIFICATION OF BOOLEAN FUNCTION FOR ‘N’ VARIABLES - A NOVEL APPROACH DOI: 10.21917/ijme.2016.0024 STATIC STRUCTURE SIMPLIFICATION OF BOOLEAN FUNCTION FOR ‘N’ VARIABLES - A NOVEL APPROACH Visvam Devadoss Ambeth Kumar1 and S. Gokul Amuthan2 Department of Computer Science and Engineering, Panimalar Engineering College, India E-mail: [email protected], [email protected] Abstract referred to as tabulation method. This method was best suited for Digital Systems have a prominent role in everyday life that we refer to computer algorithms yet it has limited range of use as it solves the the present technological period as the digital age. Digital Systems problem in NP-Hard way. [5] This paper uses K-map method, implement digital circuits which are mostly combination of digital with slight modification to solve greater than 7 variables. gates. These gates can be represented in an understandable form called Boolean expressions. These expressions formed vary for each circuit. Hence for building an efficient circuit the Boolean expression should 2. SYMBOLIZING THE BOOLEAN FUNCTION be minimized. To achieve this, we use, Karnaugh map (K-map) and Quine-McCluskey (QM) methods which are well known methods to To represent the Boolean functions we use four golden simplify Boolean expression. The K-map until now is introduced to representations. solve up to 6 variable and QM which can solve ‘n’ variables, yet it involve a serious of steps and does not provide a visual way to 2.1 TRUTH TABLE minimising the expression. The following paper implements the idea of K-map to reduce the expression except that it could solve ‘n’ variables The common way of representing the Boolean function.
    [Show full text]
  • Digital Electronics
    LECTURE NOTES ON DIGITAL ELECTRONICS 4th semester Branch-Electrical Engineering DEPT. OF ELECTRONICS AND TELECOMMUNICATIONS ENGINEERING PADMASHREE KRUTARTHA ACHARYA COLLEGE OF ENGINEERING DISTRICT-BARGARH, PIN 768028 MODULE - 1 Number Systems Understanding Decimal Numbers ° Decimal numbers are made of decimal digits: (0,1,2,3,4,5,6,7,8,9) ° Decimal number representation: • 8653 = 8x103 + 6x102 + 5x101 + 3x100 ° What about fractions? • 97654.35 = 9x104 + 7x103 + 6x102 + 5x101 + 4x100 + 3x10-1 + 5x10-2 • In formal notation -> (97654.35)10 ° Why do we use 10 digits? Understanding Binary Numbers ° Binary numbers are made of binary digits (bits): • 0 and 1 ° How many items does an binary number represent? 3 2 + 1 + 0 • (1011)2 = 1x2 + 0x2 1x2 1x2 = (11)10 ° What about fractions? 2 + 1 + 0 -1 + -2 • (110.10)2 = 1x2 1x2 0x2 + 1x2 0x2 ° Groups of eight bits are called a byte • (11001001) 2 ° Groups of four bits are called a nibble. • (1101) 2 Why Use Binary Numbers? ° Easy to represent 0 and 1 using electrical values. ° Possible to tolerate noise. ° Easy to transmit data ° Easy to build binary circuits. AND Gate 1 0 0 Conversion Between Number Bases Octal(base 8) Decimal(base 10) Binary(base 2) Hexadecimal (base16) ° Learn to convert between bases. ° Conversion demonstrated in next slides Convert an Integer from Decimal to Another Base For each digit position: 1. Divide decimal number by the base (e.g. 2) 2. The remainder is the lowest-order digit 3. Repeat first two steps until no divisor remains. Example for (13)10: Integer Remainder Coefficient Quotient 13/2 = 6 + ½ a0 = 1 6/2 = 3 + 0 a1 = 0 3/2 = 1 + ½ a2 = 1 1/2 = 0 + ½ a3 = 1 Answer (13)10 = (a3 a2 a1 a0)2 = (1101)2 Convert an Fraction from Decimal to Another Base For each digit position: 1.
    [Show full text]
  • A Simplification Method of Polymorphic Boolean Functions Wenjian Luo and Zhifang Li
    1 A Simplification Method of Polymorphic Boolean Functions Wenjian Luo and Zhifang Li Abstract—Polymorphic circuits are a special kind of circuits adopted [4, 10, 11]. The evolutionary methods could design which possess multiple build-in functions, and these functions are area-efficient polymorphic circuits, but the Evolutionary activated by environment parameters, like temperature, light and Algorithms face the scalability problem. Therefore, only small VDD. The behavior of a polymorphic circuit can be described by scale circuits can be generated. Up to now, “3×4 multiplier / 7 a polymorphic Boolean function. For the first time, this brief presents a simplification method of the polymorphic Boolean bit sorting-net” reported in [4] is the biggest polymorphic function. circuits designed by evolutionary methods. In [12, 13], Sekanina and his colleagues proposed the Poly-BDD and Index Terms—Polymorphic electronics, polymorphic circuit, polymorphic multiplex methods for designing polymorphic polymorphic Boolean function, Karnaugh Map circuits. It is noted that polymorphic multiplex method is firstly proposed in [11], and also adopted in [14], but they are I. INTRODUCTION somewhat different. the In [15], the Poly_Bi_Decomposition ompared with the traditional electronics, the polymorphic method is proposed to synthesize polymorphic circuits. C electronic components possess multiple build-in functions The behavior of a polymorphic circuit can be described by a which are activated by environmental signals. For instance, polymorphic Boolean function. The simplification of a the AND/OR polymorphic logic gate controlled by Boolean function is common, and its importance stems from temperature perform the AND function when the temperature the fact that “the simpler the function is, the easier it is to is 27°C and perform the OR function when the temperature is realize” [16].
    [Show full text]
  • 2 Combinational Logic Circuits
    www.getmyuni.com 10CS 33 LOGIC DESIGN UNIT – 2 Combinational Logic Circuits Unit – 2 Combinational Logic Circuits Objectives • Understand what are combinational logic circuits • Use the sum-of-products method to design a logic circuit based on a design truth table • Be able to make Karnaugh maps and use them to simplify Boolean expressions Introduction Logic Circuits are categorized into 2 types (based on whether they contain memory or not): • Combinational Logic Circuits o Circuits without memory • Sequential Logic Circuits o Circuits with memory Combinational Logic Circuits The output of combinational logic circuit depends only on the current inputs. A combinational logic circuit block is as shown below: There are two fundamental approaches in logic design. They are: • The Sum-of-Products (SOP) Method – Solution results in an AND-OR or NAND-NAND network Page 1 www.getmyuni.com 10CS 33 LOGIC DESIGN UNIT – 2 Combinational Logic Circuits • The Product-of-Sums (POS) Method – Solution results in an OR-AND or NOR-NOR network We select a simpler circuit because it costs less and is more reliable. The Sum-of-Products (SOP) Method Product term A product term is a conjunction of literals, where each literal is either a Boolean variable or its complement. Examples: A . B A’ . B. C’ A Fundamental product or Minterm For a function of n variables, a product term in which each of the n variables appears once (in uncomplemented or complemented form) is called a fundamental product or minterm Fundamental Products for Two inputs Consider two inputs A and B. The fundamental products or minterms are listed below: Inputs Fundamental products or A B minterms 0 0 m0 = A’ .
    [Show full text]
  • Karnaugh Map Method for Memristive and Spintronic Asymmetric Basis Logic Functions
    128 IEEE TRANSACTIONS ON COMPUTERS, VOL. 70, NO. 1, JANUARY 2021 Karnaugh Map Method for Memristive and Spintronic Asymmetric Basis Logic Functions Vaibhav Vyas , Lucian Jiang-Wei, Peng Zhou, Student Member, IEEE, Xuan Hu , Student Member, IEEE, and Joseph S. Friedman , Senior Member, IEEE Abstract—The development of beyond-CMOS technologies with alternative basis logic functions necessitates the introduction of novel design automation techniques. In particular, recently proposed computing systems based on memristors and bilayer avalanche spin-diodes both provide asymmetric functions as basis logic gates - the implication and inverted-input AND, respectively. This article therefore proposes a method by which Karnaugh maps can be directly applied to systems with asymmetric basis logic functions. A set of identities is defined for these memristor and spintronic logic functions, enabling the formal demonstration of the Karnaugh map method and an explanation of the proposed technique. This method thus, enables the direct minimization of spintronic and memristive logic circuits without translation to conventional Boolean algebra, facilitating the further development of these novel computing paradigms. Preliminary analyses demonstrate that this Karnaugh map minimization approach can provide a 28 percent reduction in step count as compared to previous manual optimization. Index Terms—Boolean algebra, beyond-CMOS computing, asymmetric logic, emerging technologies, memristors, spintronics Ç 1INTRODUCTION MERGING computing technologies provide unconven-
    [Show full text]
  • Simplifying the Boolean Equation Based on Simulation System Using Karnaugh Mapping Tool in Digital Circuit Design
    Simplifying the Boolean Equation Based on Simulation System using Karnaugh Mapping Tool in Digital Circuit Design Md. Jahidul Islam , Md. Gulzar Hussain, Babe Sultana, Mahmuda Rahman , Md. Saidur Rahman and Muhammad Aminur Rahaman Abstract—In computerized integrated circuits, the Logic (PAL) and Programmable Logic Array (PLA) fundamental principle intends to avoid the multifaceted [1], and here the amount of logic circuits are to be nature of the circuitry by making it as brief as attainable maintained in a minimal form, the production costs and minimize the expenditure. Techniques like Quine- of such devices will be decreased. The K map is McCluskey (QM) and Karnaugh Map (K-Map) are often the graphical procedure to optimize Boolean function used approaches of simplifying Boolean functions. This study presents a recreation framework of simplification throughout the format of a minimal SOP form. Logic of the Boolean capacities by the utilize of the K- Gate-wise, these observations resulted such a two- Map definition for beginner-level learners. It uses the tier minimal system. It’s used mostly for many small algebraic expression of the Boolean function to decrease design problems. It is obvious that several larger mod- the number of terms, generates a circuit, and does els are carrying out using various computer method not use any redundant sets. In this way, it gets to be implementations, and so we can obtain a pretty good competent to deal with lots of parameters and minimize insight in to digital logic gate circuit after learning K the computational cost. The result of the assessment is performed in this paper by contrasting it with the C- map.
    [Show full text]
  • A Thesis Submitted in Conformity with the Requirements for the Degree Of
    SECRET SHARING FOR COLOR IMAGES by Mohsen Heidarinejad A thesis submitted in conformity with the requirements for the degree of Master of Applied Science Graduate Department of Electrical and Computer Engineering University of Toronto Copyright © 2008 by Mohsen Heidarinejad Library and Bibliotheque et 1*1 Archives Canada Archives Canada Published Heritage Direction du Branch Patrimoine de I'edition 395 Wellington Street 395, rue Wellington Ottawa ON K1A0N4 Ottawa ON K1A0N4 Canada Canada Your file Votre reference ISBN: 978-0-494-44991-2 Our file Notre reference ISBN: 978-0-494-44991-2 NOTICE: AVIS: The author has granted a non­ L'auteur a accorde une licence non exclusive exclusive license allowing Library permettant a la Bibliotheque et Archives and Archives Canada to reproduce, Canada de reproduire, publier, archiver, publish, archive, preserve, conserve, sauvegarder, conserver, transmettre au public communicate to the public by par telecommunication ou par Plntemet, prefer, telecommunication or on the Internet, distribuer et vendre des theses partout dans loan, distribute and sell theses le monde, a des fins commerciales ou autres, worldwide, for commercial or non­ sur support microforme, papier, electronique commercial purposes, in microform, et/ou autres formats. paper, electronic and/or any other formats. The author retains copyright L'auteur conserve la propriete du droit d'auteur ownership and moral rights in et des droits moraux qui protege cette these. this thesis. Neither the thesis Ni la these ni des extraits substantiels de nor substantial extracts from it celle-ci ne doivent etre imprimes ou autrement may be printed or otherwise reproduits sans son autorisation. reproduced without the author's permission.
    [Show full text]
  • Neural Networks As Universal Approximators, and the Issue of Depth 3 2.1 the Perceptron Revisited
    Contents Part I: Introductory Block 1 2 Neural networks as universal approximators, and the issue of depth 3 2.1 The perceptron revisited . 3 2.2 Deep structures and the concept of depth . 6 2.2.1 The formal notion of depth . 6 2.2.2 The multi-layer perceptron . 8 2.3 MLPs as approximate functions . 10 2.4 MLPs as universal Boolean functions . 11 2.4.1 The perceptron as a Boolean gate . 11 2.4.2 Reducing the Boolean function . 18 2.4.3 Width of a one-hidden-layer Boolean MLP . 24 2.4.4 Size of a deep MLP . 25 2.4.5 The challenge of depth . 28 2.4.6 The actual number of parameters in the network . 28 2.4.7 Depth vs size in Boolean circuits . 30 2.5 MLPs as universal classifiers . 33 2.5.1 Composing an arbitrarily shaped decision boundary . 40 2.6 MLPs as universal approximators . 49 2.7 The issue of depth . 53 2.8 RBF networks: a brief introduction . 60 i List of Figures 2.1 Recap: Threshold logic in a perceptron . 5 2.2 Examples of some activation functions . 6 2.3 The concept of layering and deep layering in a network of per- ceptrons . 7 2.4 Explaining the notion of depth in deep structures . 8 2.5 Explaining the notion of depth in MLPs . 9 2.6 Examples of Boolean and continuous valued functions modeled by an MLP . 10 2.7 AND, NOT and OR gates modeled by a perceptron . 11 2.8 Generalized gates modeled by a perceptron .
    [Show full text]