07.01.2013 Views

System-on-Chip Design Flow

System-on-Chip Design Flow

System-on-Chip Design Flow

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.

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!