Multi-Valued Logic Network Optimizations - PowerPoint PPT Presentation

1 / 20
About This Presentation
Title:

Multi-Valued Logic Network Optimizations

Description:

Trade-off: pairing variables increases input width ... Output Encoding Constraints', Saldanha, Villa, Brayton, Sangiovanni-Vincentelli ' ... – PowerPoint PPT presentation

Number of Views:42
Avg rating:3.0/5.0
Slides: 21
Provided by: G15390
Category:

less

Transcript and Presenter's Notes

Title: Multi-Valued Logic Network Optimizations


1
Multi-Valued Logic Network Optimizations
  • EE219B Project Presentation
  • Jason Shamberger
  • May 16, 2000

2
Outline
  • Input Variable Pairing
  • results
  • Input Variable Encoding
  • results
  • Conclusions

3
Input Variable Pairing
  • By pairing input variables, we can make the cover
    smaller
  • Example

4
Input Variable Pairing
  • Trade-off pairing variables increases input
    width
  • If input variables have m, n values, pairing them
    increases the width from mn to mn
  • For some applications we wish to limit the total
    input width to 32 bits

5
Input Variable Pairing
  • Simple Heuristic
  • Count the original number of cubes
  • Eliminate the variables to pair
  • Count the new number of cubes
  • The difference gives an approximation of the
    savings
  • The real savings could be more than this, since
    further simplifications could be made by calling
    Espresso

6
Input Variable Pairing Results
  • Number of cubes

Original network mv_simp var_pair var_pair mv_simp
test1 416 375 467 422
test2 785 740 930 871
test3 1617 1497 1965 1818
test4 13768 12681 15789 13297
test5 24715 22058 28821 26275
7
Input Variable Pairing Results
  • Possible explanations?
  • Heuristic is not good enough, can try calling
    espresso on each node, each pair of variables to
    get an accurate count of savings
  • Another problem demux nodes

8
Input Variable Pairing
We pair variables by inserting demux nodes
9
Input Variable Pairing Results
Original network mv_simp var_pair var_pair var_pair mv_simp var_pair mv_simp
All nodes All nodes All nodes Excluding demux nodes All nodes Excluding demux nodes
test1 416 375 467 409 422 364
test2 785 740 930 772 871 713
test3 1617 1497 1965 1573 1818 1426
test4 13768 12681 15789 13297 13297 11870
test5 24715 22058 28821 23255 26275 19992
10
Input Variable Pairing
  • The new node we insert must have at least one
    cube for each value of the MV variable we
    generate
  • Solutions
  • Set the threshold equal to the number of cubes in
    demux node
  • Result no pairing

11
Input Encoding
  • The opposite of variable pairing Take one MV
    input and encode it with smaller variables
  • Choosing the encoding affects the size of the
    cover (see class notes)

12
Input Encoding
  • Implementation
  • Find which variables to encode
  • Generate the constraints
  • Generate the dichotomies
  • Generate the prime dichotomies
  • Find the minimum column cover
  • Translate this into an encoding scheme

13
Input Encoding Results
  • The optimal method is not fully implemented
  • Currently generate dichotomies, then find a cover
    which satisfies all of them
  • Encounter the same problem with insertion of new
    nodes for muxing
  • Insert one node for each variable to encode with
  • Each node has one cube for each value of the
    encoding variable

14
Input Encoding Results
Original network mv_simp input_encode input_encode input_encode mv_simp input_encode mv_simp
All nodes All nodes All nodes Excluding mux nodes All nodes Excluding mux nodes
test1 416 375 793 393 481 375
test2 785 740 1371 759 896 740
test3 1617 1497 3201 1541 1919 1497
test4 13768 12681 29200 12876 17162 12428
In all test cases, input size at each node
decreased or remained the same
15
Conclusions
  • Original thought alternately applying variable
    pairing and input encoding could lead to a small
    cube cover and small input width (similar to
    extraction and elimination)
  • This does not work, just end up inserting more
    and more nodes into the network

16
Conclusions
17
Conclusions
  • For better results look at the network level
  • Instead of pairing variables, pair nodes (combine
    two sibling nodes into one)
  • Will increase the input width of the paired
    nodes, so make sure two nodes share common inputs
    AND outputs

18
Conclusions
19
Conclusions
  • Instead of encoding the inputs, encode at the
    outputs of previous nodes
  • Requires multiple outputs from a single node

20
References
  • Class Notes
  • Satisfaction of Input and Output Encoding
    Constraints, Saldanha, Villa, Brayton,
    Sangiovanni-Vincentelli
  • Multiple-Valued Logic and Optimization of
    Programmable Logic Arrays, Sasao
  • On the Optimal Design of Multiple-Valued PLAs,
    Sasao
Write a Comment
User Comments (0)
About PowerShow.com