Peter Marwedel TU Dortmund, Informatik 12

Slides:



Advertisements
Ähnliche Präsentationen
Cadastre for the 21st Century – The German Way
Advertisements

Finding the Pattern You Need: The Design Pattern Intent Ontology
Embedded System Hardware
P. Marwedel Informatik 12, U. Dortmund
Finite state machines & message passing: SDL
Fakultät für informatik informatik 12 technische universität dortmund Mapping of Applications to Multi-Processor Systems Peter Marwedel Informatik 12 TU.
PRICAT Inbound SAP Best Practices for Retail (US)
Credit Management SAP Best Practices Baseline Package
The difference between kein and nicht.
Steinbeis Forschungsinstitut für solare und zukunftsfähige thermische Energiesysteme Nobelstr. 15 D Stuttgart WP 4 Developing SEC.
Institut für Softwaresysteme in Wirtschaft, Umwelt und Verwaltung Folie 1 DER UMWELT CAMPUS BIRKENFELD ISS Institut für Softwaresysteme in Wirtschaft,
Multi electron atoms Atoms with Z>1 contain >1 electron. This changes the atomic structure considerably because in addition to the electron-nucleus interaction,
Informatik 12, TU Dortmund
fakultät für informatik informatik 12 technische universität dortmund Test Peter Marwedel TU Dortmund Informatik 12 Germany 2009/01/17 Graphics: © Alexandra.
Embedded & Real-time Operating Systems
Fakultät für informatik informatik 12 technische universität dortmund Optimizations Peter Marwedel TU Dortmund Informatik 12 Germany 2009/01/17 Graphics:
fakultät für informatik informatik 12 technische universität dortmund Optimizations Peter Marwedel TU Dortmund Informatik 12 Germany 2009/01/10 Graphics:
Fakultät für informatik informatik 12 technische universität dortmund Mapping of Applications to Platforms Peter Marwedel TU Dortmund, Informatik 12 Germany.
Fakultät für informatik informatik 12 technische universität dortmund Optimizations Peter Marwedel TU Dortmund Informatik 12 Germany 2010/01/13 Graphics:
Fakultät für informatik informatik 12 technische universität dortmund Universität Dortmund Middleware Peter Marwedel TU Dortmund, Informatik 12 Germany.
Fakultät für informatik informatik 12 technische universität dortmund Specifications Peter Marwedel TU Dortmund, Informatik 12 Graphics: © Alexandra Nolte,
Fakultät für informatik informatik 12 technische universität dortmund Embedded System Hardware Peter Marwedel Informatik 12 TU Dortmund Germany 2011/03/09.
Fakultät für Informatik Informatik 12 technische universität dortmund FPGA-Programming P. Marwedel Informatik 12, U. Dortmund.
Fakultät für informatik informatik 12 technische universität dortmund Hardware/Software Partitioning Peter Marwedel Informatik 12 TU Dortmund Germany Chapter.
Fakult ä t f ü r informatik informatik 12 technische universit ä t dortmund Data flow models Peter Marwedel TU Dortmund, Informatik 12 Graphics: © Alexandra.
Technische universität dortmund fakultät für informatik informatik 12 Embedded System Hardware Peter Marwedel Informatik 12 TU Dortmund Germany
We have a magnetic field that it is very similar to the one of a dipole. Well in reality this is true close to the surface if we go far away enough it.
Hier wird Wissen Wirklichkeit Computer Architecture – Part 5 – page 1 of 25 – Prof. Dr. Uwe Brinkschulte, M.Sc. Benjamin Betting Part 5 Fundamentals in.
Institut für Angewandte Mikroelektronik und Datentechnik Fachbereich Elektrotechnik und Informationstechnik, Universität Rostock Spezielle Anwendungen.
Thomas Herrmann Software - Ergonomie bei interaktiven Medien Step 6: Ein/ Ausgabe Instrumente (Device-based controls) Trackball. Joystick.
CTS2 based Terminology Server – Overview – Project eBPG
Haben – to have ich habe du hast er/sie hat es hat man hat wir haben
Laurie Clarcq The purpose of language, used in communication, is to create a picture in the mind and/or the heart of another.
Institut AIFB, Universität Karlsruhe (TH) Forschungsuniversität gegründet 1825 Towards Automatic Composition of Processes based on Semantic.
Wenn sich eine Türe schließt,
| DC-IAP/SVC3 | © Bosch Rexroth Pneumatics GmbH This document, as well as the data, specifications and other information set forth in.
Centre for Public Administration Research E-Government for European Cities Thomas Prorok
BAS5SE | Fachhochschule Hagenberg | Daniel Khan | S SPR5 MVC Plugin Development SPR6P.
3rd Review, Vienna, 16th of April 1999 SIT-MOON ESPRIT Project Nr Siemens AG Österreich Robotiker Technische Universität Wien Politecnico di Milano.
der Imperativ Nicht Vergessen! (Don’t forget)
Christoph Durt: Wittgenstein on the possibility of philosophy: The importance of an intercultural approach
Deutsch 1 G Stunde. Montag, der 10. September 2012 Deutsch 1 (G Stunde)Heute ist ein D - Tag Unit: Introduction to German & Germany Objectives: Introducing.
Versatile Werden Tyler Miller. Werden – to become 1.Present Tense – Ich werde alt. 2.Future Tense – Ich werde alt werden. 3.Past Tense – Ich wurde alt.
INTAKT- Interkulturelle Berufsfelderkundungen als ausbildungsbezogene Lerneinheiten in berufsqualifizierenden Auslandspraktika DE/10/LLP-LdV/TOI/
Tage der Woche German Early Level Montag Dienstag Mittwoch Donnerstag
Einführung Bild und Erkenntnis Einige Probleme Fazit Eberhard Karls Universität Tübingen Philosophische Fakultät Institut für Medienwissenschaft Epistemic.
Berner Fachhochschule Hochschule für Agrar-, Forst- und Lebensmittelwissenschaften HAFL Recent activities on ammonia emissions: Emission inventory Rindvieh.
Ein Projekt des Technischen Jugendfreizeit- und Bildungsvereins (tjfbv) e.V. kommunizieren.de Blended Learning for people with disabilities.
Image Processing and Analysis Introduction. How do we see things ?
The most obvious or direct use of auch is to mean also. Ich möchte auch Gitarre lernen. Auch ich möchte Gitarre lernen. I would like to learn Guitar. Someone.
© Boardworks Ltd of 8 Time Manner Place © Boardworks Ltd of 8 This icon indicates that the slide contains activities created in Flash. These.
German Level 1 Greetings.
Adjectiv Endungen Lite: Adjective following articles and pre-ceeding nouns. Colors and Clothes.
Greetings and goodbyes Deutschland v. USA
Sentence Structure Subject and verb are always together. Subject and verb are always together. Subject and verb must agree Subject and verb must agree.
1 Intern | ST-IN/PRM-EU | | © Robert Bosch GmbH Alle Rechte vorbehalten, auch bzgl. jeder Verfügung, Verwertung, Reproduktion, Bearbeitung,
Fakultät für informatik informatik 12 technische universität dortmund Standard Optimization Techniques 2010/12/20 Peter Marwedel TU Dortmund, Informatik.
Fakultät für informatik informatik 12 technische universität dortmund Memory architecture description languages - Session 20 - Peter Marwedel TU Dortmund.
Lehrstuhl für Waldbau, Technische Universität MünchenBudapest, 10./11. December 2006 WP 1 Status (TUM) Bernhard Felbermeier.
Selectivity in the German Mobility Panel Tobias Kuhnimhof Institute for Transport Studies, University of Karlsruhe Paris, May 20th, 2005.
How Does Fuzzy Arithmetic Work ? © Hartwig Jeschke Institut für Mikroelektronische Schaltungen und Systeme Universität Hannover
Technische Universität München 1 CADUI' June FUNDP Namur G B I The FUSE-System: an Integrated User Interface Design Environment Frank Lonczewski.
TUM in CrossGrid Role and Contribution Fakultät für Informatik der Technischen Universität München Informatik X: Rechnertechnik und Rechnerorganisation.
Page 1 XXX21/08/2014 Implemented by Benutzen Sie diese Titelfolie für Programme und Projekte im Ausland. Setzen Sie das „einheitliche Logo der Zusammenarbeit“
Institut für Nachrichtentechnik U. Reimers Technische Universität Braunschweig The MultiMedia Home Platform (MHP): Hype or Reality ?
Technische Universität München Fakultät für Informatik Computer Graphics SS 2014 Rüdiger Westermann Lehrstuhl für Computer Graphik und Visualisierung.
Institut für Angewandte Mikroelektronik und Datentechnik Phase 5 Architectural impact on ASIC and FPGA Nils Büscher Selected Topics in VLSI Design (Module.
Literary Machines, zusammengestellt für ::COLLABOR:: von H. Mittendorfer Literary MACHINES 1980 bis 1987, by Theodor Holm NELSON ISBN
Institut für Angewandte Mikroelektronik und Datentechnik Results of Phase 4: Layout for ST65 technology by Christoph Niemann Selected Topics.
Fakultät für informatik informatik 12 technische universität dortmund Lab 2: Heterogeneous System Modeling in Ptolemy - Session 6 - Peter Marwedel Heiko.
 Präsentation transkript:

Peter Marwedel TU Dortmund, Informatik 12 Modeling levels Peter Marwedel TU Dortmund, Informatik 12 Graphics: © Alexandra Nolte, Gesine Marwedel, 2003 2009/11/07

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

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.

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.

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; }}}}}}

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

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,10 Reg[1]:=Reg[2] << 10 srl $1,$2,10 Reg[1]:=Reg[2] >> 10

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.

Register transfer level: example (MIPS) 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 RegWrite RegDest MemToReg IRWrite MemRead MemWrite PCWrite PCWriteC IorD Controller B § PC Memory 1 1 ALU Speicher T 1 Instruction register IR Reg 2 1 alu_ control 4 1 * § 31: 28 "00“ sign_ extend 2 1 3 <<2 *

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”.

Gate-level models: Example source: http://geda. seul.org/ screenshots/ screenshot-schem2.png

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.

Switch level model: example Source: http://vada1.skku.ac.kr/ClassInfo/ic/vlsicad/chap-10.pdf

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

Circuit level models: SPICE The most frequently used simulator at this level is SPICE [Vladimirescu, 1987] and its variants. Example:

Circuit level models: sample simulation results

Device level Simulation of a single device (such as a transistor). Example (SPICE-simulation [IMEC]): Measured and simulated currents

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).

Layout models: Example din powlo powhi dout © Mosis (http://www. mosis.org/Technical/ Designsupport/ polyflowC.html); Tool: Cadence

Process models Model of fabrication process; Example [IMEC]: Doping as a function of the distance from the surface Simulated Measured Movie (German)

Levels covered by the different languages matlab Vera e Sugar Jeda SystemVerilog VHDL Verilog

Comparison of languages Peter Marwedel TU Dortmund, Informatik 12 Graphics: © Alexandra Nolte, Gesine Marwedel, 2003 2008/11/1

Models of computation considered in this course Communication/ local computations Shared memory Message passing Synchronous | Asynchronous Undefined components Plain text, use cases | (Message) sequence charts Communicating finite state machines StateCharts SDL Data flow (Not useful) Kahn networks, SDF Petri nets C/E nets, P/T nets, … Discrete event (DE) model VHDL, Verilog, SystemC, … Only experimental systems, e.g. distributed DE in Ptolemy Von Neumann model C, C++, Java C, C++, Java with libraries CSP, ADA |

Classification by Stuijk Expressiveness and succinctness indicate, which systems can be modeled and how compact the are. Analyzability relates to the availability of scheduling algorithms and the need for run-time support. Implementation efficiency is influenced by the required scheduling policy and the code size.

Classification by Stuijk (2) Graphics: eps generated with jfig, read into CoralDraw, exported as png KPN very expressive, but difficult to analyze

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 { … }

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.

MOCs and Language Comparison

How to cope with MOCs and language problems in practice? Mixed approaches:

Synchronous | Asynchronous Models of computation considered in UML (Focus on support of early design phases) Communication/ local computations Shared memory Message passing Synchronous | Asynchronous Undefined components use cases | sequence charts, timing diagrams Communicating finite state machines State diagrams Data flow (Not useful) Petri nets activity charts Discrete event (DE) model - Von Neumann model

Additional diagrams in UML Deployment diagram: describe the “execution architecture” of systems (hardware or software nodes). Package diagrams: Partitioning of software into software packages. Class diagrams: describe inheritance relations of object classes. Communication diagram: represent classes, relations between classes, and messages that are exchanged Component diagrams: components used in applications Object diagrams, interaction overview diagrams, composite structure diagrams: less frequently used diagrams

UML for real-time? Initially not designed for real-time. Initially lacking features: Partitioning of software into tasks and processes specifying timing specification of hardware components Projects on defining real-time UML based on previous work ROOM [Selic] is an object-oriented methodology for real-time systems developed originally at Bell-Northern Research. “UML profile for schedulability, performance and time“ http://www.omg.org/cgi-bin/doc?ptc/2002-03-02

SoC=system on a chip

Example: Activity diagram with annotations [http://www.omg.org/cgi-bin/doc?ptc/2002-03-02] See also W. Müller et al.: UML for SoC, http://jerry.c-lab.de/uml-soc/

Synchronous | Asynchronous Models of computation considered in Ptolemy (Focus on executable models; “mature” models only) Communication/ local computations Shared memory Message passing Synchronous | Asynchronous Undefined components Communicating finite state machines FSM, synchronous/reactive MoC Data flow Kahn networks, SDF, dynamic dataflow, discrete time Petri nets Discrete event (DE) model DE Experimental distributed DE Von Neumann model CSP | Wireless Special model for wireless communication Continuous time Partial differential equations

Summary Levels of hardware modeling MOCs and language comparison Expressiveness vs. analyzability of MoCs Process creation Properties of languages MoCs covered in UML Profiles for real-time modeling Ptolemy