Professional Documents
Culture Documents
Laurent VUILLEMIN
Platform Compile Software Manager
Emulation Division
Agenda
What is Emulation
Use models
Veloce Software
What is Emulation
Use models
Veloce Software
Software
Systems
Debug
© 2010 Mentor Graphics Corp. Company Confidential
4 www.mentor.com
Typical Development Cycle
Hardware
Hardware
Development
Development Fab
System Integration
Software Development
Time to
Market
Design Cycle
© 2010 Mentor Graphics Corp. Company Confidential
5 www.mentor.com
Typical System Development
System Integration
Software Development
Time to
Market
Design Cycle
© 2010 Mentor Graphics Corp. Company Confidential
6 www.mentor.com
Software Simulation
Data Structures
output [3:0] dout
reg [3 : 0] dout;
Compute and
always @ (posedge ck)
begin
if ( en ==1 )
propagate signal
dout = dout+step;
end
endmodule
values
RTL Model
Test bench
© 2010 Mentor Graphics Corp. Company Confidential
7 www.mentor.com
Clock Speed Scaling Stalls
Emulation Required
to Extend Performance
Source: Recording Microprocessor History 4/6/2012 Andrew Danowitz, Kyle Kelley, James Mao,
John P. Stevenson, Mark Horowitz http://queue.acm.org/detail.cfm?id=2181798
© 2010 Mentor Graphics Corp. Company Confidential
www.mentor.com
Emulation
Logic
Post Silicon
Bringup and
Systems Validation
Validation
Software,
Firmware &
Fullchip/SoC Device
Verification Drivers
Block-level
Verification
Architecture
Phase
What is Emulation
Use models
Veloce Architecture Overview
Veloce Software
Embedded SW Debugger
Arbiter
External
Hardware
Cables
DUT
Live
Traffic
iSolve
Ethernet
Testbench
PCI E 1/2
DUT
X-actor
Testbench divided in 2 parts
AGP 1/2
X-actor
one in emulator the other in
Transactions Station
USB 1/2
X-actor
Communication via
1/2 X- transactor
actor
High-speed
Interface
Software Hardware
© 2010 Mentor Graphics Corp. Company Confidential
15 www.mentor.com
Veloce Use Models
Simulation Acceleration
OVM/UVM SystemVerilog C/SystemC
Accelerated Transactors
Co-Model Channels
SW Debug
Testbench Xpress
Codelink VProbe Fast ISS QEMU
Software Debug
iSolve Solutions
What is Emulation
Use models
X 16
X 64
16 AVB2
+ 6 SXB (Switch boards)
+ 1 CXB (clock board)
What is Emulation
Use models
Veloce Software
— Compile Software
— Runtime Software
Low
User Compile Configuration Runtime
Level
SW SW
design bitstream SW
RTL
Gate netlist
Partitioning in Crystal
Sytem Routing
Platform Compile
Crystal Place and Route
Ressource Allocation
Bitstream
Mainten Ressour
ance ce
Server Server
Runtime Emulator
Server Host
Server
LLSW
User Message Bus
Visibility
UI
Server
What is Emulation
Use models
Veloce Software
Complex system
— ASIC
— FPGAs Firmware
— Mutliple software components
Verifying all component of the system and their
interactions
Time to get a bug
Size :
— Detailed model of a full Emulator of next generatio will not fit in
current generation
Control
Commands
Control
Transactor Control Control
Software Chip
Crystal Crystal
Veloce Control Bus
Emulator
Crystal
Emulation Model
Trace Capture, Trace Control and DDR Controler are Accurate models
Design is a gate level netlist generating random data
Data are either manually generated or come from actual compile
Run million cycles on multiple designs
Bitstream
Transac Configuration
Comodel SW tor
Control
Block
LLSW
Bitstream
reader Macro Block
Veloce
Comands
Crystal
Emulation Model
Data multiplexed
on serial link
Virtual Wire Virtual Wire
Control Control
Logic Logic
Crystal Crystal
Trans Control
Actual LLSW Comodel SW actor Chip
Control Control
VW Block VW Block
Crystal Crystal
Emulation Model
AVB Level
System Level
reduction
reduction
FPGA
AVB Level FPGA
reduction
Trigger Trigger
Logic FPGA Logic CXB
Trigger Trigger
Logic Macro Block Logic Macro Block
Crystal Crystal
Macro Block Macro Block
AVB
Crystal Crystal
AVB
Trigger
binary Transac
Comodel SW Control
AVB Level
tor
reduction
System
FPGA Level
reduction
Trig Trig
FPGA
ger ger
Logi Logi
c c
AVB Level
SW translator reduction CXB
Macro Macro
FPGA
Block Block
Crystal Crystal
Trig Trig
ger ger
Logi Logi
c c
AVB
Macro Macro
Block Block
Comands AVB
Emulation Model
Runtime
Server Comodel SW
Design