Simulation und weiterführende Simulationstechniken

Größe: px
Ab Seite anzeigen:

Download "Simulation und weiterführende Simulationstechniken"

Transkript

1 Simulation und weiterführende Simulationstechniken Marc Reichenbach und Michael Schmidt Informatik 3 / Rechnerarchitektur Universität Erlangen Nürnberg 05/12 1 / 48

2 Gliederung Einführung Allgemeiner Simulations-Workflow Simulationstools - GHDL Modelsim 2 / 48

3 Gründe für die Simulation Simulation spielt eine entscheidende Rolle in der HW-Entwicklung, weil: Synthesen sehr lange dauern können realer Test sehr teuer sein kann Fehlersuche bei realen Tests sehr schwer ist sehr viele automatische Abbildungen beim realen Test vorgenommen werden Randfälle betrachtet werden können es bessere Debug-Möglichkeiten gibt 3 / 48

4 Simulationsmarkt Simulationsmarkt angetrieben von Cadence und Mentor auch Tools unter GNU verfügbar, erreichen aber bei Weitem nicht die Funktionalität einfache Testbenchsimulation nicht mehr ausreichend zusätzliche Funktionen: TCL, Datenfluss, Schematic, virtuelle Signale,... Simulation eng gekoppelt mit Verifikation "Wieviel muss man simulieren um zu verifizieren?" 4 / 48

5 Simulationsmarkt Produktübersicht Mentor Graphics: Modelsim SE, PE, DE / Questasim Cadence: NCsim GNU: GHDL, GTKwave 5 / 48

6 Übersicht Simulations-Workflow Allgemein besteht die Simulation aus folgenden Schritten: Kompilierung Elaborierung Initialisierung Simulation 6 / 48

7 Übersicht Simulations-Workflow - Kompilierung einbinden vorhandener Bibliotheken kompilieren in einer Bibliothek zwingend logische Namen der Bibliotheken vs. physikalische Namen Generierung von Debugginginformationen Reihenfolge der Dateien beachten Vorgang wird auch als Analyse bezeichnet 7 / 48

8 Übersicht Simulations-Workflow - Elaborierung hierarchische Expansion des Entwurfs rekursives Durchlaufen der Testbench und Auflösen der Komponentenreferenzen so lange Ersetzung, bis nur noch Liste von Prozessen existiert Struktur-, Verhaltens-, und Datenflussbeschreibungen Simulationsmodell = Verbund von Prozessen gekoppelt über Signale Annotieren der Generics Reservieren von Speicherplatz für das Modell Vorgang vergleichbar mit Linker in SW 8 / 48

9 Übersicht Simulations-Workflow - Initialisierung Initialisierung von Signalen auf Standardwerte std_logic bspw. U, Bit? falls gegeben, Initialisierung auf Benutzerwerte (ACHTUNG: kritisch bei Synthese) jeder Prozess wird einmal durchlaufen komplett oder bis zur ersten wait-anweisung 9 / 48

10 Übersicht Simulations-Workflow - Ausführung testen des Schaltungsmodells Generierung der Ausgaben (Waveform) kann ein sehr zeitintensiver Vorgang sein ereignisgesteuertes Simulationskonzept 10 / 48

11 Ereignisgesteuertes Simulationskonzept - Begriffe jedes Signal besitzt eine Ereignisliste darin enthalten sind Transaktionen Transaktionen geben an, zu welchen Zeitpunkt sich ein Signal ändert Transaktionen können in der Ereignisliste überschrieben werden ein Ereignis an einem Signal tritt ein, wenn eine Transaktion ausgeführt wird 11 / 48

12 Ereignisgesteuertes Simulation keine kontinuierliche Simulation, nur an bestimmten diskreten Zeitpunkten Prozess nur dann aktiv, wenn ein Ereignis (Signalwechsel) eintritt Einsprungspunkt: Sensitivitätsliste bzw. wait-anweisung Aufteilung eines Simulationszeitpunktes in mehrere Delta-Zyklen Aufteilung eines Delta-Zyklus in Signalzuweisung und Prozessausführung 12 / 48

13 Ereignisgesteuertes Simulation - Signalzuweisung da Nebenläufigkeit simuliert werden soll, werden zu einem bestimmten Zeitpunkt zuerst die Signale zugewiesen (Signalzuweisung) dann werden alle Prozesse (seriell) abgearbeitet (Prozessausführung) Änderungen an einem Signal innerhalb eines Prozesses werden nicht sofort durchgeführt, sondern in der Ereignisliste als Transaktion vermerkt ist die vermerkte Zeit herangenaht, wird das Signal aktualisiert und die betreffenden Prozesse erneut ausgeführt 13 / 48

14 Ereignisgesteuertes Simulation - Delta-Zyklen Was passiert bei folgedem Datenfluss-Code, wenn sich A von 1 auf 0 zum Zeitpunkt t ändert? C <= A AND B ; E <= C AND D; es werden bei der Simulation 2 Prozesse erstellt, welche sensitiv auf die Eingaben reagieren. es wird Prozess 1 ausgeführt, weil sich A von 1 auf 0 geändert hat und somit C neu berechnet. Was wird in die Ereignisliste als Transaktion eingetragen? 14 / 48

15 Ereignisgesteuertes Simulation - Delta-Zyklen Was passiert bei folgedem Datenfluss-Code, wenn sich A von 1 auf 0 zum Zeitpunkt t ändert? C <= A AND B ; E <= C AND D; Zeitpunkt des Updates ist immer noch t - jedoch infinitesimal später dies nennt man einen Delta-Zyklus, keine Zeit im Modell ist vergangen nachdem alle Prozesse ihre Eingaben gelesen haben und ihre gewünschten Änderungen in die Ereignisliste vermerkt haben, wird zum nächsten Delta-Zyklus gesprungen jetzt zum Zeitpunkt t+1δ, wird C neu zugewiesen und der 2. Prozess des obigen Beispiels wird angestoßen um E neu zu berechnen 15 / 48

16 Ereignisgesteuertes Simulation - Delta-Zyklen Delta-Zyklen werden so oft zu einer Simulationszeit hinzugefügt, wie es Signaländerung im Zeitschritt t gibt Gibt es keine Signaländerungen mehr, wird ein echter Zeitschritt bis zum nächsten Ereignis getätigt Delta-Zyklen werden benötigt um Schaltungen, welche ohne Verzögerungszeit modelliert sind, sauber auflösen und simulieren zu können 16 / 48

17 Delta-Zyklen - Ausgabe im Simulator 17 / 48

18 Delta-Zyklen - Ausgabe im Simulator 18 / 48

19 GHDL + GTKwave GHDL: Ada Implementierung, der Simulator GTKwave: Die GUI zum Anzeigen der Simulationsergebnisse nur Unterstützung der Grundfunktionalität, z.b. keine Recordunterstützung etwas langsam und fehleranfällig zum Beispiel beim Auflösen großer Hierarchien 19 / 48

20 GHDL + GTKwave Workflow analyze der VHDL Dateien (compile & object files) $ ghdl -a datei.vhd Elaboration (design hierachy & simulator code & executable) $ ghdl -e toplevel_unit Ausführung (simulation) $ ghdl -r toplevel_unit --vcd=results.vcd $./toplevel_unit --vcd=results.vcd anschauen und auswerten $ gtkwave results.vcd 20 / 48

21 Besonderheiten IEEE Bibliotheken müssen bekannt gemacht werden $ ghdl --ieee=synopsys -a datei.vhd Arbeitsbibliothek angeben $ ghdl --work=work -a datei.vhd VCD Dateien werden schnell sehr groß $ ghdl -r toplevel_unit --vcdgz=results.vcd.gz Simulationen laufen unendlich lange doppeltes wait oder CTRL+C oder $ ghdl -r toplevel_unit --vcdgz=results.vcd.gz --stop-time=value 21 / 48

22 Exkurs VCD 1 $date Mon May 30 17:00: $end $version GHDL v0 $end $timescale 1 fs $end $var reg 1! clk $end $var reg 1 " reset $end $var reg 58 # x[57:0] $end... $comment xcos is not handled $end / 48

23 Exkurs VCD 2... # ! 0* 0F 0I 0S 0W 0[ 0a 0g # ! b * / 48

24 Modelsim Einführung Kommerzieller Simulator mit sehr vielen Features Einsatz in Lehre, Forschung und Wirtschaft viele verschiedene Versionen Einsatz für Verifikation möglich Unterstützung vieler verschiedener Sprachen Schematic Editor, Dataflow Diagram, Code Coverage, Functional Converage Bedienung über GUI oder Kommandozeile 24 / 48

25 Modelsim GUI (1) Kompilieren der Quellen Compile -> Compile Bibliothek auswählen Dateien auswählen Compile Done 25 / 48

26 Modelsim GUI (2) Simulation starten Heraussuchen der TB-Entity unter Library oder Simulate -> Start Simulation (mehr Optionen) 26 / 48

27 Modelsim GUI (3) Interessante Signale auswählen und simulieren Objects -> to Wave -> Selected Signals Simulate -> Run -> Run / 48

28 Modelsim GUI - Demonstration 28 / 48

29 Modelsim CLI (1) Modelsim vollkommen über Kommandozeile zu bedienen zu jedem GUI Befehl gibt es (mindestens) einen Befehl auf der Konsole Befehle können zu Batch-Dateien zusammengefasst werden vollkommen automatisierter Ablauf von Simulationen Zeitersparnis und automatisiertes Auswerten dazu vollständige Unterstützung von TCL 29 / 48

30 kompilieren der Quellen Modelsim CLI (2) $ vcom -work library design.vhd Simulation starten $ vsim library.entity -novopt für weglassen der Optimierung Singnale ins Waveform übernehmen $ add wave sim:/pfad/zum/signal -radix radix_type zum wechseln der Darstellung (bsp. unsigned) -label Name zum ändern des Namens -divider Name zur grafischen Abtrennung -color Name zur Farbgebung 30 / 48

31 Simulation durchführen Modelsim CLI (3) $ run Zeit Einheit [Zeit Einheit]... Simulieren ohne Testbench (Anlegen von Testwerten) $ force signal value time relative Zeit (Standard) und absolute Zeit (@) -freeze, -drive, -deposit Art der Anlegung des Signals -repeat beispielsweise zur Taktgenerierung Ausführen einer Batch-Datei $ do /pfad/zur/datei.do Werte der Simulation abfragen $ examine signalname -time Abfrage an einem bestimmten Zeitpunkt 31 / 48

32 Modelsim CLI/TCL Was passiert wenn man signal1 bis signal20 zum waveform hinzufügen will? ein Skript mit 20x add wave schreiben benutzen von TCL TCL ist eine Skriptsprache, mit der sich die Funktionalität von Tools, welche TCL unterstützen, beliebig erweitern lässt. Beispiele: mit einer for-schleife viele Signale hinzufügen Ergebnisse abgreifen und in eine Ausgabedatei schreiben erstellen neuer GUI-Elemente Verbindung über Sockets zu anderen Programmen Wenn ein bestimmtes Signal anliegt, eine andere Eingabe forcen / 48

33 Einführung TCL Tool Command Language vom John Ousterhout Open Source-Skriptsprache Entstanden aus der Not, als jedes Tool seine eigene Skriptsprache hatte als Bibliothek eingebettet in ein beliebiges Programm Unterstützung in vielen Tools Mentor Modelsim Xilinx ISE Synopsys DC Synopsys Synplify Cadence Encounter 33 / 48

34 Zentrale Notation TCL Prefix Notation / polnische Notation {} für Blöcke [] zur Auswertung von Ausdrücken # Kommentarzeichen "" für Strings 34 / 48

35 Zentrale Eingenschaften TCL dynamische Typen "everthing is a string" automatische Speicherverwaltung selbstmodifizierender Code möglich UTF-8 kompatibel Vereinigung verschiedener Programmierparadigmen 35 / 48

36 TCL Codeschnipsel (1) Ausgabe: puts channelid string % puts "VHDL rulez!" Eingabe: gets channelid variable % gets stdin a Arithmetische Ausdrücke % expr "6+4/2" Zuweisungen von Variablen % set a "VHDL rulez!" Referenzieren von Variablen % puts $a 36 / 48

37 TCL Codeschnipsel (2) Evaluieren von Ausdrücken % set a "puts \"VHDL rulez!\""; eval $a Kombination von Ausdrücken % set a [expr "3+4"] Beispiel funktionale Programmierung (wiki.tcl.tk) % proc mean L {expr double([join $L +]) / [llength $L]} ; 37 / 48

38 TCL Kontrollstrukturen (1) Prozeduren % proc name arguments body Beispiel proc sum {arg1 arg2} { set x [expr {$arg1 + $arg2}]; return $x } 38 / 48

39 TCL Kontrollstrukturen (2) Verzweigungen - IF % if expr1 then body1 elseif expr2 then body2 elseif... else bodyn Beispiel if {$vbl == 1} { puts "vbl is one" } elseif {$vbl == 2} { puts "vbl is two" } else { puts "vbl is not one or two" } 39 / 48

40 TCL Kontrollstrukturen (3) Schleifen - for Schleife % for start test next body Beispiel for {set x 0} {$x<10} {incr x} { puts "x is $x" } 40 / 48

41 TCL Kontrollstrukturen (4) Schleifen - while Schleife % while test body Beispiel while {$x < 5} { puts "x is $x" set x [expr {$x + 1}] } 41 / 48

42 Einbettung und Erweiterung TCL eigene Programme durch die Möglichkeit des Benutzer-Skriptings erweitern Einbettung von TCL in eigene (C) Programme möglich durch Bibliothek Instanzierung eines TCL Interpreters, welcher einen "TCL String" oder externe Datei ausführt Erweiterung von TCL durch weitere Kommandos neue Kommandos verweisen auf eine Funktion im eigenen Programm Parameterübergabe an Funktion und Datenrückgabe an den Interpreter möglich 42 / 48

43 Demonstration Beispieldemonstration (Kopplung Modelsim CLI mit TCL) zeigt: Kompilieren der Quellen Starten der Simulation wichtige Signale im Waveform anzeigen forcen der Eingaben clk, reset, x, y, z Ausführen der Simulation und herausschreiben des Cosinus in jeder Iteration Berechnung des Gesamtfehlers zwischen Cordic und Software 43 / 48

44 Erweiterungen Erweiterungen denkbar und Umsetzbar mit TCL: Randomisierte Startwerte Festlegen eines Schwellfehlers und Ausgabe Works/Failes TK Elemente -> beispielsweise ein Button in Modelsim hinzufügen welches diese Simulation dann ausführt Ergebnisse über einen Socket an eine andere Anwendung senden Verifikationen, Tcl3D, Fehlerinjektionen, / 48

45 Virtuelle Signale: Spezifische Modelsimfeatures (1) manchmal will man die Summe zweier Signale betrachten... oder es gibt eine serielle Arithmetik, wo man mehrere Bits an verschiedenen Stellen zusammenfassen will... oder man hat mehrere Bits, die zusammen einen Opcode ergeben... dafür gibt es in Modelsim virtuelle Signale $ virtual signal {expression string} name $ virtual signal {sim:/tb/a & sim:/tb/b} sigconcat $ virtual signal {sim:/tb/a + sim:/tb/b} sigadd auf virtuellen Signalen kann dann genauso gearbeitet werden wie auf normalen Signalen 45 / 48

46 Spezifische Modelsimfeatures (2) Virtuelle Signale Beispiel: 46 / 48

47 Weiterführende Features: Signalspy Spezifische Modelsimfeatures (3) viele GUI Einstellmöglichkeiten Gruppieren von Signalen Farben, Radix,... Memory Read/Write mem save mem load viele Frontends wave und list dataflow und schematic debugging Verifikation 47 / 48

48 Zusammenspiel zwischen ISE und Modelsim ISE besitzt internen Simulator isim - für kleine Projekte ok ISE unterstützt die Interaktion mit Modelsim wird in den Projekteigenschaften festgelegt, welcher Simulator verwendet wird dadurch einfaches Arbeiten über die GUI mit beiden Tools möglich als Schnittstelle zwischen ISE und Modelsim dienen TCL do-dateien (*.fdo, *.tdo, *.udo) welche ISE automatisch erstellt diese übernehmen Kompilierung, Simulationsstart, Anzeigen des waveforms und Simulationssteuerung automatisch erzeugte do-dateien, rufen immer ein user-do (*.udo) auf, die durch eigenen Code erweitert werden kann 48 / 48

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

VHDL Simulation. Dr.-Ing. Matthias Sand. Lehrstuhl für Informatik 3 (Rechnerarchitektur) Friedrich-Alexander-Universität Erlangen-Nürnberg SS 2011 VHDL Simulation Dr.-Ing. Matthias Sand Lehrstuhl für Informatik 3 (Rechnerarchitektur) Friedrich-Alexander-Universität Erlangen-Nürnberg SS 2011 VHDL Simulation 1/20 2011-05-18 Motivation Der Simulationsalgorithmus

Mehr

Entwurf digitaler Schaltungen Groÿe Übung 3 Simulation mit ghdl

Entwurf digitaler Schaltungen Groÿe Übung 3 Simulation mit ghdl Prof. G. Kemnitz, Dr. C. Giesemann Institut für Informatik, Technische Universität Clausthal7. Mai 20151/26 Entwurf digitaler Schaltungen Groÿe Übung 3 Simulation mit ghdl Prof. G. Kemnitz, Dr. C. Giesemann

Mehr

Vorlesung und Übung. Modellierung, Simulation, Entwurf heterogener Systeme. Dr. Christoph Grimm Professur Technische Informatik

Vorlesung und Übung. Modellierung, Simulation, Entwurf heterogener Systeme. Dr. Christoph Grimm Professur Technische Informatik Vorlesung und Übung Modellierung, Simulation, Entwurf heterogener Systeme - Am Beispiel SystemC Dr. Christoph Grimm Professur Technische Informatik 1 Dr. Ch. Grimm - Modellierung und Simulation heterogener

Mehr

Korn-Shell: Einführung in Shellscripte 1. Übersicht: Einführung 2. Die Kornshell im Detail 3.Grundlagen der Programmierung

Korn-Shell: Einführung in Shellscripte 1. Übersicht: Einführung 2. Die Kornshell im Detail 3.Grundlagen der Programmierung 1. Übersicht: Einführung 2. Die Kornshell im Detail 3.Grundlagen der Programmierung 1. Übersicht und Einführung 1.1 Die Shell allgemein 1.2 Die korn-shell 1.3 Der Weg zum ersten Skript 1.4 Nutzen und Grenzen

Mehr

Inhaltsverzeichnis. Inhalt. Bemerkung... 9 Vorwort Programme und Programmiersprachen

Inhaltsverzeichnis. Inhalt. Bemerkung... 9 Vorwort Programme und Programmiersprachen Inhalt 3 Bemerkung... 9 Vorwort... 10 1 Programme und Programmiersprachen 1.1 Assembler... 13 1.2 Höhere Programmiersprachen... 15 1.2.1 Interpreter... 16 1.2.2 Compiler... 17 1.2.3 Zwischencode... 18

Mehr

Outline Simulation Design-Richtlinien. VHDL Einführung 2. Marc Reichenbach. Informatik 3 / Rechnerarchitektur Universität Erlangen Nürnberg 05/14

Outline Simulation Design-Richtlinien. VHDL Einführung 2. Marc Reichenbach. Informatik 3 / Rechnerarchitektur Universität Erlangen Nürnberg 05/14 VHDL Einführung 2 Marc Reichenbach Informatik 3 / Rechnerarchitektur Universität Erlangen Nürnberg 05/14 1 / 37 Gliederung Simulation und Testbench Design-Richtlinien 2 / 37 Simulation und Testbench vor

Mehr

Korn-Shell: Einführung in Shellscripte 1. Übersicht: Einführung - 2. Die Kornshell im Detail - 3.Grundlagen der Programmierung

Korn-Shell: Einführung in Shellscripte 1. Übersicht: Einführung - 2. Die Kornshell im Detail - 3.Grundlagen der Programmierung 1. Übersicht: Einführung - 2. Die Kornshell im Detail - 3.Grundlagen der Programmierung 1. Übersicht und Einführung 1.1 Die Shell allgemein 1.2 Die korn-shell 1.3 Der Weg zum ersten Skript 1.4 Nutzen und

Mehr

Hardware Praktikum 2008

Hardware Praktikum 2008 HaPra 2008 - Versuchsreihe 5 - ALU Hardware Praktikum 2008 Prof. Dr. H.-J. Wunderlich Dipl.-Inf. M. Imhof Dipl.-Inf. S. Holst Agenda Die HaPra-CPU Eine kleine Übersicht VHDL Projekt-Organisation Entwurf

Mehr

Paul Molitor und Jörg Ritter VHDL. Eine Einführung. ein Imprint von Pearson Education

Paul Molitor und Jörg Ritter VHDL. Eine Einführung. ein Imprint von Pearson Education Paul Molitor und Jörg Ritter VHDL Eine Einführung ein Imprint von Pearson Education München Boston San Francisco Harlow, England Don Mills, Ontario Sydney Mexico City Madrid Amsterdam Inhaltsverzeichnis

Mehr

Hardware Praktikum 2008

Hardware Praktikum 2008 HaPra 2008 - Versuchsreihe 4 - Aufbau eines Volladdierers Hardware Praktikum 2008 Prof. Dr. H.-J. Wunderlich Dipl.-Inf. M. Imhof Dipl.-Inf. S. Holst Übersicht Entwurfsablauf Diskreter Aufbau Rechnergestützter

Mehr

zu große Programme (Bildschirmseite!) zerlegen in (weitgehend) unabhängige Einheiten: Unterprogramme

zu große Programme (Bildschirmseite!) zerlegen in (weitgehend) unabhängige Einheiten: Unterprogramme Bisher Datentypen: einfach Zahlen, Wahrheitswerte, Zeichenketten zusammengesetzt Arrays (Felder) zur Verwaltung mehrerer zusammengehörender Daten desselben Datentypes eindimensional, mehrdimensional, Array-Grenzen

Mehr

Laborübung 3. Latches, Flipflops, Counter

Laborübung 3. Latches, Flipflops, Counter Laborübung 3 Latches, Flipflops, Counter Teil 1 Abbildung 1 zeigt den Schaltkreis eines gated D-Latches. In Listing 1 wird exemplarisch ein Stück VHDL-Code vorgestellt, der den abgebildeten Schaltkreis

Mehr

Integrated HW/SW Systems Group IHS2 Seminar. 19 November 2009 Prof. Dr.-Ing. habil. Andreas Mitschele-Thiel

Integrated HW/SW Systems Group   IHS2 Seminar. 19 November 2009 Prof. Dr.-Ing. habil. Andreas Mitschele-Thiel Simulation / VGA Ansteuerung 19 November 2009 Prof. Dr.-Ing. habil. Andreas Mitschele-Thiel Self-Organization 19 November 2009 1 Inhalt Simulation Erstellen einer Testbench Einrichten der Simulation Durchführen

Mehr

Programmieren in Java

Programmieren in Java Programmieren in Java Vorlesung 10: Ein Interpreter für While Prof. Dr. Peter Thiemann Albert-Ludwigs-Universität Freiburg, Germany SS 2015 Peter Thiemann (Univ. Freiburg) Programmieren in Java JAVA 1

Mehr

7. Einführung in C++ Programmieren / Algorithmen und Datenstrukturen 1 Prof. Dr. Bernhard Humm FB Informatik, Hochschule Darmstadt

7. Einführung in C++ Programmieren / Algorithmen und Datenstrukturen 1 Prof. Dr. Bernhard Humm FB Informatik, Hochschule Darmstadt 7. Einführung in C++ Programmieren / Algorithmen und Datenstrukturen 1 Prof. Dr. Bernhard Humm FB Informatik, Hochschule Darmstadt 1 Kontrollfragen Rekursion Was bedeutet Rekursion? Geben Sie Beispiele

Mehr

III.1 Prinzipien der funktionalen Programmierung - 1 -

III.1 Prinzipien der funktionalen Programmierung - 1 - 1. Prinzipien der funktionalen Programmierung 2. Deklarationen 3. Ausdrücke 4. Muster (Patterns) 5. Typen und Datenstrukturen 6. Funktionale Programmiertechniken III.1 Prinzipien der funktionalen Programmierung

Mehr

FPGA-Entwurf mit VHDL. Serie 3

FPGA-Entwurf mit VHDL. Serie 3 Christian-Albrechts-Universität zu Kiel Institut für Informatik Lehrstuhl für Technische Informatik Prof. Dr. Manfred Schimmler Dipl.-Inf. Lars Wienbrandt FPGA-Entwurf mit VHDL Sommersemester 2011 Serie

Mehr

Versuchsreihe 7. Registerfile. Registerfile + Programmzähler. HaPra Versuchsreihe 7 - Registerfile + Programmzähler. 32 Register à 32 Bit

Versuchsreihe 7. Registerfile. Registerfile + Programmzähler. HaPra Versuchsreihe 7 - Registerfile + Programmzähler. 32 Register à 32 Bit HaPra 2007 - Versuchsreihe 7 - Registerfile + Programmzähler Versuchsreihe 7 Registerfile + Programmzähler Registerfile Register à Bit Schreiben in Register: - Dateneingang D(31:0) - Adresseingang A_D(4:0)

Mehr

Verilog. Modellbildung für Synthese und Verifikation von Bernhard Hoppe. Oldenbourg Verlag München Wien

Verilog. Modellbildung für Synthese und Verifikation von Bernhard Hoppe. Oldenbourg Verlag München Wien Verilog Modellbildung für Synthese und Verifikation von Bernhard Hoppe Oldenbourg Verlag München Wien Inhalt Vorwort des Herausgebers XI 1 Einleitung 1 2 Electronic-Design mit Verflog HDL 5 2.1 Der Design-Zyklus

Mehr

Gliederung. n Teil I: Einleitung und Grundbegriffe. n Teil II: Imperative und objektorientierte Programmierung

Gliederung. n Teil I: Einleitung und Grundbegriffe. n Teil II: Imperative und objektorientierte Programmierung Gliederung n Teil I: Einleitung und Grundbegriffe l 1. Organisatorisches l 2. Grundlagen von Programmiersprachen n Teil II: Imperative und objektorientierte Programmierung l 1. Grundelemente der Programmierung

Mehr

Configurable Embedded Systems

Configurable Embedded Systems Configurable Embedded Systems Prof. Dr. Sven-Hendrik Voß Wintersemester 2017 Technische Informatik (Master), Semester 2 Termin 3, 23.10.2017 Seite 2 Zynq Design Flow Configurable Embedded Systems Wintersemester

Mehr

iphoto und AppleScript

iphoto und AppleScript iphoto und AppleScript iphoto gehört auch zu den so genannten Scriptable Applications, was bedeutet, dass sich das Programm über die Skriptsprache AppleScript steuern lässt. Der Vorteil besteht darin,

Mehr

I EINLEITUNG SYNTAX SPEZIELLE PROBLEME BEISPIEL AUSBLICK

I EINLEITUNG SYNTAX SPEZIELLE PROBLEME BEISPIEL AUSBLICK I EINLEITUNG SYNTAX SPEZIELLE PROBLEME BEISPIEL AUSBLICK... 1... V H D L Tim Köhler April 2005 I EINLEITUNG SYNTAX SPEZIELLE PROBLEME BEISPIEL AUSBLICK... 2... Übersicht 1. Einleitung 2. Syntax 3. Spezielle

Mehr

Programmieren in Lua

Programmieren in Lua Roberto lerusalimschy Programmieren in Lua 3. Auflage Open Source Press Inhaltsverzeichnis Vorwort 13 I Die Sprache 21 1 Einführung 23 1.1 Chunks 24 1.2 Einige lexikalische Konventionen 26 1.3 Globale

Mehr

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

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

Mehr

Ursprünge. Die Syntax von Java. Das Wichtigste in Kürze. Konsequenzen. Weiteres Vorgehen. Rund um Java

Ursprünge. Die Syntax von Java. Das Wichtigste in Kürze. Konsequenzen. Weiteres Vorgehen. Rund um Java Ursprünge Die Syntax von Java Borland Software Corp 1995 Syntax: Pascal Objektorientierte Prorammierung optional Plattformen: Windows (Linux, Mac OS X) Sun Microsystems 1995 Syntax: C/C++ Objektorientiert

Mehr

Arithmetik in der tcsh

Arithmetik in der tcsh Arithmetik in der tcsh Variablen speichern Zeichenketten (also Strings/Wörter) @ statt set Interpretation als arithmetische Ausdrücke (aus Ziffern, (, ), +, -, *, /, % bestehend) Beispiele: @ var = (3

Mehr

Verilog/VHDL. Mehdi Khayati Sarkandi Uni Siegen

Verilog/VHDL. Mehdi Khayati Sarkandi Uni Siegen Mehdi Khayati Sarkandi Uni Siegen Hardware Description Language (HDL) Werkzeug zum Entwurf komplexer digitaler Schaltungen, zur Simulation des Systemverhaltens, zur Überprüfung auf korrekte Funktionsfähigkeit

Mehr

Das diesem Dokument zugrundeliegende Vorhaben wurde mit Mitteln des Bundesministeriums für Bildung und Forschung unter dem Förderkennzeichen

Das diesem Dokument zugrundeliegende Vorhaben wurde mit Mitteln des Bundesministeriums für Bildung und Forschung unter dem Förderkennzeichen Das diesem Dokument zugrundeliegende Vorhaben wurde mit Mitteln des Bundesministeriums für Bildung und Forschung unter dem Förderkennzeichen 16OH21005 gefördert. Die Verantwortung für den Inhalt dieser

Mehr

Einführung in MATLAB + MATLAB Simulink. Dipl.-Inf. Markus Appel

Einführung in MATLAB + MATLAB Simulink. Dipl.-Inf. Markus Appel Einführung in MATLAB + MATLAB Simulink Dipl.-Inf. Markus Appel mappel@informatik.hu-berlin.de 28.10.2016 Was ist MATLAB? ein universelles Algebra-Programm zur Lösung mathematischer Probleme grafische Darstellung

Mehr

Einführung in die technische Informatik

Einführung in die technische Informatik Einführung in die technische Informatik Christopher Kruegel chris@auto.tuwien.ac.at http://www.auto.tuwien.ac.at/~chris VHDL VHDL Akronym für Very High-Speed Integrated Circuit Hardware Description Language

Mehr

Institut für Computational Science Prof. Dr. H. Hinterberger. Praxismodul 1. Einführung in die Programmierung Erste Programme

Institut für Computational Science Prof. Dr. H. Hinterberger. Praxismodul 1. Einführung in die Programmierung Erste Programme Institut für Computational Science Prof. Dr. H. Hinterberger Praxismodul 1 Einführung in die Programmierung Erste Programme Einführung in die Programmierung 2 Institut für Computational Science, ETH Zürich,

Mehr

Praktikum Systementwurf mit VHDL HDL Design Lab

Praktikum Systementwurf mit VHDL HDL Design Lab Praktikum Systementwurf mit VHDL HDL Design Lab Inhalt Kryptographie - Aufgaben VHDL - Konzepte Beispiel: 16 bit XOR Kryptographie - Aufgaben Geheimhaltung Integrität Authentifizierung Verbindlichkeit

Mehr

Vorsemesterkurs Informatik Übungsaufgaben. Tag 4a - Python

Vorsemesterkurs Informatik Übungsaufgaben. Tag 4a - Python Vorsemesterkurs Informatik Übungsaufgaben Tag 4a - Python Aufgabe 1: Listen Mache dich im Python-Interpreter mit dem Umgang mit Listen vertraut. Kapitel 2.6 im Skript (s.40) enthält nützliche Informationen.

Mehr

Computergestützter IC- Entwurf

Computergestützter IC- Entwurf FHTW Berlin Fachbereich 1 Technische Informatik, D5TI Computergestützter IC- Entwurf Simulation eines Lauflichts Übungs- Beleg Abgabetermin: 07.02.2003, 366437 1 Inhaltsverzeichnis 1 Einleitung... 3 2

Mehr

Übungsblatt 1 Einführung in die Xilinx Vivado FPGA Design Plattform Abgabefrist: Mittwoch , 10:00 Uhr

Übungsblatt 1 Einführung in die Xilinx Vivado FPGA Design Plattform Abgabefrist: Mittwoch , 10:00 Uhr Praktikum zur Vorlesung Prozessorarchitektur SS 2017 Übungsblatt 1 Einführung in die Xilinx Vivado FPGA Design Plattform Abgabefrist: Mittwoch 03.05.2017, 10:00 Uhr 1. Einführung In dieser Übung werden

Mehr

Laborübung 2. Teil 1: Latches, Flipflops, Counter. Abbildung 1: Schaltkreis eines Gated D-Latch

Laborübung 2. Teil 1: Latches, Flipflops, Counter. Abbildung 1: Schaltkreis eines Gated D-Latch Laborübung 2 Teil 1: Latches, Flipflops, Counter A 1 Abbildung 1 zeigt den Schaltkreis eines gated D-Latches. In Listing 1 wird exemplarisch ein Stück VHDL-Code vorgestellt, der den abgebildeten Schaltkreis

Mehr

Algorithmen zur Datenanalyse in C++

Algorithmen zur Datenanalyse in C++ Algorithmen zur Datenanalyse in C++ Hartmut Stadie 16.04.2012 Algorithmen zur Datenanalyse in C++ Hartmut Stadie 1/ 39 Einführung Datentypen Operatoren Anweisungssyntax Algorithmen zur Datenanalyse in

Mehr

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

Outline Schieberegister Multiplexer Zähler Addierer. Rechenschaltungen. Marc Reichenbach und Michael Schmidt Rechenschaltungen Marc Reichenbach und Michael Schmidt Informatik 3 / Rechnerarchitektur Universität Erlangen Nürnberg 05/11 1 / 22 Gliederung Schieberegister Multiplexer Zähler Addierer 2 / 22 Schieberegister

Mehr

Linux und Shell-Programmierung Teil 6

Linux und Shell-Programmierung Teil 6 Prof. Dr. Christian Baun Linux und Shell-Programmierung Teil 6 Fachhochschule Frankfurt am Main WS1314 1/18 Linux und Shell-Programmierung Teil 6 Prof. Dr. Christian Baun Fachhochschule Frankfurt am Main

Mehr

Informatik II - Übung 01

Informatik II - Übung 01 Informatik II - Übung 01 Raphael Fischer (Folien basierend auf denen von Christian Beckel) fischrap@student.ethz.ch 01.03.2017 Wie sieht eine Übungsstunde aus? 1) Fragen aus der Vorlesung! 2) Praktische

Mehr

Zeon PDF Driver Trial

Zeon PDF Driver Trial FPGA Praktikum WS2000/2001 1.Woche: Organisation Synthetisierbares VHDL 1. Organisation des Praktikums Das Praktikum Zuordnung: 4 SWS PT3 (P5, P6) Treffen: Mittwochs, 14:00 c.t. Raum 308 Georg-Voigt-Straße

Mehr

Einführung in die Computerlinguistik Einführung in Perl (1)

Einführung in die Computerlinguistik Einführung in Perl (1) Einführung in die Computerlinguistik Einführung in Perl (1) Dozentin: Wiebke Petersen 26.11.2009 Wiebke Petersen Einführung CL (WiSe 09/10) 1 Compiler Ein Compiler (auch Übersetzer oder Kompilierer genannt)

Mehr

Programming 101. Carl Herrmann IPMB & DKFZ

Programming 101. Carl Herrmann IPMB & DKFZ Programming 101 Carl Herrmann IPMB & DKFZ Programmieren Kommandozeile Einfache Befehle Shell Skript aneinanderketten von Befehlen Schleifen Programmiersprache Komplexere Aufgaben Gemeinsamkeiten Alle Programmiersprachen

Mehr

Mathematische Computer-Software

Mathematische Computer-Software Mathematische Computer-Software Kommerzielle Computeralgebrasysteme (CAS) Beispiele: Mathematica, Maple, Numerisches und symbolisches Verarbeiten von Gleichungen: Grundrechenarten Ableitung und Integration

Mehr

Outline Automaten FSM Synthesis FSM in VHDL FSM auf FPGA. State Machines. Marc Reichenbach und Michael Schmidt

Outline Automaten FSM Synthesis FSM in VHDL FSM auf FPGA. State Machines. Marc Reichenbach und Michael Schmidt State Machines Marc Reichenbach und Michael Schmidt Informatik 3 / Rechnerarchitektur Universität Erlangen Nürnberg 05/11 1 / 34 Gliederung Endliche Automaten Automaten Synthese FSM Beschreibung in VHDL

Mehr

Kontrollfluss. man Verzweigungen und Sprünge. o bisher linear (von oben nach unten) o Für interessante Programme braucht

Kontrollfluss. man Verzweigungen und Sprünge. o bisher linear (von oben nach unten) o Für interessante Programme braucht Kontrollanweisungen Kontrollfluss o bisher linear (von oben nach unten) o Für interessante Programme braucht man Verzweigungen und Sprünge Kontrollfluss o bisher linear (von oben nach unten) o Für interessante

Mehr

12. Rekursion. 1, falls n 1. n (n 1)!, andernfalls. Lernziele. Mathematische Rekursion. Rekursion in Java: Genauso! n! =

12. Rekursion. 1, falls n 1. n (n 1)!, andernfalls. Lernziele. Mathematische Rekursion. Rekursion in Java: Genauso! n! = Lernziele Sie verstehen, wie eine Lösung eines rekursives Problems in Java umgesetzt werden kann. Sie wissen, wie Methoden in einem Aufrufstapel abgearbeitet werden. 12. Rekursion Mathematische Rekursion,

Mehr

Tutorial Vivado/VHDL Teil 3 7-Segment-Anzeige

Tutorial Vivado/VHDL Teil 3 7-Segment-Anzeige Tutorial Vivado/VHDL Teil 3 7-Segment-Anzeige Prof. Dr.-Ing. Michael Karagounis Dipl.-Ing. Rolf Paulus 1. Motivation Das Ziel dieses Laborversuchs ist es, den Umgang mit Vektoren und bedingten nebenläufigen

Mehr

1 Aufgaben 1.1 Umgebungsvariable setzen: CLASSPATH

1 Aufgaben 1.1 Umgebungsvariable setzen: CLASSPATH 1 Aufgaben 1.1 Umgebungsvariable setzen: CLASSPATH Die Umgebungsvariable CLASSPATH kann im Hamster-Simulator sowohl für Compiler als auch für die Ausführung des Hamster-Programms gesetzt werden: Hierdurch

Mehr

Integrated HW/SW Systems Group 20 November 2009 Prof. Dr.-Ing. habil. Andreas Mitschele-Thiel.

Integrated HW/SW Systems Group  20 November 2009 Prof. Dr.-Ing. habil. Andreas Mitschele-Thiel. Erweiterte Simulation / Aufgaben 20 November 2009 Prof. Dr.-Ing. habil. Andreas Mitschele-Thiel Self-Organization 20 November 2009 1 Inhalt Erweiterung der Simulation Ausgabe der Bilddaten in eine Datei

Mehr

Methoden. Gerd Bohlender. Einstieg in die Informatik mit Java, Vorlesung vom

Methoden. Gerd Bohlender. Einstieg in die Informatik mit Java, Vorlesung vom Einstieg in die Informatik mit Java, Vorlesung vom 2.5.07 Übersicht 1 2 definition 3 Parameterübergabe, aufruf 4 Referenztypen bei 5 Überladen von 6 Hauptprogrammparameter 7 Rekursion bilden das Analogon

Mehr

Fachhochschule Südwestfalen Wir geben Impulse. Kontrollstrukturen und Schleifen in Octave

Fachhochschule Südwestfalen Wir geben Impulse. Kontrollstrukturen und Schleifen in Octave Fachhochschule Südwestfalen Wir geben Impulse Kontrollstrukturen und Schleifen in Octave Einführung Inhalt m-files Script-Files Function-Files Ein- Ausgabe von Variablen oder Ergebnissen For-Schleife While-Schleife

Mehr

Bash-Skripting Linux-Kurs der Unix-AG

Bash-Skripting Linux-Kurs der Unix-AG Bash-Skripting Linux-Kurs der Unix-AG Sebastian Weber 13.06.2012 Was ist ein Bash-Skript? Skript muss mit chmod +x ausführbar gemacht sein Aneinanderreihung von Befehlen normale Befehle nutzbar Sebastian

Mehr

EHP Einführung Projekt A

EHP Einführung Projekt A Volker Dörsing EHP Einführung Projekt A email: doersing@uni-jena.de praktische Übung www: http://users.minet.uni-jena.de/~ehp-head Vorbereitung, Durchführung, Kolloquium Infos zur Veranstaltung, Versuchsanleitung

Mehr

Übungsblatt 1. Einführung in die Xilinx Vivado FPGA Design Plattform

Übungsblatt 1. Einführung in die Xilinx Vivado FPGA Design Plattform Praktikum zur Vorlesung Prozessorarchitektur SS 2016 Übungsblatt 1. Einführung in die Xilinx Vivado FPGA Design Plattform 1.1. Einführung In dieser Übung werden wir einen einfachen digitalen Entwurf als

Mehr

Die Syntax von Java. Ursprünge. Konsequenzen. Das Wichtigste in Kürze. Weiteres Vorgehen. Rund um Java. Sun Microsystems. Borland Software Corp

Die Syntax von Java. Ursprünge. Konsequenzen. Das Wichtigste in Kürze. Weiteres Vorgehen. Rund um Java. Sun Microsystems. Borland Software Corp Ursprünge Die Syntax von Java Borland Software Corp 1995 Syntax: Pascal Objektorientierte Prorammierung optional Plattformen: Windows (Linux, Mac OS X) Sun Microsystems 1995 Syntax: C/C++ Objektorientiert

Mehr

D.5 Versuchsreihe 5: Arithmetisch-Logische Einheit

D.5 Versuchsreihe 5: Arithmetisch-Logische Einheit D.5: Versuchsreihe 5: Arithmetisch-Logische Einheit D D.5 Versuchsreihe 5: Arithmetisch-Logische Einheit Abgabedatum: 21.05.2010 Name: Gruppe: Theorie: Versuch: (vom Tutor abzuzeichnen) (vom Tutor abzuzeichnen)

Mehr

Inhaltsverzeichnis. Vorwort.11

Inhaltsverzeichnis. Vorwort.11 Inhaltsverzeichnis Vorwort.11 Kapitel 1 Einführung in die C-Programmierung 17 1.1 Ein erstes C-Programm 17 1.1.1 Analyse des Zinseszins-Programms 17 1.2 Compilieren und Ausführen eines Programms 24 1.3

Mehr

Informatik I Übung, Woche 40

Informatik I Übung, Woche 40 Giuseppe Accaputo 1. Oktober, 2015 Plan für heute 1. Nachbesprechung Übung 2 2. Vorbesprechung Übung 3 3. Zusammenfassung der für Übung 3 wichtigen Vorlesungsslides Informatik 1 (D-BAUG) Giuseppe Accaputo

Mehr

Inhaltsverzeichnis. Grundlagen und Einführung (1. Band) 1

Inhaltsverzeichnis. Grundlagen und Einführung (1. Band) 1 Inhaltsverzeichnis Grundlagen und Einführung (1. Band) 1 1 Einleitung und Vorwort 1 1.1 Vorwort zur 13. Auflage....................... 1 1.2 Vorwort zur 10. Auflage....................... 1 1.3 Voraussetzungen...........................

Mehr

Simulieren der Unisim Library mit Hilfe des Simulator GHDL

Simulieren der Unisim Library mit Hilfe des Simulator GHDL Simulieren der Unisim Library mit Hilfe des Simulator GHDL René Doß http://www.dossmatik.de 22. Januar 2010 GHDL ist ein frei verfügbarer Simulator, der in der Entwicklung einsatzfähig ist. Das Tool ist

Mehr

Allgemeine Erläuterungen zum Ausführen eines Sprachdialoges

Allgemeine Erläuterungen zum Ausführen eines Sprachdialoges Graphische Elemente und deren Bedeutung für VXML Formular (). Menüelement Feldvariable (). Allgemeine Erläuterungen zum Ausführen eines Sprachdialoges Ein VXML-Dialog wird nach dem

Mehr

15. Rekursion. Rekursive Funktionen, Korrektheit, Terminierung, Aufrufstapel, Bau eines Taschenrechners, BNF, Parsen

15. Rekursion. Rekursive Funktionen, Korrektheit, Terminierung, Aufrufstapel, Bau eines Taschenrechners, BNF, Parsen 453 15. Rekursion Rekursive Funktionen, Korrektheit, Terminierung, Aufrufstapel, Bau eines Taschenrechners, BNF, Parsen Mathematische Rekursion 454 Viele mathematische Funktionen sind sehr natürlich rekursiv

Mehr

JavaScript. Dies ist normales HTML. Hallo Welt! Dies ist JavaScript. Wieder normales HTML.

JavaScript. Dies ist normales HTML. Hallo Welt! Dies ist JavaScript. Wieder normales HTML. JavaScript JavaScript wird direkt in HTML-Dokumente eingebunden. Gib folgende Zeilen mit einem Texteditor (Notepad) ein: (Falls der Editor nicht gefunden wird, öffne im Browser eine Datei mit der Endung

Mehr

Einführung in VHDL (2)

Einführung in VHDL (2) Einführung in VHDL Digitale Systeme haben immer größere Bedeutung erlangt. Komplexität wurde dabei immer größer, sodass die Entwicklung digitaler Systeme zu weiten Teilen nur noch mit Computerunterstützung

Mehr

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

VHDL Grundelemente. Dr.-Ing. Matthias Sand. Lehrstuhl für Informatik 3 (Rechnerarchitektur) Friedrich-Alexander-Universität Erlangen-Nürnberg VHDL Grundelemente Dr.-Ing. Matthias Sand Lehrstuhl für Informatik 3 (Rechnerarchitektur) Friedrich-Alexander-Universität Erlangen-Nürnberg WS 2009/2010 VHDL Grundelemente 1/15 2009-07-31 Inhalt Folgende

Mehr

11. Rekursion. 1, falls n 1. n (n 1)!, andernfalls. Mathematische Rekursion. Rekursion in Java: Genauso! Unendliche Rekursion. n!

11. Rekursion. 1, falls n 1. n (n 1)!, andernfalls. Mathematische Rekursion. Rekursion in Java: Genauso! Unendliche Rekursion. n! Mathematische Rekursion 11. Rekursion Mathematische Rekursion, Terminierung, der Aufrufstapel, Beispiele, Rekursion vs. Iteration, Lindenmayer Systeme Viele mathematische Funktionen sind sehr natürlich

Mehr

ECDL MODUL COMPUTING. Syllabus Version 1.0

ECDL MODUL COMPUTING. Syllabus Version 1.0 ECDL MODUL COMPUTING Syllabus Version 1.0 DLGI Dienstleistungsgesellschaft für Informatik Am Bonner Bogen 6 53227 Bonn Tel.: 0228-688-448-0 Fax: 0228-688-448-99 E-Mail: info@dlgi.de, URL: www.dlgi.de In

Mehr

Arrays. Arrays werden verwendet, wenn viele Variablen benötigt werden. Der Vorteil in Arrays liegt darin, dass man nur eine Variable deklarieren muss

Arrays. Arrays werden verwendet, wenn viele Variablen benötigt werden. Der Vorteil in Arrays liegt darin, dass man nur eine Variable deklarieren muss Arrays FTI 41 2005-09-09 Arrays werden verwendet, wenn viele Variablen benötigt werden. Der Vorteil in Arrays liegt darin, dass man nur eine Variable deklarieren muss z.b. Dim Werte(x) As Single. Wobei

Mehr

Übung 3: VHDL Darstellungen (Blockdiagramme)

Übung 3: VHDL Darstellungen (Blockdiagramme) Übung 3: VHDL Darstellungen (Blockdiagramme) Aufgabe 1 Multiplexer in VHDL. (a) Analysieren Sie den VHDL Code und zeichnen Sie den entsprechenden Schaltplan (mit Multiplexer). (b) Beschreiben Sie zwei

Mehr

Java: Eine kurze Einführung an Beispielen

Java: Eine kurze Einführung an Beispielen Java: Eine kurze Einführung an Beispielen Quellcode, javac und die JVM Der Quellcode eines einfachen Java-Programms besteht aus einer Datei mit dem Suffix.java. In einer solchen Datei wird eine Klasse

Mehr

Entwurfsverfahren digitaler Schaltungen

Entwurfsverfahren digitaler Schaltungen Fakultät für Elektrotechnik und Informationstechnik Lehrstuhl für Entwurfsautomatisierung Univ.-Prof. Dr.-Ing. Ulf Schlichtmann Entwurfsverfahren digitaler Schaltungen II. Logiksimulation II. Logiksimulation

Mehr

ecatt Hamburg

ecatt Hamburg ecatt Hamburg 05.06.10 Warum und wann testen? Eigenentwicklung Customizing Patches Upgrade Transporte SAP Walldorf Kunde DEV Kunde QTST Customizing-Einstellungen und Entwicklungsobjekte eines SAP-Systems

Mehr

Datenpfad einer einfachen MIPS CPU

Datenpfad einer einfachen MIPS CPU Datenpfad einer einfachen MIPS CPU Die Branch Instruktion beq Grundlagen der Rechnerarchitektur Prozessor 13 Betrachten nun Branch Instruktion beq Erinnerung, Branch Instruktionen beq ist vom I Typ Format:

Mehr

Programmierkurs für das modularisierte Lehramt. September 2011, 8. Vorlesung. Stuttgart, den 22. September Dr. Heiko Schulz.

Programmierkurs für das modularisierte Lehramt. September 2011, 8. Vorlesung. Stuttgart, den 22. September Dr. Heiko Schulz. Programmierkurs für das modularisierte Lehramt September 2011, 8. Vorlesung Dr. Heiko Schulz Universität Stuttgart, Fachbereich Mathematik Hauptquellen: Stuttgart, den 22. September 2011 L Programmierkurs

Mehr

Kontrollstrukturen -- Schleifen und Wiederholungen

Kontrollstrukturen -- Schleifen und Wiederholungen Kontrollstrukturen -- Schleifen und Wiederholungen Informatik für Elektrotechnik und Informationstechnik Benedict Reuschling benedict.reuschling@h-da.de Hochschule Darmstadt Fachbereich Informatik WS 2013/14

Mehr

Java I Vorlesung Imperatives Programmieren

Java I Vorlesung Imperatives Programmieren Java I Vorlesung 2 Imperatives Programmieren 3.5.2004 Variablen -- Datentypen -- Werte Operatoren und Ausdrücke Kontrollstrukturen: if Imperatives Programmieren Im Kern ist Java eine imperative Programmiersprache.

Mehr

1 Aufgaben 1.1 Objektorientiert: ("extended-hamster") Sammel-Hamster

1 Aufgaben 1.1 Objektorientiert: (extended-hamster) Sammel-Hamster 1 Aufgaben 1.1 Objektorientiert: ("extended-hamster") Sammel-Hamster Aufgabe: Bearbeitungszeit: ca. 1/4 Std) Schreiben Sie ein "objektorientiertes" Programm ("CuB_05_1") für das Sammeln der Körner. Aufgabenbeschreibung:

Mehr

Einführung in C. EDV1-04C-Einführung 1

Einführung in C. EDV1-04C-Einführung 1 Einführung in C 1 Helmut Erlenkötter C Programmieren von Anfang an Rowohlt Taschenbuch Verlag ISBN 3-4993 499-60074-9 19,90 DM http://www.erlenkoetter.de Walter Herglotz Das Einsteigerseminar C++ bhv Verlags

Mehr

Laborübung 4. Zustandsautomaten (Finite State Machines)

Laborübung 4. Zustandsautomaten (Finite State Machines) Laborübung 4 Zustandsautomaten (Finite State Machines) Für den Entwurf und die Beschreibung von digitalen Systemen bilden Zustandsautomaten (Finite State Maschines; FSMs) eine wesentliche Grundlage. Mit

Mehr

WaveFormer Pro in Simulationsumgebungen mit ModelSim

WaveFormer Pro in Simulationsumgebungen mit ModelSim EDV BERATUNGS- UND HANDELSGESELLSCHAFT WEDELER LANDSTR. 93 22559 HAMBURG TEl.: (040) 18980520 FAX: (040) 811037 Http://www.databit.de WaveFormer Pro in Simulationsumgebungen mit ModelSim WaveFormer Pro

Mehr

Objektorientierte Programmierung. Agenda für heute, 26. März, Eines der drei wichtigsten Programmierparadigmen

Objektorientierte Programmierung. Agenda für heute, 26. März, Eines der drei wichtigsten Programmierparadigmen Agenda für heute, 26. März, 2009 Imperatives vs. objektorientiertes Programmieren Lesen Sie den Begleittext Seite 79 85 Eines der drei wichtigsten Programmierparadigmen (Paradigma: Denkmuster) Imperative

Mehr

Computergestützter IC- Entwurf

Computergestützter IC- Entwurf FHTW Berlin Fachbereich 1 Technische Informatik, D5TI Computergestützter IC- Entwurf Simulation eines Fahrstuhls Beleg Abgabetermin: 07.02.2003, 366437 1 Inhaltsverzeichnis 1 Einleitung... 3 2 Versuchsdurchführung...

Mehr

Languages and Tools for Object-Oriented Development Klausur Wintersemester 2007/2008

Languages and Tools for Object-Oriented Development Klausur Wintersemester 2007/2008 Languages and Tools for Object-Oriented Development Klausur Wintersemester 2007/2008 27. Februar 2008 Institut für Softwaresysteme, TUHH Regeln: 1. Zu dieser Klausur sind keinerlei Hilfsmittel zugelassen.

Mehr

Vorlesung Programmieren

Vorlesung Programmieren Vorlesung Programmieren 3. Kontrollstrukturen 04.11.2015 Prof. Dr. Ralf H. Reussner Version 1.1 LEHRSTUHL FÜR SOFTWARE-DESIGN UND QUALITÄT (SDQ) INSTITUT FÜR PROGRAMMSTRUKTUREN UND DATENORGANISATION (IPD),

Mehr

2. Aufgabenblatt

2. Aufgabenblatt Einführung in Computer Microsystems Sommersemester 2010 Wolfgang Heenes 2. Aufgabenblatt 28.04.2010 Aufgabe 1: Installation Xilinx ISE Als erstes muss die Entwicklungsumgebung ISE installiert werden. Die

Mehr

Die Programmiersprache C Eine Einführung

Die Programmiersprache C Eine Einführung Die Programmiersprache C Eine Einführung Christian Gentsch Fakutltät IV Technische Universität Berlin Projektlabor 2. Mai 2014 Inhaltsverzeichnis 1 Einführung Entstehungsgeschichte Verwendung 2 Objektorientiert

Mehr

Informatik 1 ( ) D-MAVT F2010. Kontrollanweisungen 1, ASCII. Yves Brise Übungsstunde 3

Informatik 1 ( ) D-MAVT F2010. Kontrollanweisungen 1, ASCII. Yves Brise Übungsstunde 3 Informatik 1 (251-0832-00) D-MAVT F2010 Kontrollanweisungen 1, ASCII Inhalt Ziele: Prüfungsaufgabe Festigung & Repetition Kontrollstrukturen Bemerkung zu Übungsabgabe: Wenn möglich die Zeilenlänge in Dateien

Mehr

zu große Programme (Bildschirmseite!) zerlegen in (weitgehend) unabhängige Einheiten: Unterprogramme

zu große Programme (Bildschirmseite!) zerlegen in (weitgehend) unabhängige Einheiten: Unterprogramme Bisher Datentypen: einfach Zahlen, Wahrheitswerte, Zeichenketten zusammengesetzt Arrays (Felder) zur Verwaltung mehrerer zusammengehörender Daten desselben Datentypes eindimensional, mehrdimensional, Array-Grenzen

Mehr

Programmieren lernen mit Perl

Programmieren lernen mit Perl Xpert.press Programmieren lernen mit Perl Bearbeitet von Joachim Ziegler 1. Auflage 2002. Buch. XIV, 400 S. Hardcover ISBN 978 3 540 42685 1 Format (B x L): 15,5 x 23,5 cm Gewicht: 783 g Weitere Fachgebiete

Mehr

Java: Kapitel 1. Überblick. Programmentwicklung WS 2008/2009. Holger Röder Holger Röder

Java: Kapitel 1. Überblick. Programmentwicklung WS 2008/2009. Holger Röder Holger Röder Java: Kapitel 1 Überblick Programmentwicklung WS 2008/2009 Holger Röder holger.roeder@informatik.uni-stuttgart.de Was ist Java? Die Java-Technologie umfasst die Programmiersprache Java sowie die Java-Plattform

Mehr

Die Shell. Ein Vortrag von Frederik und Michael 1 / 35

Die Shell. Ein Vortrag von Frederik und Michael 1 / 35 Die Shell Ein Vortrag von Frederik und Michael 1 / 35 Die Shell Teil 1 Einleitung Geschichte des Terminals Vergleich von GUI und Konsole Teil 2 Praxis Teil 3 Konzepte und Möglichkeiten der Shell Teil 4

Mehr

Ein Debugger für ASIC-Prototypen

Ein Debugger für ASIC-Prototypen Jürgen Haufe 1, Matthias Gulbins 1, Peter Schwarz 1, Christoph Fritsch 2, Jens Große 3 1 für 2 Bosch Telecom 3 SharcWare 1 Gliederung Motivation für Hardware-Debugging Anforderungen und Methode Architekturvarianten

Mehr

Datenpfad einer einfachen MIPS CPU

Datenpfad einer einfachen MIPS CPU Datenpfad einer einfachen MIPS CPU Die Branch Instruktion beq Grundlagen der Rechnerarchitektur Prozessor 13 Betrachten nun Branch Instruktion beq Erinnerung, Branch Instruktionen beq ist vom I Typ Format:

Mehr

Übungsblatt 6. Implementierung einer Befehlspipeline

Übungsblatt 6. Implementierung einer Befehlspipeline Praktikum zur Vorlesung Prozessorarchitektur SS 2016 Übungsblatt 6. Implementierung einer Befehlspipeline 1.1. Einführung Durch die Einteilung der Befehlsverarbeitung in mehrere Zyklen in dem vorangegangenen

Mehr