290 likes | 409 Vues
This research presents an innovative approach to identify E-symmetric inputs in circuit design, significantly simplifying input combinations using symmetry detection algorithms. We explore previous works and employ Binary Decision Diagram (BDD) and simulation-based methods to enhance the effectiveness of symmetry detection. Our experiments reveal that by recognizing symmetric inputs, we can reduce the effort of testing multiple combinations, thereby optimizing design verification and technology mapping. Results demonstrate substantial efficiency improvements in circuit analysis.
E N D
High Level Symmetric Inputs Identification Student : Ming-Hong Su Advisor : Chun-Yao Wang
Outline • Introduction • Previous Work • BDD Based • Simulation Based • The E-Symmetry Detection Algorithm • Experimental Result
What is Symmetry Detection ? (1) (2) = = (3) (4) = =
Applications • Design verification and diagnosis • Save effort of trying different combinations • Example: for an 10-input circuit, there are 2^10=1024 different inputs combinations. If we can sure that input1 and input2 are symmetry, then combinations were reduced to 2^9=512 • Technology mapping • Accelerate the process of mapping
Outline • Introduction • Previous Work • BDD Based • Simulation Based • The E-Symmetry Detection Algorithm • Experimental Result
a a 0 1 0 1 b’ b 1 0 1 0 NE-symmetry E-symmetry BDD Based Approach
Simulation Based Approach • BDD construction is not necessary • Applicable in behavior level or RT-level Start Iteration=0 All asymmetric or Iteration>bound Yes No Pattern Generation Iteration++ Stop Pattern Simulation Symmetry Identification
Outline • Introduction • Previous Work • BDD Based • Simulation Based • The E-Symmetry Detection Algorithm • Experimental Result
Overview • Exploiting simulation based approach to identify E-symmetry • Based on “negative thinking” to detect as many E-asymmetric variables as possible • To determine xi is asymmetric to xj is easier
E-asymmetry • Pair of patterns whose inputs are identical except on xi and xj, and xi = xj in each patterns. If the outputs of those patternsare different, xi and xj are E-asymmetric inputs • Example: If two patterns 00000 and 11000 have different outputs, then input1and input2are E-asymmetric inputs
Symmetric-Asymmetric Inputs (SASIs) • SASIs: represent the maximal symmetric inputs sets • if any two inputs are not in the same group, then they are E-asymmetric inputs • if any two inputs are in the same group, then they are “possibly” equivalence symmetric inputs • Example: for an 6-inputs circuit, the SASIs(125)(4)(36) indicates that inputs 1,2,5 are possibly equivalence symmetric inputs and input4 is E-asymmetric input to the other inputs
VPs and SASIs • Grouping all VPs to form SASIs • Example: 10-input circular with VPs{(1,2),(2,3),(3,4),(5,6),(6,7),(8,9)} VPs{(1,2),(2,3),(3,4),(5,6),(6,7),(8,9)} (5,6,7) (1,2,3,4) SASIs=(1,2,3,4)(5,6,7)(8,9) (10)
MEG and SEG • MEG ( Multiple Elements Group): group contain two or above elements • SEG (Signal Element Group): group only contain one element SASIs=(1,2,3,4)(5,6,7)(8,9)(10) SEG MEG
Distance (1/2) • Distance: the difference of relative position between two elements in MEG MEG(1,3,5,7,9,11,13) MEG(1,2,3,4,5,6,7) Position 6 Position 2 Position 7 Position 1 distance 4 distance 6 Distance of VP(1,7) is 6 Distance of VP(3,11) is 4
Distance (2/2) • For MEG with m inputs, the maximal distance is (m-1), and the number of VPs with distance i is (m - i) MEG(1,2,3,4,5) 5 VPs with distance 1 1 4 VPs with distance 2 6 2 3 VPs with distance 3 Total VPs=10 2 VPs with distance 4 3 5 1 VPs with distance 5 4
Self-Patterns SASIs=(12345)(67)(8) {(1),(2),(3),(4),(5)} MEG(12345) VP{(1,2),(1,3),(1,4),(1,5)(2,3),(2,4),(3,4),(4,5)} {(1,2,3),(1,2,4),(1,2,5)….,(3,4,5)} MEG(67) No self-patterns
Example (1/4) 6 of distance (2,3) (3,4) (4,5) (5,6) (6,7) (1,2) 1 of distance 6 (7,1) 5 of distance 2 (1,3) (2,4) (3,5) (4,6) (5,7) 2 of distance 5 (6,1) (7,2) 1 2 3 4 5 6 7 1 2 3 4 5 6 7 2 3 4 5 6 7 1 3 4 5 6 7 1 2
Example (2/4) 3 of distance 4 (1,5) (2,6) (3,7) 4 of distance 3 (1,4) (5,2) (6,3) (7,4) 1 2 3 4 5 6 7 1 2 3 4 5 6 7 4 5 6 7 1 2 3 5 6 7 1 2 3 4
Example (3/4) 6 of distance 1 (3,4) (4,5) (5,6) (6,7) (1,2) (2,3) 1 of distance 6 (7,1) 4 of distance 3 (1,4) (2,5) (3,6) (4,7) 3 of distance 4 (5,1) (6,2) (7,3) 4 5 6 7 1 2 3 12 23 34 45 56 67 71 1 2 3 4 5 6 7 2 3 4 5 6 7 1 3 4 5 6 7 1 2
Example (4/4) 5 of distance 2 (1,3) (2,4) (3,5) (4,6) (5,7) 2 of distance 5 (6,1) (7,2) 5 6 7 1 2 3 4 12 23 34 45 56 67 71 1 2 3 4 5 6 7 3 4 5 6 7 1 2 4 5 6 7 1 2 3
Observation 6 of distance 1 1 of distance 6 5 of distance 2 2 of distance 5 1 2 3 4 5 6 7 1 2 3 4 5 6 7 2 3 4 5 6 7 1 3 4 5 6 7 1 2
Outline • Introduction • Previous Work • BDD Based • Simulation Based • The E-Symmetry Detection Algorithm • Experimental Result
Experimental Result • Coming Soon…..