Grundlagen der Technischen Informatik. Funktion und Struktur. Kapitel 2

Ähnliche Dokumente
Grundlagen der Technischen Informatik. Funktion und Struktur. Kapitel 2. Der Systembegriff - Systemvielfalt. Der Systembegriff.

Einführung in die technische Informatik

VHDL Einleitung. Dr.-Ing. Volkmar Sieh. Institut für Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg SS 2010

Computergestützter IC- Entwurf

Digital Design 5 Rechnergestützte Schaltungsentwicklung

Electronic Design Automation (EDA) Systementwurf

Hardware Praktikum 2008

Systemtheorie 1. Formale Systeme 1 # WS 2006/2007 Johannes Kepler Universität Linz, Österreich

Software Engineering. 5. Architektur

Kapitel 10, VHDL, Teil 2. Prof. Dr.-Ing. Jürgen Teich Lehrstuhl für Hardware-Software-Co-Design. Grundlagen der Technischen Informatik

FPGA Systementwurf. Rosbeh Etemadi. Paderborn University. 29. Mai 2007

Systemtheorie 1. Einführung Systemtheorie 1 Formale Systeme 1 # WS 2006/2007 Armin Biere JKU Linz Revision: 1.4

VHDL Synthese. Dr.-Ing. Matthias Sand. Lehrstuhl für Informatik 3 (Rechnerarchitektur) Friedrich-Alexander-Universität Erlangen-Nürnberg WS 2009/2010

I EINLEITUNG SYNTAX SPEZIELLE PROBLEME BEISPIEL AUSBLICK

Entwurf digitaler Systeme mit VHDL-1076

Grundlagen der Technischen Informatik. Kapitel 0

Entwurf von digitalen Schaltungen und Systemen mit HDLsundFPGAs

IuK-Projekt am Institut für Mikroelektronik und Eingebettete Systeme. Prof. Dr.-Ing. Peter Schulz Sommersemester 2013

Bounded Model Checking mit SystemC

Verilog/VHDL. Mehdi Khayati Sarkandi Uni Siegen

VHDL - Synthese. Dr.-Ing. Matthias Sand. Lehrstuhl für Informatik 3 (Rechnerarchitektur) Friedrich-Alexander-Universität Erlangen-Nürnberg

12 VHDL Einführung (III)

11/2009 Bernhard Gangl. Steuerungen mit OOP entwickeln 11 / Themenübersicht. Übersicht und Begriffsklärung: Objektorientierte Programmierung

Outline Schieberegister Multiplexer Zähler Addierer. Rechenschaltungen. Marc Reichenbach und Michael Schmidt

18 Schieberegister. Serieller Serieller Eingang 5 Stufen Ausgang. 1. Takt. 2. Takt

Mathematik Seminar WS 2003: Simulation und Bildanalyse mit Java. Software-Architektur basierend auf dem Plug-in-Konzept

Verilog Hardware Description Language (HDL)

Echtzeitbildverarbeitung mit FPGAs. Feith Sensor to Image GmbH, Schongau Matthias Schaffland

Einführung in die Programmierung

Compiler für f r Eingebettete Systeme (CfES)

Hardware Praktikum 2008

17 Zähler. Hochschule für Angewandte Wissenschaften Hamburg FACHBEREICH ELEKTROTECHNIK UND INFORMATIK DIGITALTECHNIK 17-1

Hardware Praktikum 2008

Vertiefungsrichtung Rechnerarchitektur

Übungen zu Architektur Eingebetteter Systeme. Teil 1: Grundlagen. Blatt 5 1.1: VHDL 28./

Automatisierung mit Hilfe einer rekonfigurierbaren FPGA-Hardwareplattform

Schulinterner Lehrplan zum Kernlehrplan für die gymnasiale Oberstufe. Informatik Q2. Stand: 02/2016 Status: Gültig

Software Engineering

Anwendung der Roblet -Tec hnol ogie

Zwischenbericht zum Projekt FPGA-Entwurfssystem

Electronic Design Automation (EDA) Spezifikation

Grundlagen der Programmentwurfstechnik Fundamentals of Software Engineering 1

4.Grundsätzliche Programmentwicklungsmethoden

Inhaltsübersicht. Einführung

Vortrag zum Hauptseminar Hardware/Software Co-Design

SPKC. Inhalte der Vorlesung. Signalprozessoren und Kommunikationscontroller. Prof. Dr.-Ing. Peter Schulz. Signalprozessoren

5 VHDL Einführung (I)

Stratego/XT und ASF+SDF Meta-Environment. Paul Weder Seminar Transformationen Datum:

Formal methods for fun and profit VHDL. Ilja Kipermann. Sommersemester Leitung Jun. Prof. Beckert. Universität Koblenz-Landau

Folien zum Textbuch. Kapitel 2: Planung, Entwicklung und Betrieb von IS. Teil 2: Modellierung von betrieblichen Informationssystemen

EHP Einführung Projekt A

MetaGaming Model-based Boardgame Development and Strategy Evaluation Betreuer: Michael Lybecait, Dominic Wirkner, Bernhard Steffen

Software- /Systemarchitektur

Rechnergestützter VLSI-Entwurf

Kapitel 1 - Einführung

Kapitel 2 - Die Definitionsphase

2.2 Register-Transfer-Synthese

1. Einleitung. 2. Aufgabenstellung. R. Bartholomä, Prof. F. Kesel, Prof. T. Greiner Fachhochschule Pforzheim, Tiefenbronnerstraße 65, Pforzheim

Kapitel 5: Das Design

Architekturen, Werkzeuge und Laufzeitumgebungen für eingebettete Systeme

Lehrstuhl für Datenverarbeitung. Technische Universität München. Grundkurs C++ Objektmodellierung. Grundkurs C++

Automatisierte Rekonfiguration von Schnittstellen in eingebetteten Systemen

Java Einführung Objektorientierte Grundkonzepte

22. Januar Gruppe 2: TOPCASED

Computergestützter IC- Entwurf

Digitales Hardwaredesign mit VHDL und FPGAs

1.4 Spezifikation. Inhalte einer. Spezifikation

HaPra Versuchsreihe 4 - Aufbau eines Volladdierers. Aufbau eines Volladdierers mit diskreten Bausteinen

Grundlagen der Technischen Informatik. Rechnertechnologieentwicklung. Kapitel 1.2. Historie. Historie. Historie. Der erste Computer

Schrittweise vorgestellt

Musterlösung 3. Mikroprozessor & Eingebettete Systeme 1

Digitales Hardwaredesign mit VHDL und FPGAs

Der Lego NXT Roboter. Hochschule Mannheim Fakultät für Informatik

IT-Systeme. Ein nach Aufgabe oder Wirkung abgrenzbares

UML-Basics: Einführung in Objekt- Orientierte Modellierung mit der Unified Modeling Language

Kernprozess zur System- und Softwareentwicklung. Logische Systemarchitektur f 1. f 2 f 3. f 4 Funktion. Technische Systemarchitektur SG 1 SG 2 SG 3

Electronic Design Automation (EDA) Entwurfseingabe

X Inhaltsverzeichnis 2.7 StrukturorientierteModelle Komponenten-Verbindungsdiagramm (CCD) HeterogeneModelle Kontr

Universität Karlsruhe (TH)

ASIC-SYNTHESE DER SHAP-MIKROARCHITEKTUR

Objektorientiertes Programmieren

Organisatorisches (1)

Notationen zur Prozessmodellierung

Der Design- und Verifizierungsprozess von elektronischen Schaltungen. Y Diagramm

Kapitel 1 1 Einleitung

DOORS Schema IBM Rational DOORS Start-Up Training - Teil 3

Objektorientierte Analyse und Design mit der Unified Modelling Language (UML) Sandra Meißl

Grundlagen der Programmentwurfstechnik Fundamentals of Software Engineering 1

Praktische Informatik I

Softwaretechnik (Allgemeine Informatik) Überblick

Modellierung verteilter Systeme Grundlagen der Programm und Systementwicklung

Objektorientierte Programmierung (OOP)

Einführung in die technische Informatik

wenige Konzepte, keine Adressen, Anlehnung an C++ -Syntax Vererbung, Polymorphie/dynamisches Binden, umfangreiche Klassenbibliotheken

Modellgetriebene Entwicklungsprozesse in der Praxis - eine Bestandsaufnahme. Tillmann Schall, anaptecs GmbH

1. Einleitung. Informationstechnische Systeme

Transkript:

Funktion und Struktur Kapitel 2 Prof. Dr.-Ing. Jürgen Teich Lehrstuhl für Hardware-Software-Co-Design

Der Systembegriff - Systemvielfalt Der Begriff System wird häufig im Zusammenhang mit natürlichen, technischen und organisatorischen Gebilden mit komplexem Erscheinungsbild eingesetzt Beschreibt generell die Gliederung, den Aufbau, das Ordnungs- und Einordnungsprinzip in verwandte oder ähnlich gebaute Gruppen Beispiele: 2

Der Systembegriff Wegen der unüberschaubaren Vielfalt an möglichen Systemen entzieht sich der Begriff einer allgemeinen Definition: natürlich oder künstlich konkret oder abstrakt statisch oder dynamisch offen oder abgeschlossen Für jedes konkrete System kann eine Fülle zusätzlicher Merkmale (oder Attribute) festgelegt werden bzgl.: des Grades der Bestimmtheit der Entstehungsweise der örtlichen und zeitlichen Konzentriertheit der Zeitabhängigkeit usw. Notwendig: Beschränkung des Systembegriffs auf Bereiche (technische Anwendungen) 3

Der Systembegriff Bei Beschränkung auf technische Sichtweise gilt: Ein System umfasst stets kleinere Anteile - Untersysteme, Komponenten, Module, Bausteine, Elemente sogenannte Objekte 4

Der Systembegriff - technische Sichtweise Zwischen den Objekten eines Systems müssen Beziehungen bestehen Beziehungen können materieller, energetischer und informationeller Natur sein ermöglichen Zusammenwirken solcher Objekte Gesamtheit dieser Beziehungen bildet zusammen mit den Objekten die Struktur des Systems 5

Der Systembegriff - technische Sichtweise Objekte und Beziehungen bilden eine abgeschlossene Einheit - nur über definierte Schnittstellen (externe Schnittstellen) kann ein System betreten und verlassen werden Ein-/Ausgabebeziehungen 6

Darstellung von Systemen Externe Sicht (Architektur) für den Benutzer keine Aussagen über die interne Realisierung dieses Systems Interne Sicht für den Hersteller und Betreiber Daher: Bedarf an geeigneten Beschreibungsmöglichkeiten Funktion F umgangssprachlich, fachsprachlich oder mathematisch/formal festlegen Diese Notation dient dann häufig als Referenz zur Realisierung von F (z.b. zur Konstruktion von Anlagen, Geräten und Programmen) F 7

System: Beispiel Tic-Tac-Toe Roboter Funktionsweise: Aufbau: Roboter mit Sensoren zum Lesen eines Tic-Tac-Toe Feldes und Stift zum Zeichnen der eigenen Marke Aufgabe: Der Roboter soll mit einem Gegenspieler das Strategiespiel Tic-Tac-Toe spielen und dabei strategisch optimale Spielzüge setzen. 8

System: Beispiel (Fortsetzung) Festlegung der Gesamtfunktion F: Zu Beginn wird durch rote oder grüne Karte gezeigt, wer das Spiel eröffnet (Roboter oder Spieler). Dann alternierend bis Spielende: Spieler: Roboter fährt in Warteposition, bis Spieler Zug beendet hat. Roboter: Roboter fährt zum Spielfeld, sucht es nach neu plaziertem Symbol, berechnet nächsten Spielzug und setzt eigenes Symbol. 9

System: Beispiel (Fortsetzung) Festlegung der Gesamtfunktion F: Eingabe: Farbsensor (1) lese Karte, Ultraschallsensor (2) erkenne Spieleraktivität, Lichtsensor (3) scanne Spielfeld Ausgabe: Motor zu/vom Spielfeld fahren, Motor Arm aus- /einfahren, Motor Stift runter-/hochfahren, Lautsprecher 10

System: Beispiel (Fortsetzung) Externe Schnittstellen von F: Die Festlegung von F sagt noch nichts aus, wie das Gerät zu realisieren ist und welche technischen Randbedingungen dabei zu berücksichtigen sind Wir erhalten lediglich einige Angaben über die externen Schnittstellen, mit deren Hilfe die Funktion F mit der Außenwelt in Wechselwirkung tritt Farbsensor lese Karte Ultraschallsensor erkenne Spieleraktivität Lichtsensor scanne Spielfeld F Motor zu/vom Spielfeld fahren Motor Arm aus-/einfahren Motor Stift runter- /hochfahren Lautsprecher 11

System: Hierarchie und Aufteilung Komplexes System: Unterteilung in überschaubare Teilfunktionen Hierarchie Höher angesetzte Ebene umfasst dabei stets die Spezifikation eines Systems (bzw. einer Systemkomponente) Tiefere Ebene umfasst eine Anordnung von funktionell weniger mächtigen Komponenten f i und deren Spezifikation F f i Verfeinerung in Teilsysteme f (Komponenten) Verfeinerungsschritt: Transformationen der funktionellen Beschreibung in eine strukturelle Beschreibung f j f k 12

System: Hierarchie und Aufteilung Beispiel: Auflösung des Systems Tic-Tac-Toe Roboter in Teilsysteme Tic-Tac-Toe Controller Farbe Fahren Ultraschall Lichtsensor Sensor Reader Artificial Intelligence Motor Control Arm Stift Audio Control Lautsprecher 13

Mehrstufige Verfeinerung Bei heutigen Digitalsystemen reicht eine einstufige Verfeinerung meist nicht aus, um eine Realisierung vornehmen zu können Deshalb ist eine mehrstufige Aufteilung des Systems sinnvoll, um die Komplexität zu reduzieren Verfeinerungsschritte können auch als Transformationen der funktionellen Beschreibungen in eine strukturelle aufgefasst werden Definition der Teilsysteme f (Komponenten): - realisieren genau bestimmbare Funktionsteile der Gesamtfunktion F - präzise funktionelle Abgrenzung gegenüber anderen Teilsystemen Wichtig: Relationen zwischen den unterschiedlichen Teilsystemen f Verbindungsrelationen und geeignete Verbindungsstrukturen 14

Mehrstufige Verfeinerung Mehrstufige Systemverfeinerung F 0 1. Verfeinerungsschritt f 12 f 11 f 13 F 11 F 12 F 13 2. Verfeinerungsschritt f 21 f 24 f 26 f28 f 22 f 23 f 25 f 27 F 24 F 25 3. Verfeinerungsschritt f 31 f 32 f 33 f 34 f 35 15

Mehrstufige Verfeinerung Mehrstufige Systemverfeinerung F Spezifikation 0 1. Verfeinerungsschritt f 12 f 11 f 13 F Top-Down 11 zunehmend f 21 mehr f 22 f 23 Detailreichtum f 24 F 12 F 13 f 25 Bottom-Up 2. Verfeinerungsschritt zunehmend f 26 mehr f 27 Abstraktion f28 F 24 F 25 3. Verfeinerungsschritt f 31 f 32 f 33 Struktur f 34 f 35 16

Systematischer Entwurf digitaler Systeme Entwurf von digitaltechnischen Systemen folgt Top-Down-Prinzip Einzelne Komponenten einer bestimmten Technologie werden im Bottom-Up-Prinzip technisch optimal gestaltet und in Top-Down-Weg einbezogen Tatsächliches Entwerfen häufig ein iteratives Vorgehen: Beide Entwurfsrichtungen abwechselnd über eine oder mehrere Verfeinerungsstufen Smartphone System-on- Chip 17

Systematischer Entwurf digitaler Systeme Entwurf von digitaltechnischen Systemen folgt Top-Down-Prinzip Einzelne Komponenten einer bestimmten Technologie werden im Bottom-Up-Prinzip technisch optimal gestaltet und in Top-Down-Weg einbezogen Tatsächliches Entwerfen häufig ein iteratives Vorgehen: Beide Entwurfsrichtungen abwechselnd über eine oder mehrere Verfeinerungsstufen Im Entwurf digitaltechnischer Systeme unterscheidet man drei Hauptgruppen, die eine Reihe von Transformationsschritten zusammenfassen: Systementwurf (manuell mit Unterstützung durch Automatisierung) Logischer Entwurf (Automatisierung) Physikalischer Entwurf (Automatisierung) 18

Systematischer Entwurf digitaler Systeme Automatisierung des Entwurfsablaufs Für die meisten Entwurfsaufgaben kommt nur eine Mischung aus manuellem und automatisiertem Entwurf in Frage Hierfür werden eine Reihe von CAD-Werkzeugen von verschiedenen Herstellern angeboten (Cadence, Synopsys, Mentor Graphics etc.) manuell: Funktion F n automatisch: Funktion F n Entwickler f 1,,f k Computer Aided Design Programm f 1,,f k Struktur STR n+1 Struktur STR n+1 19

Technische Informatik - Meilensteine Computer Aided Design (CAD) Benutzerschnittstellen Modellierung Hierarchie und Abstraktion CAD Formale Spezifikation Syntheseverfahren Datenbanken Optimierungsalgorithmen Reduktion von Entwurfskosten und Entwurfszeiten Wiederverwendbarkeit, Entwurfssicherheit, Optimierte Dokumentation, Lösungen, Produktwartung 20

Systematischer Entwurf digitaler Systeme Abstraktionsebenen System Modul (Register-Transfer-Ebene) Gatter (Logik-Ebene) Transistor Physikalisch 21

Systematischer Entwurf digitaler Systeme architecture structural of first_tap is signal x_q,red : std_logic_vector(bitwidth-1 downto 0); signal mult : std_logic_vector(2*bitwidth-1 downto 0); begin Hardware Beschreibung (RT-Ebene) Netzliste (Logik- Ebene) delay_register: process(reset,clk) begin if reset='1' then x_q <= (others => '0'); elsif (clk'event and clk='1') then x_q <= x_in; end if; end process; Automatisierte Synthese (Synopsys) mult <= signed(coef)*signed(x_q); Chip Wafer Masken- Layout Platzierung & Verdrahtung (Cadence/ Mentor) Fabrikation 22

Entwurfsverfahren Was automatisierter Entwurf auch sein kann...? Idee Computer Aided Design 23

SystemCoDesigner Entwurfsfluss writes MJPEG Stream Parser Huffman decoder Inverse ZRL DC decoder Inverse Quantific ation Automatic model extraction Network graph Architecture graph specifies Image Pixel Color Inverse Inverse Display Sink shuffling conv. DCT ZigZag SysteMoC application Reuse Specification graph SysteMoC application VPC Plugin Simulative Evaluators Analytical Evaluators DSE Evolutionary Algorithm Pareto solutions C++-Backend Skeleton files Parser Pretty print Target AST XML-Backend Pretty print DOM tree Synthesis GeneratorFactory GeneratorPool Generator Generator Code Generation Frontend C++ Parser Source AST Network graph Architecture graph 24??? 2 2 a 2 2 2 a 1 1 1 a 3 1 1 1 1 Clustering??? selects

Technische Informatik - Ein Lernziel Hardware entwirft man heutzutage wie Software! Software Spezifikation in einer Programmiersprache, z.b., C, C++, Java Hardware Spezifikation in einer (Hardware-) Beschreibungssprache, z.b.,vhdl, SystemC (C++ Bibliothek), aber auch C Übersetzung in Maschinencode Codeoptimierung Scheduling Bindung Übersetzung in eine Schaltung Codeoptimierung Scheduling Bindung 25

Praktische Übung Kennenlernen der Hardwarebeschreibungssprache VHDL Entwurf, Simulation und Synthese eines digitalen Weckers Realer Hardwareentwurf 26