1 / 26

SEMI-SYNTHETIC CIRCUIT GENERATION FOR TESTING INCREMENTAL PLACE AND ROUTE TOOLS

SEMI-SYNTHETIC CIRCUIT GENERATION FOR TESTING INCREMENTAL PLACE AND ROUTE TOOLS David Grant Guy Lemieux University of British Columbia Vancouver, BC. Overview. Introduction Circuit Generation Method 1 (FPL) doesn’t work well

ciara
Télécharger la présentation

SEMI-SYNTHETIC CIRCUIT GENERATION FOR TESTING INCREMENTAL PLACE AND ROUTE TOOLS

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. SEMI-SYNTHETIC CIRCUIT GENERATION FOR TESTING INCREMENTAL PLACE AND ROUTE TOOLS David Grant Guy Lemieux University of British Columbia Vancouver, BC

  2. Overview • Introduction • Circuit Generation Method 1 (FPL) doesn’t work well • Circuit Generation Method 2 (FPT) simple, works very well • Circuit Scaling Extension • Conclusions 2

  3. Introduction • Problem • (Free) Large digital circuits are rare • FPGA CAD tools need large circuits • Solution • Generate random circuits • But is random realistic? • Goal • Generate realistic random circuits (synthetic) • Useful for testing place and route tools 3

  4. Introduction • Past approaches • Generate a complete synthetic circuit • Tools: ccirc+cgen, gnl • New problem • Real world development is iterative, incremental • FPGA tools commonly used in incremental mode • Need circuits with incremental changes 4

  5. Introduction • Our Approach • Start with a real circuit • Generate a small synthetic change • Result is a semi-synthetic circuit • Four steps to generate a semi-synthetic circuit • Identify • Remove • Generate • Stitch (difficult?) 5

  6. Introduction • Problem: Blindly stitching a circuit can create combinational loops • Cannot arbitrarily insert new latches to break loops 6

  7. Overview • Introduction • Circuit Generation Method 1 (FPL) • Circuit Generation Method 2 (FPT) • Circuit Scaling • Conclusions 7

  8. Method 1: Introduction • Four steps to generate a semi-synthetic circuit • Identify sub-circuit (T-VPack) • Remove sub-circuit • Generate clone (ccirc+gnl, ccirc+cgen) • Stitch • Steps 1, 2, 3 are easy… • Stitching is difficult !! 8

  9. Method 1: c) Monomorphism • Monomorphism is like Isomorphism • Except that number of edges need not be identical • Find 1:1 vertex mapping of D to P • D: forward combinational paths in synthetic clone • P: permissible forward combinational paths 1 1 (1,2) (2,1) (3,3) (4,4) (5,5) 4 4 2 2 5 5 3 3 Graph D Graph P Mapping 13

  10. Method 1: d) Stitch • Take the mapping solution and merge the clone into the hole left in the original circuit • Mapping: (2,1), (1,2), (3,3), (4,4), (5,5) 14

  11. Method 1: Discussion • Good results for small cutout regions • Unacceptably long run times for subcircuits > 50 I/Os • Monomorphism solver is non-deterministic • Preserved most key circuit characteristics • Logic depth increases by factor 2-3x • …because method is unconstrained ! • Conclusion • Stitching is not a trivial problem to solve (in a cycle-free way) 15

  12. Overview • Introduction • Circuit Generation Method 1 (FPL) • Circuit Generation Method 2 (FPT) • Circuit Scaling • Conclusions 16

  13. Method 2: Introduction • Four steps to generate a semi-synthetic circuit • Identify sub-circuit (T-VPack) • Remove sub-circuit • Generate clone (perturber) • Stitch • The perturber does not “profile and generate” • Instead, it “perturbs” the existing circuit • Stitching is trivialized using this method 17

  14. Method 2: Perturbing a Circuit • Perturber Algorithm • Levelize the complete circuit • Select a random edge in the sub-circuit (1 source and 1 sink) • Select a second edge in sub-circuit under certain constraints * • Swap the sinks • Repeat 18

  15. Method 2: Perturbing a Circuit • Perturber Algorithm (cont'd) * Constraints guiding second edge selection • Source and sink levels must match • Source node cannot be sub-circuit input 19

  16. Method 2: Advantages of Perturber Algorithm • Key circuit characteristics are exactlypreserved • Number of nodes and edges • Fanout distribution • Depth profile • Strengths • No combinational loops are created • Because the levelization is preserved • Very fast execution time • Very simple approach 20

  17. Method 2: Ancestor Control • Method to preserve locality • Add additional edge selection constraint • Source and sink levels must match • Source node may not be sub-circuit input • Both edges must share a common ancestor through combinational logic within a certain ancestor depth • Stop at sub-circuit inputs and flops 22

  18. Method 2: Testing • Know all the key circuit characteristics are preserved • Focus comparisons on post-routing results • Test 20 largest MCNC circuits • Metrics: channel width, delay, and wirelength • goodness of result == closeness to original MCNC result • Test 1: Sanity test, full-circuit compare w/ ccirc+cgen • Test 2: Incremental semi-synthetic circuits 23

  19. Method 2: Discussion • Sanity Check • Complete circuit result error < ccirc+cgen error(error reduced by ~1/3) • Incremental Circuits • Close to original (1%-6%) using 5%, 10% cutouts • More deviation (4%-9%) at 20% cutout 31

  20. Overview • Introduction • Circuit Generation Method 1 (FPL) • Circuit Generation Method 2 (FPT) • Circuit Scaling • Conclusions 32

  21. Circuit Scaling • Scaling • Reduce the size of the cutout region • so the tools have to fill in holes • Increase the size of the cutout region • so the tools have to make room for larger circuit • Approach • Scale a circuit (mutator), then perturb it 33

  22. Circuit Scaling • Reduction • Shotgun approach: delete nodes at random • Sometimes need to delete chains of logic • Enlargement • Duplicate circuit in parallel • Multiplex inputs and outputs with LUTs • Doubles (…, triples, etc) circuit • Enlargement+reduction to achieve arbitrary scaling 34

  23. Circuit Scaling: Results • Test 5%, 10%, 20% cutout • Scale cutout size to 50%, 75%, 200%, 400% original • No unexpected changes in post-routing characteristics from MCNC original • Some expected changes • Eg, wirelength increased as cutout size enlarged 35

  24. Conclusions • Have shown how to create a semi-synthetic circuit • Method 2 is a superior method over past approaches • Runtime, simplicity • Preservation of key circuit properties • Preserve them first, find ways to alter them later… • Quality of result • Scaling is able to change the circuit size without changing the post-routing characteristics in unexpected ways 36

  25. Future Work • Critical Path • Lengthen the critical path to force the tools to shuffle nodes along the critical path • Mutate other circuit properties? • Node depth profile • Fanout distribution • Fanin distribution • Wire lengths 37

  26. It's Over • Questions? • Comments? • Concerns? 38

More Related