600 likes | 724 Views
Paper Discussion Reim Doumat & Thomas Watteyne « Simulation of Soc Architectures ». « Overview of the Ptolemy Project » Jul. 2003 « Modeling and Simulation Issues of Programmable Architectures » Mar. 2001
E N D
Paper Discussion Reim Doumat & Thomas Watteyne « Simulation of Soc Architectures »
« Overview of the Ptolemy Project » Jul. 2003 « Modeling and Simulation Issues of Programmable Architectures » Mar. 2001 « Rapid System-Level Performance Evaluation and Optimization for Application Mapping onto SoC Architecures » Oct. 2002 « Modeling and Simultaion of Embedded Processors Using Abstract State Machine » Mar. 2001
General Overview Introduction to Modeling, Design and Simulation “Rapid System-Level Performance Evaluation and Optimization for Application Mapping onto SoC Architectures” “Modeling and Simulation of Embedded Processors Using Abstract State Machines”
Part I Introduction to Modeling, Design and Simulation
Overview • Introduction • Machine and Hardware Description Languages, the LISA example • Models of computation, the Ptolemy example
Introduction • Push-pull effect • Definitions • MDL, HDL • Computation Models The push-pull effect Designer productivity New applications Semiconductor technology !! System complexity Time-to-market
Introduction • Push-pull effect • Definitions • MDL, HDL • Computation Models The push-pull effect • productivity • re-usability • flexibility In embedded system design Effective design phase
Introduction • Push-pull effect • Definitions • MDL, HDL • Computation Models Definitions • Modeling : representing an architecture (mathematical model, constructive model) • Design : defining an architecture • Simulation : executable model
Introduction • MDL, HDL • Why LISA ? • Overview • LISA • Validation • Computation Models Why LISA ? ASIC, DSP… processors Language for Instruction Set Architecture Electronic systems Programmable Architecture • Code generation and simulation tools : • simulator • assembler • linker • graphical debugger
User Application Operating System Hardware (processor) • Introduction • MDL, HDL • Why LISA ? • Overview • LISA • Validation • Computation Models Programmable Architecture overview ex: POSIX Machine Description Language (ex : LISA) Instruction Set Hardware Description Langage (ex : VHDL, Verilog)
LISA processor description Generic Processor model processor model debugger simulator Simulator compiler assembler linker • Introduction • MDL, HDL • Why LISA ? • Overview • LISA • Validation • Computation Models LISA Software developpement environment
Introduction • MDL, HDL • Why LISA ? • Overview • LISA • Validation • Computation Models Validation • simulation speed(x1000 instruction/cycles per second) • Use of compilation simulation • assembler/linker speed • equivalent LISA VHDL ?
Introduction MDL, HDL Computation Models Computation Models « Overview of the Ptolemy Project » Jul. 2003
Ptolemy II - Introduction • Introduction • MDL, HDL • Computation Models • Introduction • Ptolemy Project • Models • Choosing • Facts ? Ptolemy II (1996–to date) • Introduces: • Domain polymorphism • Modal Models Ptolemy Classic (1990–1997) Gabriel (1986–1991)
Introduction • MDL, HDL • Computation Models • Introduction • Ptolemy Project • Models • Choosing • Facts Ptolemy - Introduction • Definition: The project studies • modeling, • simulation, • design of concurrent, real-time, embedded systems • Characteristics: • - Components built on top of Java compiler (Soot) • - XML as data representation • - Concept of migrating models
Introduction • MDL, HDL • Computation Models • Introduction • Ptolemy • Models • Choosing • Facts Ptolemy Project Complete separation of the abstract synthax from the semantics. • Synthax, Actor-Oriented design : - models, actors, ports, parameters, channels - represented graphically, XML or by program with specific API • Semantics, the “physical laws” : - models constructed under model of computation - choice of model of computation has deep impact on implementation - interoperability of executable models - hierarchical mix of domains
Introduction • MDL, HDL • Computation Models • Introduction • Ptolemy • Models • Choosing • Facts Example of the actor oriented design
Introduction • MDL, HDL • Computation Models • Introduction • Ptolemy • Models • Choosing • Facts Ptolemy II- Modeling and Design
Introduction • MDL, HDL • Computation Models • Introduction • Ptolemy • Models • Choosing • Facts Ptolemy – Modeling & Design Focus on: - Embedded software - Actor oriented design (Version 4.0.1) - Architecture Design 1) Components designed to be domain polymorphic 2) Interaction mechanisms among domains 3) Development of a meta-model describing models of computation
Introduction • MDL, HDL • Computation Models • Introduction • Ptolemy • Models • Choosing • Facts Models of Computation • At least 12 different models of computation • Variety of models because : time(continuous, discrete, causal) concurency, interactions different underlying mathematical models
Introduction • MDL, HDL • Computation Models • Introduction • Ptolemy • Models • Choosing • Facts Models of Computation • Component Interaction(Demand-Driven, e.g. Web Browsers) • Communication Sequential Processes(use of rendez-vous) • Continuous Time • Discrete-Events • Distributed Discrete Events • Discrete Time • Finite-State Machines • Process Networks • Synchronous Dataflow • Giotto(hard real time) • Synchronous/reactive • Timed Multitasking
Introduction • MDL, HDL • Computation Models • Introduction • Ptolemy • Models • Choosing • Facts Choosing a Model of Computation • Most designer faced to only one or two • Choice is very important (time, event, etc.) Unifying not possible ... (complex)
Introduction • MDL, HDL • Computation Models • Introduction • Ptolemy • Models • Choosing • Facts Ptolemy II –What’s the Architecture? • Core packages: support data model and actor model • User Interface packages: support XML file format (MoML) • Library packages: define actors to be domain polymorphic • domains : subpackages of ptolemy domains package
Introduction • MDL, HDL • Computation Models • Introduction • Ptolemy • Models • Choosing • Facts Ptolemy II – some capabilities • Higher level concurrent design in Java • Better modularization through the use of packages • Complete separation of the abstract syntax from the semantics • Domain-polymorphic actors
Introduction • MDL, HDL • Computation Models • Introduction • Ptolemy • Models • Choosing • Facts Ptolemy in facts • 3rd generation : Ptolemy II • Java as a programming language • Visual synthax • Set of packages
Part II “Rapid System-Level Performance Evaluation and Optimization for Application Mapping onto SoC Architectures” October 2002 Sumit Mohanty, Viktor K. Prasanna
Introduction GenM HiPerE MILAN conclusion Introduction GenM Evaluation& optimization of performance During application design HiPerE Estimation at the system level MILAN Estimation of specific component performance
Introduction GenM HiPerE MILAN conclusion Generic Model for Application Mapping onto SoC Architecture DVS (Dynamic Voltage Scaling) Components of the GenM Model
Introduction GenM HiPerE MILAN conclusion Why to use GenM? • Rapid estimation of performance. • Development of efficient application designs (High Level abstraction). • Development of optimization techniques for mapping application onto SoC architecture.
GenM (Target SoC architecture) Estimation of System-level energy & latency Performance parameters Application Task Graph Activity Report for Each component in the target architecture HiPerE (High-Level Performance Estimator) Introduction GenM HiPerE MILAN conclusion -Interpretive simulator -system-level performance estimation HiPerE
Application Model Resource Model Update Energy And Latency Estimates Program Implementing The Task Feedback Configure Source code Component Specific Performance Estimation MILAN(Model based Integrated simuLAtioN Introduction GenM HiPerE MILAN conclusion MILAN Component Specific Estimates Low-level simulator Component specific Performance Estimation using MILAN
Introduction GenM HiPerE MILAN conclusion Performance estimation includes? • Cost for execution • Data access • Memory activation • reconfiguration
Introduction GenM HiPerE MILAN conclusion Application Optimization Using MILAN Hierarchical Simulation for DES in MILAN
Introduction GenM HiPerE MILAN conclusion Application Optimization Using MILAN
Introduction GenM HiPerE MILAN conclusion Conclusion By using (GenM,HiPerE,MILAN) solve these problems: • Estimation of system-level performance for SoC architectures. • Lack of high-level abstraction for SoC architectures. • Lack of standard interface between different component simulators.
Part III “Modeling and Simulation of Embedded Processors Using Abstract State Machines” March 2001 Dirk Fischer, Jurgën Teich, Ralph Weper
Overview • Architecture/compiler co-design • Abstract State Machines • The BUILDABONG project • Paper’s Interest
co-design • Needs • Process • Related work • ASMs • BUILDABONG • Interest The needs “ - ASIP ASAP ? ” Application Specific Instruction Set Processors As soon as possible • customized processors • special applications (signal processing…) • time to market • optimal application/processor tradeoff ASIP ASAP
co-design • Needs • Process • Related work • ASMs • BUILDABONG • Interest Process • complex instruction set • simple application • Simple instruction set • Complex application More design / manufacturing process costs More computation time, more memory Architecture/compiler co-design Application Processor Exploration Simulation
co-design • Needs • Process • Related work • ASMs • BUILDABONG • Interest work on architecture/compiler co-design • LISA University of Aachen, Germany Compiled simulator 100K instructions per second • CASTEL VHDLRTL DATA PATH MODELextended FSM • EXPRESSION University of California, USA Retargetable compiler V-SAT Graphical Design Environment EXPRESSION model Cycle accurate simulator
co-design • ASMs • Mathematics • Modeling • Advantages • BUILDABONG • Interest The Mathematics <= ? < ? > ? >= ? == ? == ? == ? universe • Functions • Relations Algebra structure
co-design • ASMs • Mathematics • Modeling • Advantages • BUILDABONG • Interest The Mathematics Abstract State Machine Μ = (V, f1, f2, … , fn) Finite vocabulary Finite set of n-ary functions over V (State of M ≡ algebra over V ) Initial state S0 + set of transition rules P = ASM
co-design • ASMs • Mathematics • Modeling • Advantages • BUILDABONG • Interest The Mathematics Transition Rule No relations boolean value • If • <cond> • then • <Rule> • endif Update rule f(t1, t2, … , tn) := t
co-design • ASMs • Mathematics • Modeling • Advantages • BUILDABONG • Interest The Mathematics Operationnal semantics No cycling… Update rule R R R Si Si+1 Si+2 Sn state Terminal state
co-design • ASMs • Mathematics • Modeling • Advantages • BUILDABONG • Interest Modeling processors with ASMs • cycle accurate model, register transfer level • a register tranfer is conditionned (mode registers, instruction bits) • “guarded register transfer paterns” (Leupers) • If • <register_transfer_condition> • then • <register_transfer_pattern> • endif ASMs
co-design • ASMs • Mathematics • Modeling • Advantages • BUILDABONG • Interest Advantages • short description (ARM7, 200 lines XASM) • readability • cycle accuracy • simulation speed (?) • XASM environment supports C-libraries (irregular arithmetic operations on arbitrary large word-lengths) • “natural” mathematical tool
ArchitectureComposer ASM Generator • co-design • ASMs • BUILDABONG • General view • Editor • XASM • Simulator • Future work • Interest General View Explorer ANSI C Program Graphical input Retargetable Compiler Instruction Set Description Assembler Program ASM library Simulator Generator (Gem-Mex) Parser Linker Loader Simulator