Using Conjugate Symmetries to Enhance Simulation Performance

Slides:



Advertisements
Similar presentations
Chapter 2 Logic Circuits.
Advertisements

Relationship Between Basic Operation of Boolean and Basic Logic Gate The basic construction of a logical circuit is gates Gate is an electronic circuit.
Give qualifications of instructors: DAP
Contemporary Logic Design Two-Level Logic © R.H. Katz Transparency No. 4-1 Chapter #2: Two-Level Combinational Logic Section 2.3, Switches and Tools.
Lecture 8: Cascaded Linear Transformations Row and Column Selection Permutation Matrices Matrix Transpose Sections 2.2.3, 2.3.
Properties of Real Numbers
ALGEBRAIC PROPERTIES Image from Let’s Keep Those Equations Balanced!
Digital Logic Design Adil Waheed. BOOLEAN ALGEBRA AND LOGIC SIMPLIFICATION AND gate F = A.B OR gate F = A + B NOT gate F = A NAND gate F = A.B NOR gate.
(2 + 1) + 4 = 2 + (1 + 4) Associative Property of Addition.
Sets and Expressions Number Sets
FINITE FIELDS 7/30 陳柏誠.
ECON 1150 Matrix Operations Special Matrices
BOOLEAN ALGEBRA Saras M. Srivastava PGT (Computer Science)
Logic Design A Review. Binary numbers Binary numbers to decimal  Binary 2 decimal  Decimal 2 binary.
Boolean Algebra and Digital Circuits
Anti-Symmetry and Logic Simulation Reviewer Ko-Lung Yuan.
4-2 binary fields and binary vector spaces Special Thanks to Dr. Samir Al-Ghadhban & EE430 Students.
Matrices. A matrix, A, is a rectangular collection of numbers. A matrix with “m” rows and “n” columns is said to have order m x n. Each entry, or element,
General linear groups, Permutation groups & representation theory.
Optimization Algorithm
Expressions, Equations, and Functions Chapter 1 Introductory terms and symbols: Variable – A letter or symbol to represent an unknown – Examples: Algebraic.
Introductions to Linear Transformations Function T that maps a vector space V into a vector space W: V: the domain of T W: the codomain of T Chapter.
1 BOOLEAN ALGEBRA Basic mathematics for the study of logic design is Boolean Algebra Basic laws of Boolean Algebra will be implemented as switching devices.
Boolean Algebra and Reduction Techniques
Boolean Algebra & Logic Circuits Dr. Ahmed El-Bialy Dr. Sahar Fawzy.
(2 + 1) + 4 = 2 + (1 + 4) Associative Property of Addition.
BOOLEAN ALGEBRA AND LOGIC SIMPLIFICATION
1 Example: Groupings on 3-Variable K-Maps BC F(A,B,C) = A ’ B ’ A BC F(A,B,C) = B ’ A
 Seattle Pacific University EE Logic System DesignKMaps-1 Two-Level Simplification All Boolean expressions can be represented in two- level forms.
by D. Fisher (2 + 1) + 4 = 2 + (1 + 4) Associative Property of Addition 1.
(2 + 1) + 4 = 2 + (1 + 4) Associative Property of Addition.
Axioms for Rational Numbers 9/14-9/15. Natural Numbers – Numbers used for counting: 1, 2, 3, and so on. Whole Numbers – Natural numbers and zero: 0, 1,
Boolean Algebra. BOOLEAN ALGEBRA Formal logic: In formal logic, a statement (proposition) is a declarative sentence that is either true(1) or false (0).
LINEAR MODELS AND MATRIX ALGEBRA - Part 2 Chapter 4 Alpha Chiang, Fundamental Methods of Mathematical Economics 3 rd edition.
1 EENG 2710 Chapter 3 Simplification of Switching Functions.
1 CS 352 Introduction to Logic Design Lecture 2 Ahmed Ezzat Boolean Algebra and Its Applications Ch-3 + Ch-4.
INTRODUCTION SC116: Algebraic Structures Short Title of the Course: ALG Instructor: Professor Samaresh Chatterji.
Lecture 34 Section 6.7 Wed, Mar 28, 2007
EET 1131 Unit 5 Boolean Algebra and Reduction Techniques
Chapter 4 Systems of Linear Equations; Matrices
Linear Algebra review (optional)
De Morgan’s Theorem,.
Linear Algebra Lecture 2.
CS480 Cryptography and Information Security
Properties of Operations
Boolean Algebra & De Morgan's Theorems
5 Systems of Linear Equations and Matrices
Drill #3 Evaluate each expression if a = 6, b = ½, and c =
CHAPTER 1 : INTRODUCTION
Boolean Algebra – Part 1 ECEn 224.
Optimized Implementation of Logic Function
CSE 140 : Components and Design Techniques for Digital Systems
Digital Logic and Design
Optimized Implementation of Logic Function
BASIC & COMBINATIONAL LOGIC CIRCUIT
Digital Logic & Design Dr. Waseem Ikram Lecture 12.
Digital Logic & Design Dr. Waseem Ikram Lecture 13.
1.1 Real Numbers.
CH7 Multilevel Gate Network
Optimization Algorithm
Properties of Real Numbers
Dr Huw Owens Room B44 Sackville Street Building Telephone Number 65891
BOOLEAN ALGEBRA AND LOGIC SIMPLIFICATION Part (a)
Optimized Implementation of Logic Function
1.1 & 1.2: Properties of Real Numbers & Algebraic Expressions
Sets, Sequences, and Summations
3-Variable K-map AB/C AB/C A’B’ A’B AB AB’
Laws & Rules of Boolean Algebra
Chapter 3 – Describing Logic Circuits
Presentation transcript:

Using Conjugate Symmetries to Enhance Simulation Performance Advanced Digital Simulation

State Machine Simulation

State Machine with Output Values

Detecting Symmetry F(a,b,c)=F(a,c,b)

Other Variable Pairs

Skew Symmetries F(a,b,c)=F(a,c’,b)

Multiple Symmetries

Boolean Examples abc’ + a’cd + a’bc + acd’ + ab’d + bc’d Totally symmetric Simulation machine has 5 states ac’ + bc’ + bd’ + ab’d + a’cd’ Totally non-symmetric Simulation machine has 16 states

Mathematical Background Symmetry is defined in terms of Permutations Given a base set X containing n elements, a permutation is a 1-to-1 function from X to X. Examples:

The Symmetric Group The set of all permutations of a base set X of size n is denoted Sn. Because the elements of Sn are functions, they can be combined using composition. Sn is a group under the composition operation. Closed, associative, with identity and inverses Sn is called the symmetric group on n elements.

Mathematical Connections The connection between symmetric functions and permutations is intuitively obvious: We use permutations to rearrange the variables of a function. A three-input function (for example) is symmetric if:

Vectors, Not Variables Alternatively, suppose f operates on n-element Boolean vectors. A function is symmetric if we can rearrange the input vectors in any fashion without changing the function. A three-input function f is symmetric if:

Permuting Vectors It is tempting to write “A function is symmetric if for all permutations p and vectors v. BUT… Permutations act on INTEGERS, not on Boolean Vectors!

From Integers to Vectors To make the mathematical connection we must map each permutation to a function that permutes the elements of a vector. Permutations don’t operate on Boolean vectors, but linear transformations do. To be able to use linear transformations, we must treat our Boolean vectors as elements of a vector space over some field F.

The Field GF(2) Consider the integers mod 2. This set contains two elements. The set is a field with AND taking the place of multiplication and XOR taking the place of addition. Addition is commutative, and associative with an identity and inverses. Multiplication is commutative and associative with identity and inverses for all elements except zero. Multiplication distributes over addition. This field is called GF(2).

The General Linear Group A linear transformation T is called non-singular if it has an inverse T-1. The General Linear Group of a vector space V is the set of all non-singular linear transformations from V to itself.

Group Representations A mapping H from one group G1 to another G2 is a homomorphism if H(ab)=H(a)H(b). If H is one-to-one, it is called an isomorphism. A homomorphism R from a group G into the general linear group of a vector space V is called a representation of G. If the homomorphism R is an isomorphism, it is called a faithful representation. When there is no possibility of confusion, we use to R denote the image of G under R.

A Representation of S3 The following is a mapping from S3 to the general linear group of GF(2)3. These transformations rearrange the elements of Boolean vectors. The representation is faithful.

Representations We are interested only in faithful representations of Sn in the general linear group of dimension n over GF(2). The standard is a faithful representation that rearranges the elements of a vector. The standard representation is intuitively obvious. No fancy math is required. The standard representation isn’t the only representation.

Conjugate representations Let R be the standard representation of Sn in the general linear group over GF(2)n. Denote this general linear group as GLn(2). Let g be an element of GLn(2). A conjugate representation is the group gRg-1={gxg-1|xR}. In general, R gRg-1.

Symmetry: An Extended View Let f be an n-input Boolean function, and let R be the standard representation of Sn in GLn(2). We say f is symmetric if f(T(v))=f(v) for all TR. Let gGLn(2). We say f is symmetric with respect to g if f(T(v))=f(v) for every TgRg-1. Symmetry with respect to g can be used to simplify state machines, just as ordinary symmetry can.

Remember This Expression? ac’ + bc’ + bd’ + ab’d + a’cd’ Totally non-symmetric Simulation machine has 16 states However, this expression is symmetric with respect to the following linear transformation:

Detection of Symmetry: Step 1 Two variables at a time Eliminate variables by symbolic evaluation F(a,b,c,d) = ac’ + bc’ + bd’ + ab’d + a’cd’ F(0,b,c,d) = 0c’ + bc’ + bd’ + 0b’d + 1cd’ F(1,b,c,d) = 1c’ + bc’ + bd’ + 1b’d + 0cd’ F(0,b,c,d) = bc’ + bd’ + cd’ F(1,b,c,d) = bc’ + bd’ + b’d

Detection of Symmetry: Step 2 F(0,b,c,d) = bc’ + bd’ + cd’ F(1,b,c,d) = bc’ + bd’ + b’d F(0,0,c,d) = 0c’ + 0d’ + cd’ = cd’ F(0,1,c,d) = 1c’ + 1d’ + cd’ = c’ + d’ F(1,0,c,d) = 0c’ + 0d’ + 1d = d F(1,1,c,d) = 1c’ + 1d’ + 0d = c’ + d’

Detection of Symmetry: Step 3

Test Condition 1

Test Condition 2

Test Condition 3

Test Condition 4

The Symmetry Algorithm 1 Given a function, construct the conjugate symmetry matrix. A conditionally inverts B

The Symmetry Algorithm 2 B conditionally inverts A

Input State Machines

The Conjugacy Matrix

Conjugate Symmetries We have expanded the concept of symmetry from a single representation to a large collection of representations. In GL3(2) there are 28 conjugates of the standard representation In GL4(2) there are 420 conjugates of the standard representation. Each conjugate represents a whole new type of symmetry.

Generalized Symmetries There are faithful representations of Sn that are not conjugate to the standard representation. (for n>3) State-Machine simplification is possible (I think), but result may not be linear. There are nine conjugacy classes in GL4(2). We don’t know much about them

Other Stuff We’ve looked at non-singular transformations, what about singular ones? Causes a reduction in input variables: go from a, b, c, d to a+b, a+c, a+d, for example. Otherwise, appears to be the same What about multiple output functions? What about GF(2n)? What about eigenvalues?