Transcript PPT

ECE 412:
Microcomputer Laboratory
Lecture 17: Platform-Based Design
and IP
Lecture 17
Outline
• Platform-based Design
• Various IPs (intellectual property)
• Design Domains and Levels of Abstractions
Lecture 17
Review Questions
1. What are Observability and Controllability? Name one way to
improve both.
–
–
–
Observability: ease of observing a node by watching external output pins of the
chip
Controllability: ease of forcing a node to 0 or 1 by driving input pins of the chip
Scan chain
2. Name some testing types.
–
–
–
–
–
Dynamic vs. Static
• i.e. simulation vs. formal methods
Deterministic vs. Random
• Pre-specified vs. randomly generated sequence of inputs
Waveforms/logs checking vs. self-checking
• Non-automatic vs. automatic testing
Black- vs. glass-box testing
• Considering only specification vs. considering implementation in designing
tests
Unit vs. integration testing
• Module vs. System testing
Lecture 17
Platform-based Design
• Platform Based Design is an organized method to
reduce the time required and risk involved in
designing and verifying a complex SoC, by heavy
reuse of combinations of hardware and software IP.
Rather than looking at IP reuse in a block by block
manner, platform-based design aggregates groups of
components into a reusable platform architecture.
Lecture 17
Platform Alternatives
Lecture 17
Promises of Platform-based Design
• It is the next logical step in IP reuse, moving up from
ad hoc block reuse to the reuse of aggregates of IP
blocks and an integration architecture
– reduce design effort and risk
– improve time to market
• Rapid design derivatives become possible
– allowing optimization and tailoring of products to very specific
application needs and markets
• Platforms are a way of capturing and reusing the best
architectures and design approaches
– in general, there are only a few optimal architectures for particular
application domains
– platforms serve as transmission mechanism from more experienced
design teams and architects to less experienced designers
Lecture 17
Intellectual Property (IP)
• Building block components (roughly
equivalent terms)
– Macros, cores, IPs, virtual components (VCs)
• Examples
– Microprocessor core, A/D converter, Digital filter, Audio
compression algorithm
• Three types of IP blocks
– Hard (least flexible)
– Firm
– Soft (most flexible)
Lecture 17
Hard IP
• Delivered in physical form (e.g., GDSII file)
• Fully
– Designed
– Placed and routed
– Characterized for timing, power, etc.
• Tied to a manufacturing process
– Actual physical layout
– Fixed shape
• Complete characterization
– Guaranteed performance
– Known area, power, speed, etc.
• No flexibility
Lecture 17
Fixed Schematics and Layout
Power
Hard
Macros
A-Input
C
Data Out
B-Input
A
B
Ground
Schematic of a NAND gate
Layout of a NOR gate
Lecture 17
Hard IP Examples and Constraints
• A microprocessor core
– PowerPC, ARM
• AMS (analog/mixed-signal) blocks
– ADC, DAC, filter
• A phase-locked loop (PLL)
• A memory block design
• Features
– Deeply process dependent
– Stricter performance requirements
– Electrical constraints, such as capacitance, resistance, and inductance
ranges
– Geometric constraints, such as symmetry, dimension, pin location, etc.
– Need to provide interface for functional and timing verification
Lecture 17
Soft IP
• Delivered as synthesizable RTL HDL code (e.g.,
VHDL or Verilog)
• Performance is synthesis and process dependent
• Synthesizable Verilog/VHDL
• Synthesis scripts, timing constraints
• Scripts for testing issues
– Scan insertion, ATPG (automatic test pattern generation), etc.
Lecture 17
Some Soft IPs
• Counter, Comparator, Arithmetic/Logic Unit
• PCI bridge
• Microprocessor core
– Representation form less process dependent
– Final performance is still process and synthesis dependent
Lecture 17
Firm IP Blocks
• Intermediate form between hard and soft IP
– Some physical design info to supplement RTL
– RTL or netlist or mixture of both
– More (or less) detailed placement
– Limited use beyond specified foundry
Lecture 17
Understand IPs
• The quality of IPs and support will be the key to the
success of the IP business
• Need to pay much attention on software IP issues
• Need application and system design expertise
• Core-based design is effective on IP/core integration
• Need to develop a combining platform- and corebased design methodology/environment for system
designs
Lecture 17
Designers’ Technical Concerns on IP Reuse
• Is the IP source (provider) reliable?
• How can I make sure the functional correctness of the IP?
• How much effort do I have to invest in test-bench development for
design verification with reused IP?
• What if I need to modify part of IP design?
• What if the final timing is not satisfied due to the IP?
• What’s the risk of the design project due to any possible defect
caused by the IP?
• What’s the worst scenario when reusing the IP and what are the
damage control plan?
Lecture 17
SoC Design Domains
• Represent different aspects
of a system
– System or behavioral domain
System
– Structural or RTL domain
Behavior
– Physical domain
Structural
RTL
Physical Design
Lecture 17
Behavioral (System)
Domain
Structural (RTL)
Domain
Operating Systems
Computer
Applications
Microprocessor
User Programs
Subroutines
Adders, gates, flip-flops
Instructions
Transistors
Circuit Abstraction Level
Transistors
Logic Abstraction Level
Cells
The Y
Chart
Modules
Architectural Abstraction Level
Chips, Boards, Boxes
Physical Domain
Lecture 17
Behavioral Domain
•What a particular system does
Functionality
User interface
Applications
Operating system
Subroutines, etc…
Structural Domain
•How entities are interconnected to
implement prescribed behavior
Logic gates
Registers
RISC processor, etc…
Physical Domain
•Physical structures to implement behavior
Devices (transistors)
Interconnections (wires)
Physical qualities: conductivity,
capacitance, etc.
Lecture 17
The Adder Example
• An n-bit adder
– Adds two n-bit numbers A and B to produce a result C
A
Adder
B
Lecture 17
C=A+B
Behavioral Representation
• How a design responds to a set of inputs?
• Specification of behavior
– Boolean equations
– HDL, e.g., Verilog or VHDL
Lecture 17
Example: 1-bit Adder (cont’)
• Boolean equations
Sum
= A.B’.C’ + A’.B’.C + A’.B.C’ + A.B.C
Carry = A.B + A.C + B.C
• Verilog
module carry (co, a, b, c);
output co;
input a, b, c;
assign
co = (a&b) | (b&c) | (a&c);
endmodule
Lecture 17
Structural Representation
• How components are interconnected to perform
the required function
• Specification
– Typically a list of modules and their interconnections
Lecture 17
Example: 4-bit Adder (cont’)
Add4
is
add
add
Lecture 17
add
add
Structure Description in Verilog
module add (co, s, a, b, c);
input a, b, c;
output s, co;
// describe 1-bit adder
enddmodule
module Add4 (S, c4, ci, a, b);
input [3:0] a, b;
input ci;
output [3:0] s;
output c4;
wire [2:0] co;
add a0(co[0],s[0],a[0],b[0],ci
);
add a1(co[1],s[1],a[1],b[1],co[0]);
add a2(co[2],s[2],a[2],b[2],co[1]);
add a3(c4,
s[3],a[3],b[3],co[2]);
endmodule
interconnections
modules
Lecture 17
Physical Representation
• How to build a part to guarantee specific
structure/behavior
• Physical specifications
– Materials qualities
• Resistance, capacitance, etc.
– Photo-masks required by various fabrication steps
Lecture 17
Physical View of the Adder
(50 100)
co
(0 75)
a
add
(0 25)
b
c
(0 0)
(50 0)
Lecture 17
s
(100 50)
Next Time
• Case studies of SoC in FPGAs
Lecture 17