ARM Based SOC Design and Verification - TVS | Test and
Transcript of ARM Based SOC Design and Verification - TVS | Test and
1 7 July 2008
Test and Verification Solutions
ARM Based SOC Design and Verification
2 14 March
2013
2 7 July 2008
Agenda
• System Verification Challenges
• ARM SoC DV Methodology
• ARM SoC Test bench Construction
• Conclusion
• Q&A
3 14 March
2013
3 7 July 2008
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.
4 14 March
2013
4 7 July 2008
ARM Based SoC Architecture
ARM Core
ARM Interconnect
TIMER
PLL
Boot Config
ARM Boot ROM
Debug & Trace
DMAController
Memory SubSystem
External Bus Interface
High Speed
Pheripheral
Bridge UART
I2C
GPIO
Low Speed Pheripheral
Test I/F Controller
On Chip Memory
DDR Cntrl SRAM Cntrl
5 14 March
2013
5 7 July 2008
ARM SoC DV Methodology
This session describe the current verification methodology
used in SoC verification.
Formal Verification
Hardware Software Co Verification
FPGA Prototyping
6 14 March
2013
6 7 July 2008
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 14 March
2013
7 7 July 2008
Formal Verification
• Typical Formal Verification Flow-1
ARM Core
ARM Interconnect(PL301)
IP IP
8 14 March
2013
8 7 July 2008
Formal Verification
• Typical Formal Verification Flow -2
ARM Core
ARM Interconnect(PL301)
IP
Master side Port
binding
Slave side Port binding
Model
Checking
engine
Score
Board
9 14 March
2013
9 7 July 2008
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.
10 14 March
2013
10 7 July 2008
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;
11 14 March
2013
11 7 July 2008
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"
12 14 March
2013
12 7 July 2008
Formal Verification
Limitations of Formal
Size limit
Not always feasible
Good for control checking but not for data
13 14 March
2013
13 7 July 2008
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.
14 14 March
2013
14 7 July 2008
Hardware Software Co-Verification Flow
SW Tools
(Compiler, Linker,
Debugger)
Software Environment Hardware Environment
Executable Object
file DUT
HDL Simulation
Tools
Memory Model
Output for debugger
tools
15 14 March
2013
15 7 July 2008
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.
16 14 March
2013
16 7 July 2008
FPGA Prototyping
• Microprocessor evaluation board with logic simulation
Microprocessor
evaluation board
BF
M
Logic Simulation
With Hardware
Design
Inter-Processor
Communication
(socket)
Bus Transaction
read/write
17 14 March
2013
17 7 July 2008
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.
18 14 March
2013
18 7 July 2008
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
Resets
clocks
other Pins
Emulation Pins
SoC Verification Env
DUT
TB configuration
ARMCore
ARMCore
ARMCore
Active BFMActive BFMActive BFM
Active BFMActive BFMPassive BFM
TB
19 14 March
2013
19 7 July 2008
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.
20 14 March
2013
20 7 July 2008
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.
21 14 March
2013
21 7 July 2008
Q&A
Q&A