New ways of generating large realistic benchmarks for testing synthesis tools
Download
1 / 27

New Ways of Generating Large Realistic Benchmarks for Testing Synthesis Tools - PowerPoint PPT Presentation


  • 52 Views
  • Uploaded on

New Ways of Generating Large Realistic Benchmarks for Testing Synthesis Tools. Petr Fišer, Jan Schmidt Faculty of Information Technology Czech Technical University in Prague [email protected], [email protected] Outline. Motivation New benchmark generation methods Experimental results

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about ' New Ways of Generating Large Realistic Benchmarks for Testing Synthesis Tools' - luce


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
New ways of generating large realistic benchmarks for testing synthesis tools

New Ways of GeneratingLarge Realistic Benchmarksfor Testing Synthesis Tools

Petr Fišer, Jan Schmidt

Faculty of Information Technology

Czech Technical University in [email protected], [email protected]


Outline
Outline

  • Motivation

  • New benchmark generation methods

  • Experimental results

  • Conclusions

IWSBP 2010, Freiberg


Motivation
Motivation

… why another artificial benchmark generator?

  • To test logic synthesis tools

    • Capabilities of synthesis processes

    • Immunity to “bad” structures

    • Ability to discover “good” structures

    • Iterative power

    • Scalability

IWSBP 2010, Freiberg


Motivation1
Motivation

J. Cong, K. Minkovich: Optimality study of logic synthesisfor LUT-based FPGAs, IEEE Trans. on CAD, vol. 26, 2007

  • They created artificially large circuits, functionally equivalent to their small origins (70 LUTs)

  • Synthesis produced 10k – 30k LUTs

IWSBP 2010, Freiberg


Motivation2
Motivation

P. Fišer, J. Schmidt, J: Small but Nasty Logic Synthesis Examples, IWSBP'08

  • XOR tree is appended to the circuit outputs and the circuit is collapsed

  • Synthesis produced>400 LUTs instead of 11

IWSBP 2010, Freiberg


Motivation3
Motivation

Will my synthesis tool produce the same result for different descriptions (versions) of one particular circuit? (a.k.a. iterative power)

Most probably not!(if things go bad)

What went wrong?

What descriptions are bad for me?

What structures caused my failure?

What should I do to perform better?

IWSBP 2010, Freiberg


Proposed benchmarks
Proposed Benchmarks

  • Starting with seed circuit (could be small)

  • Functionally equivalent “big” circuit is created

  • The size of the benchmark circuit is adjustable

Ideal case:

Bench circuit 1

Transformation 1

Synthesis

Result

Seed circuit

Bench circuit 2

Transformation 2

Synthesis

Bench circuit 3

Transformation 3

Synthesis

IWSBP 2010, Freiberg


Proposed benchmarks1
Proposed Benchmarks

  • Starting with seed circuit (could be small)

  • Functionally equivalent “big” circuit is created

  • The size of the benchmark circuit is adjustable

Real case:

Bench circuit 1

Result 1

Transformation 1

Synthesis

Seed circuit

Bench circuit 2

Result 2

Transformation 2

Synthesis

Bench circuit 3

Result 3

Transformation 3

Synthesis

IWSBP 2010, Freiberg


Cong s leku benchmarks
Cong’s LEKU Benchmarks

J. Cong, K. Minkovich: Optimality study of logic synthesisfor LUT-based FPGAs, IEEE Trans. on CAD, vol. 26, 2007

LEKU = Logic Examples with Known Upper Bound

  • Based on elimination of the original circuit structure

  • … and bad decomposition

IWSBP 2010, Freiberg


1 realistic leku benchmarks
1. Realistic LEKU Benchmarks

  • Any circuit may be used as a seed (instead of g25)

  • Possible chance of success

  • Global BDDs may be used instead of collapsing

  • Upper bound = size of the original circuit

IWSBP 2010, Freiberg


1 realistic leku benchmarks1
1. Realistic LEKU Benchmarks

Size increase by collapsing

250 ISCAS and IWLS benchmarks

Size increase in 61% of circuits

IWSBP 2010, Freiberg


1 realistic leku benchmarks2
1. Realistic LEKU Benchmarks

Experimental results

IWSBP 2010, Freiberg


2 parity benchmark circuits
2. Parity Benchmark Circuits

  • XOR tree is appended to the circuit outputs, then the structure is destroyed (collapsing, BDD)

  • No guarantee of circuit size increase

  • Upper bound = size of the core circuit + XOR tree

IWSBP 2010, Freiberg


2 parity benchmark circuits1
2. Parity Benchmark Circuits

Size increase by appending parity & collapsing

100 ISCAS and IWLS benchmarks

Size increase in 25% of circuits

IWSBP 2010, Freiberg


2 parity benchmark circuits2
2. Parity Benchmark Circuits

Experimental results

IWSBP 2010, Freiberg


3 tautology benchmarks
3. Tautology Benchmarks

  • Large random SOP is generated

  • When the number of terms exceeds some threshold, the SOP is a tautology

  • Then, the big SOP is mapped into 2-input gates(SIS tech_decomp)

    • Big network

  • Upper bound = 0

  • The benchmark size may be adjusted by

    • Number of input variables

    • Dimension of SOP terms

IWSBP 2010, Freiberg


4 partial collapsing
4. Partial Collapsing

Only parts of the network are collapsed

  • Choose one pivot gate

  • Extract its transitive fan-in and fan-out to a given radius

  • Collapse the extracted network part

  • Decompose into 2-input gates

  • Put it back

  • Iterate several times

  • Upper bound = size of the original circuit

  • The benchmark size may be adjusted by

    • Size of the extracted circuit

    • Number of iterations

IWSBP 2010, Freiberg


4 partial collapsing1
4. Partial Collapsing

Example – c432

IWSBP 2010, Freiberg


4 partial collapsing2
4. Partial Collapsing

Example – big tautology

IWSBP 2010, Freiberg


4 partial collapsing3
4. Partial Collapsing

Example – big tautology

IWSBP 2010, Freiberg


4 partial collapsing4
4. Partial Collapsing

Experimental results

IWSBP 2010, Freiberg


5 replicating shared logic
5. Replicating Shared Logic

Duplicate a part of the logic that is shared

  • Find a branching signal

  • Duplicate its transitive fan-in, to a given depth

  • Upper bound = size of the original circuit

  • The benchmark size may be adjusted by

    • Number of duplicated branches

    • Depth of duplication

IWSBP 2010, Freiberg


5 replicating shared logic1
5. Replicating Shared Logic

Experimental results

IWSBP 2010, Freiberg


6 adding inverters
6. Adding Inverters

(special bonus – not included in the proceedings)

  • Add pairs of inverters to random locations

  • The network size may be arbitrarily expanded

  • And all the synthesis tools…

    Are completely immune to this!

IWSBP 2010, Freiberg


Summary experiments
Summary Experiments

IWSBP 2010, Freiberg


Summary experiments1
Summary Experiments

IWSBP 2010, Freiberg


Conclusions
Conclusions

  • Several new benchmark generation methods proposed

  • Artificially “big” circuits are generated from seed circuits

  • Benchmarks are functionally equivalent to the seed circuits

     the complexity upper bound is known

  • Tested on ABC and 2 commercial tools

    Unfortunate result – the bigger the circuit going to synthesis, the bigger the result

IWSBP 2010, Freiberg


ad