Вы находитесь на странице: 1из 82

Verification of High Performance

Embedded Systems
Sisira K. Amarasinghe, Ph.D.

Outline
Embedded Systems
High Performance Embedded Systems
Verification and Validation
Conventional Verification of Embedded
Systems
Verification of Complex Systems
Conclusion
Questions and Answers

2 of
Introduction to Embedded Systems (1/4)
An application specific electronic sub-
system which is completely encapsulated
by the main system it belongs to.

The main systems can range from
household appliances, home automation,
consumer electronics, ATMs, network
routers, automobiles, aircrafts, etc.

3 of
Introduction to Embedded Systems (2/4)
Designed for some specific tasks

Subjected to real time performance
constraints that must be met

Feature tightly integrated combinations
of hardware and software
4 of
Typical embedded software components:
Introduction to Embedded Systems (3/4)
Embedded Application Code
Device Drivers
A Real-Time Operating System (RTOS)
Hardware abstraction layer(s)
System initialization routines
5 of
Data Bus
Data
Memory
Program
Memory
interrupts
Digital o/p
Analog o/p
Digital i/p
Analog i/p
INPUTS
OUTPUTS
Links to Other Systems
User Interface
Address Bus
CPU
Analog
Front End
Digital
i/p Ports
User Interface
Modules
Digital
o/p Ports
D/A,
Isolation..
Comms:
ASC, SSC,
USB, IIC,
IrDA, etc.
Support:
Timers
Watchdog

6 of
Outline
Embedded Systems
High Performance Embedded Systems
Verification and Validation
Conventional Verification of Embedded
Systems
Verification of Complex Systems
Conclusion
Questions and Answers

7 of
High Performance Embedded Systems (1/10)
Massive computational resources with
requirements of
Small size
Low Weight
Very low power consumption.
Need to employ innovative, advanced
system architectures
8 of
High Performance Embedded Systems (2/10)
Architectures typically feature
Multiple processor cores
Tiered memory structures with multi-level
memory caching
Multi-layer bus structures.
Super-pipelining and/or super-scaling
9 of
High Performance Embedded Systems (3/10)
The current state-of-the-art:
Multiple computational and data-
processing engines, memory, and
peripherals, all constructed on a single
silicon chip called a System-on-Chip
(SoC).
Designs to feature multiple general-
purpose central processing unit (CPU)
cores as well as special-purpose digital
signal processor (DSP) cores
10 of
Tricore
TriCore
32-Bit MCU-
DSP
DSP Strengths
Zero Overhead Loop
Dedicated Hardware Multipliers
Powerful Multi-Operation Instructions
Addressing Modes
Data Formats
RISC Strengths
Register Based Architecture
Reduced Instruction Set
Instruction Pipeline
C/C++ language support
Memory Protection
Unified
MCU-DSP
16-Bit FP DSP Core
32-Bit RISC
Core
32-Bit MCU
MCU Strengths
Real Time Control
High System Integration
Range of On-Chip Peripherals
Dedicated Bit Manipulation unit
High Performance Embedded Systems (4/10)
11 of
High Performance Embedded Systems (5/10)
Embedded designs to include multiple
general-purpose central processing unit
(CPU) cores as well as special-purpose
digital signal processor (DSP) cores
Firmware
Peripherals
Core 1 Core 2
Memory
Core 3
12 of
High Performance Embedded Systems (6/10)
Multilayer Bus Structures
CPU and DSP cores can have separate
buses for control, instructions, and data,
DMA buses along with one or more
dedicated peripheral buses.
Both the CPUs and DSPs can have
tightly-coupled memory buses, external
memory buses, and shared memory
buses.
13 of
Increasing software content
The software content of embedded systems
is increasing at a phenomenal rate
software development and test often
dominate the costs, timelines, and risks
associated with today's embedded system
designs.
High Performance Embedded Systems (7/10)
14 of
High Performance Embedded Systems (8/10)
15 of
Decreasing design cycles
Market windows are continually narrowing
Competition gets more and more aggressive
Consumer electronics markets are extremely
sensitive to time-to-market pressures
High Performance Embedded Systems (9/10)
16 of
High Performance Embedded Systems (10/10)
17 of
Outline
Embedded Systems
High Performance Embedded Systems
Verification and Validation
Conventional Verification of Embedded
Systems
Verification of Complex Systems
Conclusion
Questions and Answers

18 of
What is Verification and Validation?

Verification

Verification confirms that work products
properly reflect the requirements
specified for them. In other words,
verification ensures that the product has
been built right.




Verification and Validation (1/7)
19 of
Validation

Validation confirms that the product, as
provided, will fulfill its intended use. In
other words, validation ensures that you
built the right thing.
Verification and Validation (2/7)
20 of
Verification and Validation (3/7)
Why Verification and Validation?
Business considerations
Legal
Refutation
Warranty / Recall
Regulatory issues
FDA
FAA
DoD

21 of
Safety considerations
Life sciences
Mission critical
Automotive examples:
Drive by wire
Electronic throttle control
Electronic steering
ABS
Airbag Systems
Verification and Validation (4/7)
22 of
Verification and Validation (5/7)
23 of
Abstraction Levels of Design Under Verification
Behavioral Model
Example: c <= a * b
May not include timing information
Verification examines the basic operation and interactions among
the systems components
RTL (Register-Transfer-Level) Model
VHDL/Verilog commonly used to model RTL
Accurate cycle-level information (no
propagation delays)
Verification of exact cycle behavior
Gate-Level Model
Specifies each individual logic element and their interconnections
Verification at this level is time-consuming but necessary for
clock boundaries and reset conditions
Verification and Validation (6/7)
24 of
Importance of Verification in Early Design Stages
Behavioral RTL Gate Level Transistor
Revenue loss
due to delay in
Time-To-Market
Remove as many bugs as possible in early designs stages
Ease of verification
Source: Verification Methodology Manual, 2000 - TransEDA
Verification and Validation (7/7)
25 of
Outline
Embedded Systems
High Performance Embedded Systems
Verification and Validation
Conventional Verification of Embedded
Systems
Verification of Complex Systems
Conclusion
Questions and Answers

26 of
Determine the overall system
architecture
Design System Hardware
Construct hardware prototype
Install and test OS and/or
middleware
Develop, port, integrate, and
debug embedded software
Conventional Verification of Embedded Systems
(1/13)
27 of
Conventional verification drawback (mainly
due to shorter design cycles)
SoC to be fabricated before developing
the software
Having to wait for the implementation-
level representation of the design
(specified RTL) to become available
before developing the embedded
software.

Conventional Verification of Embedded Systems
(2/13)
28 of
Physical Prototypes as primary
verification mechanism
Typically involves a circuit board and the
SoC in the form of working silicon.
The hardware portion of the design is
now almost 100 percent tied down
Not much useful in the context of
exploring and evaluating alternative
architectures

Conventional Verification of Embedded Systems
(3/13)
29 of
Important hardware/software tradeoffs
cant be made before the design
partitioning is locked down and the chips
are manufactured
System design must be largely based
on experience and intuition, as opposed
to hard data.
Unacceptable in today's complex
algorithms, multi-core systems, tiered
memory systems, and multi-layered
bus structures.
Conventional Verification of Embedded Systems
(4/13)
30 of
Hardware acceleration and emulation
as verification mechanism
These typically involve arrays of field-
programmable gate arrays (FPGAs) or
processors.
These solutions accept RTL
representations of the design and
translate them into an equivalent suitable
for hardware acceleration.
The verification can get very costly
Conventional Verification of Embedded Systems
(5/13)
31 of
Issues in multi-processor designs
Emulators also have problems with
limited visibility into the design
Software development cannot commence
until a long way into the design cycle.
(The hardware design is largely
established limitations with regard to
exploring and evaluating alternative
architectures)

Conventional Verification of Embedded Systems
(6/13)
32 of
RTL-based simulation as verification
mechanism
An RTL simulation solution requires RTL
representations of the hardware
Delays in meaningful software
development until the RTL becomes
available
It simply isn't possible to use software
simulation to determine how well the
architecture performs on real software
workloads
Conventional Verification of Embedded Systems
(7/13)
33 of
A software simulation running on a on
very high-end (and correspondingly
expensive) machine would hardly achieve
equivalent simulation speeds of more
than a few Hz
That is, a few cycles of embedded system
clock for each second in real time
Detailed simulations can be performed on only
small portions of the software.
Conventional Verification of Embedded Systems
(8/13)
34 of
ISS-based simulation as verification
mechanism
Conventional Verification of Embedded Systems
(9/13)
Verify and debug chips using software models that can
execute the same binary code as the actual processors

Limitations:
Only processor cores can be modeled
Accuracy is compromised for high performance
verification (typically not cycle accurate)
Lack of synchronization support for multi-processor
based systems
35 of
Outline
Embedded Systems
High Performance Embedded Systems
Verification and Validation
Conventional Verification of Embedded
Systems
Verification of Complex Systems
Conclusion
Questions and Answers

36 of
Verification of Complex Systems (1/15)
System-On-Chip (SoC) designs increasingly
become the driving force of a number of
modern electronics systems
A number of key technologies integrate
together in forming the highly complex
embedded platform
Verification need to account for integration
of a number of different IPs into new
designs, the coupling of embedded software
into designs, and the verification flow from
core to the design, etc.


37 of
IP Core Verification and System Level
Verification both need to be addressed
adequately
On top of structural complexities, further
bottlenecks are introduced by:
Time to market pressures
Increasing software content
Other stringent design constraints such as
size, weight, low power levels, etc.
Verification of Complex Systems (2/15)
38 of
The system level design strategies should
be considered together with the complex
task of verification
Hardware , first, then software, is no longer
a viable theme
Appropriate verification strategies need to
be employed from the outset to minimize
downstream defects including SoC re-spins
Concurrent hardware and software
development would mandatory.
Verification of Complex Systems (3/15)
39 of
SoC architects to employ a broad system
level design strategy that will allow:
Explore and evaluate system level
architectural choices
Concurrent hardware-software design
Easily evaluate and integrate a number of
different technologies
Adequate verification at every level of the
design cycle

Verification of Complex Systems (4/15)
40 of
Carry out an architecture level power
analysis
Drive requirements for executable
specifications
Provide visibility into designs
Easily handle regression testing

How do we achieve all this
with such complexity?

Verification of Complex Systems (5/15)
41 of
The answer to all above is to employ a
Unified System Model without committing
to any pre-conceived hardware / software
partitioning.
This will be a type of electronic systems
level (ESL) prototype
The form of these models can be anywhere
from a cycle-accurate RTL model and to a
time-efficient ISS model, or a hybrid
Verification of Complex Systems (6/15)
42 of
Source: Mixed-Abstraction Virtual System Prototypes
Close SOC Design Gaps, Carbon Design Systems, Inc.

Verification of Complex Systems (7/15)
43 of
Verification of Complex Systems (8/15)
Running Speed
10Hz
100Hz
1KHz
10KHz
100KHz
1MHz
10MHz
100MHz
SW Simulator
Investment
HW Emulator
Rapid Prototype
Real Silicon
HW Accelerator
Ideal Verification Ideal Verification
Solution Solution
Make it faster Make it faster
Make it cheaper Make it cheaper
Ideal Verification Ideal Verification
Solution Solution
Make it faster Make it faster
Make it cheaper Make it cheaper
44 of
The basis for a unified system model is
Transaction Level Modeling (TLM).
Transactions
Basic representation for exchange of information between
two blocks
Improve efficiency and performance of verification by
raising the level of abstractions from the signal level
Can be as simple as a single data write operation or
linked together to form a complex IP packet transfer
Verification of Complex Systems (9/15)
45 of
Transactions:
Source: Cadence white paper, The Unified Verification Methodology
Verification of Complex Systems (10/15)
46 of
Stimulus Generation: Transactions
Transactor provides a level of abstraction between the pins of
the model and the test code
Encapsulation: Test code does not need knowledge about the bus
protocols
Abstraction: Allows test to be written in an abstract fashion that
specifies the required transactions, instead of the operation
execution details
Re-use: Transactor provides a standard set of routines that the
test can call
Modularity: Verification environment can be built from a set of
parts
DESIGN
UNDER
VERIFICATION
Processor
Bus
Test Code
Write (Addr, data)
Data = Read (Addr)
Write
Operation
Read
Operation
Others
Operations
Test
Interface
Bus
Driver
Transactor
Verification of Complex Systems (11/15)
47 of
C
Transactor
HDL
C to HDL
EDIF
Synthesis
Transactor
C ISS
Processor
Cross-compiler
Transactor
Transactor
Transactor
SW part
model
HW part
model
Support functional design and verification at various
abstraction levels
Advantages
Enhance reusability in the test-benches
Improve debugging and coverage analysis

Transaction Level Models (TLM)
Source: Chong-Min Kyung, Current Status and Challenges of SoC Verification for Embedded Systems Market, IEEE International
SOC Conference, 2003
Verification of Complex Systems (12/15)
48 of
Unified System Model: Functional Prototype
Unambiguous executable specification
Golden top-level verification environment and integration vehicle
Reference for defining transaction coverage requirements
Model for performing architectural trade-offs
Early handoff vehicle to system development teams
Fast executable model for early embedded software development
Source: Cadence white paper, The Unified Verification Methodology
Verification of Complex Systems (13/15)
49 of
Functional Level to Implementation Level Prototype
Source: Cadence white paper, The Unified Verification Methodology
Verification of Complex Systems (14/15)
50 of
Unified System Model with the highest desirable abstraction
is created early in the design process by the SoC verification
team working closely with the architects
A test suite is included with the Functional Prototype
Each subsystem has its own TLM (Transaction Level Model)
defined at the SoC partition
Individual subsystem teams proceed to develop the
implementation level of the subsystem
The test suite is run on the FVP as each subsystem
implementation is integrated into the FVP
The process of integration is facilitated by transactors, which
translate information between the transaction and signal level
Once all the transaction-level models are replaced, the
implementation level prototype is complete
Verification of Complex Systems (15/15)
51 of
Outline
Embedded Systems
High Performance Embedded Systems
Verification and Validation
Conventional Verification of Embedded
Systems
Verification of Complex Systems
Conclusion
Questions and Answers

52 of
Conclusion
Embedded systems tend to contain tens
of processor cores with multi-layered
busses and bus-bridges.
Hardware and software development a
mandatory design methodology.
Existing embedded system verification
strategies do not offer enough
sophistication for today's complex
systems.
53 of
TLM based Unified System Models
provide a means to carry out design and
verification hand in hand while
promoting hardware / software co-
development.
Conclusion
Source: DSP Design Line
54 of
End of Presentation

Thank you!

Any Questions ?
55 of
Introduction to Embedded Systems (1/4)
An application specific electronic sub-
system which is completely encapsulated
by the main system it belongs to.

The main systems can range from
household appliances, home automation,
consumer electronics, ATMs, network
routers, automobiles, aircrafts, etc.

56 of
Introduction to Embedded Systems (1/4)
An application specific electronic sub-
system which is completely encapsulated
by the main system it belongs to.

The main systems can range from
household appliances, home automation,
consumer electronics, ATMs, network
routers, automobiles, aircrafts, etc.

57 of
Introduction to Embedded Systems (1/4)
An application specific electronic sub-
system which is completely encapsulated
by the main system it belongs to.

The main systems can range from
household appliances, home automation
consumer electronics, ATMs, network
routers, automobiles, aircrafts, etc.

58 of
Introduction to Embedded Systems (1/4)
An application specific electronic sub-
system which is completely encapsulated
by the main system it belongs to.

The main systems can range from
household appliances, home automation,
consumer electronics, ATMs, network
routers, automobiles, aircrafts, etc.

59 of
Introduction to Embedded Systems (1/4)
An application specific electronic sub-
system which is completely encapsulated
by the main system it belongs to.

The main systems can range from
household appliances, home automation,
consumer electronics, ATMs, network
routers, automobiles, aircrafts, etc.

60 of
Introduction to Embedded Systems (1/4)
An application specific electronic sub-
system which is completely encapsulated
by the main system it belongs to.

The main systems can range from
household appliances, home automation,
consumer electronics, ATMs, network
routers, automobiles, aircrafts, etc.

61 of
Introduction to Embedded Systems (1/4)
An application specific electronic sub-
system which is completely encapsulated
by the main system it belongs to.

The main systems can range from
household appliances, home automation,
consumer electronics, ATMs, network
routers, automobiles, aircrafts, etc.

62 of
High Performance Embedded Systems (3/10)
The current state-of-the-art:
Multiple computational and data-
processing engines, memory, and
peripherals, all constructed on a single
silicon chip called a System-on-Chip
(SoC).
Designs to feature multiple general-
purpose central processing unit (CPU)
cores as well as special-purpose digital
signal processor (DSP) cores
63 of
RTL-based simulation as verification
mechanism
Conventional Verification of Embedded Systems
(7/13)
a = 1;
#20 b = 1;
$display (status is = %d,c);
...
Testbench DUV
Source: Chong-Min Kyung, Current Status and Challenges of SoC Verification for Embedded
Systems Market, IEEE International SOC Conference, 2003
64 of
Hardware acceleration and emulation
as verification mechanism
These typically involve arrays of field-
programmable gate arrays (FPGAs) or
processors.

Conventional Verification of Embedded Systems
(5/13)
Simulation environment
Testbench
Module
0
Module
1
Module 2
Hardware
Accelerator
Module 2 is
synthesized &
compiled into
FPGAs
Source: Chong-Min Kyung,
Current Status and
Challenges of SoC
Verification for Embedded
Systems Market, IEEE
International SOC
Conference, 2003
65 of
Hardware acceleration and emulation
as verification mechanism

Conventional Verification of Embedded Systems
(5/13)
&
&
>
+
Logic design
Emulation hardware with multiple FPGAs
Design
mapping
External pins
Source: Chong-Min Kyung,
Current Status and
Challenges of SoC
Verification for Embedded
Systems Market, IEEE
International SOC
Conference, 2003
FPGA 0 FPGA 1
FPGA 2 FPGA 3
Crossbar
(Switch)
66 of
SoC architects to employ a broad system
level design strategy that will allow:
Explore and evaluate system level
architectural choices
Concurrent hardware-software design
Easily evaluate and integrate a number of
different technologies
Adequate verification at every level of the
design cycle

Verification of Complex Systems (4/15)
Specification
Behavioral Model
RTL Model
Gate-Level Model
Transistor-Level Model
D
E
S
I
G
N
V
E
R
I
F
I
C
A
T
I
O
N
Meet
Specifications?
Implement Behavior?
Equivalent?
Equivalent?
67 of
Verification of Complex Systems (1/15)
System-On-Chip (SoC)


68 of
Brief Introduction
Graduated with First Class Honors in Electronic and
Telecommunication Eng (1986)
Won the Presidential Scholarship (Sri Lanka) and a
Fulbright Fellowship (USEF), and undertook
graduate studies leading to M.Sc. (Microprocessor
Eng and Digital Electronics) (1989), Ph.D.
(Information Systems Engineering) (1992), at U.
of Manchester Inst of Sc and Tech, UK.
Employed as a faculty member (Information
Engineering) at Nanyang Technological University,
Singapore (1992-1999)
Served the industry in USA at senior technical and
management positions (1999 To date)



69 of
70
Center for High Performance Embedded
Systems (CHiPES), NTU, Singapore
CHiPES was established by the Nanyang
Technological University in April 1998 to
promote research and development in
embedded systems engineering using
state-of-the-art VLSI CAD tools and
technology.
71
Selected Research Projects
FPGA Based High Performance
Architecture for Move Generation in
Computer Chess
72
Selected Research Projects
Multiple Sequence Families with
Efficient Hardware Architecture for
use in Spread Spectrum
Watermarking for Multimedia
Game Tree Search on a Massively
Parallel SIMD Machine
Massively Parallel Implementation of
a Pattern Based Evaluation Function
for Computer Chess
Application
Specific
Digital
Systems -
Part 2
Slide - 73
Technology Comparison
Application
Specific
Digital
Systems -
Part 2
Slide - 74
Time to Market: Design Cycle
ASIC design cycle is longer compared to FPGA because
more time has to be spent on verification, timing closure
and prototyping.
Application
Specific
Digital
Systems -
Part 2
Slide - 75
Development Costs: Process Geometry
ASIC NRE cost is rapidly increasing with process improvements
while NRE is almost non-existent in FPGAs.
However, ASIC remains the preferred option only for very high
volume productions.
Application
Specific
Digital
Systems -
Part 2
Slide - 76
Time to Market: A Hybrid Approach
FPGAs can be used for a quick entry into the market
(FPGA-to-ASIC conversion can be done later)

The convergence of the ASIC and FPGA design methodology
makes it easy to adopt an FPGA first ASIC later approach.

RTL coding should be done with future FPGA-to-ASIC
transition in mind.
Application
Specific
Digital
Systems -
Part 2
Slide - 77
Upgradability
With FPGAs, it is possible to extend product life by
adding new features
Quick response to changing standards
Apply bug fixes by just downloading a new configuration
file to the device.
Application
Specific
Digital
Systems -
Part 2
Slide - 78
Application
Specific
Digital
Systems -
Part 2
Slide - 79
Typical
ASIC
Flow
Application
Specific
Digital
Systems -
Part 2
Slide - 80
Convergence of ASIC & FPGA Design Flows
Application
Specific
Digital
Systems -
Part 2
Slide - 82
Design Cycle Time
Source: NEC

Вам также может понравиться