Praktium Systementwurf mit VHDL HDL Design Lab. Lehrstuhl für Entwurfsautomatisierung Technische Universität München

Größe: px
Ab Seite anzeigen:

Download "Praktium Systementwurf mit VHDL HDL Design Lab. Lehrstuhl für Entwurfsautomatisierung Technische Universität München"

Transkript

1 Praktium Systementwurf mit VHDL HDL Design Lab Lehrstuhl für Entwurfsautomatisierung Technische Universität München 1

2 Das Projekt: Verschlüsselung Entschlüsselung 2

3 Hardware-Emulation Oszillograph Signalgenerator Hardware 3

4 Hardware-Emulation Oszillograph Signalgenerator Hardware Hardware-Replika Software-Modell (VHDL) Computer 4

5 Hardware-Emulation Oszillograph Signalgenerator Hardware Hardware-Replika Software-Modell (VHDL) Computer Testumgebung (Software, VHDL) 5

6 Modellierung Digitaler Systeme Wozu dienen Hardware-Beschreibungssprachen wie VHDL? Zur Beschreibung von Hardware-Systemen durch Software-Modelle Definition (nach IEEE-Wörterbuch): Ein Modell ist eine idealisierte Darstellung eines Systems. Die Vollständigkeit und Detailtreue eines Modells werden durch die zu untersuchenden Eigenschaften, den Wissensstand und die Modellumgebung bestimmt. Modelle können unvollständig oder ungenau sein und zu falschen Aussagen führen, wenn sie außerhalb ihres vorgesehenen Anwendungsbereichs eingesetzt werden. Mit formalen Sprachen wie VHDL beschriebene Modelle besitzen eine eindeutige Interpretation und werden deshalb Formale Modelle genannt. 6

7 Anwendungsbereiche Digitaler Systeme Wozu werden Modelle gebraucht? Als Prototypen zur Spezifikation der Anforderungen Zur Überprüfung des (zeitlichen) Verhaltens durch Simulation und formale Verifikation Zur automatisierten Synthese Zur Dokumentation Zur Wiederverwendung (Design Reuse) Zum Datenaustausch zwischen Komponentenanbieter und Entwickler, sowie zwischen verschiedenen Entwurfssystemen Welche Ziele werden bei der Modellbildung verfolgt? Minimierung von Entwurfskosten und Entwurfszeit Vermeiden von Fehlern beim Entwurf Vermeiden unnötiger Entwurfszyklen, Redesigns 7

8 VHDL V VHSIC (Very High Speed Integrated Circuit) H Hardware D Description L Language Verbreitete Programmiersprache mit Erweiterungen zur Beschreibung von Hardware: nebenläufige Prozesse, Zeitmodell Hierarchische Modellierung Verschiedene Entwurfsstile Seit 1987 durch IEEE- und ANSI-Standard genormt. Hier wird VHDL-87 verwendet (VHDL-93 enthält Erweiterungen). Verilog ist eine andere häufig verwendete HDL. Erweiterung für Analog- und Mixed-Signal-Schaltungen: VHDL-AMS 8

9 Literatur Peter J. Ashenden The Designer s Guide to VHDL Morgan Kaufman Publishers,

10 Der Entwurfsraum Zweistufiger Syntheseprozess unter Verwendung einer Zellbibliothek Entwurfssicht Verhalten Struktur Geometrie Abstraktionsniveau Architektur Register Transfer Logik Schaltkreis System- Spezifikation Algorithmus Boolesche Gleichungen System- Partitionierung Modul-Netzliste (ALU, Mux, Register) Gatter-Netzliste (Gatter, FlipFlops) Bauplan (floorplan) Makro-Zellen (IP-Blöcke) Standardzellen Bibliothekszellen Differentialgleichungen Transistor-Netzliste Maskendaten, Polygone 10

11 Modellierungsraum Funktionssicht Struktursicht Algorithmen Register- Transfers Boolesche Gleichungen Differentialgleichungen Prozessor- Memory- Switch Register- Transfers Gatter Y-chart nach Gajski & Kahn Geometriesicht Transistoren Polygone Standardzellen Makrozellen Chip-, Floorplan 11

12 Der Entwurfsprozess Systemmodell Algor. Synthese Verhaltensmodell Simulation RT-Synthese RT-Modell Logiksynthese Simulation Anforderungen Testrahmen (test bench) Gatter-Modell Simulation ASIC oder FPGA Layoutsynthese Signallaufzeiten 12

13 Register-Transfer-Beschreibung Auf RT-Ebene werden Aktivitäten (Funktionen, Operationen) als Transfers von Datenwerten zwischen Registern beschrieben, die Taktzyklen zugeordnet sind (Verhaltenssicht, Datenfluß). Operationen und Register werden meist zu Datenpfaden zusammengefaßt, die durch Kontrolleinheiten gesteuert werden (Struktursicht). Eine RT-Schaltung besteht typischerweise aus Modulen (z.b. Addierer, Multiplizierer, Register, Zustandsautomaten), die durch Signalnetze verbunden sind. Clock Ctrl In Kontrolleinheit (Zustandsautomat) Ctrl Out Control Status Register Charakteristisch für RT-Beschreibungen ist auch, daß Operationen nicht auf einzelne Logikwerte (Bits), sondern auf Mengen von Logikwerten angewandt werden. Diese werden zu Worten gruppiert, deren 0-1-Muster als (alpha)numerische Werte interpretiert werden. Data In Register Speicher ALU +/* Data Out 13

14 Simulation Simulation dient der Verifikation von Entwurfsschritten. Simulation ist notwendig, weil bei der automatisierten Synthese nicht alle Anforderungen exakt erfüllt werden (können) und weil Syntheseprogramme fehlerhaft sein können. Durch Simulation werden insbesondere folgende Fragen beantwortet: Simulation von Verhaltensmodellen Erfüllt das Verhaltensmodell die (VHDL-)Syntax? Erfüllt das Verhaltensmodell die spezifizierten Anforderungen (die Spezifikation)? Welche Eigenschaften besitzt das modellierte System? Simulation von Strukturmodellen Erfüllt das Strukturmodell die (VHDL-)Syntax? Besitzt das Strukturmodell (die RT- oder die Gatter- Netzliste) dieselbe Funktion wie das Verhaltensmodell? Erfüllt das Strukturmodell die zeitlichen Anforderungen? 14

15 Gliederung dieser Einführung in VHDL 1) Formaler Aufbau von VHDL-Modellen 2) Testumgebungen VHDL-Modelle, die Eingangssignale zum Testen eines Modells bereitstellen 3) Zeitmodelle in VHDL Nachbildung des Zeitverhaltens der modellierten Hardware 4) Modellierung von Zustandsautomaten in VHDL Systematische Beschreibung digitaler Systeme 15

16 Gliederung dieser Einführung in VHDL 1) Formaler Aufbau von VHDL-Modellen 2) Testumgebungen VHDL-Modelle, die Eingangssignale zum Testen eines Modells bereitstellen 3) Zeitmodelle in VHDL Nachbildung des Zeitverhaltens der modellierten Hardware 4) Modellierung von Zustandsautomaten in VHDL Systematische Beschreibung digitaler Systeme 16

17 Formaler Aufbau von VHDL-Modellen Formaler Aufbau von VHDL-Modellen 17

18 Modellieren von Schnittstellen (Interfaces) Eine Entity beschreibt eine Schaltung(skomponente) aus externer Sicht, d.h. Anzahl und Typ ihrer Ein- und Ausgänge (ports). Beispiel: 2x4- Dekoder A B EN DEK2X4 D 0 D 1 D 2 D 3 Name der entity Liste von port-namen reservierte Zeichen entity DEK2X4 is port (A, B, EN: in bit; D: out bit_vector(0 to 3)); end DEK2X4; reservierte Worte port-modus port-typ 18

19 Modellieren von Schnittstellen (Interfaces) Eine Entity beschreibt eine Schaltung(skomponente) aus externer Sicht, d.h. Anzahl und Typ ihrer Ein- und Ausgänge (ports). Beispiel: 2x4- Dekoder A B EN DEK2X4 D 0 D 1 D 2 D 3 EN A B D 0 D 1 D 2 D Name der entity Liste von port-namen reservierte Zeichen entity DEK2X4 is port (A, B, EN: in bit; D: out bit_vector(0 to 3)); end DEK2X4; reservierte Worte port-modus port-typ 19

20 Modellierung von Schaltungsverhalten oder -struktur Architectures beschreiben aus interner Sicht, welche Funktion eine entity hat und wie sie realisiert wird sind Implementierungen einer entity können mehrfach pro entity (mit derselben Funktion) auftreten Architectures können in verschiedenen Modellierungsstilen beschrieben werden: Verhaltensmodelle beschreiben das Verhalten (die Funktion) einer Schaltung(skomponente), d.h. die Werte der Ausgangssignale als Funktion der Werte der Eingangssignale. Strukturmodelle beschreiben eine Schaltung(skomponente) als eine hierarchische Struktur von Subkomponenten, die durch Signale verbunden sind (hierarchisch strukturierte Netzliste). 20

21 Verhaltensmodell des 2x4-Dekoders entity DEK2X4 is port (A, B, EN: in bit; D: out bit_vector(0 to 3)); end DEK2X4; architecture VERHALTEN_1 of DEK2X4 is begin VERH_1_DEK: process(a,b,en) begin if EN='1' then -- '1' ist eine Konstante vom Typ bit D(0) <= not (not A and not B); D(1) <= not (not A and B); D(2) <= not (A and not B); D(3) <= not (A and B); else -- EN='0' ist ein Kommentar D <= "1111"; -- Konstante vom Typ bit_vector end if; end process VERH_1_DEK; end VERHALTEN_1; 21

22 Prozesse Ein Prozess beschreibt das Verhalten (die Funktion) einer Schaltung(skomponente) als eine Sequenz von Anweisungen. Wie in einer herkömmlichen Programmiersprache sind alle Datenund Anweisungstypen verfügbar wie z.b. Konstanten, Variable, Felder, Records, Zuweisungen, Verzweigungen, Schleifen. Prozesse werden durch Namen (process labels) identifiziert und können eine Empfindlichkeitsliste (sensitivity list) besitzen. Ein Prozess wird aktiviert, wenn sich der Wert eines Signals in seiner sensitivity list ändert. Zum Speichern des Prozesszustands dienen Variable. Sie können nur innerhalb von Prozessen deklariert und benutzt werden. Signale entsprechen Drähten zwischen Hardware-Blöcken und dienen zur Kommunikation zwischen nebenläufigen Prozessen. Sie halten Werte wie die Variablen, haben aber ein Zeitverhalten. Innerhalb von Prozessen dürfen Signale nicht deklariert werden. Mit der end-anweisung wird der Prozess suspendiert. 22

23 Verhaltensmodell eines 4fach-Multiplexers entity MUX4 is port(x: in bit_vector(3 downto 0); SEL: in bit_vector(1 downto 0); Z: out bit); end MUX4; architecture VERH_MUX4 of MUX4 is begin MUX4_proc: process(x,sel) variable TMP:bit; -- Variable ohne Zeitverhalten begin X(0) SEL case SEL is when "00" => TMP:=X(0); X(1) Z when "01" => TMP:=X(1); X(2) when "10" => TMP:=X(2); X(3) when "11" => TMP:=X(3); -- Zuweisungen an Variable end case; -- alle Alternativen sind aufzuführen! Z <= TMP after 5 ns; -- Zuweisung an Signal end process MUX4_proc; -- mit Verzögerung end VERH_MUX4; 23

24 Datenfluß-Modelle Datenfluß-Modelle (oder funktionale Modelle) sind Verhaltensmodelle, bei denen die zu beschreibende Funktion der Schaltung(skomponente) eine einfache Transformation von Eingangssignalen in Ausgangssignale ist. VHDL stellt dafür Kurzschreibweisen bereit, die nebenläufigen Signalzuweisungen (concurrent signal assignments). Die Bearbeitung von Signalzuweisungen außerhalb von Prozessen ist daher unabhängig von der Reihenfolge, in der sie aufgeschrieben sind. Jede nebenläufige Signalzuweisung bildet einen eigenen Prozess, der genau dann aktiviert und ausgeführt wird, wenn sich der Wert von mindestens einem Signal auf der rechten Seite des Zuweisungszeichens ändert. 24

25 Datenfluß-Modell eines Halbaddierers entity HALF_ADDER is port(a, B: in bit; SUM, CARRY: out bit:='0'); -- Voreinstellungen end HALF_ADDER; architecture CONCURRENT_HA of HALF_ADDER is constant S_delay: time:=8 ns; -- benannte Konstanten constant C_delay: time:=4 ns; begin SUM <= A xor B after S_delay; -- nebenläufig! CARRY <= A and B after C_delay; -- nebenläufig! end CONCURRENT_HA; 25

26 Datenfluß-Modelle: Selektive Signalzuweisungen Selected signal assignment (z.b. 4fach-Multiplexer): architecture VERH2_MUX4 of MUX4 is begin with SEL select - Auswahlsignal Z <= X(0) after 5 ns when "00"; X(1) after 5 ns when "01"; X(2) after 5 ns when "10"; X(3) after 5 ns when "11"; end VERH2_MUX4; X(0) X(1) X(2) X(3) SEL Z Diese Anweisung entspricht einem case-konstrukt. Für sämtliche möglichen Kombinationen des Selektors muß ein Signalwert zugewiesen werden. Falls nicht alle Kombinationen definiert sind, muß zwingend unter einer letzten Bedingung when others ein Wert zugewiesen werden. 26

27 Datenfluß-Modelle: Bedingte Signalzuweisungen Conditional signal assignment (z.b. 4fach-Multiplexer): architecture VERH3_MUX4 of MUX4 is begin Z <= X(0) after 5 ns when SEL="00" else X(1) after 5 ns when SEL="01" else X(2) after 5 ns when SEL="10" else X(3) after 5 ns when SEL="11"; end VERH3_MUX4; Diese Anweisung entspricht einem if-then-else-konstrukt. Es können beliebig viele Bedingungen abgefragt werden. Die Priorität der Bedingungen entspricht ihrer Reihenfolge. Das Zeitverhalten unterscheidet sich von der selektiven Signalzuweisung. Im Gegensatz zur selektiven Signalzuweisung können bei der bedingten Signalzuweisung unterschiedliche Signale in den einzelnen Bedingungen kombiniert werden. 27

28 Verhaltensmodelle Bei Verhaltensmodellen (behavioral architectures) ist zwischen zwei Formen zu unterscheiden: Algorithmische Modelle beschreiben die Funktion (das Verhalten) einer Schaltung(skomponente) wie in einer (herkömmlichen) Programmiersprache durch eine Sequenz von Anweisungen, die in einem Prozess zusammengefaßt sind sind nur zur Simulation des Schaltungsverhaltens geeignet Datenflußmodelle beschreiben die Schaltungsfunktion als Datenfluß zwischen kommunizierenden Prozessen (nebenläufig, zeitlich parallel) sind besonders geeignet zur Beschreibung auf der Register- Transfer-Ebene können als Ausgangspunkt für eine automatisierte Synthese der Schaltungsstruktur verwendet werden 28

29 Die Struktur einer Schaltung Schaltplan (schematic diagram) des 2x4-Dekoders DEK2X4 A B 1 IA 1 IB AQ BQ & G0 & G1 & G2 D(0) D(1) D(2) EN & G3 D(3) 33

30 Modellieren der Schaltungsstruktur Beispiel: 2x4- Dekoder architecture STRUKTUR of DEK2X4 is component INV port(a: in bit; Z: out bit); end component; component NAND3 port(a,b,c: in bit; Z: out bit); end component; signal AQ,BQ: bit; begin -- Netzliste (nebenläufig!) -- component-instanzierungen IA: INV port map(a,aq); IB: INV port map(b,bq); G0: NAND3 port map(aq,bq,en,d(0)); G1: NAND3 port map(aq,b,en,d(1)); G2: NAND3 port map(a,bq,en,d(2)); G3: NAND3 port map(a,b,en,d(3)); end STRUKTUR; 34

31 Modellieren von Teilschaltungen Beispiel: Komponenten INV und NAND3 des 2x4- Dekoders entity INV is port (A: in bit; Z: out bit); end INV; architecture ARCH_INV of INV is begin -- Verhaltensbeschreibung Z <= not A after 12 ns; end ARCH_INV; entity NAND3 is port (A,B,C: in bit; Z: out bit); end NAND3; architecture ARCH_NAND3 of NAND3 is begin -- Verhaltensbeschreibung Z <= not(a and B and C) after 8 ns; end ARCH_NAND3; 35

32 Hierarchische Modellierung der Schaltungsstruktur Beispiel: Komponente NAND3 des 2x4- Dekoders A B C X Y Z architecture STRUK_NAND3 of NAND3 is component AND2 port(e1,e2: in bit; A: out bit); end component; component INV port(a: in bit; Z: out bit); end component; signal X, Y: bit; begin M1: AND2 port map(a,b,x); M2: AND2 port map(c,x,y); M3: INV port map(y,z); end STRUK_NAND3; library MyLib; configuration NAND3_CONF of NAND3 is for STRUK_NAND3 - Name der architecture for all:and2 AUTOMATIC use entity IN XILINX MyLib.AND2(TimAr); TOOLS! end for; for M3:INV use entity WORK.INV(ARCH_INV); end for; end for; end NAND3_CONF; 36

33 configuration Configurations (Binden architecture an entity) Für eine entity kann eine von mehreren architectures ausgewählt werden. Dadurch kann beispielsweise eine Verhaltensbeschreibung leicht (ohne Eingriff in die Quelltexte) durch eine Strukturbeschreibung ersetzt werden. entity AUTOMATIC IN XILINX TOOLS! architecture Verhaltensbeschreibung architecture Gatter- Netzliste architecture RT- Beschreibung 37

34 Libraries & Packages Die Library (Bibliothek) WORK wird beim Übersetzen automatisch eingebunden. In ihr legt der VHDL-Compiler alle übersetzten Design Units (Entities, Architectures, Configurations) ab, die dann ohne explizite Angabe der Library benutzt werden können. Das Package STANDARD mit den grundlegenden Datentypen wird ebenfalls automatisch eingebunden. Eine Library kann PACKAGE Design Units enthalten, in denen TYPE-, SUBTYPE- und FUNCTION-Deklarationen zusammengefasst werden. Das ermöglicht die Verwendung dieser Deklarationen in verschiedenen Modellen ohne wiederholte (und fehlerträchtige) erneute Deklaration. Syntax: library IEEE; -- Einbinden der library IEEE use IEEE.STD_LOGIC_1164.all; 41

35 Datentypen, Subtypen (package STANDARD) package STANDARD is -- wird automatisch geladen -- enthält u.a. die Datentypen type boolean is (false,true); type bit is ('0','1'); type character is (...); type integer is...; subtype natural is integer range 0 to integer'high; subtype positive is integer range 1 to integer'high; type real is...; type time is... units fs; ps=1000 fs;...; type string is array (positive range <>) of character; type bit_vector is array (natural range <>) of bit; -- Die zugehörigen Operatoren sind auch definiert. end standard; 42

36 Neunwertige Logik (IEEE package STD_LOGIC_1164) package STD_LOGIC_1164 is -- ist gespeichert in der library mit dem Namen IEEE type STD_LOGIC is ('U', -- nicht initialisiert (Voreinstellung) 'X', -- Signalkonflikt zwischen '0' und '1' '0', -- aktive '0' (durch Gatter getrieben) '1', -- aktive '1' (durch Gatter getrieben) 'Z', -- hochohmig (tri-state Ausgang) 'W', -- Signalkonflikt zwischen 'L' und 'H' 'L', -- passive '0' (pull-down Widerstand) 'H', -- passive '1' (pull-up Widerstand) '-' -- don't care, Wert ist bedeutungslos und ); -- kann zur Logikminimierung dienen type STD_LOGIC_VECTOR is array (natural range <>) of STD_LOGIC; -- definiert sind auch die Logikoperatoren -- and, nand, or, nor, xor, xnor, not end STD_LOGIC_1164; 43

37 Ausgewählte Attribute von Signalen signal S; variable T: time; S'event Diese Funktion liefert den Booleschen Wert true, wenn im aktuellen Simulationszyklus beim Signal S ein Event auftritt, sonst false. S'last_event Diese Funktion liefert die Simulationszeit, seit beim Signal S das letzte Event auftrat. Das Ergebnis ist also 0 fs, wenn S'event true ist. S'last_value Wert von S, unmittelbar bevor das letzte Event auftrat. S'stable(T) Boolesches Signal, das den Wert true annimmt, wenn beim Signal S für T Zeiteinheiten kein Event aufgetreten ist. Wenn (T) fehlt, werden 0 fs angenommen. S'delayed(T) Signal vom selben Typ und mit denselben Werten wie S, aber um T Zeiteinheiten verzögert. Wenn (T) fehlt, werden 0 fs angenommen. 45

38 Parametrisierung von Modellen entity NANDg is -- generisches NAND-Gatter generic(wb:positive:=3; -- Wortbreite Vz:time:=8 ns); -- Verzögerungszeit port(x: in bit_vector(wb-1 downto 0); Y: out bit); end NANDg; architecture NANDg_Verh of NANDg is begin NANDg_proc: process(x) begin Y <= '0' after Vz; -- Voreinstellung for K in X'range loop -- Attribut des Signals X -- K = Wb-1, Wb-2, Wb-3,..., 1, 0 if X(K)='0' then Y <= '1' after Vz; end if; end loop; end process NANDg_proc; end NANDg_Verh; 47

39 Schaltungsstruktur mit generischem NAND-Gatter Beispiel: 2x4-Dekoder architecture STRUKTgen of DEK2X4 is component NANDg generic(wb:positive; Vz:time); port(x: in bit_vector(wb-1 downto 0); Y: out bit); end component; signal AQ,BQ: bit; begin IA: NANDg generic map(1,6 ns) port map(x(0)=>a,y=>aq); IB: NANDg generic map(1,6 ns) port map(x(0)=>b,y=>bq); G0: NANDg port map(x(2)=>aq,x(1)=>bq,x(0)=>en, Y=>D(0)); G1: NANDg port map(x(2)=>aq,x(1)=>b, X(0)=>EN, Y=>D(1)); G2: NANDg port map(x(2)=>a, X(1)=>BQ,X(0)=>EN, Y=>D(2)); G3: NANDg port map(x(2)=>a, X(1)=>B, X(0)=>EN, Y=>D(3)); end STRUKTgen; 48

40 Beispiel: Generischer n-bit-zähler entity gencntr is generic ( N : positive := 8 ); port ( CLOCK, RESET : in bit; COUNTER : out integer range 0 to 2**N-1 ); end gencntr; architecture arch_gencntr of gencntr is signal intcntr : integer range 0 to 2**N-1; begin process (CLOCK) begin if CLOCK'event and CLOCK = '1'; if RESET = '1' or intcntr = 2**N-1 then intcntr <= 0; else intcntr <= intcntr + 1; end if; end if; end process; COUNTER <= intcntr; end arch_gencntr; 49

41 Beispiel: Generischer n-bit-zähler entity gencntr is generic ( N : positive := 8 ); port ( CLOCK, RESET : in bit; COUNTER : out integer range 0 to 2**N-1 ); end gencntr; architecture arch_gencntr of gencntr is signal intcntr : integer range 0 to 2**N-1; begin process begin wait until ( CLOCK'event and CLOCK = '1' ); if RESET = '1' or intcntr = 2**N-1 then intcntr <= 0; else intcntr <= intcntr + 1; end if; end process; COUNTER <= intcntr; end arch_gencntr; 50

42 Generics, Attribute & Assertions am Beispiel: D-FlipFlop entity DFF is generic(tpd,tsu,thld:time); -- Verzögerung, Setup, Hold port(clk,d: in bit; Q: out bit); end DFF; architecture ArchDFF of DFF is begin - drei kommunizierende Prozesse Q <= D after Tpd when Clk='1' and Clk'event; ChkSetup: process - Prüfen der Setup-Zeit begin - Test bei steigender Clk-Flanke wait until Clk='1'; assert D'last_event>=Tsu report "setup violation"; end process ChkSetup; ChkHold: process - Prüfen der Hold-Zeit begin - Test nach Ablauf der Hold-Zeit wait until Clk'delayed(Thld)='1'; assert D'delayed'last_event>=Thld report "hld viol."; end process ChkHold; end ArchDFF; 51

43 Testrahmen (test benches) Testrahmen (test benches) 52

44 Testrahmen entity TB is -- leer end TB; -- ohne Inputs, Outputs architecture STIMULI of TB is component DEK2X4 port(a,b,en: in bit; D: out bit_vector(0 to 3)); end component; signal X,Y,E: bit:='0'; R: bit_vector(0 to 3):="1111"; begin UUT: DEK2X4 port map(x,y,e,r);... end STIMULI; TB X Y E A B EN UUT DEK2X4 D 0 D 1 D 2 D 3 R 0 R 1 R 2 R 3 53

45 Testrahmen Stimuli architecture STIMULI of TB is component DEK2X4 port(a,b,en: in bit; D: out bit_vector(0 to 3)); end component; signal X,Y,E: bit:='0'; R: bit_vector(0 to 3):="1111"; begin -- Datenflußbeschreibung (nebenläufig!) -- Instanzierung der unit under test" UUT: DEK2X4 port map(x,y,e,r); -- Stimuli = Input-Signalverläufe (waveforms) X <= '0', '1' after 5 ns, '0' after 10 ns, '1' after 15 ns, '0' after 20 ns, '1' after 25 ns, '0' after 30 ns, '1' after 35 ns; Y <= '0', '1' after 10 ns, '0' after 20 ns, '1' after 30 ns; E <= '0', '1' after 20 ns; end STIMULI;... 54

46 Testrahmen Signalverläufe X Y E R R R R ns 55

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

VHDL Einleitung. Dr.-Ing. Volkmar Sieh. Institut für Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg SS 2010 VHDL Einleitung Dr.-Ing. Volkmar Sieh Institut für Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg SS 2010 VHDL Einleitung 1/17 2010-04-14 Inhalt Entwurfsebenen und -sichten

Mehr

VHDL Verhaltensmodellierung

VHDL Verhaltensmodellierung VHDL Verhaltensmodellierung Dr.-Ing. Volkmar Sieh Lehrstuhl für Informatik 3 (Rechnerarchitektur) Friedrich-Alexander-Universität Erlangen-Nürnberg SS 2013 VHDL Verhaltensmodellierung 1/18 2013-01-11 Inhalt

Mehr

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

Übungen zu Architektur Eingebetteter Systeme. Teil 1: Grundlagen. Blatt 5 1.1: VHDL 28./29.05.2009 Übungen zu Architektur Eingebetteter Systeme Blatt 5 28./29.05.2009 Teil 1: Grundlagen 1.1: VHDL Bei der Erstellung Ihres Softcore-Prozessors mit Hilfe des SOPC Builder hatten Sie bereits erste Erfahrungen

Mehr

Einstellige binäre Addierschaltung (Addierer)

Einstellige binäre Addierschaltung (Addierer) VHDL Addierer 1 Einstellige binäre Addierschaltung (Addierer) Schnittstelle: Ports mit Modus IN bzw. OUT Signale Funktionsnetz: Ports, Funktionsblöcke, Verbindungen Signale für Ports und Verbindungen VHDL

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 Verhaltensmodellierung

VHDL Verhaltensmodellierung VHDL Verhaltensmodellierung Dr.-Ing. Matthias Sand Lehrstuhl für Informatik 3 (Rechnerarchitektur) Friedrich-Alexander-Universität Erlangen-Nürnberg WS 2008/2009 VHDL Verhaltensmodellierung 1/26 2008-10-20

Mehr

Entwurf und Verifikation digitaler Systeme mit VHDL

Entwurf und Verifikation digitaler Systeme mit VHDL Entwurf und Verifikation digitaler Systeme mit VHDL Wolfgang Günther Infineon AG CL DAT DF LD V guenther@informatik.uni freiburg.de, wolfgang.guenther@infineon.com Dr. Wolfgang Günther Einleitung 2 Inhalt

Mehr

Übungsblatt 8 Lösungen:

Übungsblatt 8 Lösungen: Übungsblatt 8 Lösungen: Aufgabe 71: VHDL Halbaddierer Schnittstellenbeschreibung und Modellbeschreibung(Verhaltensmodell) eines Halbaddierers: ENTITY halbaddierer IS GENERIC (delay: TIME := 10 ns); PORT

Mehr

VBA-Programmierung: Zusammenfassung

VBA-Programmierung: Zusammenfassung VBA-Programmierung: Zusammenfassung Programmiersprachen (Definition, Einordnung VBA) Softwareentwicklung-Phasen: 1. Spezifikation 2. Entwurf 3. Implementierung Datentypen (einfach, zusammengesetzt) Programmablaufsteuerung

Mehr

N. Schmiedel, J. Brass, M. Schubert VHDL Formelsammlung FH Regensburg, 01.12.2008. VHDL Formelsammlung

N. Schmiedel, J. Brass, M. Schubert VHDL Formelsammlung FH Regensburg, 01.12.2008. VHDL Formelsammlung VHDL Formelsammlung INHALTSVERZEICHNIS: 1 DATENOBJEKTE 2 1.1 SIGNAL: 2 1.2 VARIABLE: 2 1.3 CONSTANT 2 2 DATENTYPEN 2 2.1 selbstdefinierte Aufzähltypen (Deklaration) 3 2.2 Physikalische Datentypen 3 2.3

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

Grundlagen der Informatik 2. Grundlagen der Digitaltechnik. 5. Digitale Speicherbausteine

Grundlagen der Informatik 2. Grundlagen der Digitaltechnik. 5. Digitale Speicherbausteine Grundlagen der Informatik 2 Grundlagen der Digitaltechnik 5. Digitale Speicherbausteine Prof. Dr.-Ing. Jürgen Teich Dr.-Ing. Christian Haubelt Lehrstuhl für Hardware-Software Software-Co-Design Grundlagen

Mehr

SoC Design. Prof. Dr. Christophe Bobda Institut für Informatik Lehrstuhl für Technische Informatik

SoC Design. Prof. Dr. Christophe Bobda Institut für Informatik Lehrstuhl für Technische Informatik SoC Design Prof. Dr. Christophe Bobda Institut für Informatik Lehrstuhl für Technische Informatik VHDL Crashkurs Übersicht 1. Einführung 2. Sprachkonstrukte 3. Designflow Christophe Bobda 3 1. VHDL VHDL:

Mehr

Der Aufruf von DM_in_Euro 1.40 sollte die Ausgabe 1.40 DM = 0.51129 Euro ergeben.

Der Aufruf von DM_in_Euro 1.40 sollte die Ausgabe 1.40 DM = 0.51129 Euro ergeben. Aufgabe 1.30 : Schreibe ein Programm DM_in_Euro.java zur Umrechnung eines DM-Betrags in Euro unter Verwendung einer Konstanten für den Umrechnungsfaktor. Das Programm soll den DM-Betrag als Parameter verarbeiten.

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

Klausur zur Vorlesung

Klausur zur Vorlesung Prof. Dr. Franz J. Rammig Paderborn, 2..2001 C. Böke Klausur zur Vorlesung "Grundlagen der technischen Informatik" und "Grundlagen der Rechnerarchitektur" Sommersemester 2001 1. Teil: GTI Der erste Teil

Mehr

5 VHDL Einführung (I)

5 VHDL Einführung (I) 5 VHDL Einführung (I) VHDL = Very High Speed Integrated Hardware Description Language Dient der Beschreibung von Hardware bei: Dokumentation Simulation Synthese Hardwarebeschreibungssprachen (HDLs) sind

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

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

Wintersemester 2001/2002. Hardwarepraktikum. Versuch 4: Sequentielle Systeme 1. - Toralf Zemlin - Swen Steinmann - Sebastian Neubert

Wintersemester 2001/2002. Hardwarepraktikum. Versuch 4: Sequentielle Systeme 1. - Toralf Zemlin - Swen Steinmann - Sebastian Neubert Hardwarepraktikum Wintersemester 2001/2002 Versuch 4: Sequentielle Systeme 1 - Toralf Zemlin - Swen Steinmann - Sebastian Neubert Aufgabenstellung: 2.1. Untersuchen Sie theoretisch und praktisch die Wirkungsweise

Mehr

Einführung in. Logische Schaltungen

Einführung in. Logische Schaltungen Einführung in Logische Schaltungen 1/7 Inhaltsverzeichnis 1. Einführung 1. Was sind logische Schaltungen 2. Grundlegende Elemente 3. Weitere Elemente 4. Beispiel einer logischen Schaltung 2. Notation von

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

Inhaltsverzeichnis Vorlesung VHDL, HW/SW-Codesign"

Inhaltsverzeichnis Vorlesung VHDL, HW/SW-Codesign Inhaltsverzeichnis Vorlesung VHDL, HW/SW-Codesign" 1 Einführung... 1-1 2 VHDL Grundlagen... 2-1 2.1 Allgemeines... 2-1 2.2 Aufbau eines VHDL-Modells...2-7 VHDL Design-Einheiten Überblick...2-10 Programmerstellung...

Mehr

Zeichen bei Zahlen entschlüsseln

Zeichen bei Zahlen entschlüsseln Zeichen bei Zahlen entschlüsseln In diesem Kapitel... Verwendung des Zahlenstrahls Absolut richtige Bestimmung von absoluten Werten Operationen bei Zahlen mit Vorzeichen: Addieren, Subtrahieren, Multiplizieren

Mehr

1.4.12 Sin-Funktion vgl. Cos-Funktion

1.4.12 Sin-Funktion vgl. Cos-Funktion .4. Sgn-Funktion Informatik. Semester 36 36.4.2 Sin-Funktion vgl. Cos-Funktion Informatik. Semester 37 37 .4.3 Sqr-Funktion Informatik. Semester 38 38.4.4 Tan-Funktion Informatik. Semester 39 39 .5 Konstanten

Mehr

Objektorientierte Programmierung

Objektorientierte Programmierung Objektorientierte Programmierung 1 Geschichte Dahl, Nygaard: Simula 67 (Algol 60 + Objektorientierung) Kay et al.: Smalltalk (erste rein-objektorientierte Sprache) Object Pascal, Objective C, C++ (wiederum

Mehr

1 Hardwareentwurf. 1.1 Grundlagen

1 Hardwareentwurf. 1.1 Grundlagen 1 Hardwareentwurf 1.1 Grundlagen POSITIVE natürliche Zahlen N NATURAL N 0 INTEGER ganze Zahlen Z REAL reelle Zahlen R BOOLEAN (true, false), (low, high) BIT ( 0, 1 ) CHARACTER (..., A, B,..., a, b,...,

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

Erweiterung der Aufgabe. Die Notenberechnung soll nicht nur für einen Schüler, sondern für bis zu 35 Schüler gehen:

Erweiterung der Aufgabe. Die Notenberechnung soll nicht nur für einen Schüler, sondern für bis zu 35 Schüler gehen: VBA Programmierung mit Excel Schleifen 1/6 Erweiterung der Aufgabe Die Notenberechnung soll nicht nur für einen Schüler, sondern für bis zu 35 Schüler gehen: Es müssen also 11 (B L) x 35 = 385 Zellen berücksichtigt

Mehr

Künstliches binäres Neuron

Künstliches binäres Neuron Künstliches binäres Neuron G.Döben-Henisch Fachbereich Informatik und Ingenieurwissenschaften FH Frankfurt am Main University of Applied Sciences D-60318 Frankfurt am Main Germany Email: doeben at fb2.fh-frankfurt.de

Mehr

SEP 114. Design by Contract

SEP 114. Design by Contract Design by Contract SEP 114 Design by Contract Teile das zu entwickelnde Programm in kleine Einheiten (Klassen, Methoden), die unabhängig voneinander entwickelt und überprüft werden können. Einheiten mit

Mehr

Programmierparadigmen. Programmierparadigmen. Imperatives vs. objektorientiertes Programmieren. Programmierparadigmen. Agenda für heute, 4.

Programmierparadigmen. Programmierparadigmen. Imperatives vs. objektorientiertes Programmieren. Programmierparadigmen. Agenda für heute, 4. Agenda für heute, 4. Mai, 2006 Programmierparadigmen Imperative Programmiersprachen In Prozeduren zusammengefasste, sequentiell ausgeführte Anweisungen Die Prozeduren werden ausgeführt, wenn sie als Teil

Mehr

Outline Schieberegister Multiplexer Barrel-Shifter Zähler Addierer. Rechenschaltungen 1. Marc Reichenbach

Outline Schieberegister Multiplexer Barrel-Shifter Zähler Addierer. Rechenschaltungen 1. Marc Reichenbach Rechenschaltungen 1 Marc Reichenbach Informatik 3 / Rechnerarchitektur Universität Erlangen Nürnberg 06/14 1 / 32 Gliederung Schieberegister Multiplexer Barrel-Shifter Zähler Addierer 2 / 32 Schieberegister

Mehr

5.Vorlesung Rechnerorganisation

5.Vorlesung Rechnerorganisation Mario.Trams@informatik.tu-chemnitz.de, 29. April 2004 1 Inhalt: 5.Vorlesung Rechnerorganisation Wiederholung aus Digitaltechnik: Allgemeiner Überblick über VHDL (Teil 1) Schwerpunkt Modellierungssichtweisen,

Mehr

Einführung in die Programmierung

Einführung in die Programmierung : Inhalt Einführung in die Programmierung Wintersemester 2008/09 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund - mit / ohne Parameter - mit / ohne Rückgabewerte

Mehr

Eingebettete Systeme

Eingebettete Systeme Einführung in Eingebettete Systeme Vorlesung 8 Bernd Finkbeiner 10/12/2014 finkbeiner@cs.uni-saarland.de Prof. Bernd Finkbeiner, Ph.D. finkbeiner@cs.uni-saarland.de 1 Letzte Woche: Rückgekoppelte Schaltnetze!

Mehr

Programmierkurs Java

Programmierkurs Java Programmierkurs Java Dr. Dietrich Boles Aufgaben zu UE16-Rekursion (Stand 09.12.2011) Aufgabe 1: Implementieren Sie in Java ein Programm, das solange einzelne Zeichen vom Terminal einliest, bis ein #-Zeichen

Mehr

Übungen 19.01.2012 Programmieren 1 Felix Rohrer. Übungen

Übungen 19.01.2012 Programmieren 1 Felix Rohrer. Übungen Übungen if / else / else if... 2... 2 Aufgabe 2:... 2 Aufgabe 3:... 2 Aufgabe 4:... 2 Aufgabe 5:... 2 Aufgabe 6:... 2 Aufgabe 7:... 3 Aufgabe 8:... 3 Aufgabe 9:... 3 Aufgabe 10:... 3 switch... 4... 4 Aufgabe

Mehr

Elektrische Logigsystem mit Rückführung

Elektrische Logigsystem mit Rückführung Mathias Arbeiter 23. Juni 2006 Betreuer: Herr Bojarski Elektrische Logigsystem mit Rückführung Von Triggern, Registern und Zählern Inhaltsverzeichnis 1 Trigger 3 1.1 RS-Trigger ohne Takt......................................

Mehr

Use Cases. Use Cases

Use Cases. Use Cases Use Cases Eigenschaften: Ein Use Case beschreibt einen Teil des Verhaltens eines Systems aus externer Sicht (Formuliert in der der Fachsprache der Anwendung) Dies geschieht, indem ein Systemdialog beschrieben

Mehr

Verkehrsteilnehmer. Beispiel: Wir betrachten die Modellierung von Handlungskomponenten wie Verkehrsteilnehmern und Straßen.

Verkehrsteilnehmer. Beispiel: Wir betrachten die Modellierung von Handlungskomponenten wie Verkehrsteilnehmern und Straßen. 7.6 Bedingte Rechte Manchmal sind Rechte nur unter bestimmten Voraussetzungen gültig. Diese Situation beschreiben wir -wie sonst auch üblich- mit bedingten Rechten. Beispiel: Wir betrachten die Modellierung

Mehr

Simulink: Einführende Beispiele

Simulink: Einführende Beispiele Simulink: Einführende Beispiele Simulink ist eine grafische Oberfläche zur Ergänzung von Matlab, mit der Modelle mathematischer, physikalischer bzw. technischer Systeme aus Blöcken mittels plug-and-play

Mehr

1.1 VHDL-Beschreibung

1.1 VHDL-Beschreibung 1 Grundlegende Konzepte in VHDL 1.1 VHDL-Beschreibung Device A Design Entity A Entity Declaration Interface Delclaration Architecture Body Functional Definition Entity Declaration - Abstraktions eines

Mehr

1 Mathematische Grundlagen

1 Mathematische Grundlagen Mathematische Grundlagen - 1-1 Mathematische Grundlagen Der Begriff der Menge ist einer der grundlegenden Begriffe in der Mathematik. Mengen dienen dazu, Dinge oder Objekte zu einer Einheit zusammenzufassen.

Mehr

Aufgabensammlung. a) Berechnen Sie den Basis- und Kollektorstrom des Transistors T 4. b) Welche Transistoren leiten, welche sperren?

Aufgabensammlung. a) Berechnen Sie den Basis- und Kollektorstrom des Transistors T 4. b) Welche Transistoren leiten, welche sperren? Aufgabensammlung Digitale Grundschaltungen 1. Aufgabe DG Gegeben sei folgende Schaltung. Am Eingang sei eine Spannung von 1,5V als High Pegel und eine Spannung von 2V als Low Pegel definiert. R C = 300Ω;

Mehr

Grundlagen der Programmierung Prof. H. Mössenböck. 3. Verzweigungen

Grundlagen der Programmierung Prof. H. Mössenböck. 3. Verzweigungen Grundlagen der Programmierung Prof. H. Mössenböck 3. Verzweigungen If-Anweisung n > 0? j n if (n > 0) x = x / n; ohne else-zweig x x / n j max x x > y? n max y if (x > y) max = x; else max = y; mit else-zweig

Mehr

<ruske.s@web.de> Oliver Liebold. NAND (negierte Undverknüpfung) L L H L H H H L H H H L

<ruske.s@web.de> Oliver Liebold. NAND (negierte Undverknüpfung) L L H L H H H L H H H L Elektronische Grundlagen Versuch E7, Grundelemente der Digitaltechnik Praktikumsgruppe IngIF, 04. Juni 2003 Stefan Schumacher Sandra Ruske Oliver Liebold

Mehr

Grundlagen der Informationverarbeitung

Grundlagen der Informationverarbeitung Grundlagen der Informationverarbeitung Information wird im Computer binär repräsentiert. Die binär dargestellten Daten sollen im Computer verarbeitet werden, d.h. es müssen Rechnerschaltungen existieren,

Mehr

Entladen und Aufladen eines Kondensators über einen ohmschen Widerstand

Entladen und Aufladen eines Kondensators über einen ohmschen Widerstand Entladen und Aufladen eines Kondensators über einen ohmschen Widerstand Vorüberlegung In einem seriellen Stromkreis addieren sich die Teilspannungen zur Gesamtspannung Bei einer Gesamtspannung U ges, der

Mehr

Skalierung des Ausgangssignals

Skalierung des Ausgangssignals Skalierung des Ausgangssignals Definition der Messkette Zur Bestimmung einer unbekannten Messgröße, wie z.b. Kraft, Drehmoment oder Beschleunigung, werden Sensoren eingesetzt. Sensoren stehen am Anfang

Mehr

Dialognetze. Ziel : Beschreibung von Methoden und Beschreibungstechniken für den Entwurf und die Dokumentation von Dialogabläufen

Dialognetze. Ziel : Beschreibung von Methoden und Beschreibungstechniken für den Entwurf und die Dokumentation von Dialogabläufen Dialognetze Ziel : Beschreibung von Methoden und Beschreibungstechniken für den Entwurf und die Dokumentation von Dialogabläufen Dialogabläufe auf Fensterebene "grobe Dialogabläufe" d.h. Wechsel zwischen

Mehr

FAKULTÄT FÜR INFORMATIK

FAKULTÄT FÜR INFORMATIK FAKULTÄT FÜ INFOMATIK TECHNICHE UNIVEITÄT MÜNCHEN Lehrstuhl für echnertechnik und echnerorganisation Prof. Dr. Arndt Bode Einführung in die echnerarchitektur Wintersemester 2015/2016 Zentralübung 10 08.01.2016

Mehr

Analyse verschiedener HLS-Systeme in Hinblick auf ihren Umgang mit der Hochsprachenabstraktion Speicher. Sascha Kath

Analyse verschiedener HLS-Systeme in Hinblick auf ihren Umgang mit der Hochsprachenabstraktion Speicher. Sascha Kath Analyse verschiedener HLS-Systeme in Hinblick auf ihren Umgang mit der Hochsprachenabstraktion Speicher Sascha Kath Dresden, Gliederung 1. Aufgabenstellung 2. HLS-Systeme 1. LegUP 2. Vivado HLS 3. Leap

Mehr

Diplomarbeit. Konzeption und Implementierung einer automatisierten Testumgebung. Thomas Wehrspann. 10. Dezember 2008

Diplomarbeit. Konzeption und Implementierung einer automatisierten Testumgebung. Thomas Wehrspann. 10. Dezember 2008 Konzeption und Implementierung einer automatisierten Testumgebung, 10. Dezember 2008 1 Gliederung Einleitung Softwaretests Beispiel Konzeption Zusammenfassung 2 Einleitung Komplexität von Softwaresystemen

Mehr

Entwurf und Simulation einfacher Logikelemente

Entwurf und Simulation einfacher Logikelemente Entwurf und Simulation einfacher Logikelemente Philipp Fischer 10. Dezember 2002 1 Inhaltsverzeichnis I Theoretische Grundlagen 3 Einleitung 3 Entwurf einer Schaltung 3 Entitys und Architectures.........................

Mehr

gallestro BPM - weit mehr als malen...

gallestro BPM - weit mehr als malen... Ob gallestro das richtige Tool für Ihr Unternehmen ist, können wir ohne weitere rmationen nicht beurteilen und lassen hier die Frage offen. In dieser rmationsreihe möchten wir Ihre Entscheidungsfindung

Mehr

Copyright 2014 Delta Software Technology GmbH. All Rights reserved.

Copyright 2014 Delta Software Technology GmbH. All Rights reserved. Karlsruhe, 21. Mai 2014 Softwareentwicklung - Modellgetrieben und trotzdem agil Daniela Schilling Delta Software Technology GmbH The Perfect Way to Better Software Modellgetriebene Entwicklung Garant für

Mehr

16 Latches und Flipflops (Bistabile Kippstufen)

16 Latches und Flipflops (Bistabile Kippstufen) 6 Latches und Flipflops (Bistabile Kippstufen) Latches und Flipflops dienen als Speicherelemente in sequentiellen Schaltungen. Latches werden durch Pegel gesteuert (Zustandssteuerung). Bei der VHDL-Synthese

Mehr

Test integrierter Schaltungen

Test integrierter Schaltungen 1. CAE Link und IC Qualifizierung 1.1 Ziel 1.1.1 CAE Link Bei der letzten Übung wurden die Zeitdefinitionen und die Test Pattern manuell eingegeben. Aber bei hochintegrierten Schaltkreise muß ein anderer

Mehr

Java Kurs für Anfänger Einheit 4 Klassen und Objekte

Java Kurs für Anfänger Einheit 4 Klassen und Objekte Java Kurs für Anfänger Einheit 4 Klassen und Ludwig-Maximilians-Universität München (Institut für Informatik: Programmierung und Softwaretechnik von Prof.Wirsing) 13. Juni 2009 Inhaltsverzeichnis klasse

Mehr

Klausurteilnehmer. Wichtige Hinweise. Note: Klausur Informatik Programmierung, 17.09.2012 Seite 1 von 8 HS OWL, FB 7, Malte Wattenberg.

Klausurteilnehmer. Wichtige Hinweise. Note: Klausur Informatik Programmierung, 17.09.2012 Seite 1 von 8 HS OWL, FB 7, Malte Wattenberg. Klausur Informatik Programmierung, 17.09.2012 Seite 1 von 8 Klausurteilnehmer Name: Matrikelnummer: Wichtige Hinweise Es sind keinerlei Hilfsmittel zugelassen auch keine Taschenrechner! Die Klausur dauert

Mehr

Objektorientierte Programmierung. Kapitel 12: Interfaces

Objektorientierte Programmierung. Kapitel 12: Interfaces 12. Interfaces 1/14 Objektorientierte Programmierung Kapitel 12: Interfaces Stefan Brass Martin-Luther-Universität Halle-Wittenberg Wintersemester 2012/13 http://www.informatik.uni-halle.de/ brass/oop12/

Mehr

IT-Basics 2. DI Gerhard Fließ

IT-Basics 2. DI Gerhard Fließ IT-Basics 2 DI Gerhard Fließ Wer bin ich? DI Gerhard Fließ Telematik Studium an der TU Graz Softwareentwickler XiTrust www.xitrust.com www.tugraz.at Worum geht es? Objektorientierte Programmierung Konzepte

Mehr

12 VHDL Einführung (III)

12 VHDL Einführung (III) 12 VHDL Einführung (III) 12.1 Mehrwertige Datentypen (std_logic, std_ulogic) Einführung zweier neuer neunwertiger Datentypen std_logic und std_ulogic (IEEE-Standard 1164) Wert 'U' 'X' '0' '1' 'Z' 'W' 'L'

Mehr

Lehrer: Einschreibemethoden

Lehrer: Einschreibemethoden Lehrer: Einschreibemethoden Einschreibemethoden Für die Einschreibung in Ihren Kurs gibt es unterschiedliche Methoden. Sie können die Schüler über die Liste eingeschriebene Nutzer Ihrem Kurs zuweisen oder

Mehr

Beispiel: Siemens AG 900E03 9 Seiten Update:https://www.hqs.sbt.siemens.com/

Beispiel: Siemens AG 900E03 9 Seiten Update:https://www.hqs.sbt.siemens.com/ Verwendung des Applikationsprogramms Produktfamilie: Produkttyp: Hersteller: Name: Kontroller Logo Siemens CM EIB/KNX EIB Ein-/Ausgänge Die unten gezeigte Abbildung, zeigt eine mögliche Anwendung. Beispiel:

Mehr

Erwin Grüner 09.02.2006

Erwin Grüner 09.02.2006 FB Psychologie Uni Marburg 09.02.2006 Themenübersicht Folgende Befehle stehen in R zur Verfügung: {}: Anweisungsblock if: Bedingte Anweisung switch: Fallunterscheidung repeat-schleife while-schleife for-schleife

Mehr

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren Lineargleichungssysteme: Additions-/ Subtraktionsverfahren W. Kippels 22. Februar 2014 Inhaltsverzeichnis 1 Einleitung 2 2 Lineargleichungssysteme zweiten Grades 2 3 Lineargleichungssysteme höheren als

Mehr

N Bit binäre Zahlen (signed)

N Bit binäre Zahlen (signed) N Bit binäre Zahlen (signed) n Bit Darstellung ist ein Fenster auf die ersten n Stellen der Binär Zahl 0000000000000000000000000000000000000000000000000110 = 6 1111111111111111111111111111111111111111111111111101

Mehr

Programmieren. 10. Tutorium 4./ 5. Übungsblatt Referenzen

Programmieren. 10. Tutorium 4./ 5. Übungsblatt Referenzen Programmieren 10. Tutorium 4./ 5. Übungsblatt Inhalt I. Übungsblatt 4 II. III. - Rückgabe und Besprechung - Vorbereitung auf Wiederholung/ Nachtrag - Operatorpräzedenzen IV. Übungsblatt 5 - Vorstellung

Mehr

Simulation von in VHDL beschriebenen Systemen

Simulation von in VHDL beschriebenen Systemen Simulation von in VHDL beschriebenen Systemen Prof. Dr. Paul Molitor Institut für Informatik Martin-Luther-Universität Halle Aufbau der Lehrveranstaltung Literaturangaben Allgemeines zum Entwurf digitaler

Mehr

Fachdidaktik der Informatik 18.12.08 Jörg Depner, Kathrin Gaißer

Fachdidaktik der Informatik 18.12.08 Jörg Depner, Kathrin Gaißer Fachdidaktik der Informatik 18.12.08 Jörg Depner, Kathrin Gaißer Klassendiagramme Ein Klassendiagramm dient in der objektorientierten Softwareentwicklung zur Darstellung von Klassen und den Beziehungen,

Mehr

Architecture Body Funktionale Beschreibung einer "Design Entity" - * beschreibt die Funktion auf Verhaltens-, Struktur- oder Datenfluss-Ebene

Architecture Body Funktionale Beschreibung einer Design Entity - * beschreibt die Funktion auf Verhaltens-, Struktur- oder Datenfluss-Ebene 5.3.1 VHDL-Beschreibung Device A Design Entity A Entity Declaration Interface Delclaration Architecture Body Functional Definition Entity Declaration - Abstraktions eines Designs * repräsentiert ein komplettes

Mehr

Grundtypen Flip-Flops

Grundtypen Flip-Flops FLIP-FLOPs, sequentielle Logik Bei den bislang behandelten Logikschaltungen (chaltnetzen) waren die Ausgangsgrößen X, Y... zu jeder Zeit in eindeutiger Weise durch die Kombination der Eingangsvariablen

Mehr

Gesicherte Prozeduren

Gesicherte Prozeduren Gesicherte Prozeduren Wenn eine Anwendung auf einer Client-Maschine läuft, wird normalerweise jede SQL-Anweisung einzeln vom Client an den Server gesandt, und jedes Ergebnistupel wird einzeln zurückgeliefert.

Mehr

Vgl. Kapitel 4 aus Systematisches Requirements Engineering, Christoph Ebert https://www.sws.bfh.ch/studium/cas/swe-fs13/protected/re/re_buch.

Vgl. Kapitel 4 aus Systematisches Requirements Engineering, Christoph Ebert https://www.sws.bfh.ch/studium/cas/swe-fs13/protected/re/re_buch. Vgl. Kapitel 4 aus Systematisches Requirements Engineering, Christoph Ebert https://www.sws.bfh.ch/studium/cas/swe-fs13/protected/re/re_buch.pdf Nachdem die Projekt-Vision und die Stakeholder bekannt sind,

Mehr

Hardware/Software Co-Design

Hardware/Software Co-Design Hardware/Software Co-Design Kapitel : Logiksynthese und VHDL-Einführung Mario Schölzel Geschichte von VHDL VHDL = VHSIC Hardware Description Language VHSIC = Very-High Speed Integrated Circuits Entwickelt

Mehr

Software Engineering. Sommersemester 2012, Dr. Andreas Metzger

Software Engineering. Sommersemester 2012, Dr. Andreas Metzger Software Engineering (Übungsblatt 2) Sommersemester 2012, Dr. Andreas Metzger Übungsblatt-Themen: Prinzip, Technik, Methode und Werkzeug; Arten von Wartung; Modularität (Kohäsion/ Kopplung); Inkrementelle

Mehr

9 Multiplexer und Code-Umsetzer

9 Multiplexer und Code-Umsetzer 9 9 Multiplexer und Code-Umsetzer In diesem Kapitel werden zwei Standard-Bauelemente, nämlich Multiplexer und Code- Umsetzer, vorgestellt. Diese Bausteine sind für eine Reihe von Anwendungen, wie zum Beispiel

Mehr

AGROPLUS Buchhaltung. Daten-Server und Sicherheitskopie. Version vom 21.10.2013b

AGROPLUS Buchhaltung. Daten-Server und Sicherheitskopie. Version vom 21.10.2013b AGROPLUS Buchhaltung Daten-Server und Sicherheitskopie Version vom 21.10.2013b 3a) Der Daten-Server Modus und der Tresor Der Daten-Server ist eine Betriebsart welche dem Nutzer eine grosse Flexibilität

Mehr

Erweiterung AE WWS Lite Win: AES Security Verschlüsselung

Erweiterung AE WWS Lite Win: AES Security Verschlüsselung Erweiterung AE WWS Lite Win: AES Security Verschlüsselung Handbuch und Dokumentation Beschreibung ab Vers. 1.13.5 Am Güterbahnhof 15 D-31303 Burgdorf Tel: +49 5136 802421 Fax: +49 5136 9776368 Seite 1

Mehr

GI-Technologien zur Umsetzung der EU-Wasserrahmenrichtlinie (WRRL): Wissensbasen. Teil 1: Einführung: Wissensbasis und Ontologie.

GI-Technologien zur Umsetzung der EU-Wasserrahmenrichtlinie (WRRL): Wissensbasen. Teil 1: Einführung: Wissensbasis und Ontologie. GI-Technologien zur Umsetzung der EU-Wasserrahmenrichtlinie (WRRL): Wissensbasen Teil 1: Einführung: Wissensbasis und Ontologie Was ist eine Wissensbasis? Unterschied zur Datenbank: Datenbank: strukturiert

Mehr

Eine Logikschaltung zur Addition zweier Zahlen

Eine Logikschaltung zur Addition zweier Zahlen Eine Logikschaltung zur Addition zweier Zahlen Grundlegender Ansatz für die Umsetzung arithmetischer Operationen als elektronische Schaltung ist die Darstellung von Zahlen im Binärsystem. Eine Logikschaltung

Mehr

Whitebox-Tests: Allgemeines

Whitebox-Tests: Allgemeines -Tests: Allgemeines Andere Bezeichnungen Logic driven, Strukturelles Der Tester entwickelt Testfälle aus einer Betrachtung der Ablauflogik des Programms unter Berücksichtigung der Spezifikation Intuitiv

Mehr

Programmiersprachen und Übersetzer

Programmiersprachen und Übersetzer Programmiersprachen und Übersetzer Sommersemester 2010 19. April 2010 Theoretische Grundlagen Problem Wie kann man eine unendliche Menge von (syntaktisch) korrekten Programmen definieren? Lösung Wie auch

Mehr

Java Einführung Packages

Java Einführung Packages Java Einführung Packages Inhalt dieser Einheit Packages (= Klassenbibliotheken) Packages erstellen Packages importieren Packages verwenden Standard Packages 2 Code-Reuse Einbinden von bereits (selbst-/fremd)

Mehr

Dokumentation IBIS Monitor

Dokumentation IBIS Monitor Dokumentation IBIS Monitor Seite 1 von 16 11.01.06 Inhaltsverzeichnis 1. Allgemein 2. Installation und Programm starten 3. Programmkonfiguration 4. Aufzeichnung 4.1 Aufzeichnung mitschneiden 4.1.1 Inhalt

Mehr

Vorlesung Hardware-Beschreibungssprachen

Vorlesung Hardware-Beschreibungssprachen Vorlesung Hardware-Beschreibungssprachen Dr.-Ing. S. Arlt Fakultät EI Fachbereich Elektronische Schaltungen und Systeme S. Arlt TUI/EI/ESS HBS 0-1 Vorlesung Hardware-Beschreibungssprachen Kapitel 1 : Einführung

Mehr

Online-Prüfungs-ABC. ABC Vertriebsberatung GmbH Bahnhofstraße 94 69151 Neckargemünd

Online-Prüfungs-ABC. ABC Vertriebsberatung GmbH Bahnhofstraße 94 69151 Neckargemünd Online-Prüfungs-ABC ABC Vertriebsberatung GmbH Bahnhofstraße 94 69151 Neckargemünd Telefon Support: 0 62 23 / 86 55 55 Telefon Vertrieb: 0 62 23 / 86 55 00 Fax: 0 62 23 / 80 55 45 (c) 2003 ABC Vertriebsberatung

Mehr

Einführung in die Programmierung

Einführung in die Programmierung Technische Universität München WS 2003/2004 Institut für Informatik Prof. Dr. Christoph Zenger Testklausur Einführung in die Programmierung Probeklausur Java (Lösungsvorschlag) 1 Die Klasse ArrayList In

Mehr

Graphic Coding. Klausur. 9. Februar 2007. Kurs A

Graphic Coding. Klausur. 9. Februar 2007. Kurs A Graphic Coding Klausur 9. Februar 2007 Kurs A Name: Matrikelnummer: Hinweise - Es sind keine Hilfsmaterialien erlaubt. (Keine Bücher, Taschenrechner, Handys) - Sie haben zwei Stunden Zeit. - Insgesamt

Mehr

Dokumentenverwaltung. Copyright 2012 cobra computer s brainware GmbH

Dokumentenverwaltung. Copyright 2012 cobra computer s brainware GmbH Dokumentenverwaltung Copyright 2012 cobra computer s brainware GmbH cobra Adress PLUS ist eingetragenes Warenzeichen der cobra computer s brainware GmbH. Andere Begriffe können Warenzeichen oder anderweitig

Mehr

Einführung in VHDL. Dipl.-Ing. Franz Wolf

Einführung in VHDL. Dipl.-Ing. Franz Wolf Einführung in VHDL Literatur Digital Design and Modeling with VHDL and Synthesis Kou-Chuan Chang Wiley-IEEE Computer Society Press ISBN 0818677163 Rechnergestützter Entwurf digitaler Schaltungen Günter

Mehr

Klausur WS 2006/07 Programmiersprache Java Objektorientierte Programmierung II 15. März 2007

Klausur WS 2006/07 Programmiersprache Java Objektorientierte Programmierung II 15. März 2007 Fachhochschule Bonn-Rhein-Sieg University of Applied Sciences Fachbereich Informatik Prof. Dr. Peter Becker Klausur WS 2006/07 Programmiersprache Java Objektorientierte Programmierung II 15. März 2007

Mehr

Erster Bug: eine Motte

Erster Bug: eine Motte SOFTWAREFEHLER Der erste Bug Erster Bug: eine Motte Der Begriff Bug (deutsch: Motte) stammt aus dem Jahre 1945, als Ingenieure in einem Schaltrelais eines Computers (Harvard Mark II-System) eine Motte

Mehr

Inhalt. 1. Einführung in die Informatik. 2. Algorithmen Definition, Eigenschaften, Entwurf Darstellung von Algorithmen Beispiele.

Inhalt. 1. Einführung in die Informatik. 2. Algorithmen Definition, Eigenschaften, Entwurf Darstellung von Algorithmen Beispiele. 1. Einführung in die Informatik Inhalt 2. Algorithmen Definition, Eigenschaften, Entwurf Darstellung von Algorithmen Beispiele Peter Sobe 1 Darstellung von Algorithmen Aus den Einführungsbeispielen und

Mehr

Grundtypen Flip-Flops

Grundtypen Flip-Flops FLIP-FLOPs, sequentielle Logik Bei den bislang behandelten Logikschaltungen (Schaltnetzen) waren die Ausgangsgrößen X, Y... zu jeder Zeit in eindeutiger Weise durch die Kombination der Eingangsvariablen

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

Microcontroller Kurs. 08.07.11 Microcontroller Kurs/Johannes Fuchs 1

Microcontroller Kurs. 08.07.11 Microcontroller Kurs/Johannes Fuchs 1 Microcontroller Kurs 08.07.11 Microcontroller Kurs/Johannes Fuchs 1 Was ist ein Microcontroller Wikipedia: A microcontroller (sometimes abbreviated µc, uc or MCU) is a small computer on a single integrated

Mehr