System-on-Chip Design Flow
System-on-Chip Design Flow
System-on-Chip Design Flow
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