08.03.2015 Views

Challenges of physical verification on heterogeneous platform

Challenges of physical verification on heterogeneous platform

Challenges of physical verification on heterogeneous platform

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

I N V E N T I V E<br />

<str<strong>on</strong>g>Challenges</str<strong>on</strong>g> <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>physical</str<strong>on</strong>g> <str<strong>on</strong>g>verificati<strong>on</strong></str<strong>on</strong>g><br />

<strong>on</strong> <strong>heterogeneous</strong> <strong>platform</strong><br />

Alexey Kalinov<br />

Cadence Design Systems,<br />

Moscow, Russia<br />

akalinov@cadence.com


C<strong>on</strong>tent<br />

• Cadence<br />

• Physical <str<strong>on</strong>g>verificati<strong>on</strong></str<strong>on</strong>g><br />

• Parallel implementati<strong>on</strong> challenges<br />

• Possible benefits <str<strong>on</strong>g>of</str<strong>on</strong>g> <strong>heterogeneous</strong> <strong>platform</strong>


Cadence<br />

Designing and manufacturing <str<strong>on</strong>g>of</str<strong>on</strong>g> modern semic<strong>on</strong>ductor devices<br />

would not be possible without electr<strong>on</strong>ic design automati<strong>on</strong> (EDA).<br />

Cadence Design Systems is the world’s leading EDA company.<br />

Cadence provide s<str<strong>on</strong>g>of</str<strong>on</strong>g>tware, hardware and service for all tasks<br />

necessary for design and manufacturing.<br />

Moscow site is specialized in Physical Verificati<strong>on</strong> and Parasitic<br />

Extracti<strong>on</strong>. About third <str<strong>on</strong>g>of</str<strong>on</strong>g> R&D have PhD or higher level.


Physical <str<strong>on</strong>g>verificati<strong>on</strong></str<strong>on</strong>g><br />

The integrated circuit layout is the representati<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g> an integrated<br />

circuit in terms <str<strong>on</strong>g>of</str<strong>on</strong>g> planar geometric shapes which corresp<strong>on</strong>d to the<br />

patterns <str<strong>on</strong>g>of</str<strong>on</strong>g> metal, oxide, or semic<strong>on</strong>ductor layers that make up the<br />

comp<strong>on</strong>ents <str<strong>on</strong>g>of</str<strong>on</strong>g> the integrated circuit.<br />

Physical Verificati<strong>on</strong> is a process whereby an integrated circuit<br />

layout is checked via Electr<strong>on</strong>ic Design Automati<strong>on</strong> s<str<strong>on</strong>g>of</str<strong>on</strong>g>tware tools to<br />

see if it meets certain criteria.<br />

Very computati<strong>on</strong>aly intensive process.


Layout example (p-channel transistor)<br />

poly<br />

metal<br />

c<strong>on</strong>tact<br />

oxide


Physical <str<strong>on</strong>g>verificati<strong>on</strong></str<strong>on</strong>g> steps (DRC - Design Rule Check)<br />

Design Rule Check determines<br />

whether a particular chip layout<br />

satisfies a series <str<strong>on</strong>g>of</str<strong>on</strong>g> recommended<br />

parameters called Design Rules.<br />

They are specific to a particular<br />

semic<strong>on</strong>ductor manufacturing<br />

process.<br />

A design rule set specifies certain<br />

geometric and c<strong>on</strong>nectivity<br />

restricti<strong>on</strong>s to ensure sufficient<br />

margins to account for variability in<br />

semic<strong>on</strong>ductor manufacturing<br />

processes, so as to ensure that<br />

most <str<strong>on</strong>g>of</str<strong>on</strong>g> the parts work correctly.


Physical <str<strong>on</strong>g>verificati<strong>on</strong></str<strong>on</strong>g> steps (LVS – Layout Versus Schematic)<br />

A successful DRC ensures that the layout c<strong>on</strong>forms to the rules<br />

designed/required for faultless fabricati<strong>on</strong>. However, it does not<br />

guarantee if it really represents the circuit you desire to fabricate. This<br />

is where an LVS check is used.<br />

The Layout Versus Schematic determines whether a particular<br />

integrated circuit layout corresp<strong>on</strong>ds to the original schematic or<br />

circuit diagram <str<strong>on</strong>g>of</str<strong>on</strong>g> the design.<br />

LVS steps:<br />

• devices and c<strong>on</strong>nectivity extracti<strong>on</strong>;<br />

• devices parameters extracti<strong>on</strong>;<br />

• creati<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g> layout diagram (netlist);<br />

• schematic and layout diagram comparis<strong>on</strong>


Designer fab<br />

Fab (semic<strong>on</strong>ductor manufacturer) – formulate DRC and LVS rules<br />

according to its manufacturing process.<br />

Layout designer check his/her design according to the rules.<br />

Fab examine input layout for rules compliance.


Layout representati<strong>on</strong><br />

Hierarchical structure<br />

Building blocks – cells c<strong>on</strong>tains shapes and instances <str<strong>on</strong>g>of</str<strong>on</strong>g> other cells.<br />

A shape bel<strong>on</strong>gs to a layer( oxide, poly, c<strong>on</strong>tact).<br />

Shape/intances introduce data parallelism.<br />

Highly iregular structure <str<strong>on</strong>g>of</str<strong>on</strong>g> the data.


Rule representati<strong>on</strong><br />

DRC and LVS rules are like<br />

gate = and( oxide poly )<br />

Rule corresp<strong>on</strong>ds to a set <str<strong>on</strong>g>of</str<strong>on</strong>g> tasks. Input/output <str<strong>on</strong>g>of</str<strong>on</strong>g> the task is set <str<strong>on</strong>g>of</str<strong>on</strong>g><br />

layers. Rules introduce a task parllelism.<br />

It is very hard to predict time <str<strong>on</strong>g>of</str<strong>on</strong>g> the tasks executi<strong>on</strong>.<br />

Layers introduce additi<strong>on</strong>al irregularity <str<strong>on</strong>g>of</str<strong>on</strong>g> computai<strong>on</strong>s.


Parallel implementati<strong>on</strong> challenges<br />

Huge potential for data parallelism – modern designs are about tens<br />

gigabites. Irregular structure <str<strong>on</strong>g>of</str<strong>on</strong>g> data is the main obstacle in use <str<strong>on</strong>g>of</str<strong>on</strong>g><br />

distributed data parallelism.<br />

Computati<strong>on</strong>s can be represented with Directed Acyclic Graph.<br />

Tasks communicate with huge amount <str<strong>on</strong>g>of</str<strong>on</strong>g> data.


Current parallel implementati<strong>on</strong>s<br />

The main <strong>platform</strong> – systems in the box.<br />

Use combinati<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g> task parallelism and data (multithreading)<br />

parallelism.<br />

A few attempts to use clusters, NOW or grid.


Heterogeneous <strong>platform</strong> challenges and promises<br />

Traditi<strong>on</strong>al <strong>heterogeneous</strong> <strong>platform</strong>s bring additi<strong>on</strong>al problems in<br />

data and computati<strong>on</strong>s distributi<strong>on</strong> because it adds additi<strong>on</strong>al<br />

irregularity. But those problems are not principal because in any<br />

case self adaptable algorithms are used.<br />

Modern heteroigeneous <strong>platform</strong>s promise new ideas.


Possible <strong>heterogeneous</strong> <strong>platform</strong> benefits<br />

GPGPU<br />

Majority <str<strong>on</strong>g>of</str<strong>on</strong>g> compuitai<strong>on</strong>s use integer arithmetic. Computati<strong>on</strong>s are<br />

very similar to that GPU are originaly intended.<br />

Multicore systems<br />

Modern systems in box are NUMA systems. It is very interesting to<br />

understand how to exploit full benefits <str<strong>on</strong>g>of</str<strong>on</strong>g> the architecture.


Thank you for attenti<strong>on</strong>

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!