Transcript 投影片 1
1
Presenter: Chun-Hao Wang
2020/4/27
ESL design and verification Virtual prototyping verification QEMU [1] SystemC RTL QEMU-System C [2][3] [6] [1] QEMU, a Fast and Portable [2] On the interface between QEMU and SystemC for hardware modeling [3] Dual-core virtual platform with QEMU and SystemC [4] SoC HW/SW Verification and Validation
2
[5] A Practice of ESL Verification Methodology from SystemC to FPGA [6] Standard Co-Emulation Modeling Interface (SCE-MI) Reference Manual [4] [5] FPGA prototyping verification
2020/4/27
3
There is an need for the EDA industry to meet the exploding verification requirements of SoC design teams. Existing standard verification interfaces were designed to meet the needs of design teams of over 10 years ago. A new type of interface is needed to meet the verification challenges of the next 10 years. SCE-MI 2.0 is a standard drafted by Accellera which consist of many members (ARM 、 Cadence 、 Synopsys 、 Nokia…). This standard extends the SystemVerilog Direct Programming Interface (DPI) since the traditional simulator APIs like programmable language interface (PLI) and VHDL PLI slow down emulators. The main components are Software side(C 、 SystemC…) 、 Hardware side(RTL 、 FPGA 、 ASIC…) and SCE-MI Infrastructure (as the physical bridge).
2020/4/27
4
Figure 1. SCE-MI Architecture
2020/4/27
5
un-timed simulation environment with a cycle accurate simulation environment.
Figure 2. Hardware Side control clock
2020/4/27
C Side generate the testbench to HDL Side
6
Figure 3. HDL/C function call example
2020/4/27
7
PC bridge and FPGA bridge is required The MDK-3D and Workstation are communicate by TCP/IP socket FPGA FS MDK-3D PC bridge TCP/IP socket Coware testbench FPGA bridge B U S VS (SystemC) PM (RTL) Workstation
2020/4/27
8
FPGA bridge handle following event Bus read/write VS VOB read Clock information(align the FPGA clock) Socket Message send/receive VOB Socket message FPGA bridge B U S VS clock
2020/4/27
9
Need on-board Linux support to handle socket Linux run a service loop handle the message from socket to PC bridge Need a device driver to control PC bridge(mmap) FS FPGA cclock PC bridge MDK-3D B U S ARM11 Service loop Linux TCP/IP socket
2020/4/27
10
S/W H/W Root file System 3D Graphics TestBenches API(GLES2.0) Compiler Linux Kernel 2.6.28
3DG ES1.0device driver ARM Versatile platform baseboard Memory VIC ARM1136 SYSBUS PL110 LCD SC bridge (C/C++) QEMU IPC handshake Shared memory Patten Result QEMU bridge (SystemC) A H B VS (SystemC/RTL) FS (SystemC/RTL) Synopsys(CoWare) Platform Architect Pattern Result Testbench IP (SystemC) A H B VS (SystemC/RTL) FS (SystemC/RTL) Synopsys(CoWare) Platform Architect
2020/4/27
11
This standard support the co-emulation extended from SystemVerilog Testbenches not need changing between simulation and emulation.
Logic bug will be found in early stage.
This verification can be run on non-bus environment.
2020/4/27
12 2020/4/27