Professional Documents
Culture Documents
0
l
, , , , .
. .
. .
. , .
l l
, , . .
. (Legal Code) .
Disclaimer
SW Design System Level Design HW Design Virtual Prototype Physical Prototype SoC in Silicon
System Integration
S y s te m -le v e l D e sig n
A r c h ite c tu r e E x p lo r a tio n
Block-level Design
HW-SW Co-Verification
Co-Simulation Co-Emulation FPGA Prototyping
Programming
S W D e sig n
H W D e s ig n
Methodology-Specific Libraries
Master/Slave Library, etc.
Layered Libraries
Verification Library Static Dataflow, etc.
Primitive Channels
Signal, Mutex, Semaphore, FIFO, etc.
SystemC
Core Language
Modules Ports Processes Interfaces Channels Events Event-driven simulation
Data Types
4-valued Logic type 4-valued Logic Vectors Bits and Bit Vectors Arbitrary Precision Integers Fixed-point types C++ user-defined types
sc_main( )
Elaborate
sc_start( )
Advance Time
Cleanup
.notify(t) timed
SystemC Model
Simulation
Refinement
Synthesis
Rest of Process
TLM
RTL
Functionality
Approximatetimed
TLM
TLM
Un-timed
SAM
TLM
More Accurate
Untimed
Approximatetimed
Cycletimed
Communication
- Not synthesizable - Event driven - Abstract data types - Abstract communication - Untimed
Timed model Explore architectures Do performance analysis Partition hardware / software Software Refine Hardware - Synthesizable - Algorithmic description - I/O cycle accurate - Clocked - Synthesizable - Clocked - FSM - Event driven
RTOS
Target code
RTL model
To synthesis
Design Specification
Design Partition
HDL Design
Simulation Verification
Synthesis
Behavieral
4 RTL
10 Gate
11
12
13
14
15
16
17
18
19
20
21
22
23
24
Structural Description
1 Processor Memory Peripheral interface Registers, ALUs, etc. Logic netlist, schematic Hierarchical Modules and Primitive instantiations 2 3
Behavioral Description
Procedural Assignment
View
Physical Description
Compiler
Assembly Programs
Assembler
Object Files
Static Library
Linker
Executable Program
Testbench
Reference Model Test vector Generator DUT
expected result
Postprocessor
test vector
actual result
Checker Monitor
Executable image
MEM
BFM
Cross-compiler Hardware model Application program Target dependent library Simulator ISS program
Perpheral models
...
(a) Core model co-simulation environment Interface (BFM) Real chip Reset of SoC model HDL simulator (b) Real-chip driven co-simulation environment Native code C program Interface (BFM) Reset of SoC model HDL simulator (c) Native-code co-simulation environment ISS Interface (BFM) Reset of SoC model HDL simulator Perpheral models Perpheral models Perpheral models
...
...
...
(d) Integrated-ISS co-simulation environment ISS C program Interface (BFM) Reset of SoC model HDL simulator (e) Decoupled-ISS co-simulation environment
M uP
Network processor
...
...
...
Perpheral models
Interface (BFM)
...
Perpheral models
Development board
...
S o c k e t lib ra ry
S o c k e t lib ra ry
a h b _ ta sk s
Testing routine
BFM API
socket
C program domain
Server srv_open(...);
Client
srv_accept(...);
cli_connet(...);
socket_get(...);
socket_put(...);
socket_put(...);
socket_get(...);
socket_close(...);
SystemC
ahb_read
. . .
DUT
ahb_write
payload_if
print ( );
payload_if
print ( );
Environment
Checker Monitor
Test
Environment 1
Environment 2
HW1
...
HW2
Environment
Checker Monitor
DUT
AMBA Signals
Register File
ALU
...
...
SystemVerilog top
ahb_decoder
HADDR HWDATA HRDATA
ahb_bfm interface
ahb_default_ slave
ahb_ s2m
DUT
m2s
Master2 HW2
DUT