07.01.2013 Views

System-on-Chip Design Flow

System-on-Chip Design Flow

System-on-Chip Design Flow

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

26.03.2003<br />

<str<strong>on</strong>g>System</str<strong>on</strong>g>-<strong>on</strong> <str<strong>on</strong>g>System</str<strong>on</strong>g> <strong>on</strong>-<strong>Chip</strong> <strong>Chip</strong> <strong>Design</strong> <strong>Flow</strong><br />

Prof. Jouni Tomberg<br />

Tampere University of Technology<br />

Institute of Digital and Computer <str<strong>on</strong>g>System</str<strong>on</strong>g>s<br />

jouni.tomberg@tut.fi<br />

Jouni Tomberg / TUT 1


SoC - How and with whom?<br />

• SoC Players<br />

• Markets<br />

• <strong>Flow</strong>s<br />

• Bottlenecks<br />

• IP and platform metrics<br />

26.03.2003 Jouni Tomberg / TUT 2


Definiti<strong>on</strong>s<br />

• Fr<strong>on</strong>tend design<br />

– <strong>Design</strong> from system level to cell library level netlist<br />

• Backend design<br />

– <strong>Design</strong> from netlist level to Placed & Routed producti<strong>on</strong><br />

ready database<br />

• ASIC flow<br />

– Netlist handoff to ASIC vendor (takes care of the backend)<br />

• COT (Customer Owned Tooling) flow<br />

– P&R database handoff to foundry (takes care of the<br />

producti<strong>on</strong>)<br />

26.03.2003 Jouni Tomberg / TUT 3


SoC Players<br />

Customer<br />

(end user)<br />

IC's<br />

IP provider<br />

Requirement specificati<strong>on</strong><br />

Producti<strong>on</strong><br />

requirements<br />

ASIC vendor<br />

or<br />

Foundry<br />

Standard<br />

functi<strong>on</strong><br />

blocks<br />

Netlist or<br />

P&R<br />

database<br />

<strong>Design</strong><br />

Service<br />

provider<br />

Physical<br />

backannotati<strong>on</strong><br />

26.03.2003 Jouni Tomberg / TUT 4


Need for <str<strong>on</strong>g>System</str<strong>on</strong>g> Level <strong>Design</strong><br />

26.03.2003 Jouni Tomberg / TUT 5


Market Segments<br />

26.03.2003 Jouni Tomberg / TUT 6


<strong>Design</strong> Productivity Gap<br />

26.03.2003 Jouni Tomberg / TUT 7


Typical <strong>Design</strong> <strong>Flow</strong> Tasks<br />

Implement<br />

Verify<br />

Models/IP<br />

<str<strong>on</strong>g>System</str<strong>on</strong>g>/<br />

Algorithm<br />

Define <str<strong>on</strong>g>System</str<strong>on</strong>g><br />

Create/select<br />

Algorithms<br />

Filter design<br />

Protocol<br />

Development<br />

Verify system<br />

functi<strong>on</strong><br />

Verify Algorithm<br />

performance<br />

<str<strong>on</strong>g>System</str<strong>on</strong>g> Simulati<strong>on</strong><br />

HW/SW Coverificati<strong>on</strong><br />

<str<strong>on</strong>g>System</str<strong>on</strong>g> model<br />

comp<strong>on</strong>ents<br />

<str<strong>on</strong>g>System</str<strong>on</strong>g> envir<strong>on</strong>ments<br />

Reference Kits<br />

Behavioral<br />

Create behavioral<br />

descripti<strong>on</strong><br />

Code generati<strong>on</strong><br />

Wordlength optimizatiu<strong>on</strong><br />

Architectural Tradeoffs<br />

Partiti<strong>on</strong>ing<br />

Verify behavioral<br />

descripti<strong>on</strong> (functi<strong>on</strong><br />

and performance)<br />

Simulati<strong>on</strong><br />

Testbench Generati<strong>on</strong><br />

HW/SW Coverifiicati<strong>on</strong><br />

Behavioral models<br />

RAM Models<br />

Part models<br />

Bus Models<br />

Cores<br />

26.03.2003 Jouni Tomberg / TUT 8<br />

RTL<br />

Create RTL<br />

descripti<strong>on</strong><br />

Behavioral Synthesis<br />

Code generati<strong>on</strong><br />

<strong>Design</strong> Planning<br />

Verify RTL<br />

descripti<strong>on</strong><br />

(functi<strong>on</strong> and<br />

performance)<br />

Simulati<strong>on</strong><br />

Power Analysis<br />

RTL quality analysis<br />

Emulati<strong>on</strong><br />

RTL models<br />

RAM models<br />

Part models<br />

Bus Models<br />

Cores (functi<strong>on</strong>al &<br />

timing Models)<br />

Gate-level<br />

Create Netlist<br />

Optimize Netlist<br />

Logic Synthesis<br />

Datapath Synthesis<br />

Test Synthesis<br />

Power Optimizati<strong>on</strong><br />

Retiming<br />

Verify Netlist<br />

(functi<strong>on</strong> and<br />

performance)<br />

Simulati<strong>on</strong><br />

Equivalence Checking<br />

Static Timing Analysis<br />

Power Analysis<br />

Test Analysis/ATPG<br />

Gate models<br />

Bus Models<br />

Synthesis/simulati<strong>on</strong><br />

libraries<br />

Transistor/<br />

Physical<br />

Create physical<br />

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

Place & Route<br />

Clock-tree synthesis<br />

Power Routing<br />

Transistor Optimizati<strong>on</strong><br />

Verify physical<br />

design<br />

DRC, LVS<br />

Power analysis<br />

Rail analysis<br />

Static Timing analysis<br />

Parasitic Extracti<strong>on</strong><br />

Physical/transistor<br />

models<br />

Std Cell libraries<br />

Gate Array libraries


<strong>Design</strong> <strong>Flow</strong>s<br />

<strong>Design</strong> <strong>Flow</strong>s<br />

Source: T. Mox<strong>on</strong> / EE<strong>Design</strong>, 2.1.2002<br />

26.03.2003 Jouni Tomberg / TUT 9


ASIC design flow interfaces<br />

DESIGN TEAM CUSTOMER ASIC VENDOR<br />

Requirement spec<br />

Data sheet for acceptance<br />

Verificati<strong>on</strong> for acceptance<br />

(modeler/testbench/simul.results)<br />

Technical info for quotati<strong>on</strong><br />

Library & tools<br />

Netlist, test vectors, arch.plan<br />

Backannotati<strong>on</strong> from P&R<br />

Acceptance for prototype producti<strong>on</strong> (sign off)<br />

ASIC quotati<strong>on</strong><br />

Prototype ASICs (/risk producti<strong>on</strong>)<br />

Prototype acceptance<br />

Mass producti<strong>on</strong> ASICs<br />

26.03.2003 Jouni Tomberg / TUT 10


Importance of Specificati<strong>on</strong><br />

26.03.2003 Jouni Tomberg / TUT 11


<strong>Design</strong> Bottlenecks * Source EETIMES EDA 2000 Survey<br />

Simulati<strong>on</strong>/<strong>Design</strong> Verificati<strong>on</strong> 51%<br />

<strong>Design</strong> Creati<strong>on</strong><br />

Place & Route<br />

Post Layout Optimizati<strong>on</strong><br />

Parasitic Extracti<strong>on</strong><br />

<str<strong>on</strong>g>System</str<strong>on</strong>g> or <str<strong>on</strong>g>System</str<strong>on</strong>g>-<strong>on</strong>-<strong>Chip</strong><br />

Layout Versus Schematic(LVS)<br />

<strong>Design</strong> Rule Check (DRC)<br />

Static Timing Analysis<br />

Synthesis<br />

Delay Calculati<strong>on</strong><br />

26.03.2003 Jouni Tomberg / TUT 12<br />

17%<br />

17%<br />

17%<br />

16%<br />

15%<br />

13%<br />

26%<br />

32%<br />

32%<br />

Base = 545<br />

0% 10% 20% 30% 40% 50% 60%<br />

50 -70 % of project effort devoted to design verificati<strong>on</strong>!


Verificati<strong>on</strong> Importance<br />

26.03.2003 Jouni Tomberg / TUT 13


Project Scheduling<br />

• External c<strong>on</strong>straints<br />

– Targeted market entry<br />

– ASIC vendor<br />

• Layout generati<strong>on</strong> (P&R)<br />

• Mask producing<br />

• Prototype processing<br />

• Prototype acceptance<br />

• Volume producti<strong>on</strong> starting delay<br />

• <strong>Design</strong> c<strong>on</strong>straints<br />

– <strong>Design</strong> team experience<br />

– <strong>Design</strong> tools / flows, vendor libraries, IP provider quality<br />

– <str<strong>on</strong>g>System</str<strong>on</strong>g> specificati<strong>on</strong> iterati<strong>on</strong>s<br />

– <strong>Design</strong> complexity<br />

– Verificati<strong>on</strong> complexity<br />

– Producti<strong>on</strong> test complexity<br />

26.03.2003 Jouni Tomberg / TUT 14


Differencies between SoC and SoPC<br />

design flows<br />

• SoPC is a FPGA technology based user programmable<br />

soluti<strong>on</strong><br />

– P&R and programming d<strong>on</strong>e by the user (vs. backend flow in<br />

SoC)<br />

• No delay <strong>on</strong> prototype producti<strong>on</strong><br />

• No delay <strong>on</strong> mass producti<strong>on</strong> start<br />

• No NRE (producti<strong>on</strong> start) costs<br />

– Producti<strong>on</strong> tests d<strong>on</strong>e by the IC vendor<br />

• <strong>Design</strong> resource and time savings in the design flow<br />

– Quick and cheap modificati<strong>on</strong>s<br />

• On the other hand certain limitati<strong>on</strong>s <strong>on</strong> performance,<br />

integrati<strong>on</strong> capacity and mass producti<strong>on</strong> costs exists<br />

compared to SoC<br />

26.03.2003 Jouni Tomberg / TUT 15


Platform Based <strong>Design</strong><br />

• A platform should c<strong>on</strong>sist of a basic set of<br />

integrated technologies that defines how the<br />

system should functi<strong>on</strong>.<br />

• <strong>Design</strong> platform / Verificati<strong>on</strong> platform<br />

• Generic platform<br />

– CPU, memory and standard peripheral fucnti<strong>on</strong>s<br />

• Applicati<strong>on</strong> specific platform<br />

– Generic platform plus pre-integrated pre integrated IP blocks for<br />

the given applicati<strong>on</strong><br />

26.03.2003 Jouni Tomberg / TUT 16


Platform drivers<br />

Source: B. Altizer, L. Cooke, and G. Martin / EE<strong>Design</strong> 7.11.2002<br />

26.03.2003 Jouni Tomberg / TUT 17


Platform Advantages<br />

• Reduce integrati<strong>on</strong> risk by insuring that all IP works<br />

together<br />

• Reduce licensing and c<strong>on</strong>tractual negotiati<strong>on</strong> time<br />

per project<br />

• Reduce cost by allowing efficient reuse in multiple<br />

designs<br />

• It is estimated that in the near future each SoC<br />

design will c<strong>on</strong>sist of 10 to 15 different IP blocks<br />

from 6 to 8 IP vendors<br />

– Suppose 6 to 8 weeks per IP vendor for evaluati<strong>on</strong>,<br />

negotiati<strong>on</strong> and integrati<strong>on</strong> of IP into the system<br />

=> with 8 different IP vendors this means 64 weeks of<br />

”hidden” cost<br />

26.03.2003 Jouni Tomberg / TUT 18


IP Market Dynamics<br />

• <strong>Design</strong> dynamics (Dataquest 2002)<br />

– 30% of a designs are composed of reused circuitry<br />

– 12% of reused circuit is from outside sources<br />

=> 3.6% of circuitry is from third parties<br />

• C<strong>on</strong>tractual and legal issues<br />

– Legal issues remain a huge bottleneck in the IP purchase process<br />

• rights, resp<strong>on</strong>sibility, guarantee, business model<br />

– VCX trying to address this bottleneck (with standard Ts &Cs)<br />

• Evaluati<strong>on</strong> of IP<br />

– Deciding if a core is viable is biggest technical challenge in IP IP<br />

acquisiti<strong>on</strong><br />

process.<br />

– Opportunities in IP evaluati<strong>on</strong> services<br />

• Perceived instability of vendors..<br />

– Most IP vendors are small and vulnerable<br />

– Partnerships and alliance can help to resolve perceived volatility volatility<br />

• Software replacing hardware<br />

– Proliferati<strong>on</strong> of processors in ICs<br />

– Resulting in more functi<strong>on</strong>s being implemented in software<br />

– SW/HW co-design! co design!<br />

26.03.2003 Jouni Tomberg / TUT 19


IP Market Metrics<br />

46%CAGR<br />

75% License Revenue 25% Royalty Revenue<br />

26.03.2003 Jouni Tomberg / TUT 20


C<strong>on</strong>clusi<strong>on</strong>s<br />

• The main players in the SoC design flow are <strong>Design</strong><br />

team, IP provider, IC vendor (or Backend team +<br />

Foundry)<br />

• Efficient SoC design flow is based <strong>on</strong> IP reuse and<br />

platform based design<br />

• The major bottlenecks are in the test and verificati<strong>on</strong><br />

area<br />

• The system level (specificati<strong>on</strong>, HW/SW co-design) co design)<br />

and layout level links to RTL design play also an<br />

important role in a fluent design flow<br />

26.03.2003 Jouni Tomberg / TUT 21

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

Saved successfully!

Ooh no, something went wrong!