1 / 47

On Rewiring and Simplification for Canonicity in Threshold Logic Circuits

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. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Speaker: Pin-Yi Kuo Advisor: Chun-Yao Wang 2011/5/20 On Rewiring and Simplification for Canonicity in Threshold Logic Circuits

  2. 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

  3. 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 … …

  4. 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.

  5. 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.

  6. 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.

  7. 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.

  8. 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

  9. 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

  10. 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

  11. 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

  12. 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

  13. 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.

  14. 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

  15. 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

  16. 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

  17. 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

  18. 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.

  19. 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.

  20. 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

  21. 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

  22. 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.

  23. 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.

  24. 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

  25. 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.

  26. 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

  27. 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.

  28. 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

  29. 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.

  30. 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

  31. 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

  32. 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

  33. 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)

  34. 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

  35. 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

  36. 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.

  37. 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.

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

  39. 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

  40. 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.

  41. 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

  42. 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.

  43. Experimental Results Table I

  44. Experimental Results Table II

  45. 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

  46. 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.

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

More Related