ece 551 system on chip...
TRANSCRIPT
![Page 1: ECE 551 System on Chip Designweb.eecs.utk.edu/courses/fall2018/ece551/lectures/Lecture00.pdfTypically, an application specific integrated circuit (ASIC) is designed using commercial](https://reader034.vdocuments.net/reader034/viewer/2022042020/5e773074b610bc247859a9d8/html5/thumbnails/1.jpg)
ECE 551System on Chip Design
Introduction
Garrett S. RoseFall 2018
![Page 2: ECE 551 System on Chip Designweb.eecs.utk.edu/courses/fall2018/ece551/lectures/Lecture00.pdfTypically, an application specific integrated circuit (ASIC) is designed using commercial](https://reader034.vdocuments.net/reader034/viewer/2022042020/5e773074b610bc247859a9d8/html5/thumbnails/2.jpg)
Outline
● Review of IC design basics
● Design partitioning and design approaches
● Introduction to semi-custom design approach
● Introduction to automated approach
● A snapshot of the tools you will use
![Page 3: ECE 551 System on Chip Designweb.eecs.utk.edu/courses/fall2018/ece551/lectures/Lecture00.pdfTypically, an application specific integrated circuit (ASIC) is designed using commercial](https://reader034.vdocuments.net/reader034/viewer/2022042020/5e773074b610bc247859a9d8/html5/thumbnails/3.jpg)
● ASIC: Application Specific Integrated Circuits
– Usually fabricated in silicon, custom or synthesized
● Microprocessor● FPGA: Field Programmable Gate Arrays
– Reconfigurable logic blocks configured for use
Types of Digital Systems
General Purpose
Application Specific
Custom Logic
Reconfigurable Logic
Array/Vector Processors
Bit-Sliced Processors
Von Neumann Processors
![Page 4: ECE 551 System on Chip Designweb.eecs.utk.edu/courses/fall2018/ece551/lectures/Lecture00.pdfTypically, an application specific integrated circuit (ASIC) is designed using commercial](https://reader034.vdocuments.net/reader034/viewer/2022042020/5e773074b610bc247859a9d8/html5/thumbnails/4.jpg)
● 1970’s processes usually had only nMOS transistors– Inexpensive, but consume power while idle
● 1980s-present: CMOS processes for low idle power
MOS Integrated Circuits
Intel 1101 256-bit SRAM Intel 4004 4-bit Proc
Adapted from Harris’ slides from Harvey Mudd. Copyright 2005 Addison-Wesley.
![Page 5: ECE 551 System on Chip Designweb.eecs.utk.edu/courses/fall2018/ece551/lectures/Lecture00.pdfTypically, an application specific integrated circuit (ASIC) is designed using commercial](https://reader034.vdocuments.net/reader034/viewer/2022042020/5e773074b610bc247859a9d8/html5/thumbnails/5.jpg)
Moore’s Law
● 1965: Gordon Moore plotted transistor on each chip– Fit straight line on semilog scale– Transistor counts have doubled every 26 months
Integration Levels
SSI: 10 gates
MSI: 1000 gates
LSI: 10,000 gates
VLSI: > 10k gates
Adapted from Harris’ slides from Harvey Mudd.
Year
Tra
nsis
tors
40048008
8080
8086
80286Intel386
Intel486Pentium
Pentium ProPentium II
Pentium III
Pentium 4
1,000
10,000
100,000
1,000,000
10,000,000
100,000,000
1,000,000,000
1970 1975 1980 1985 1990 1995 2000
![Page 6: ECE 551 System on Chip Designweb.eecs.utk.edu/courses/fall2018/ece551/lectures/Lecture00.pdfTypically, an application specific integrated circuit (ASIC) is designed using commercial](https://reader034.vdocuments.net/reader034/viewer/2022042020/5e773074b610bc247859a9d8/html5/thumbnails/6.jpg)
● Technology shrinks by 0.7/generation● Every generation can integrate 2x more functions per chip; chip cost
does not increase significantly● Cost of a function decreases by 2x● But …
– How to design chips with more and more functions?– Design engineering population does not double every two years…
● Hence, a need for more efficient design methods– Exploit different levels of abstraction
Why Scaling?
![Page 7: ECE 551 System on Chip Designweb.eecs.utk.edu/courses/fall2018/ece551/lectures/Lecture00.pdfTypically, an application specific integrated circuit (ASIC) is designed using commercial](https://reader034.vdocuments.net/reader034/viewer/2022042020/5e773074b610bc247859a9d8/html5/thumbnails/7.jpg)
● Intel Coffee Lake– Up to 6 cores (12 threads)– 2.9 to 4.8GHz clock (Core i9)– Still 14nm technology...
● Cannon Lake (shrink) is 10nm● Moore's Law at an end?
– Over 1 billion transistors– 12MB SmartCache– Built-in GPU – a “system on chip”– Some custom (“neat” areas);
many synthesized components (“messy” areas)
A Microprocessor Example
![Page 8: ECE 551 System on Chip Designweb.eecs.utk.edu/courses/fall2018/ece551/lectures/Lecture00.pdfTypically, an application specific integrated circuit (ASIC) is designed using commercial](https://reader034.vdocuments.net/reader034/viewer/2022042020/5e773074b610bc247859a9d8/html5/thumbnails/8.jpg)
● Requires a large team and a lot of time
● Some components can be synthesized
– Design written in code (e.g. VHDL)
– Synthesis tool generates netlist from code● Other components must be custom designed
– Blocks on critical path (i.e. critical to system performance)
Designing a Microprocessor
![Page 9: ECE 551 System on Chip Designweb.eecs.utk.edu/courses/fall2018/ece551/lectures/Lecture00.pdfTypically, an application specific integrated circuit (ASIC) is designed using commercial](https://reader034.vdocuments.net/reader034/viewer/2022042020/5e773074b610bc247859a9d8/html5/thumbnails/9.jpg)
● Application very specific:device that mines bitcoins
● Bitcoin mining can be time consuming – ASIC works fast
● Almost entirely synthesized from standard cells
– “messy” look of layout
– Not as fast as full custom
An ASIC Example: Avalon Bitcoin Mining ASIC
![Page 10: ECE 551 System on Chip Designweb.eecs.utk.edu/courses/fall2018/ece551/lectures/Lecture00.pdfTypically, an application specific integrated circuit (ASIC) is designed using commercial](https://reader034.vdocuments.net/reader034/viewer/2022042020/5e773074b610bc247859a9d8/html5/thumbnails/10.jpg)
Structured Design
● Hierarchy: Divide and Conquer– Recursively system into modules
● Regularity– Reuse modules wherever possible– Ex: Standard cell library
● Modularity: well-formed interfaces– Allows modules to be treated as black boxes
● Locality– Physical and temporal
![Page 11: ECE 551 System on Chip Designweb.eecs.utk.edu/courses/fall2018/ece551/lectures/Lecture00.pdfTypically, an application specific integrated circuit (ASIC) is designed using commercial](https://reader034.vdocuments.net/reader034/viewer/2022042020/5e773074b610bc247859a9d8/html5/thumbnails/11.jpg)
Design Partitioning
● Architecture: User’s perspective, what does it do?– Instruction set, registers– MIPS, x86, Alpha, PIC, ARM, …
● Microarchitecture– Single cycle, multcycle, pipelined, superscalar?
● Logic: how are functional blocks constructed– Ripple carry, carry lookahead, carry select adders
● Circuit: how are transistors used– Complementary CMOS, pass transistors, domino
● Physical: chip layout– Datapaths, memories, random logic
![Page 12: ECE 551 System on Chip Designweb.eecs.utk.edu/courses/fall2018/ece551/lectures/Lecture00.pdfTypically, an application specific integrated circuit (ASIC) is designed using commercial](https://reader034.vdocuments.net/reader034/viewer/2022042020/5e773074b610bc247859a9d8/html5/thumbnails/12.jpg)
n+n+S
GD
+
DEVICE
CIRCUIT
GATE
MODULE
SYSTEM
Design Abstraction Levels
Adapted from Harris’ slides from Harvey Mudd. Copyright 2005 Addison-Wesley.
![Page 13: ECE 551 System on Chip Designweb.eecs.utk.edu/courses/fall2018/ece551/lectures/Lecture00.pdfTypically, an application specific integrated circuit (ASIC) is designed using commercial](https://reader034.vdocuments.net/reader034/viewer/2022042020/5e773074b610bc247859a9d8/html5/thumbnails/13.jpg)
Gajski Y-Chart
Adapted from Harris’ slides from Harvey Mudd. Copyright 2005 Addison-Wesley.
![Page 14: ECE 551 System on Chip Designweb.eecs.utk.edu/courses/fall2018/ece551/lectures/Lecture00.pdfTypically, an application specific integrated circuit (ASIC) is designed using commercial](https://reader034.vdocuments.net/reader034/viewer/2022042020/5e773074b610bc247859a9d8/html5/thumbnails/14.jpg)
Design Metrics
How to evaluate performance of a digital circuit (gate, block, …)?
● Cost● Reliability● Scalability● Speed (delay, operating frequency)● Power dissipation● Energy to perform a function
![Page 15: ECE 551 System on Chip Designweb.eecs.utk.edu/courses/fall2018/ece551/lectures/Lecture00.pdfTypically, an application specific integrated circuit (ASIC) is designed using commercial](https://reader034.vdocuments.net/reader034/viewer/2022042020/5e773074b610bc247859a9d8/html5/thumbnails/15.jpg)
● Custom: A design that has been carefully crafted by the designer including manual layout. This is Intro. to VLSI (ECE 433/533).
● Semi-custom: Some custom crafted blocks including custom blocks using automation (i.e., SKILL) along with some fully automated blocks. Usually makes use of predefined, well optimized blocks that cannot be changed.
● Automated: The use of a hardware description language (VHDL, Verilog, SystemC, etc.) and CAD tools to synthesize a design from code to Silicon.
VLSI Design Approaches
![Page 16: ECE 551 System on Chip Designweb.eecs.utk.edu/courses/fall2018/ece551/lectures/Lecture00.pdfTypically, an application specific integrated circuit (ASIC) is designed using commercial](https://reader034.vdocuments.net/reader034/viewer/2022042020/5e773074b610bc247859a9d8/html5/thumbnails/16.jpg)
Image courtesy of Intel Corp.
Custom: Tightly packed but irregular regions
Automated: Very irregular “rats’ nest” regions
Memory (very regular & dense) is custom but can easily be drawn using SKILL
A Quick Look at Intel Pentium
![Page 17: ECE 551 System on Chip Designweb.eecs.utk.edu/courses/fall2018/ece551/lectures/Lecture00.pdfTypically, an application specific integrated circuit (ASIC) is designed using commercial](https://reader034.vdocuments.net/reader034/viewer/2022042020/5e773074b610bc247859a9d8/html5/thumbnails/17.jpg)
● SoC design should always start with a clear design flow
● An integrated circuit design flow shows the particular steps taken for each design stage and highlights CAD tools used
ASIC/SOC Design Flow
![Page 18: ECE 551 System on Chip Designweb.eecs.utk.edu/courses/fall2018/ece551/lectures/Lecture00.pdfTypically, an application specific integrated circuit (ASIC) is designed using commercial](https://reader034.vdocuments.net/reader034/viewer/2022042020/5e773074b610bc247859a9d8/html5/thumbnails/18.jpg)
ASIC/SOC Design Flow
![Page 19: ECE 551 System on Chip Designweb.eecs.utk.edu/courses/fall2018/ece551/lectures/Lecture00.pdfTypically, an application specific integrated circuit (ASIC) is designed using commercial](https://reader034.vdocuments.net/reader034/viewer/2022042020/5e773074b610bc247859a9d8/html5/thumbnails/19.jpg)
● Typically, an application specific integrated circuit (ASIC) is designed using commercial tools
● A standard cell library is provided by a vendor (i.e., fab facility) which includes a set of basic gates
● The design is specified using an HDL (such as Verilog or VHDL) and synthesized to a gate-level netlist in terms of the gates in the library
● Finally, this netlist is used for floorplanning and place & route using another tool to produce layout
● Custom blocks can be included but much of the flow is automated starting with the HDL
Automated Design
![Page 20: ECE 551 System on Chip Designweb.eecs.utk.edu/courses/fall2018/ece551/lectures/Lecture00.pdfTypically, an application specific integrated circuit (ASIC) is designed using commercial](https://reader034.vdocuments.net/reader034/viewer/2022042020/5e773074b610bc247859a9d8/html5/thumbnails/20.jpg)
● The standard cell library is usually provided a vendor● A lot is required for a library:
– Optimized schematic and layout for each gate– Timing files– Input/output pin definitions
● Typical standard cells:INV, AND2, AND3, OR2, OR3, XOR2, AOI21, AOI22, etc.
Standard Cell Library
![Page 21: ECE 551 System on Chip Designweb.eecs.utk.edu/courses/fall2018/ece551/lectures/Lecture00.pdfTypically, an application specific integrated circuit (ASIC) is designed using commercial](https://reader034.vdocuments.net/reader034/viewer/2022042020/5e773074b610bc247859a9d8/html5/thumbnails/21.jpg)
● Hardware Description Languages– Widely used in logic design– Verilog and VHDL
● Describe hardware using code– Document logic functions– Simulate logic before building– Synthesize code into gates and layout
● Requires a library of standard cells
HDLs
![Page 22: ECE 551 System on Chip Designweb.eecs.utk.edu/courses/fall2018/ece551/lectures/Lecture00.pdfTypically, an application specific integrated circuit (ASIC) is designed using commercial](https://reader034.vdocuments.net/reader034/viewer/2022042020/5e773074b610bc247859a9d8/html5/thumbnails/22.jpg)
module fulladder(input a, b, c,
output s, cout);
sum s1(a, b, c, s);
carry c1(a, b, c, cout);
endmodule
module carry(input a, b, c,
output cout)
assign cout = (a&b) | (a&c) | (b&c);
endmodule
a b
c
s
cout carrysum
s
a b c
cout
fulladder
Verilog Example
![Page 23: ECE 551 System on Chip Designweb.eecs.utk.edu/courses/fall2018/ece551/lectures/Lecture00.pdfTypically, an application specific integrated circuit (ASIC) is designed using commercial](https://reader034.vdocuments.net/reader034/viewer/2022042020/5e773074b610bc247859a9d8/html5/thumbnails/23.jpg)
● How should logic be implemented?
– NANDs and NORs vs. ANDs and ORs?
– Fan-in and fan-out?
– How wide should transistors be?
● These choices affect speed, area, power
● Logic synthesis makes these choices for you
– Good enough for many applications
– Hand-crafted circuits are still better
Circuit Design
![Page 24: ECE 551 System on Chip Designweb.eecs.utk.edu/courses/fall2018/ece551/lectures/Lecture00.pdfTypically, an application specific integrated circuit (ASIC) is designed using commercial](https://reader034.vdocuments.net/reader034/viewer/2022042020/5e773074b610bc247859a9d8/html5/thumbnails/24.jpg)
assign cout = (a&b) | (a&c) | (b&c);
ab
ac
bc
cout
x
y
z
g1
g2
g3
g4
Transistors? Gate Delays?
Example: Carry Logic
![Page 25: ECE 551 System on Chip Designweb.eecs.utk.edu/courses/fall2018/ece551/lectures/Lecture00.pdfTypically, an application specific integrated circuit (ASIC) is designed using commercial](https://reader034.vdocuments.net/reader034/viewer/2022042020/5e773074b610bc247859a9d8/html5/thumbnails/25.jpg)
Transistors? Gate Delays?
a b
c
c
a b
b
a
a
b
coutcn
n1 n2
n3
n4
n5 n6
p6p5
p4
p3
p2p1
i1
i3
i2
i4
Example: Carry Logic
assign cout = (a&b) | (a&c) | (b&c);
![Page 26: ECE 551 System on Chip Designweb.eecs.utk.edu/courses/fall2018/ece551/lectures/Lecture00.pdfTypically, an application specific integrated circuit (ASIC) is designed using commercial](https://reader034.vdocuments.net/reader034/viewer/2022042020/5e773074b610bc247859a9d8/html5/thumbnails/26.jpg)
module carry(input a, b, c, output cout)
wire x, y, z;
and g1(x, a, b);and g2(y, a, c);and g3(z, b, c);or g4(cout, x, y, z);
endmodule
ab
ac
bc
cout
x
y
z
g1
g2
g3
g4
Gate-level Netlist
![Page 27: ECE 551 System on Chip Designweb.eecs.utk.edu/courses/fall2018/ece551/lectures/Lecture00.pdfTypically, an application specific integrated circuit (ASIC) is designed using commercial](https://reader034.vdocuments.net/reader034/viewer/2022042020/5e773074b610bc247859a9d8/html5/thumbnails/27.jpg)
● Cadence SOC Encounter (right) is a tool used for:
– Floorplanning
– Placement
– Routing
Place & Route
![Page 28: ECE 551 System on Chip Designweb.eecs.utk.edu/courses/fall2018/ece551/lectures/Lecture00.pdfTypically, an application specific integrated circuit (ASIC) is designed using commercial](https://reader034.vdocuments.net/reader034/viewer/2022042020/5e773074b610bc247859a9d8/html5/thumbnails/28.jpg)
● ModelSim – HDL (SystemVerilog, VHDL & Verilog) simulator● QuestaSim (newer!) – HDL (SystemVerilog, VHDL & Verilog) simulator● Design Compiler – Synthesis tool that takes HDL code and synthesizes to a
gate-level netlist (typically a Verilog netlist) of standard cells● Encounter – Physical design tool for generating layout from synthesized
gate-level netlist● Xilinx Vivado – Tools for synthesis, place & route, mapping, etc. for Xilinx
FPGA implementations
● Will mostly use QuestaSim and Xilinx tools in this class
Some CAD Tools
![Page 29: ECE 551 System on Chip Designweb.eecs.utk.edu/courses/fall2018/ece551/lectures/Lecture00.pdfTypically, an application specific integrated circuit (ASIC) is designed using commercial](https://reader034.vdocuments.net/reader034/viewer/2022042020/5e773074b610bc247859a9d8/html5/thumbnails/29.jpg)
● Field Programmable Gate Arrays (FPGA) can be used as a “cost effective” ASIC
● FPGA configured using HDL – SystemVerilog, Verilog or VHDL● FPGAs are also useful for early prototyping of silicon-based ASIC
implementations – save cost, mitigate risk
● We will primarily focus on FPGA based designs – think of designs as FPGA prototypes of small ASIC/SOC designs
FPGA Based Design
![Page 30: ECE 551 System on Chip Designweb.eecs.utk.edu/courses/fall2018/ece551/lectures/Lecture00.pdfTypically, an application specific integrated circuit (ASIC) is designed using commercial](https://reader034.vdocuments.net/reader034/viewer/2022042020/5e773074b610bc247859a9d8/html5/thumbnails/30.jpg)
Field Programmable Gate Arrays
Xilinx Spartan-II Block Diagram Xilinx Spartan-II CLB
![Page 31: ECE 551 System on Chip Designweb.eecs.utk.edu/courses/fall2018/ece551/lectures/Lecture00.pdfTypically, an application specific integrated circuit (ASIC) is designed using commercial](https://reader034.vdocuments.net/reader034/viewer/2022042020/5e773074b610bc247859a9d8/html5/thumbnails/31.jpg)
● Form lab/project groups soon!● Each group gets one Nexys 4 board● Will use for labs and project
● Nexys 4 includes Xilinx Artix-7 FPGA
– 15K logic slices (100K cells)
– 4Mbits block RAM
– 240 DSP slices– On-chip ADC
Digilent Nexys 4 Boards
![Page 32: ECE 551 System on Chip Designweb.eecs.utk.edu/courses/fall2018/ece551/lectures/Lecture00.pdfTypically, an application specific integrated circuit (ASIC) is designed using commercial](https://reader034.vdocuments.net/reader034/viewer/2022042020/5e773074b610bc247859a9d8/html5/thumbnails/32.jpg)
● Follow the ASIC/SOC Flow● Develop code using SystemVerilog● Simulate SystemVerilog using:
– Mentor Graphics QuestaSim, ModelSim, or Xilinx Vivado
– Can also simulate VHDL and Verilog● Synthesize with Xilinx Vivado● Configure with Xilinx Vivado
● Optional: Simulate post-synthesis netlist (usually Verilog)
Basic FPGA Design Steps
![Page 33: ECE 551 System on Chip Designweb.eecs.utk.edu/courses/fall2018/ece551/lectures/Lecture00.pdfTypically, an application specific integrated circuit (ASIC) is designed using commercial](https://reader034.vdocuments.net/reader034/viewer/2022042020/5e773074b610bc247859a9d8/html5/thumbnails/33.jpg)
● Login to one of the EECS “ada” servers:– There are 8 ada machines: ada1, ada2, ... ada7, ada8– All ada machines run the same OS with roughly the same setups– Example: ada5.eecs.utk.edu– User ID and password same as email
● QuestaSim and ModelSim run on the ada machines, can also run on laptop/PC● If you're using Windows, may need MobaXterm for ssh connection● The ada servers also support RealVNC connections (faster than ssh):
https://www.eecs.utk.edu/resources/it/eecs-it-knowledge-base/remote-access/realvnc/
● More instructions posted on Canvas
Important To Do Items
![Page 34: ECE 551 System on Chip Designweb.eecs.utk.edu/courses/fall2018/ece551/lectures/Lecture00.pdfTypically, an application specific integrated circuit (ASIC) is designed using commercial](https://reader034.vdocuments.net/reader034/viewer/2022042020/5e773074b610bc247859a9d8/html5/thumbnails/34.jpg)
● VLSI design occurs at several abstraction layers
● Can design manually (custom) or using automated CAD tools
● Most VLSI systems are in a “gray area” – some custom and some automation
● This class focuses mostly on top-down, automated approach
● We will study ASIC/SOC design in general and will use FPGAs as our primary platform for prototyping designs
Welcome... this should be enjoyable for us all!
Summary