Fakultät für informatik informatik 12 technische universität dortmund Modeling levels Peter Marwedel TU Dortmund, Informatik 12 Graphics: © Alexandra Nolte,

Slides:



Advertisements
Similar presentations
Technische universität dortmund fakultät für informatik informatik 12 Models of computation Peter Marwedel TU Dortmund Informatik 12 Graphics: © Alexandra.
Advertisements

Evaluation and Validation
Fakultät für informatik informatik 12 technische universität dortmund Optimizations - Compilation for Embedded Processors - Peter Marwedel TU Dortmund.
Fakultät für informatik informatik 12 technische universität dortmund Imperative model of computation Peter Marwedel TU Dortmund, Informatik 12 Graphics:
Technische universität dortmund fakultät für informatik informatik 12 Specifications and Modeling Peter Marwedel TU Dortmund, Informatik 12 Graphics: ©
Fakult ä t f ü r informatik informatik 12 technische universit ä t dortmund Data flow models Peter Marwedel TU Dortmund, Informatik 12 Graphics: © Alexandra.
Fakultät für informatik informatik 12 technische universität dortmund Specifications and Modeling Peter Marwedel TU Dortmund, Informatik 12 Graphics: ©
Fakultät für informatik informatik 12 technische universität dortmund SDL Peter Marwedel TU Dortmund, Informatik 12 Graphics: © Alexandra Nolte, Gesine.
Technische universität dortmund fakultät für informatik informatik 12 Discrete Event Models Peter Marwedel TU Dortmund, Informatik 12 Germany
Communicating finite state machines
Technische universität dortmund fakultät für informatik informatik 12 Specifications and Modeling Peter Marwedel TU Dortmund, Informatik
Embedded Systems & Parallel Programming P. Marwedel, Univ. Dortmund/Informatik 12 + ICD/ES, 2007 Universität Dortmund A view on embedded systems.
Embedded System, A Brief Introduction
Petri Nets Jian-Jia Chen (slides are based on Peter Marwedel)
Technische universität dortmund fakultät für informatik informatik 12 Specifications, Modeling, and Model of Computation Jian-Jia Chen (slides are based.
Technische universität dortmund fakultät für informatik informatik 12 Discrete Event Models Jian-Jia Chen (slides are based on Peter Marwedel) TU Dortmund,
CMSC 611: Advanced Computer Architecture
Hardware/ Software Partitioning 2011 年 12 月 09 日 Peter Marwedel TU Dortmund, Informatik 12 Germany Graphics: © Alexandra Nolte, Gesine Marwedel, 2003 These.
EECE **** Embedded System Design
ECOE 560 Design Methodologies and Tools for Software/Hardware Systems Spring 2004 Serdar Taşıran.
Fakultät für informatik informatik 12 technische universität dortmund Specifications - Session 5 - Peter Marwedel TU Dortmund Informatik 12 Germany Slides.
- 1 -  P. Marwedel, Univ. Dortmund, Informatik 12, 05/06 Universität Dortmund Hardware/Software Codesign.
1 Hardware description languages: introduction intellectual property (IP) introduction to VHDL and Verilog entities and architectural bodies behavioral,
Review of “Embedded Software” by E.A. Lee Katherine Barrow Vladimir Jakobac.
Design of Fault Tolerant Data Flow in Ptolemy II Mark McKelvin EE290 N, Fall 2004 Final Project.
Models of Computation for Embedded System Design Alvise Bonivento.
HDL-Based Digital Design Part I: Introduction to VHDL (I) Dr. Yingtao Jiang Department Electrical and Computer Engineering University of Nevada Las Vegas.
General-purpose Specification Languages  P.Marwedel, U. Dortmund, Informatik 12, 2006 Universität Dortmund System modeling & design Represent.
Evaluation and Validation Peter Marwedel TU Dortmund, Informatik 12 Germany Graphics: © Alexandra Nolte, Gesine Marwedel, 2003 These slides use Microsoft.
- 1 -  P. Marwedel, Univ. Dortmund, Informatik 12, 2003 Universität Dortmund Actual design flows and tools.
Universität Dortmund  P. Marwedel, Univ. Dortmund, Informatik 12, 2003 Hardware/software partitioning  Functionality to be implemented in software.
- 1 - Embedded Systems – Language SystemC: Motivation Many standards (e.g. the GSM and MPEG-standards) are published as C programs  Standards have to.
- 1 -  P. Marwedel, Univ. Dortmund, Informatik 12, 2005/6 Universität Dortmund Specifications.
공과대학 > IT 공학부 Embedded Processor Design Chapter 8: Test EMBEDDED SYSTEM DESIGN 공과대학 > IT 공학부 Embedded Processor Design Presenter: Yvette E. Gelogo Professor:
CSET 4650 Field Programmable Logic Devices
An Introduction Chapter Chapter 1 Introduction2 Computer Systems  Programmable machines  Hardware + Software (program) HardwareProgram.
- 1 -  P. Marwedel, Univ. Dortmund, Informatik 12, 2005/6 Universität Dortmund Some general properties of languages 1. Synchronous vs. asynchronous languages.
- 1 -  P. Marwedel, Univ. Dortmund, Informatik 12, 05/06 Universität Dortmund Validation - Simulation and test pattern generation (TPG) -
Using Mathematica for modeling, simulation and property checking of hardware systems Ghiath AL SAMMANE VDS group : Verification & Modeling of Digital systems.
ECE 2372 Modern Digital System Design
Chap. 1 Overview of Digital Design with Verilog. 2 Overview of Digital Design with Verilog HDL Evolution of computer aided digital circuit design Emergence.
ASIC/FPGA design flow. FPGA Design Flow Detailed (RTL) Design Detailed (RTL) Design Ideas (Specifications) Design Ideas (Specifications) Device Programming.
Digital Design and Computer Architecture Dr. Robert D. Kent LT Ext Lecture 1 Introduction.
StateCharts Peter Marwedel Informatik 12 Univ. Dortmund Germany.
Languages for HW and SW Development Ondrej Cevan.
General Concepts of Computer Organization Overview of Microcomputer.
Fall 2004EE 3563 Digital Systems Design EE 3563 VHSIC Hardware Description Language  Required Reading: –These Slides –VHDL Tutorial  Very High Speed.
TOPIC : Different levels of Fault model UNIT 2 : Fault Modeling Module 2.1 Modeling Physical fault to logical fault.
Ch.2 Part E: VHDL, SystemC EECE **** Embedded System Design.
1 Hardware description languages: introduction intellectual property (IP) introduction to VHDL and Verilog entities and architectural bodies behavioral,
- 1 -  P. Marwedel, Univ. Dortmund, Informatik 12, 05/06 Universität Dortmund Validation - Formal verification -
1 Copyright  2001 Pao-Ann Hsiung SW HW Module Outline l Introduction l Unified HW/SW Representations l HW/SW Partitioning Techniques l Integrated HW/SW.
technische universität dortmund fakultät für informatik informatik 12 Early design phases Jian-Jia Chen (slides are based on Peter Marwedel) TU Dortmund,
04/26/20031 ECE 551: Digital System Design & Synthesis Lecture Set : Introduction to VHDL 12.2: VHDL versus Verilog (Separate File)
Technische universität dortmund fakultät für informatik informatik 12 Imperative model of computation Peter Marwedel Informatik 12 TU Dortmund Germany.
Technische universität dortmund fakultät für informatik informatik 12 Finite state machines & message passing: SDL Peter Marwedel TU Dortmund, Informatik.
Fakultät für informatik informatik 12 technische universität dortmund Prepass Optimizations - Session 11 - Heiko Falk TU Dortmund Informatik 12 Germany.
Fundamentals of Digital Signal Processing יהודה אפק, נתן אינטרטור אוניברסיטת תל אביב.
Mixed-Digital/Analog Simulation and Modeling Research
2. Specification and Modeling
Embedded System Design Specifications and Modeling
The Multicycle Implementation
The Multicycle Implementation
Processor: Multi-Cycle Datapath & Control
Specifications and Modeling
Multi-Cycle Datapath Lecture notes from MKP, H. H. Lee and S. Yalamanchili.
Control Unit for Multiple Cycle Implementation
Control Unit for Multiple Cycle Implementation
FloorPlan for Multicycle MIPS
Presentation transcript:

fakultät für informatik informatik 12 technische universität dortmund Modeling levels Peter Marwedel TU Dortmund, Informatik 12 Graphics: © Alexandra Nolte, Gesine Marwedel, /11/11

- 2 - technische universität dortmund fakultät für informatik  p. marwedel, informatik 12, 2008 Levels of hardware modeling Possible set of levels (others exist)  System level  Algorithmic level  Instruction set level  Register-transfer level (RTL)  Gate-level models  Switch-level models  Circuit-level models  Device-level models  Layout models  Process and device models

- 3 - technische universität dortmund fakultät für informatik  p. marwedel, informatik 12, 2008 System level  Term not clearly defined.  Here: denotes the entire embedded system, system into which information processing is embedded, and possibly also the environment.  Models may include mechanics + information processing. May be difficult to find appropriate simulators. Solutions: VHDL-AMS, SystemC or MATLAB. MATLAB+VHDL-AMS support partial differential equations.  Challenge to model information processing parts of the system such that the simulation model can be used for the synthesis of the embedded system.

- 4 - technische universität dortmund fakultät für informatik  p. marwedel, informatik 12, 2008 Algorithmic level  Simulating the algorithms that we intend to use within the embedded system.  No reference is made to processors or instruction sets.  Data types may still allow a higher precision than the final implementation.  If data types have been selected such that every bit corresponds to exactly one bit in the final implementation, the model is said to be bit-true. non-bit-true  bit-true should be done with tool support.  Single process or sets of cooperating processes.

- 5 - technische universität dortmund fakultät für informatik  p. marwedel, informatik 12, 2008 Algorithmic level: Example: -MPEG-4 full motion search - for (z=0; z<20; z++) for (x=0; x<36; x++) {x1=4*x; for (y=0; y<49; y++) {y1=4*y; for (k=0; k<9; k++) {x2=x1+k-4; for (l=0; l<9; ) {y2=y1+l-4; for (i=0; i<4; i++) {x3=x1+i; x4=x2+i; for (j=0; j<4;j++) {y3=y1+j; y4=y2+j; if (x3<0 || 35<x3||y3<0||48<y3) then_block_1; else else_block_1; if (x4<0|| 35<x4||y4<0||48<y4) then_block_2; else else_block_2; }}}}}}

- 6 - technische universität dortmund fakultät für informatik  p. marwedel, informatik 12, 2008 Instruction level Algorithms already compiled for the instruction set. Model allows counting the executed number of instructions. Variations:  Simulation only of the effect of instructions  Transaction-level modeling: each read/write is one transaction, instead of a set of signal assignments  Cycle-true simulations: exact number of cycles  Bit-true simulations: simulations using exactly the correct number of bits

- 7 - technische universität dortmund fakultät für informatik  p. marwedel, informatik 12, 2008 Instruction level: example Assembler (MIPS)Simulated semantics and $1,$2,$3 Reg[1]:=Reg[2]  Reg[3] or $1,$2,$3 Reg[1]:=Reg[2]  Reg[3] andi $1,$2,100 Reg[1]:=Reg[2]  100 sll $1,$2,10Reg[1]:=Reg[2] << 10 srl $1,$2,10Reg[1]:=Reg[2] >> 10

- 8 - technische universität dortmund fakultät für informatik  p. marwedel, informatik 12, 2008 Register transfer level (RTL) Modelling of all components at the register-transfer level, including  arithmetic/logic units (ALUs),  registers,  memories,  muxes and  decoders. Models at this level are always cycle-true. Automatic synthesis from such models is not a major challenge.

- 9 - technische universität dortmund fakultät für informatik  p. marwedel, informatik 12, 2008 Register transfer level: example (MIPS) Controller B PC Instruction register IR Memory Speicher alu_ control T sign_ extend <<2 4 * ALU Reg § 31:26 25:21 20:16 25:0 15:0 15:11 i2 a2 a1 i3 a3 a2 a1 o2 o1 PCSource TargetWrite ALUOp ALUSelA ALUSelB RegWriteRegDest MemToReg IRWrite MemRead MemWrite PCWrite PCWriteC IorD * § 31: 28 "00“

technische universität dortmund fakultät für informatik  p. marwedel, informatik 12, 2008 Gate-level models  Models contain gates as the basic components.  Information about signal transition probabilities  can be used for power estimations.  Delay calculations can be more precise than for RTL. Typically no information about the length of wires (still estimates).  Term sometimes also denotes Boolean functions (No physical gates; only considering the behavior of the gates). Such models should be called “Boolean function models”.

technische universität dortmund fakultät für informatik  p. marwedel, informatik 12, 2008 Gate-level models: Example source: seul.org/ screenshots/ screenshot- schem2.png

technische universität dortmund fakultät für informatik  p. marwedel, informatik 12, 2008 Switch-level models  Switch level models use switches (transistors) as their basic components.  Switch level models use digital values models.  In contrast to gate-level models, switch level models are capable of reflecting bidirectional transfer of information.

technische universität dortmund fakultät für informatik  p. marwedel, informatik 12, 2008 Switch level model: example Source:

technische universität dortmund fakultät für informatik  p. marwedel, informatik 12, 2008 Circuit level models: Example  Models circuit theory. Its components (current and voltage sources, resistors, capacitances, inductances and possibly macro-models of semiconductors) form the basis of simulations at this level. Simulations involve partial differential equations. Linear if and only if the behavior of semiconductors is linearized. Ideal MOSFET Tran- sistor model

technische universität dortmund fakultät für informatik  p. marwedel, informatik 12, 2008 Circuit level models: SPICE The most frequently used simulator at this level is SPICE [Vladimirescu, 1987] and its variants. Example:

technische universität dortmund fakultät für informatik  p. marwedel, informatik 12, 2008 Circuit level models: sample simulation results

technische universität dortmund fakultät für informatik  p. marwedel, informatik 12, 2008 Device level Simulation of a single device (such as a transistor). Example (SPICE- simulation [IMEC]): Measured and simulated currents

technische universität dortmund fakultät für informatik  p. marwedel, informatik 12, 2008 Layout models  Reflect the actual circuit layout,  include geometric information,  cannot be simulated directly: behavior can be deduced by correlating the layout model with a behavioral description at a higher level or by extracting circuits from the layout.  Length of wires and capacitances frequently extracted from the layout, back-annotated to descriptions at higher levels (more precision for delay and power estimations).

technische universität dortmund fakultät für informatik  p. marwedel, informatik 12, 2008 Layout models: Example din powlo powhi dout © Mosis ( mosis.org/Technical/ Designsupport/ polyflowC.html); Tool: Cadence

technische universität dortmund fakultät für informatik  p. marwedel, informatik 12, 2008 Process models Model of fabrication process; Example [IMEC]: Doping as a function of the distance from the surface Simulated Measured Movie (German)

technische universität dortmund fakultät für informatik  p. marwedel, informatik 12, 2008 Levels covered by the different languages Verilog VHDL System Verilog matlab Vera e Sugar Jeda

fakultät für informatik informatik 12 technische universität dortmund Comparison of languages Peter Marwedel TU Dortmund, Informatik 12 Graphics: © Alexandra Nolte, Gesine Marwedel, /11/1

technische universität dortmund fakultät für informatik  p. marwedel, informatik 12, 2008 Comparison of languages demonstrated Communication/ local computations Shared memory Message passing Synchronous | Asynchronous Communicating finite state machines StateChartsSDL Data flow model  Not usefulSimulinkKahn process networks, SDF Computational graphs Sequence dia- gram, Petri nets Von Neumann model C, C++, Java C, C++, Java with libraries CSP, ADA | Discrete event (DE) model VHDL, …Only experimental systems, e.g. distributed DE in Ptolemy

technische universität dortmund fakultät für informatik  p. marwedel, informatik 12, 2008 Models of computation in Ptolemy 1.Finite state machines 2.Communicating sequential processes 3.Discrete event model 4.Distributed discrete event model 5.Process networks, including Kahn process networks 6.Synchronous dataflow (SDF) 7.Continuous time 8.Synchronous/reactive models

technische universität dortmund fakultät für informatik  p. marwedel, informatik 12, 2008 Properties of processes (1)  Number of processes static; dynamic (dynamically changed hardware architecture?)  Nesting: Nested declaration of processes process { process { process { }}} or all declared at the same level process { … } process { … } process { … }

technische universität dortmund fakultät für informatik  p. marwedel, informatik 12, 2008 Properties of processes (2)  Different techniques for process creation Elaboration in the source (c.f. ADA, below) declare process P1 … explicit fork and join (c.f. Unix) id = fork(); process creation calls id = create_process(P1); E.g.: StateCharts comprises a static number of processes, nested declaration of processes, and process creation through elaboration in the source.

technische universität dortmund fakultät für informatik  p. marwedel, informatik 12, 2008 Language Comparison

technische universität dortmund fakultät für informatik  p. marwedel, informatik 12, 2008 How to cope with language problems in practice? Mixed approaches:

fakultät für informatik informatik 12 technische universität dortmund Dependability requirements Peter Marwedel TU Dortmund, Informatik 12 Graphics: © Alexandra Nolte, Gesine Marwedel, /11/1

technische universität dortmund fakultät für informatik  p. marwedel, informatik 12, 2008 Dependability requirements Allowed failures may be in the order of 1 failure per 10 9 h. ~ 1000 times less than typical failure rates of chips.  For safety-critical systems, the system as a whole must be more dependable than any of its parts.  fault-tolerance mechanisms must be used. Low acceptable failure rate  systems not 100% testable.  Safety must be shown by a combination of testing and reasoning. Abstraction must be used to make the system explainable using a hierarchical set of behavioral models. Design faults and human failures must be taken into account.

technische universität dortmund fakultät für informatik  p. marwedel, informatik 12, 2008 Kopetz‘s 12 design principles (1-3) 1.Safety considerations may have to be used as the important part of the specification, driving the entire design process. 2.Precise specifications of design hypotheses must be made right at the beginning. These include expected failures and their probability. 3.Fault containment regions (FCRs) must be considered. Faults in one FCR should not affect other FCRs. Passenger compart- ment stable Safety-critical & non-safety critical electronics

technische universität dortmund fakultät für informatik  p. marwedel, informatik 12, 2008 Kopetz‘s 12 design principles (4-6) 4.A consistent notion of time and state must be established. Otherwise, it will be impossible to differentiate between original and follow- up errors. 5.Well-defined interfaces have to hide the internals of components. 6.It must be ensured that components fail independently. 2 independent brake hose systems t source Follow-up

technische universität dortmund fakultät für informatik  p. marwedel, informatik 12, 2008 Kopetz‘s 12 design principles (7-9) 7.Components should consider themselves to be correct unless two or more other components pretend the contrary to be true (principle of self-confidence). 8.Fault tolerance mechanisms must be designed such that they do not create any additional difficulty in explaining the behavior of the system. Fault tolerance mechanisms should be decoupled from the regular function. 9.The system must be designed for diagnosis. For example, it has to be possible to identifying existing (but masked) errors. one of the systems sufficient for braking

technische universität dortmund fakultät für informatik  p. marwedel, informatik 12, 2008 Kopetz‘s 12 design principles (10) 10.The man-machine interface must be intuitive and forgiving. Safety should be maintained despite mistakes made by humans airbag

technische universität dortmund fakultät für informatik  p. marwedel, informatik 12, 2008 Kopetz‘s 12 design principles (11-12) 11.Every anomaly should be recorded. These anomalies may be unobservable at the regular interface level. Recording to involve internal effects, otherwise they may be masked by fault-tolerance mechanisms. 12.Provide a never-give up strategy. ES may have to provide uninterrupted service. Going offline is unacceptable.