Speaker pin yi kuo advisor chun yao wang 2011 5 20
This presentation is the property of its rightful owner.
Sponsored Links
1 / 47

On Rewiring and Simplification for Canonicity in Threshold Logic Circuits PowerPoint PPT Presentation


  • 91 Views
  • Uploaded on
  • Presentation posted in: General

Speaker: Pin-Yi Kuo Advisor: Chun-Yao Wang 2011/5/20. On Rewiring and Simplification for Canonicity in Threshold Logic Circuits. Outline. Rectification Critical-effect Simplification Experimental results Conclusion and future work. Introduction Rewiring Rewiring flow Preliminary

Download Presentation

On Rewiring and Simplification for Canonicity in Threshold Logic Circuits

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Speaker pin yi kuo advisor chun yao wang 2011 5 20

Speaker: Pin-Yi Kuo

Advisor: Chun-Yao Wang

2011/5/20

On Rewiring and Simplification for Canonicity in Threshold Logic Circuits


Outline

Outline

  • Rectification

    • Critical-effect

  • Simplification

  • Experimental results

  • Conclusion and future work

    • Introduction

    • Rewiring

      • Rewiring flow

      • Preliminary

      • Preprocess

        • Input grouping and gate decomposition

      • Target wire removal

        • Useless threshold gate

        • Useless threshold group

        • Critical input

        • Useless input


    Threshold logic 1 2

    Threshold Logic (1/2)

    • A linear threshold gate (LTG) is an n binary input and one binary output function defined as below:

      y = 1 if

      0if

      n binary inputs x1, x2, … ,xnwith weights w1, w2, … ,wn

      a single binary output y

      a threshold value T

    x1

    x2

    xn

    w1

    w2

    wn

    T

    f


    Threshold logic 2 2

    Threshold Logic (2/2)

    • A network is composed of LTGs is called a threshold network.

    • An example of threshold logic network and its corresponding Boolean representation.


    Assumption

    Assumption

    • Every Boolean function has infinitely distinct representations in threshold logic.

      • In our work, the threshold logic is generated with ILP-based tools.

        • Linear programs are problems that can be expressed in canonical form.

    • For convenience, we assume the weights and threshold of a threshold function are positive integers.

      • Negative integers can be transformed into positive ones.


    Positive negative weight transformation

    Positive-Negative Weight Transformation

    • The relationship of the weights and threshold value between functions containing xi in positive and negative phase is given in [1].

      • Step 1. Invert the negative weights into positive ones and complement the corresponding variables.

      • Step 2. Increase the threshold value by adding the absolute value of the negative weight.

    x1

    x2

    x3

    2

    1

    -1

    1

    f

    x1

    x2

    y3

    2

    1

    1

    2

    f

    y3 = x3’

    [1] S. Muroga. Threshold Logic and its Applications. New York, NY: John Wiley, 1971.


    Applications

    Applications

    • Combinational equivalence checking

      • Rewire on the compared threshold logic networks to keep the appearances of them the same.

        • The connectivity among all gates.

        • The functionality of each corresponding gate.

    • Resynthesis

      • Generate a threshold network with a new fanin number constraint instead of resynthesizing.


    Outline1

    Outline

    • Rectification

      • Critical effect

  • Simplification

  • Experimental results

  • Conclusion and future work

    • Introduction

    • Rewiring

      • Rewiring flow

      • Preliminary

      • Preprocess

        • Input grouping and gate decomposition

      • Target wire removal

        • Useless threshold gate

        • Useless threshold group

        • Critical input

        • Useless input


    Rewiring flow

    START

    Rewiring Flow

    Input:

    A threshold network and a target wire

    Grouping and decomposition

    Target wire removal

    The target wire is critical?

    No

    Yes

    Rectify at the transitive fanout cone?

    No

    Case 3

    Yes

    Case 1

    Case 2

    • Rectification

    • Threshold value change

    • Rectification network constructionat each input

    • AND connection

    • Rectification

    • The useless input removal

    • Rectification network construction

    • OR connection

    • Rectification

    • Threshold value change

    • Rectification network construction

    • AND connection

    Simplification

    Output:

    The synthesized threshold network

    END


    Rewiring

    Rewiring

    • Input a given threshold logic network, and a target wire to be removed

    • Preprocess

      • Input grouping and gate decomposition

    • The target wire removal

    • Rectification network construction

      • Preserve the remaining functionality

        • Change the threshold value if necessary

      • Rectify at different locations

        • Search for the rectification network.

        • Different connection

    • Output the rewired threshold network


    Input grouping

    Input Grouping

    • A threshold logic gate can be divided into many groups.

      • Observe the threshold logic gate in groups.

    • Objective: Separate the inputs and the corresponding weights into different groups.

      • Step 1. Separate an input whose weight is equal to the threshold value of the objective gate as a single group.

      • Step 2. The remaining inputs are separated as another group.

    a

    b

    c

    d

    e

    f

    3

    2

    1

    1

    5

    5

    5

    f


    Gate decomposition

    Gate Decomposition

    • Each group can be extracted as a new threshold logic gate.

      • The threshold value of decomposition gate is the same as that of the objective gate.

      • The weights of the objective gate associated with the decomposition gate is the threshold value.

    The decomposition gate

    a

    b

    c

    a

    b

    c

    d

    3

    1

    1

    1

    1

    1

    1

    3

    3

    f

    3

    d

    3

    3

    f


    Target wire removal

    Target Wire Removal

    • Remove the target wire and its corresponding weight from the objective gate directly.

      • The outcomes of the objective gate after a removal.

        • A useless threshold logic gate.

        • A normal threshold logic gate.

    • It’s necessary to ensure the objective gate out of uselessness after any operation in our rewiring procedure.


    Useless threshold logic gate

    Useless Threshold Logic Gate

    • Def: A single group LTG is useless if and only if it is an empty gate or it outputs zero for all input combinations.

    • Lemma: Given a nonempty LTG, it is useless if and only if it satisfies the following equation, where n is the number of inputs in this gate.

    The threshold logic gate is useless because it outputs zero for all input combinations.

    a

    b

    c

    1

    1

    1

    4

    f


    Critical input

    Critical Input

    • Def: An input in a single group LTG is critical if and only if this LTG will become useless after removing this input.

    • Lemma: Given a single group LTG, an input xj with its corresponding weight wj is critical if and only if it satisfies the following equation, where n is the number of inputs in this gate.

    Given an LTG, input c is critical because the group will become useless after removing c.

    c

    d

    e

    2

    1

    1

    3

    f


    Useless threshold logic input

    Useless Threshold Logic Input

    • Def: An input is useless if and only if the output of this LTG is intact when this input toggles under all input combinations.

    The threshold logic input c is useless because the output is intact when input c toggles for all input combinations.

    a

    b

    c

    3

    2

    1

    5

    f


    Useless threshold logic input1

    Useless Threshold Logic Input

    • Lemma: Given an input xj with its corresponding weight wj, xj is useless if and only if it satisfies either EQ(A) or EQ(B) for each input combination, where n is the number of inputs in this gate.

    (A)

    and

    (B)

    and


    Features

    Features

    • Useless gates and useless inputs are not allowed in a threshold network.

      • A target wire removal may generate them incidentally.

    • A critical input is a necessary input for keeping the LTG out of uselessness.


    Rectification location

    Rectification Location

    • The construction of the rectification network varies with the characteristic of the target wire and the rectification location.

      • Transitive fanout cone of the objective gate.

      • Transitive fanin cone of the objective gate.


    Critical effect

    Critical-Effect

    • Def: A single group LTG has a critical-effect if and only if there exists an assignment such that the output changes from 1 to 0 when each one of its inputs in this assignment changes from 1 to 0.

    • Lemma: Given a single group LTG, the LTG has a critical-effect if it satisfies the following equation, where n is the number of inputs in this gate.

    Given an LTG, the LTG has a critical-effect under these vectors (a,b,c,d) = (1,1,0,0) and (1,0,1,1)

    a

    b

    c

    d

    5

    f

    3

    2

    1

    1


    Critical effect1

    Critical-Effect

    f

    3

    • A vector where a gate has a critical-effect is called a critical-effect vector.

    • The value of the target wire in the critical-effect vector determine whether or not a subfunction is lost after removing the target wire.

    a

    b

    c

    2

    1

    1

    for the target wire b


    Rectification network construction

    Rectification Network Construction

    • Case 1: The target wire is not critical:

      • The remaining objective gate will not become useless.

        • Keep the threshold value.

        • Search for the rectification network with critical-effect.

      • Since adding the rectification network at the transitive fanin cone will affect the remaining functionality among other inputs, we only add the rectification network at the transitive fanout cone of the objective gate.


    Search for the rectification network 1 2

    Search for the Rectification Network (1/2)

    • Given a single group LTG and the target wire xa.

      • Step 1: Remove any useless input.

      • Step 2:Get all critical-effect vectors where xa=1.

      • Step 3: Collect all inputs that are assumed to be 1 in these critical-effect vectors

    a

    b

    c

    d

    e

    5

    2

    1

    1

    1

    7

    f

    The critical-effect vectors

    The objective gate and the target wire d.

    Inputs a,dand e are found in the critical effect vector 10011.

    Inputs a,c and d are found in the critical effect vector 10110.


    Search for the rectification network 2 2

    Search for the Rectification Network (2/2)

    • Step 4: Get the rectification network by creating a new gate consisting of the inputs found in step 3 with its corresponding weight and threshold value of the objective gate.

    • Step 5: Connect the remaining objective gate to this rectification network with an OR gate at its transitive fanout cone.

    n1

    n2

    a

    b

    c

    e

    a

    c

    d

    e

    a

    c

    d

    e

    a

    b

    c

    e

    1

    1

    5

    1

    1

    1

    5

    2

    1

    1

    5

    2

    1

    1

    5

    1

    1

    1

    1

    7

    7

    7

    7

    f

    n2

    n1

    The remaining objective gate

    The rectification network


    Rectification network construction1

    Rectification Network Construction

    • Case 2: The target wire is critical, and we rectify it at the transitive fanout cone:

      • It will cause a useless gate after the removal.

        • Prevent a useless gate generation.

    • Given a single group LTG and the target wire xa.

      • Step 1: Decrease the threshold value in the remaining objective gate by wa.

      • Step 2: The rectification network is the target wire only.

      • Step 3: Connect the remaining objective gate to this rectification network with an AND gate at its transitive fanout cone.


    Rectification network construction2

    Rectification Network Construction

    f

    n1

    10

    4

    • Given a single group LTG and the target wire xa.

    y

    b

    c

    d

    e

    b

    c

    d

    e

    a

    b

    c

    d

    e

    4

    3

    1

    1

    4

    3

    1

    1

    6

    4

    3

    1

    1

    The given LTG and the target wire a

    The remaining objective gate

    a

    n1

    1

    1

    2

    4


    Rectification network construction3

    Rectification Network Construction

    • Case 3: The target wire is critical, and we rectify it at the transitive fanin cone:

      • It will cause a useless gate after the removal.

        • Prevent a useless gate generation.

    • Given a single group LTG and the target wire xa.

      • Step 1: Decrease the threshold value in the remaining objective gate by wa.

      • Step 2: The rectification network is the target wire only.

      • Step 3: Connect this rectification network to each input of the remaining objective gate with an AND gate at its transitive fanin cones.


    Rectification network construction4

    Rectification Network Construction

    2

    2

    2

    2

    4

    1

    1

    1

    1

    4

    3

    1

    1

    1

    1

    1

    1

    f

    f

    n1

    4

    10

    • Given a single group LTG and the target wire a

    b

    c

    d

    e

    a

    b

    c

    d

    e

    4

    3

    1

    1

    6

    4

    3

    1

    1

    a

    b

    a

    c

    The given LTG and the target wire a

    a

    d

    a

    e

    The remaining objective gate


    Features1

    Features

    • Rewire any target wire in a threshold network without variation of functionality.

    • It only depends on the information of input and weight and the threshold value of each gate without the Boolean representations.


    Outline2

    Outline

    • Rectification

      • Critical effect

  • Simplification

  • Experimental results

  • Conclusion and future work

    • Introduction

    • Rewiring

      • Rewiring flow

      • Preliminary

      • Preprocess

        • Input grouping and gate decomposition

      • Target wire removal

        • Useless threshold gate

        • Useless threshold group

        • Critical input

        • Useless input


    Simplification

    Simplification

    • After the synthesis, the ILP solver will give a canonical solution for the weight and threshold value of each threshold logic gate.

    • In our rewiring procedure, some threshold gates will not be represented canonically.

      • Keep each threshold logic gate simplified after each removal and rectification procedure.

        • Minimum positive weight


    Simplification flow

    START

    Decrease the input weight and the threshold value sequentially

    Simplification Flow

    Input

    A given LTG

    Check the validity of this decrement

    No

    Divide the LTG by

    a common divisor

    Yes

    Get the critical-effect vectors and their brothervectors

    Update the LTGand divide the LTG by a common divisor

    There exists an input

    weight to decrease?

    Yes

    No

    Output

    The canonical LTG

    END


    Terminology

    Terminology

    • A Subvector of a vector is a vector whose input assumed to be 1 is the proper subset of this vector.

    • A Supervector of a vector is a vector whose input assumed to be 1 is the proper superset of this vector.

    • A Brothervector of a vector is a vector which has the same number of inputs assumed to be 1 as this vector.

    A vector (a, b, c) = (0, 1, 1)

    Subvectors: (0, 0, 1) and (0, 1, 0)

    Supervector: (1, 1, 1)

    Brothervectors: (1, 0, 1) and (1, 1, 0)


    Simplification1

    a

    b

    c

    d

    a

    b

    c

    d

    a

    b

    c

    d

    Simplification

    9

    9

    4

    4

    6

    8

    2

    2

    3

    4

    2

    2

    3

    4

    f

    f

    f

    • Given a single group LTG.

      • Step 1: Ensure that the weights for all inputs and threshold value have no common divisor which is larger than 1.

        • The LTG is necessary to be divided by a common divisor.

      • Step 2: Keep the critical-effect vectors and the brothervector of all critical-effect vectors.

        • Record the outputs of the gate under these input assignment set.

    18


    Simplification2

    a

    b

    c

    d

    a

    b

    c

    d

    Simplification

    9

    8

    2

    2

    3

    4

    1

    1

    3

    4

    f

    f

    • Step 3: Iteratively decrease each input weight and the threshold value. Get the new representation after the weight-decreasing operation.

      • If we decrease a unique weight by 1 in an LTG, the threshold value is decreased by 1 as well.

      • The inputs with the same weight must be decreased at the same time.

        • The threshold value is decreased by the number of 1 in these same weight inputs of any critical-effect vectors.

    The LTG before the simplification

    The LTG after the same-weight inputs decreasing


    Simplification3

    a

    b

    c

    d

    a

    b

    c

    d

    Simplification

    9

    8

    2

    2

    3

    4

    1

    1

    3

    4

    f

    f

    • Theorem: Given two single group LTGs, they are functionally equivalent if and only if they produce the same outputs under all critical-effect vectors and the brothervectors of all critical-effect vectors.


    Simplification4

    Simplification

    • Step 4: Verify if the functionality between the original LTG and the new LTG intact or not after each weight-decreasing operation.

      • Step 4-a: If an inconsistency occurs, the weight-decreasing operation is invalid.

        • Keep the original threshold logic gate.

        • The input cannot be decreased in this iteration.

      • Step 4-b: If all outputs are the same, the weight-decreasing operation is valid.

        • Obtain a new representation.

        • Ensure that the weights for all inputs and threshold value have common divisor 1.


    Simplification5

    Simplification

    • Step 5: End the simplification procedure if any weight-decreasing operation is invalid. Or return to step 3.


    Simplification6

    a

    b

    c

    d

    a

    b

    c

    d

    a

    b

    c

    d

    a

    b

    c

    d

    a

    b

    c

    d

    a

    b

    c

    d

    Simplification

    5

    7

    3

    6

    8

    5

    1

    1

    2

    3

    1

    1

    1

    1

    1

    1

    2

    4

    1

    1

    2

    2

    1

    1

    3

    4

    1

    1

    1

    3

    f

    f

    f

    f

    f

    f

    Decrease the weight in input c

    Decrease the weight in input d

    Decrease the weight in input c

    Decrease the weight in input d

    Decrease the weights in inputs c, d

    Invalid

    Invalid


    Simplification7

    Simplification

    • The LTGs with the same functionality will have the same appearance after the simplification procedure.

    • It depends only on weights of the inputs and threshold value information of an LTG.

    • We use fewer input assignments to verify the functionality between the compared gates instead of all input combinations.


    Outline3

    Outline

    • Rectification

      • Critical effect

  • Simplification

  • Experimental results

  • Conclusion and future work

    • Introduction

    • Rewiring

      • Rewiring flow

      • Preliminary

      • Preprocess

        • Input grouping and gate decomposition

      • Target wire removal

        • Useless threshold gate

        • Useless threshold group

        • Critical input

        • Useless input


    Experimental results

    Experimental Results

    • The experiment consists of two parts.

      • The capability of logic restructuring.

        • Randomly select an input from each gate as a target wire.

        • Simplify on changed LTGs.

      • Resynthesize a threshold network with a new fanin number constraint compared to [2] .

        • Randomly select an input from the gate violating the fanin number constraint as a target wire.

        • Simplify on changed LTGs.

    • Transform the rewired threshold network into Boolean domain and verify the correctness.

      • Use verify command with SIS.

    [2] R. Zhang, P. Gupta, L. Zhong, and N. K. Jha, “Synthesis and Optimization of Threshold Logic Networks with Application to Nanotechnologies,” in Proc. Design Automation Test in Europe Conf., 2004, pp. 904-909.


    Experimental results1

    Experimental Results

    Table I


    Experimental results2

    Experimental Results

    Table II


    Outline4

    Outline

    • Rectification

      • Critical effect

  • Simplification

    • Terminologies

  • Experimental results

  • Conclusion and future work

    • Introduction

    • Rewiring

      • Rewiring flow

      • Preliminary

      • Preprocess

        • Input grouping and gate decomposition

      • Target wire removal

        • Useless threshold gate

        • Useless threshold group

        • Critical input

        • Useless input


    Conclusion

    Conclusion

    • A rewiring technique for threshold networks is proposed.

      • It efficiently provides the capability of logic restructuring.

    • A simplification procedure for canonicity is also proposed.


    Future work

    Future Work

    • The proposed algorithm will be used in the application of formal equivalence checking in the near future.


  • Login