Using Fpga Prototyping Board As An Soc Verification and Integration Platform
Using Fpga Prototyping Board As An Soc Verification and Integration Platform
Abstract
Size of new designs has grown so much that it easily allows
creation of the entire system containing microprocessor unit
and peripherals on one chip. Verification of such designs can
no longer rely on software only, since simulation of MPU does
not allow fast enough testing of application software and formal
tools handle system hardware only.
The use of FPGA-based prototyping boards creates fast and
economical solution to this problem. This paper presents one
practical implementation of Prototyping Board Verification and
Integration Platform.
Using FPGA Prototyping Board as SoC Verification and Integration Platform
Table of Contents
Using FPGA Prototyping Board as SoC Verification and Integration Platform ....................................................... 1
Abstract ........................................................................................................................................................ 1
Table of Contents ................................................................................................................................................ 2
Transaction Level Modeling (TLM) in SoC design flow. ...................................................................................... 3
Architecture analysis .................................................................................................................................... 3
Functional verification ................................................................................................................................... 4
Hardware and software integration .............................................................................................................. 4
Transaction Level Modeling (TLM). ................................................................................................................. 4
System Architects ......................................................................................................................................... 5
Software Developers .................................................................................................................................... 5
Hardware Designers ..................................................................................................................................... 5
Verification Engineers................................................................................................................................... 5
Functional Verification of RTL with TLM .............................................................................................................. 5
SCE-MI Standard for Building Transactors ...................................................................................................... 6
Transaction Level (TL) Testbench with SCE-MI and HDL Co-Simulation ....................................................... 7
Hardware Software co-verification with RTL ....................................................................................................... 7
Mapping ASIC to FPGA Prototyping Board ..................................................................................................... 8
Debugging SoC Emulated on FPGA Board ..................................................................................................... 9
Memory Debugging ...................................................................................................................................... 9
Processor Debugging ................................................................................................................................. 10
SoC Hardware Debugging ......................................................................................................................... 11
Summary............................................................................................................................................................ 12
About HES™ ..................................................................................................................................................... 13
About Aldec, Inc. ................................................................................................................................................ 13
Embedded
Software
Interrupt
Arbiter
Controller
Functional verification
Functional verification assures that the SoC implementation is compliant with ASIC specification, usually
available as a written paper document. Thus, verification engineers not only have to prepare test harness and
test scenarios but also determine expected results – everything based on written specification documents. This
is a tedious and time consuming task that explodes with growing complexity of SoC. It is not unusual that the
functional verification takes from 50% to 70% of SoC design schedule.
Hardware and software integration
The traditional design flow postpones hardware and software integration until the ASIC prototype is ready. With
constantly shrinking time-to-market requirements this is significantly too late. If some hardware bugs are
identified during software integration phase then it is usually too late for hardware changes. In order to avoid
costly re-spins designers have to find sophisticated software workarounds, quite often sacrificing system
performance or some functions that could be key differentiators for their product. It is highly desirable to start
hardware software integration and co-verification much earlier.
SoC Architects
* Architecture Analisys
* HW/SW Partitioning
Verification Engineers
* Test harness
* Test scenarios
* TLM provides expected
response
System Architects
The first team that interacts with SoC TLM (or even is involved to build) is the SoC Architects group. They
explore system architecture and finally provide a stable TLM model of hardware with hooks for software
developers. Thus, hardware software partitioning is well defined right after TLM model is ready. System
architects are able to evaluate initially SoC performance and propose optimum system architecture. Later when
software team provides embedded code, system architects can validate system parameters and their
assumptions in the TLM model.
Software Developers
These people have a complete yet accurate system model to run their software much earlier in the design cycle
comparing to classic flow where they had to wait until ASIC prototype is available.
Hardware Designers
As soon as hardware/software partitioning is determined hardware designers start RTL implementation. The
TLM provides high level hardware specifications and parameters that are a guideline to further elaborate
hardware structure. Throughout RTL development the TLM serves as a reference model for hardware
designers.
Verification Engineers
Having an executable specification is very beneficial also for verification engineers that can develop test
scenarios and simultaneously run tests to generate expected response i.e. “golden results”. This way they avoid
a time consuming development of testbench models that would generate expected response.
As a result of parallel development, centralized around TLM, the SoC components and verification environment
are ready much earlier and all components are consistent as they derive from common TLM model.
SoC
Test TLM Model
Monitor
Driver
+
Embedded Software
SoC
Test
Transactor
RTL Model Transactor Monitor
Driver
+
Embedded Software
Figure 4: SoC RTL Co-Simulation with transactors.
TransmitReady TransmitReady
SceMi SceMi
ReceiveReady
Out In ReceiveReady
Message Message
Port Message Message Port
Transactor
SceMi
In/Out Transactor
Message Core
Ports
The transactor is implemented as VHDL or Verilog module. It is also important to design transactors or more
precisely its Transactor Core part as a synthesizable RTL. This would enable running entire SoC together with
transactors in a hardware prototyping board.
The SCE-MI reference manual defines also C++ API that can be used inside SystemC testbench to access
SceMi Message Ports in HDL transactors. The API provides read and write methods to transfer messages
between the TL testbench and the SoC RTL model. The EDA vendor that provides a SCE-MI compliant
infrastructure assures proper communication of SystemC testbench with the HDL design.
SCE-MI
SCE-MI
Proxy
Test Proxy
For Monitor
Driver SCE-MI API For
Test
Monitor
Driver
SCE-MI
Simulation
plugin
SoC
Transactor
RTL Model Transactor
+
Embedded Software
powerful TLM methodology at the final SoC integration stage, it is desirable to employ a solution faster than
HDL simulation.
Traditional emulation systems might help here but these are very expensive resources, frequently not available
in the company or reserved for another projects. Aldec comes with another idea of reusing typical FPGA
prototyping boards for emulation purposes. An example of such a board would be one from the Dini Group
portfolio (Figure 7). It provides about 24 million ASIC gates capacity.
Memory Debugging
The first two requirements are fulfilled by Aldec's HW Debugger tool that comes in package with DVM software
(Figure 9). It allows viewing or even modifying on-chip memory contents during emulation. If you have mapped
any design memories using DVM tool, during design setup, you would be able to browse such instances in HW
Debugger to view or modify their contents. HW Debugger communicates with the emulator via MMU API. This
API is a C/C++ API and is also available for user. Aldec customers typically use MMU API in their TL testbench
to initialize memory contents at the beginning of emulation.
Figure 10: ARM® CPU core debugging with Lauterbach tools and SoC emulated in FPGA.
The ARM® core natively supports an adaptive clock of JTAG port with the RTCK feedback. This mode resolves
a common issue with synchronization between emulation and external debugging instruments. The above
configuration obtained easily and without any additional development effort was a perfect platform for software
developers that could interact with a real hardware of complete SoC when integrating low level drivers as well
as booting RTOS and user applications.
SoC Hardware Debugging
Even though software developers would occupy the emulation platform most of the time it is also required to
have some generic hardware debugging capabilities. This is especially true if running software tests would
trigger hidden hardware bug. Such a situation is hard to repeat in HDL simulation or TLM / HDL co-simulation
environment, so hardware debugging is indispensable. Unfortunately, vendors of FPGA prototyping boards do
not provide convenient tools for debugging. Traditionally, hardware designers had to tackle with logic analyzers
connected to the board or in the best case on-chip logic analyzers supplied by FPGA vendors. Both tools
provide limited control and visibility to the design.
Aldec addresses this disadvantage with complementary HW Debugger tool. The tool provides both static and
dynamic debugging increasing design visibility to the level which was available only in expensive classic
emulation systems. These are highlights of Aldec's HW Debugger:
Hardware Breakpoints
It is possible to set hardware breakpoint in a similar way as setting static debugging triggers. When the
breakpoint was hit the emulator is stopped waiting for user interaction. For example you can enable capturing of
dynamic debugging probes or add more signals for capturing.
Summary
Transaction Level Modeling is new and promising methodology. It solves many problems in design and
verification of complex SoCs. The major benefit is integration of different design teams around a common TLM
model of SoC, which can be created quickly at the beginning of design flow. Next the TLM model of SoC is used
as a golden reference model by hardware architects, software developers, hardware designers and verification
engineers. This allows starting SoC integration phase much earlier and finally cut the total design and
verification time.
The TLM model speeds up SoC software development and testing, however the integration is not complete until
all the software is run in target hardware environment. Real time hardware/software co-verification is not
possible in HDL simulation environment because of low execution speed. The two other options are either wait
for ASIC prototype or use classic emulation box.
Waiting for ASIC prototype or using classic emulation systems might be too expensive. Thus many design
teams seek for incorporating FPGA platforms to run their designs and finally integrate SoCs hardware and
software.
Aldec provides a unique solution to support those engineers. With DVM tool the SoC can be translated
automatically to the multi-FPGA emulation. With SCE-MI interface and infrastructure provided with DVM,
emulation can be connected to existing TL Testbench. Additional tools like HW Debugger fill the gap in FPGA
board debugging capabilities. A complete TLM + RTL co-emulation and hardware/software co-verification
environment is shown on Figure 12.
Figure 12: Complete SoC Hardware/Software co-verification environment with TLM and FPGA emulation.
About HES™
HES ™ is a patented in-circuit and transaction-level Hardware Emulator. HES-Emulator can handle large,
complex ASIC, SOC and FPGA designs, up to 32Million ASIC gates. HES-Emulator uses hardware boards
from Synopsys® HAPS™, The Dini Group or Aldec and includes Transaction Level Modeling (TLM),
SystemC/C/C++ and SCE-MI for fast-logic emulation. The Aldec advantage includes: automated design setup,
clock conversion and design partitioning for ultra-fast debugging using brand-leading tools such as Xilinx®
ChipScope™, SpringSoft® Verdi™, Siloti™. The product feeds selected test points from Synopsys® or The
Dini Group hardware supporting Altera® and Xilinx® FPGA devices, into waveform viewers of leading
simulators including Active-HDL™, NC-Sim®, ModelSim®, Riviera-PRO™, VCS® and can accelerate ANY
simulation performance 10Xor more. HES ™ is patented with HES™ Hardware Embedded Simulation
technology, Technology Patent no. 5,479,355 and 7,003,746. For additional product information, visit
http://www.aldec.com/products/hes