Constructing Circuits Using Wired Descriptions Kasyab P. - - PowerPoint PPT Presentation

constructing circuits using wired descriptions
SMART_READER_LITE
LIVE PREVIEW

Constructing Circuits Using Wired Descriptions Kasyab P. - - PowerPoint PPT Presentation

Constructing Circuits Using Wired Descriptions Kasyab P. Subramaniyan Department of Computer Science and Engineering Chalmers University of Technology kasyab@chalmers.se Page 1 Outline Motivation and Background Wired Backend Flow


slide-1
SLIDE 1

Page 1

Constructing Circuits Using Wired Descriptions

Kasyab P. Subramaniyan Department of Computer Science and Engineering Chalmers University of Technology

kasyab@chalmers.se

slide-2
SLIDE 2

Page 2

Outline

  • Motivation and Background
  • Wired
  • Backend Flow
  • Case Studies
  • Future Work
slide-3
SLIDE 3

Page 3

Motivation

  • Transistor geometries growing smaller
  • density increasing  Moore’s Law
  • Designs becoming larger and more complex
  • Variability adversely affects circuits
  • affects yield
  • Methodologies to support design of large

designs

slide-4
SLIDE 4

Page 4

Motivation

  • Custom layout

– high NRE – requires special competence – fully utilizes performance of technology

A half adder layout using ST 90nm technology

slide-5
SLIDE 5

Page 5

Motivation

  • Automatic place & route

– low NRE – heuristics don’t guarantee efficient use of technology

A Fully placed & routed 32-bit HPM Mulitplier using ST 90-nm library cells

slide-6
SLIDE 6

Page 6

Background

  • Tegola Structure Optimizer:

http://www.tuscanyda.com

  • Intel Integrated Design & Verification (IDV):
  • C. Seger, “Integrating Design and Verification - from Simple

Idea to Practical System,” in Fourth ACM and IEEE Intl Conf.

  • n Formal Methods and Models for Co-Design

(MEMOCODE), 2006.

  • Work on data path circuits of fixed word length.
slide-7
SLIDE 7

Page 7

Wired

  • Developed by Emil Axelsson
  • More information :

http://www.cs.chalmers.se/~emax/wired/index.html

  • Implemented using Haskell
  • Applicable to layouts that exhibit regularity
slide-8
SLIDE 8

Page 8

Wired

myFunc (a,b,c) = do c’ <- ivsvtx2 c bc <- an2svtx2 (b,c’)

  • r2svtx2 (a,bc)

Description of (A + B.C’) in Wired

  • Covers three aspects of a circuit description - 1:

– Logic function as technology mapped netlist

slide-9
SLIDE 9

Page 9

Wired

bitMultPlaced (a,bs) = rightwards $ mapM bitMult1 bs where bitMult1 b = downwards $ (nd2svtx2 >=> ivsvtx2) (a,b)

Placement in Wired

  • Covers three aspects of a circuit description - 2:

– Cell placement

slide-10
SLIDE 10

Page 10

Wired

*Main> analyzeTiming (input >>= myFunc) Time 9.781e-11

Basic Wire Awareness in Wired

  • Covers three aspects of a circuit description - 3:

– Some aspects of the wiring (experimental)

slide-11
SLIDE 11

Page 11

Wired

*Main> simulate myFunc (0,1,1) *Main> simulate myFunc (0,1,0) 1 Logic Simulation in Wired

  • Logical simulation is also possible
  • Interactive development
  • As output, DEF files can be produced
slide-12
SLIDE 12

Page 12

Backend Flow

Wired SoC Encounter

DEF file Input netlist GDSII Foundry Libs

RTL Compiler

Black Box Information RTL Circuit Description

  • RTL Compiler :
  • Technology mapped to 90-nm GP-SVT ST Micro.
  • Parts integrated via Wired made black boxes.
  • Wired netlist integrated in SoC Encounter
  • Backend flow completed to produce GDS II
slide-13
SLIDE 13

Page 13

Backend Flow

Load Netlist Floorplan & Partitions Block Development Integration Place Route Verify GDSII

  • Import design with LEF files for the black boxes
  • Set up initial floorplan
  • Create physical hierarchies
  • Specify & commit the partition(s) (black boxes)
  • Run a (non-timing driven) placement
  • Save the partitions & unload design using `freeDesign`
slide-14
SLIDE 14

Page 14

Backend Flow

Load Netlist Floorplan & Partitions Block Development Integration Place Route Verify GDSII

  • Load technology libraries
  • Use `loadDefFile` to load the Wired netlist
  • Perform any additional placement tasks
  • Save (replace) the partition netlist
slide-15
SLIDE 15

Page 15

Load Netlist Floorplan & Partitions Block Development Integration Place Route Verify GDSII

Backend Flow

  • Run `updateBlock`
  • Adjust the floorplan
  • Run timing driven placement
  • Set up the clock tree and synthesize it
  • Run routing for the entire design
  • Ensure all DRC's are satisfied
  • Complete pre-Sign-Off checks
slide-16
SLIDE 16

Page 16

Case Studies

  • Previous work using only Wired descriptions.
  • Focused on purely combinational circuits
  • mainly prefix adders and multipliers
  • M. Sheeran, “Generating Fast Multipliers Using Clever Circuits,” in 5th Intl Conf. on Formal

Methods in Computer-Aided Design (FMCAD), ser. Lecture Notes in Computer Science, vol.

  • 3312. Springer, 2004, pp.6–20.
  • These case studies focus on implementations
  • Multipliers:
  • K. P. Subramaniyan, E. Axelsson, M. Sheeran, and P. Larsson-Edefors, “Layout Exploration
  • f Geometrically Accurate Arithmetic Circuits,” in IEEE International Conference on Electronics,

Circuits, and Systems, Dec. 2009.

  • Shifters:
  • A. Bardizbanyan, K. P. Subramaniyan and P. Larsson-Edefors,” Generation

and Exploration of Layouts for Area-Efficient Barrel Shifters”, IEEE Computer Society Annual Symposium on VLSI, Jul. 2010 (Accepted for publication).

slide-17
SLIDE 17

Page 17

Case Studies - Multipliers

  • Commonly used in circuits
  • Two types of Parallel Multipliers:

 Array Multipliers  Logarithmic Depth Multipliers

  • High Performance Multiplier (HPM):
  • Based on the log depth Dadda Multiplier
  • Exhibits regularity as well
  • Original layout triangular

 Transformation to rectangular layout

slide-18
SLIDE 18

Page 18

Case Studies - Multipliers

slide-19
SLIDE 19

Page 19

Case Studies - Multipliers

slide-20
SLIDE 20

Page 20

Case Studies - Multipliers

slide-21
SLIDE 21

Page 21

Case Studies - Multipliers

Triangular 32-Bit HPM Multiplier

slide-22
SLIDE 22

Page 22

Case Studies - Multipliers

Triangular 32-Bit HPM Multiplier with Routing Channels

slide-23
SLIDE 23

Page 23

Case Studies - Multipliers

Results :

  • Frequency for all designs limited to 250 MHz at 1.08V
  • Switching power determined by statistical switching of primary inputs
  • Tool built into Encounter used for power analysis.

PPRT Geometry Switching Power (mW) Slack (ns) HPM Triangular 1.65 0.543 HPM Triangular Channeled 1.42 0.320 Comparison/Control Cases Dadda 1.32 0.992 Wallace 1.43 0.614

slide-24
SLIDE 24

Page 24

Case Studies - Multipliers

20000 40000 60000 80000 100000 120000 140000 160000 180000 200000 RTL Flow Triangular Triangular 5ML Triangular RC

Total Wire Length RTL Flow Triangular Triangular 5ML Triangular RC

Congestion(1/2):

slide-25
SLIDE 25

Page 25

10000 20000 30000 40000 50000 60000 M1 M2 M3 M4 M5 M6 M7

RTL Flow Triangular Triangular 5ML Triangular RC

Congestion(2/2):

Case Studies - Multipliers

slide-26
SLIDE 26

Page 26

Case Studies - Shifters

  • Shifters are vital components of the processors.
  • Most known example:
  • shift right by n bits  divide by 2n
  • shift left by n bits  multiply by 2n
  • Occupy large area & dissipate a lot of power.
  • Regular architectures

 good candidates for the wired approach.

  • 8 bit, arithmetic and logic shift

log2(8) = 3 levels 8x3 = 24 (2-to-1) mux

slide-27
SLIDE 27

Page 27

Case Studies - Shifters

>renderWiredWithNets “circ” circ1

slide-28
SLIDE 28

Page 28

Case Studies - Shifters

slide-29
SLIDE 29

Page 29

Case Studies - Shifters

  • Fanout is the most important problem for these kind of shifters.
  • Every select line drives input-size-times multiplexers.
  • Standard Cells have max fanout and max cap limits.
  • Check the correctness of the design in Soc Encounter:

‘reportfanoutviolation’, ‘reportcapviolation’

  • CORE90GPSVT_1.20V library is used for the evaluation and the

comparison with the CAD tool.

slide-30
SLIDE 30

Page 30

Case Studies - Shifters

slide-31
SLIDE 31

Page 31

Case Studies - Shifters

slide-32
SLIDE 32

Page 32

Case Studies - Shifters

SoC

Dimensions (um) Area(um2) Slack time (ps) Power (mW) 80.5 * 35.28 2827.16 FAIL FAIL 90 * 39 3510 43 5.588 85 * 43.12 3665,2 12 5.47 87*43.12 3751.44 54 5.587 90*43.12 3880,8 50 5.734 90*43.12 3880,8 52 5.545

Wired

Dimensions (um) Area(um2) Slack time (ps) Power (mW) 80.5 * 35.28 2827.16 28 4.08 82.7 * 35.28 2917,6 34 4.098 87.5 * 35.28 3087 36 4.47 92.3 * 35.28 3256,34 44 4.793 92.3 * 43.12 3256,34 46 4.769 101.4 * 35.28 3577,39 52 4.94 96.92 * 35.28 3419,33 54 4.876

slide-33
SLIDE 33

Page 33

Future Work

  • Dense regular layouts lead to routing congestion
  • Routing channels added to layouts of regular circuits

mitigates this somewhat.

  • What else can be done?
  • Custom characterized cells

“Impact of Standard Cell Pin Placement on Routing Regularity of HPM Architectures”, Affaq Qamar, Kasyab P. Subramaniyan, and Per Larsson- Edefors, Swedish System on Chip Conference, May 2010.

slide-34
SLIDE 34

Page 34

Future Work

A CO CI B Z A CO CI B Z B Z CI A CO B Z CI A CO A CO CI B Z A CO CI B Z B Z CI A CO B Z CI A CO

slide-35
SLIDE 35

Page 35

Future Work

HA

A B CO S

HA

CO S A B

HA

A B CO S

HA

A B CO S

FA

CO Z

A B

FA

A B

CO Z

CI CI

FA

A B

CO Z

FA

A B

CO Z

CI CI

slide-36
SLIDE 36

Page 36

Future Work

slide-37
SLIDE 37

Page 37

Future Work

slide-38
SLIDE 38

Page 38

Future Work

slide-39
SLIDE 39

Page 39

Future Work

slide-40
SLIDE 40

Page 40

Future Work

Slack (ns) Total wire length (µm)

  • Avg. wire

length (µm)

  • No. of

Vias Flipped

0.185 208,938 52.0 24,352

Normal

0.259 230,058 57.3 39,784

  • ST. Lib.

0.804 165,783 41.3 41,110

NOTE: HA from custom library occupies the same area as the FA from ST library…

slide-41
SLIDE 41

Page 41

Future Work

  • Routing length decreases significantly
  • Number of Vias also decreases
  • Combine these observations to assess variability
  • Can this assessment be built into Wired?
slide-42
SLIDE 42

Page 42

Questions?