Sunteți pe pagina 1din 21

Test and Verification Solutions

ARM Based SOC Design and Verification

7 July 2008 1
Agenda

• System Verification Challenges


• ARM SoC DV Methodology
• ARM SoC Test bench Construction
• Conclusion
• Q&A

7 July 2008
14 March 2
System Verification Challenges

High Potential Bug Areas in SoC


 Unexpected access conflict between the shared resources.
 Complexities arising out of interaction between subsystems
which were verified stand alone.
 Cache coherency in multi-core system.
 Interrupt connectivity and Priority scheme.
 Arbitration priority related issues and access dead-locks.
 Unexpected HW/SW sequencing.
 Exception handling conflicts and priority scheme.
 Multiple power domain region, clock domain crossing.
 Multiple reset and clock region.
7 July 2008
14 March 3
ARM Based SoC Architecture

Debug & Trace

Test I/F
ARM Boot ROM Controller

ARM Core
Boot Config
High Speed
Pheripheral

PLL

External Bus
Interface
TIMER

ARM Interconnect

Memory SubSystem On Chip


Memory Bridge UART
DMA
Controller DDR Cntrl SRAM Cntrl

I2C

GPIO

Low Speed
Pheri pheral

7 July 2008
14 March 4
ARM SoC DV Methodology

This session describe the current verification methodology


used in SoC verification.

 Formal Verification

 Hardware Software Co Verification

 FPGA Prototyping

7 July 2008
14 March 5
Formal Verification

 Formal verification is a systematic process that uses


mathematical reasoning to verify the design.
 Formal verification works algorithmically and
exhaustively explores all possible input values over
time.
 It is sometimes difficult to figure out how stimulate the
design or create multiple scenarios to high
observability to do that formal will come into the
picture.

7 July 2008
14 March 6
Formal Verification

• Typical Formal Verification Flow-1

ARM Core

ARM Interconnect(PL301)

IP IP

7 July 2008
14 March 7
Formal Verification

• Typical Formal Verification Flow -2


ARM Core

Master side Port


binding

Model
ARM Interconnect(PL301)
Score
Checking
engine Board

Slave side Port binding

IP
7 July 2008
14 March 8
Formal Verification

• Below is the technique to verify the AXI interface


using formal verification tools
– Construct the CSV file to describing the registers.
– Runs the conversation script to generate the SVAs.
– Bind the proof kit to DUT, run the tools to read DUT and
SVAs.
– Prove and Analyse the tool results and logs.

7 July 2008
14 March 9
Formal Verification

Property Check
• Develop a formal specification of the AXI protocol.
Various kinds of components
>1 Masters
Slave(s)

Example:-
property (@(posedge ACLK) disable iff (!ARESETn)
(ARVALID) |=>##n ( RVALID);
End property;

7 July 2008
14 March 10
Formal Verification

• Example: Connectivity/Integrity check

connect {clk_in} "CORTEX.CLK" \


connect {clk_out} "SOC.CLK" \
… …
… …
… …
connect {valid_in} "CORTEX.AWVALID &&
CORTEX.AWREADY“ \
connect {valid_out} "SOC.AWVALID &&
SOC.AWREADY"

7 July 2008
14 March 11
Formal Verification

Limitations of Formal

 Size limit

 Not always feasible

 Good for control checking but not for data

7 July 2008
14 March 12
Hardware Software Co Verification

 In SoC verification, co-simulation provide the facility to


verifying hardware and software functionality together.

 The ability to achieve first silicon and first software


success relies on the capabilities of a verification
environment to support full-system hardware/software co-
verification.

 Software engineer to access hardware design to integrate


software functionality with hardware.

 Hardware engineer by providing additional stimulus.

7 July 2008
14 March 13
Hardware Software Co-Verification Flow

Software Environment Hardware Environment

SW Tools
(Compiler, Linker,
Debugger) HDL Simulation
Tools

Executable Object
file DUT

Memory Model

Output for debugger


tools

7 July 2008
14 March 14
FPGA Prototyping

 It allows faster simulation and close to real time operation


performance which would help in identifying bugs.

 Comprehensive Verification, Integrated hardware-software


testing.

 Provides rapid debug capability through JTAG and


specialized debug infrastructure which is built in to the
FPGA.

7 July 2008
14 March 15
FPGA Prototyping

• Microprocessor evaluation board with logic simulation

Inter-Processor
Communication
(socket) Logic Simulation

BFM
Microprocessor
With Hardware
evaluation board
Design
Bus Transaction
read/write

7 July 2008
14 March 16
FPGA Prototyping Limitations

•Many FPGAs are required for SoC partitioning, leading to prototype


system complexity

•Only synthesizable modules can be mapped into an FPGA and run for
debugging.

•Unable to partition multiple clocks and reset trees.

•FPGA provides limited debug capability and visibility during single


iteration and hence multiple iterations may be required to narrow down to
the specific bug.

7 July 2008
14 March 17
ARM SoC Test Bench Construction

• The system verification environment planned in a way


such that it is able to classify the functionality in terms of
active and passive components

SoC Verification Env

Emulation Pins
TB
ARM
ARM
ARM TB
Core
Core configuration
Core other Pins

Active
ActiveBFM
ActiveBFM
BFM
Resets
DUT
Active
ActiveBFM
BFM
clocks Passive BFM

7 July 2008
14 March 18
Active component
An active component can be synthesizable or behavioral,
typically modeling functionalities required for supporting
the DUT. Active component can interact with DUT and
influences behavior of DUT.

Passive component
Passive components are observers in Test bench which
does not influence DUT behavior. Passive component are
usually behavioral model, extracting information and
validating the correctness of design behavior.

7 July 2008
14 March 19
Conclusion

As with the growing complexity of SoC designs,


verification strategies should evolve and mature
enough to handle the complex challenges of identifying
bugs and functional issue. A robust verification
environment planning which starts as early as the
design phase coupled with thoughtful usage of latest
tools and verification technologies, which help in
achieving the desired quality objective.

7 July 2008
14 March 20
Q&A

Q&A

7 July 2008
14 March 21

S-ar putea să vă placă și