slides

advertisement
Workshop - November 2011 - Toulouse
Plan
 Socket Process & Airbus application
 First Phase :
 Models Development
 Platform Integration (Hw/Sw)
 Second Phase :
 ISS Open Source alternatives
 Conclusion
Workshop - November 2011
2
Plan
 Socket Process & Airbus application
 First Phase :
 Models Development
 Platform Integration (Hw/Sw)
 Second Phase :
 ISS Open Source alternatives
 Conclusion
Workshop - November 2011
3
SoCKET process
Classical process
 Formalism unification
Co-design process
System Specifications
System Specifications
 Remove any semantics holes
Executable Specification
(system level simulation)
HW/SW
Partitioning
Alternate architectures
exploration
into HW/SW interface
SW Design
HW Simulation
SW Simulation
HW Synthesis
(netlist)
SW Compilation
(code binaire)
Unit Tests
Modules Unit Tests
HW Synthesis
(netlist)
SW Compilation
(binary code)
Equipment Tests
SW Validation Tests
Unit Tests
Modules Unit Tests
Equipment Tests
SW Validation Tests
 Models transformation
operators
 Automation
 Traceability
 Overall coherency insurance
HW/SW
Partitioning
HW Design
 Tools interoperability
 Keystone of 2 previous points
HW/SW Integration
Workshop - November 2011
HW Design
SW Design
HW Simulation
SW Simulation
TO
HW/SW
co-simulation
HW/SW Integration
4
Socket Design Flow
System requirements
System
Properties
Global SoC spec.
Platform
assembly
HW
Properties
IP-Xact
SoC
Functionality
Functionality
+
timing
HLS
SoC
Architecture
TLMLT
Metrics
Requirement traceability
Metrics
HLS
Functional validation
Traffic
generators
Header
generation
C/C++/ASM
Software
SW Performance validation
Software
RTL
Co-simulation/Co-emulation
Software
Silicon
Device execution
Software
TLMAT
Workshop - November 2011
SW
Properties
Instruction Set
Simulator
Socket Design Flow
System requirements
System
Properties
Global SoC spec.
Platform
assembly
HW
Properties
IP-Xact
SoC
Functionality
Functionality
+
timing
HLS
SoC
Architecture
TLMLT
Metrics
Requirement traceability
Metrics
HLS
Functional validation
Traffic
generators
Header
generation
C/C++/ASM
Software
SW Performance validation
Software
RTL
Co-simulation/Co-emulation
Software
Silicon
Device execution
Software
TLMAT
Workshop - November 2011
SW
Properties
Instruction Set
Simulator
Main Topics
• Architecture description (Coware, Magillem)
• Components and platform description
• Code generation (makefile, netlist, etc.)
• SystemC/TLM LT virtual platform evaluation
• Hardware requirement validation
• Early software development
1st Phase
2nd Phase
• Functional safety
• assertion based verification (PSL)
• Monitors/checkers generation (ISIS)
• Certification
• Requirement traceability
Workshop - November 2011
7
Plan
 Socket Process & Airbus application
 First Phase :
 Models Development
 Platform Integration (Hw/Sw)
 Second Phase :
 ISS Open Source alternatives
 Conclusion
Workshop - November 2011
8
st
1
Phase
• Study Case specification
• Coware tool experiment
• SystemC TLM-PV models development
• tsip, sgdma, timer, and uart modules
• ARM Coware/Synopsys cpu model
• Models and virtual platform validation with specific software
• Application software development on virtual platform
Workshop - November 2011
9
st
1
Phase
• Plateform assembly with Coware
Workshop - November 2011
10
st
1
Phase
• Simulation and results
Workshop - November 2011
11
st
1
Phase
• Hardware validation team feedback
• Debug hardware behaviour with software tools
•
•
•
Halt and Resume
• Freeze and Restore real time processing
100% Visibility & Control
• State machines
• Variables
• Buses
Tracing and logging
• Golden Reference Platform
•
Consolidate platform evolution
• Early validation of specifications
Workshop - November 2011
12
st
1
Phase
• Application software team feedback
• Develop & Validate low level software sooner
• Debug software with same tools than real platform
•
•
One time tool ramp-up
Debugging real world “utilities” (parsers, compilers, debugger scripts
...)
• Mixed Hardware/Software Breakpoints
•
•
•
SW : instruction / data | HW : event / signal / bus data
Freeze & Restore real time execution
Get visibility not available on real SoC platform
Workshop - November 2011
13
nd
2
Phase Motivation
 End of Coware tool experiment
 Need to find CPU Model
 Need to find Bus Model
 Need a way to rebuilt the platform
 Need to implement traceability in SystemC models
IP-XACT in the design flow for embedded airborne electronic equipment
development
 Need to add monitors in the platform to increase
safety
ABV in the avionics context: verification of safety requirements
Workshop - November 2011
Plan
 Socket Process & Airbus application
 First Phase :
 Models Development
 Platform Integration (Hw/Sw)
 Second Phase :
 ISS Open Source alternatives
 Conclusion
Workshop - November 2011
15
nd
2
Phase
• Investigation for ARM Coware model replacement
• ISS generator Trap-gen
• TLM2 compatible bus model development
• Magillem tool experiment
• Components IP-XACT description
• Platform Assembly
• Code generation from IP-XACT files
•
•
•
Netlist SystemC
SystemC skeleton compatible with SCML2 Library
Makefile to compile platform
• Traceability
• Safety, SystemC monitors generation with ISIS Tool (TIMA)
Workshop - November 2011
16
nd
2
Phase
SystemCLT Model
SystemC
Skeleton/Makefile
/Netlist
PSL properties
ISIS
Template
JET
Generator
IP-XACT
desc.
Magillem Packager
Monitor/
Generator
IP-XACT desc.
Magillem PLT Assembly
Magillem Generator Studio
Template
JET
Generator
IP-XACT
desc.
SW dev
HAL
debugger
Magillem Register View
Validation
Fonctionnelle
Workshop - November 2011
17
ISS alternative : Investigation
• ISS needs :
• Open source Licence
• Moderate performance
• OSCI TLM2 Sockets
• Low virtual platform integration effort
• Support GDB debugger
• Active devellopement
• Investigations :
• QEMU
• OVP
• ORK1SIM
• TRAP-GEN
Workshop - November 2011
18
ISS alternative : QEMU
 http://wiki.qemu.org/Main_Page
 From ST Webex :
 Major breakthrough with 0.13
 The libqemu.a no longer exists (not built, and API obsolete)
 The License is not clear (GPL/LGPL)
 Memory must be internal to QEMU (performance)
 Wrapping in TLM needs modifications inside QEMU
 Complex TLM platform not easy to connect to QEMU
Workshop - November 2011
19
ISS alternative : OVP
 http://www.ovpworld.org/
 Open Virtual Platform
 A lot of models : ARM, MIPS, PowerPC, SPARK
 Support TLM2 sockets
 Support GDB
 Can boot linux
 Open source models but simulator is only free for non commercial
use.
Workshop - November 2011
20
ISS alternative : Ork1sim
 www.embecosm.com :
 Application note : Building a Loosely Timed SoC Model with OSCI






TLM 2.0: A Case Study Using an Open Source ISS and Linux 2.6
Kernel
Tutorial based on Or1ksim ISS
http://opencores.org/openrisc,or1ksim
Implement TLM2 Sockets
Support GDB remote debugger
Support temporal decoupling
Can boot Linux
Memories inside ISS
Workshop - November 2011
21
ISS alternative : Trapgen
 http://code.google.com/p/trap-gen/
 LGPL open source Licence
 Generate multiple ISS from one architecture specification
Workshop - November 2011
22
ISS alternative : Trapgen
• Generated ISS
• OSCI TLM2 Sockets interface
• Use SystemC scheduler
• OS Emulator (system calls redirection)
• Just in time compilation
• Support interrupt modeling
• Support GDB interface
• Support multiprocessing
• ISS examples : LEON 2/3, ARM 7/9, Microblaze
• Drawbacks :
• No cache or MMU models
• Not a lot of feedback, but active development (LEON3)
Workshop - November 2011
23
ISS alternative : Trapgen
 ARM9TDMI Model Selected
 Source code modification needed
 Interrupts IRQ ,FIQ port activation
 CPU mode changing instruction bug
 Register definition bug
 Generated ISS Interrupt ports uses SystemC/TLM sockets
 Need to modify timer, sgdma irq ports.
 Custom ISS development possible with minimum effort
Workshop - November 2011
24
Plan
 Socket Process & Airbus application
 First Phase :
 Models Development
 Platform Integration (Hw/Sw)
 Second Phase :
 ISS Open Source alternatives
 Conclusion
Workshop - November 2011
25
Global Results
• Productivity gain
• Early hardware architecture validation
• Early software development
• Easy platform duplication and distribution (executable file)
• Complexity management
• Better observability than real platform
• HW/SW CoDebug
• Safety and certification credit improvement (ex : fault injection)
• Virtual Prototyping not Only for SoC technologies BUT also for Embedded
Computer development
• Data perenity
• Use of standard : SystemC/TLM, IP-XACT, PSL
• Potential bridges others languages, as SysML, SystemVerilog
Workshop - November 2011
26
Any Questions ?
Workshop - November 2011
27
SoCKET design flow
System requirements
System
Properties
HLS
HW
Properties
Platform
assembly
Functionality
Functionality
+
timing
HLS
Metrics
TLMLT
TLMAT
RTL
Silicon
SoC
Architecture
IP-Xact
SoC
Requirement traceability
Global SoC spec.
Metrics
Traffic
generators
SW
Properties
Header
generation
Functional validation
SW Performance validation
Co-simulation/Co-emulation
Device execution
Workshop - November 2011
C/C++/ASM
Software
Software
Instruction
Set
Simulator
Software
Software
28
SoCKET design flow
System requirements
System
Properties
HLS
HW
Properties
Platform
assembly
Functionality
Functionality
+
timing
HLS
Metrics
TLMLT
TLMAT
RTL
Silicon
SoC
Architecture
IP-Xact
SoC
Requirement traceability
Global SoC spec.
Metrics
Traffic
generators
SW
Properties
Header
generation
Functional validation
SW Performance validation
Co-simulation/Co-emulation
Device execution
Workshop - November 2011
C/C++/ASM
Software
Software
Instruction
Set
Simulator
Software
Software
29
Download