Kenneth R. Laker, University of Pennsylvania, updated 04Apr12 1
Kenneth R. Laker, University of Pennsylvania, updated 04Apr12 1 Kenneth R. Laker, University of Pennsylvania, updated 04Apr12 1
Kenneth R. Laker, University of Pennsylvania, updated 04Apr12 1
- Page 2 and 3: Three Domain View of VLSI Design Fl
- Page 4 and 5: Metrics By Which Design Success is
- Page 6 and 7: carry carry carry carry Hierarchica
- Page 8 and 9: 8 Unused die area -> inefficient la
- Page 10 and 11: LOCALITY (PHYSICAL) TIME LOCALITY:
- Page 12 and 13: are Kenneth R. Laker, University of
- Page 14 and 15: Kenneth R. Laker, University of Pen
- Page 16 and 17: State-of-the-Art FPGA Architecture
- Page 18 and 19: Kenneth R. Laker, University of Pen
- Page 20 and 21: Package Bonding Techniques Kenneth
- Page 22: A System-In-Package Solution High d
<strong>Kenneth</strong> R. <strong>Laker</strong>, <strong>University</strong> <strong>of</strong> <strong>Pennsylvania</strong>, <strong>updated</strong> <strong>04Apr12</strong> 1
Three Domain View <strong>of</strong> VLSI Design Flow at One Level<br />
FUNCTIONAL DESIGN<br />
Verilog<br />
Verilog/Spectre<br />
Verilog/Cadence<br />
Extract Parasitic Elements<br />
Spectre SPICE<br />
(Spectre)<br />
1. Design Rule Check (DRC)<br />
2. Layout Versus Schematic<br />
(LVS) Check<br />
3. Post layout simulation (PLS)<br />
Cadence<br />
(Virtuoso)<br />
PLS<br />
<strong>Kenneth</strong> R. <strong>Laker</strong>, <strong>University</strong> <strong>of</strong> <strong>Pennsylvania</strong>, <strong>updated</strong> <strong>04Apr12</strong> 2
<strong>Kenneth</strong> R. <strong>Laker</strong>, <strong>University</strong> <strong>of</strong> <strong>Pennsylvania</strong>, <strong>updated</strong> <strong>04Apr12</strong> 3
Metrics By Which Design Success is Measured:<br />
metrics.<br />
(and near neighbor boundaries)<br />
<strong>Kenneth</strong> R. <strong>Laker</strong>, <strong>University</strong> <strong>of</strong> <strong>Pennsylvania</strong>, <strong>updated</strong> <strong>04Apr12</strong> 4
<strong>Kenneth</strong> R. <strong>Laker</strong>, <strong>University</strong> <strong>of</strong> <strong>Pennsylvania</strong>, <strong>updated</strong> <strong>04Apr12</strong> 5
carry<br />
carry<br />
carry<br />
carry<br />
Hierarchical & Modular 4-bit Adder<br />
add<br />
add4<br />
add add add<br />
b[3:0]<br />
a[3:0]<br />
b<br />
a<br />
+<br />
+<br />
+<br />
+<br />
c0<br />
co3<br />
c<br />
+<br />
s[3:0]<br />
s<br />
co<br />
sum<br />
sum<br />
sum<br />
sum<br />
c<br />
b<br />
a<br />
c<br />
sum s<br />
a b carry<br />
co<br />
nand<br />
nor<br />
nand<br />
nor<br />
nand<br />
nor<br />
nand<br />
inv inv inv inv<br />
nor<br />
<strong>Kenneth</strong> R. <strong>Laker</strong>, <strong>University</strong> <strong>of</strong> <strong>Pennsylvania</strong>, <strong>updated</strong> <strong>04Apr12</strong> 6
[3:0]<br />
a[3:0]<br />
c0<br />
+<br />
add4 +<br />
+<br />
+<br />
co3<br />
Hierarchical & Modular Layout<br />
s[3:0]<br />
b[3]<br />
a[3]<br />
b[2]<br />
a[2]<br />
b[1]<br />
a[1]<br />
b[0]<br />
a[0]<br />
(0,0)<br />
add4 Layout<br />
c0<br />
add[3]<br />
add[2]<br />
add[1]<br />
add[0]<br />
co3<br />
(100,400)<br />
s[3]<br />
(100,300)<br />
s[2]<br />
(100,200)<br />
s[1]<br />
(100,100)<br />
s[1]<br />
(0,100)<br />
(0,75)<br />
(0,25)<br />
(0,0)<br />
add Cell<br />
b[i]<br />
(50,100)<br />
c[i]<br />
add[i]<br />
a[i]<br />
co[i]<br />
(50,0)<br />
s[i]<br />
7<br />
(100,100)<br />
(100,50)<br />
(100,0)<br />
<strong>Kenneth</strong> R. <strong>Laker</strong>, <strong>University</strong> <strong>of</strong> <strong>Pennsylvania</strong>, <strong>updated</strong> 12Apr11<br />
<strong>Kenneth</strong> R. <strong>Laker</strong>, <strong>University</strong> <strong>of</strong> <strong>Pennsylvania</strong>, <strong>updated</strong> <strong>04Apr12</strong> 7
8<br />
Unused die area -><br />
inefficient layout<br />
Structural Hierarchy<br />
1 mapped poorly into<br />
Physical Hierarchy.<br />
Better<br />
mapping!<br />
Miss-mappings between Structural and Physical Hierarchies usually avoided by using<br />
automatic layout system.<br />
<strong>Kenneth</strong> R. <strong>Laker</strong>, <strong>University</strong> <strong>of</strong> <strong>Pennsylvania</strong>, <strong>updated</strong> 12Apr11<br />
<strong>Kenneth</strong> R. <strong>Laker</strong>, <strong>University</strong> <strong>of</strong> <strong>Pennsylvania</strong>, <strong>updated</strong> <strong>04Apr12</strong> 8
REGULARITY<br />
DESIGN THE CHIP REUSING AS MANY IDENTICAL MODULES,<br />
CIRCUITS, DEVICES AS POSSIBLE. REGULARITY CAN EXIST<br />
AT ALL LEVELS OF THE DESIGN HIERARCHY.<br />
<strong>Kenneth</strong> R. <strong>Laker</strong>, <strong>University</strong> <strong>of</strong> <strong>Pennsylvania</strong>, <strong>updated</strong> <strong>04Apr12</strong> 9
LOCALITY (PHYSICAL)<br />
TIME LOCALITY: modules are synchronized by common clock.<br />
-> Critical timing paths are kept within module boundaries or within near neighbor<br />
Boundaries.<br />
-> Place modules to minimize large or “global” inter-module signal routes.<br />
-> Care take to realize robust clock generation and distribution.<br />
-> Signal routes between modules with large physical separation need sufficient<br />
time to traverse route.<br />
-> Replicate modules, if necessary, to alleviate delay issues caused by long intermodule<br />
signal routes.<br />
<strong>Kenneth</strong> R. <strong>Laker</strong>, <strong>University</strong> <strong>of</strong> <strong>Pennsylvania</strong>, <strong>updated</strong> <strong>04Apr12</strong> 10
Time-to-Market and<br />
Design Investment<br />
Increasing (for a given<br />
application)<br />
Performance Increasing,<br />
Die Are Decreasing,<br />
Power Dissipation<br />
Decreasing (for a given<br />
application)<br />
<strong>Kenneth</strong> R. <strong>Laker</strong>, <strong>University</strong> <strong>of</strong> <strong>Pennsylvania</strong>, <strong>updated</strong> <strong>04Apr12</strong> 11
are<br />
<strong>Kenneth</strong> R. <strong>Laker</strong>, <strong>University</strong> <strong>of</strong> <strong>Pennsylvania</strong>, <strong>updated</strong> <strong>04Apr12</strong> 12
<strong>Kenneth</strong> R. <strong>Laker</strong>, <strong>University</strong> <strong>of</strong> <strong>Pennsylvania</strong>, <strong>updated</strong> <strong>04Apr12</strong> 13
<strong>Kenneth</strong> R. <strong>Laker</strong>, <strong>University</strong> <strong>of</strong> <strong>Pennsylvania</strong>, <strong>updated</strong> <strong>04Apr12</strong> 14
Basic FPGA Architecture<br />
I/O Modules Clock Buffer<br />
(Configurable Logic Blocks - CLBs)<br />
Logic Modules<br />
Segmented Routing Tracks<br />
<strong>Kenneth</strong> R. <strong>Laker</strong>, <strong>University</strong> <strong>of</strong> <strong>Pennsylvania</strong>, <strong>updated</strong> <strong>04Apr12</strong> 15
State-<strong>of</strong>-the-Art FPGA Architecture<br />
Programmable<br />
Function Unit<br />
(PFU) – perform<br />
logic, arithmetic,<br />
Distributed RAM<br />
& ROM functions.<br />
Flexible Sys I/O<br />
Buffers – support<br />
LVCMOS, LVDS,<br />
etc.<br />
Sys Clock – PLLs<br />
& DLLs for clock<br />
management.<br />
Embedded 3.125 Gbps<br />
SERDES – support PCI<br />
express, Ethernet.<br />
Sys DSP Blocks –<br />
implement<br />
multipliers,<br />
adders,<br />
subtractors,<br />
accumulators.<br />
Configuration Port<br />
– supports SPI,<br />
serial and parallel<br />
configuration.<br />
http://www.latticesemi.com/products/fpga/ecp2/optimizedfpgaarchitecture.cfm<br />
<strong>Kenneth</strong> R. <strong>Laker</strong>, <strong>University</strong> <strong>of</strong> <strong>Pennsylvania</strong>, <strong>updated</strong> <strong>04Apr12</strong> 16
<strong>Kenneth</strong> R. <strong>Laker</strong>, <strong>University</strong> <strong>of</strong> <strong>Pennsylvania</strong>, <strong>updated</strong> <strong>04Apr12</strong> 17
<strong>Kenneth</strong> R. <strong>Laker</strong>, <strong>University</strong> <strong>of</strong> <strong>Pennsylvania</strong>, <strong>updated</strong> <strong>04Apr12</strong> 18
IMPORTANT PACKAGE DESIGN CONCERNS:<br />
<strong>Kenneth</strong> R. <strong>Laker</strong>, <strong>University</strong> <strong>of</strong> <strong>Pennsylvania</strong>, <strong>updated</strong> <strong>04Apr12</strong> 19
Package Bonding Techniques<br />
<strong>Kenneth</strong> R. <strong>Laker</strong>, <strong>University</strong> <strong>of</strong> <strong>Pennsylvania</strong>, <strong>updated</strong> <strong>04Apr12</strong> 20
Summary <strong>of</strong> Package Types<br />
<strong>Kenneth</strong> R. <strong>Laker</strong>, <strong>University</strong> <strong>of</strong> <strong>Pennsylvania</strong>, <strong>updated</strong> <strong>04Apr12</strong> 21
A System-In-Package Solution<br />
High density memory chip<br />
chip<br />
http://www.ans<strong>of</strong>t.com/leadinginsight/pdf/System%20in%20Package.pdf, slide 15<br />
<strong>Kenneth</strong> R. <strong>Laker</strong>, <strong>University</strong> <strong>of</strong> <strong>Pennsylvania</strong>, <strong>updated</strong> <strong>04Apr12</strong> 22