Technische Grundlagen der Informatik Kapitel 3. Prof. Dr. Sorin A. Huss Fachbereich Informatik TU Darmstadt

Größe: px
Ab Seite anzeigen:

Download "Technische Grundlagen der Informatik Kapitel 3. Prof. Dr. Sorin A. Huss Fachbereich Informatik TU Darmstadt"

Transkript

1 Technische Grundlagen der Informatik Kapitel 3 Prof. Dr. Sorin A. Huss Fachbereich Informatik TU Darmstadt

2 Kapitel 3: Themen Hardware-Beschreibungssprachen Syntax von VHDL Simulation Synthese Testrahmen WS 10/11 Technische Grundlagen der Informatik - Kapitel 3 - Prof. Sorin A. Huss 2

3 Einleitung Hardware-Beschreibungssprachen Hardware Description Languages (HDL) Textuelle Beschreibung von Schaltungen möglich Auf verschiedenen Abstraktionsebenen Struktur (z.b. Verbindungen zwischen Gattern) Verhalten (z.b. Boolesche Gleichungen) Entwurfswerkzeuge führen die Beschreibungen aus (Simulation) und erzeugen Schaltungsstruktur mittels Verfahren zur Schaltungssynthese Schaltungssynthese Grob vergleichbar mit Übersetzung (Compilieren) von konventionellen Programmiersprachen Programme, die als Computer-Aided Design/Engineering (CAD/E) oder Electronic Design Automation (EDA) Werkzeuge bezeichnet werden WS 10/11 Technische Grundlagen der Informatik - Kapitel 3 - Prof. Sorin A. Huss 3

4 Einleitung Fast alle kommerziellen Hardware-Entwürfe wurden mit HDLs realisiert, der praktische Einsatz von HDLs ist Stand der Technik Zwei HDLs haben sich durchgesetzt Verilog VHDL Sie werden im Endeffekt wohl beide lernen müssen! Es gibt keinen klaren Gewinner, allerdings gibt es in Europa eine Präferenz für VHDL WS 10/11 Technische Grundlagen der Informatik - Kapitel 3 - Prof. Sorin A. Huss 4

5 Verilog 1984 von der Fa. Gateway Design Automation entwickelt Seit 1995 ein IEEE Standard (1364) Überarbeitet 2001 und 2005 Neuer Dialekt SystemVerilog (Obermenge von Verilog-2005) Weit verbreitet in zivilen US-Firmen In der Informatik der TU Darmstadt eingesetzt am FG Eingebettete Systeme und ihre Anwendungen (ESA, Prof. Koch) WS 10/11 Technische Grundlagen der Informatik - Kapitel 3 - Prof. Sorin A. Huss 5

6 VHDL Very High-Speed Integrated Circuit Hardware Description Language Entwickelt 1981 durch das US Verteidigungsministerium Inspiriert durch die konventionelle Programmiersprache Ada Standardisiert in 1987 durch IEEE (1076) Überarbeitet in 1993, 2000, 2002, 2006, 2008 Erweitert zur Beschreibung von ereignisdiskreten und zeitkontinuierlichen Systemen (VHDL-AMS), s. Vorlesung Modellierung heterogener Systeme Weit verbreitet in US-Rüstungsfirmen Vielen europäischen Firmen In der Informatik der TU Darmstadt eingesetzt am FG Integrierte Schaltungen und Systeme (ISS, Prof. Huss) WS 10/11 Technische Grundlagen der Informatik - Kapitel 3 - Prof. Sorin A. Huss 6

7 In dieser Iteration der Vorlesung In den Vorlesungen und Übungen VHDL Hier gezeigte Grundkonzepte sind in beiden Sprachen identisch Andere Syntax und auch Unterschiede im Detail VHDL-Beschreibung ist in der Regel länger, aber gut lesbar Im Begleitbuch werden beide Sprachen nebeneinander gezeigt S. Kapitel 4 Moderne Entwurfswerkzeuge können in der Regel beide Sprachen verarbeiten WS 10/11 Technische Grundlagen der Informatik - Kapitel 3 - Prof. Sorin A. Huss 7

8 Von einer HDL zu Logikgattern Simulation Eingangswerte werden in HDL-Beschreibung eingegeben Beschriebene Schaltung wird stimuliert Berechnete Ausgangswerte werden auf Korrektheit geprüft Fehlersuche viel einfacher und billiger als in realer Hardware Synthese Übersetzt HDL-Beschreibungen in Netzlisten, d. h. Strukturbeschreibungen Logikgatter (Schaltungselemente) Verbindungen (Verbindungsknoten) WICHTIG: Beim Verfassen von HDL-Beschreibungen ist es essentiell wichtig, immer die vom Programm beschriebene Hardware im Auge zu behalten! WS 10/11 Technische Grundlagen der Informatik - Kapitel 3 - Prof. Sorin A. Huss 8

9 VHDL-Module a b c VHDL Modul y Zwei Arten von Beschreibungen in Modulen: Verhalten: Was tut die Schaltung? Struktur: Wie ist die Schaltung aus Untermodulen aufgebaut? WS 10/11 Technische Grundlagen der Informatik - Kapitel 3 - Prof. Sorin A. Huss 9

10 Beispiel für Verhaltensbeschreibung VHDL: library IEEE; use IEEE.STD_LOGIC_1164.all; entity example is port(a, b, c: in STD_LOGIC; y: out STD_LOGIC); architecture synth of example is y <= ((not a) and (not b) and (not c)) or (a and (not b) and (not c)) or (a and (not b) and c); WS 10/11 Technische Grundlagen der Informatik - Kapitel 3 - Prof. Sorin A. Huss 10

11 Simulation von Verhaltensbeschreibungen Signalverlaufsdiagramm (waves) WS 10/11 Technische Grundlagen der Informatik - Kapitel 3 - Prof. Sorin A. Huss 11

12 Synthese von Verhaltensbeschreibungen Syntheseergebnis: b c un5_y y y a un8_y WS 10/11 Technische Grundlagen der Informatik - Kapitel 3 - Prof. Sorin A. Huss 12

13 VHDL Syntax Unterscheidet nicht Groß- und Kleinschreibung bei Identifiern Beispiel: reset und Reset sind das gleiche Signal Identifier müssen mit einem Buchstaben anfangen Beispiel: 2mux ist ein ungültiger Name Anzahl von Leerzeichen, Leerzeilen und Tabulatoren irrelevant Kommentare: -- bis zum Ende der Zeile WS 10/11 Technische Grundlagen der Informatik - Kapitel 3 - Prof. Sorin A. Huss 13

14 Strukturelle Beschreibung: Modulhierarchie library IEEE; use IEEE.STD_LOGIC_1164.all; entity and3gate is port(a, b, c: in STD_LOGIC; y: out STD_LOGIC); architecture synth of and3gate is y <= a and b and c; Nur eine entity pro Datei. Aber mehrere architectures pro entity möglich! library IEEE; use IEEE.STD_LOGIC_1164.all; entity invgate is port(a: in STD_LOGIC; y: out STD_LOGIC); architecture synth of invgate is y <= not a; WS 10/11 Technische Grundlagen der Informatik - Kapitel 3 - Prof. Sorin A. Huss 14

15 Strukturelle Beschreibung: Modulhierarchie library IEEE; use IEEE.STD_LOGIC_1164.all; entity nand3gate is port(a, b, c: in STD_LOGIC; y: out STD_LOGIC); architecture struct of nand3gate is component and3gate port(a, b, c: in STD_LOGIC; y: out STD_LOGIC); end component; component invgate port(a: in STD_LOGIC; y: out STD_LOGIC); end component; signal n1: STD_LOGIC; and3inst: and3gate port map(a => a, b => b, c => c, y => n1); invinst: invgate port map(a => n1, y => y); WS 10/11 Technische Grundlagen der Informatik - Kapitel 3 - Prof. Sorin A. Huss 15

16 Bitweise Verknüpfungsoperatoren library IEEE; use IEEE.STD_LOGIC_1164.all; entity gates is port(a, b: in STD_LOGIC_VECTOR(3 downto 0); y1, y2, y3, y4, y5: out STD_LOGIC_VECTOR(3 downto 0)); architecture synth of gates is -- Fünf unterschiedliche Logikgatter -- mit zwei Eingängen, -- jeweils 4 Bit breite Busse y1 <= a and b; y2 <= a or b; y3 <= a xor b; y4 <= a nand b; y5 <= a nor b; WS 10/11 Technische Grundlagen der Informatik - Kapitel 3 - Prof. Sorin A. Huss 16

17 Reduktionsoperatoren library IEEE; use IEEE.STD_LOGIC_1164.all; use IEEE.STD_LOGIC_MISC.all; -- weitere Bibliothek entity and8 is port(a: in STD_LOGIC_VECTOR(7 downto 0); y: out STD_LOGIC); architecture synth of and8 is y <= AND_REDUCE(a); -- Funktionsaufruf -- Abkürzung für -- y <= a(7) and a(6) and a(5) and a(4) and -- a(3) and a(2) and a(1) and a(0); WS 10/11 Technische Grundlagen der Informatik - Kapitel 3 - Prof. Sorin A. Huss 17

18 Bedingte Zuweisung library IEEE; use IEEE.STD_LOGIC_1164.all; entity mux2 is port(d0, d1: in STD_LOGIC_VECTOR(3 downto 0); s: in STD_LOGIC; y: out STD_LOGIC_VECTOR(3 downto 0)); architecture synth of mux2 is y <= d0 when s = '0' else d1; WS 10/11 Technische Grundlagen der Informatik - Kapitel 3 - Prof. Sorin A. Huss 18

19 Interne Verbindungsknoten oder Signale library IEEE; use IEEE.STD_LOGIC_1164.all; entity fulladder is port(a, b, cin: in STD_LOGIC; s, cout: out STD_LOGIC); architecture synth of fulladder is signal p, g: STD_LOGIC; -- interne Verbindungsknoten ( Drähte ) p <= a xor b; g <= a and b; g s s s <= p xor cin; cin cout <= g or (p and cin); a b p un1_cout cout cout WS 10/11 Technische Grundlagen der Informatik - Kapitel 3 - Prof. Sorin A. Huss 19

20 Bindung von Operatoren (Präzedenz) Höchste Bestimmt Ausführungsreihenfolge not NOT *, /, mod, rem Multiplikation, Division, Modulo, Remainder +, -, & Addition, Subtraktion, Konkatenation Niedrigste rol, ror, srl, sll, sra, sla =, /=, <, <=, >, >= and, or, nand, nor, xor Rotieren, Schieben (logisch), Schieben (arithmetisch) Vergleiche Logische Operatoren WICHTIG: Die logischen Operatoren haben gleiche Präzedenz. Es ist daher auf Klammerung zu achten! WS 10/11 Technische Grundlagen der Informatik - Kapitel 3 - Prof. Sorin A. Huss 20

21 Zahlen Syntax: 'wert' für STD_LOGIC ('0' oder '1') B"wert" für STD_LOGIC_VECTOR B = Basis (optional) Zahl Bitbreite Basis entspricht Dezimal Darstellung im Speicher '1' 1 binär 1 1 "101" 3 binär B"101" 3 binär X"AB" 8 hexadezimal WS 10/11 Technische Grundlagen der Informatik - Kapitel 3 - Prof. Sorin A. Huss 21

22 Operationen auf Bit-Ebene: Beispiel 1 y <= c(2 downto 1) & d(0) & d(0) & d(0) & c(0) & "101"; -- wenn y ein 9-bit STD_LOGIC_VECTOR ist, hat die Anweisung diesen Effekt: y = c[2] c[1] d[0] d[0] d[0] c[0] WS 10/11 Technische Grundlagen der Informatik - Kapitel 3 - Prof. Sorin A. Huss 22

23 Operationen auf Bit-Ebene: Beispiel 2 VHDL: Synthese: library IEEE; use IEEE.STD_LOGIC_1164.all; s s mux2 entity mux2_8 is port(d0, d1: in STD_LOGIC_VECTOR(7 downto 0); s: in STD_LOGIC; y: out STD_LOGIC_VECTOR(7 downto 0)); d0[7:0] d1[7:0] [7:0] [7:0] [3:0] [3:0] d0[3:0] y[3:0] d1[3:0] lsbmux [3:0] [7:0] y[7:0] architecture struct of mux2_8 is s component mux2 is [7:4] d0[3:0] port(d0, d1: in STD_LOGIC_VECTOR(3 downto 0); [7:4] s: in STD_LOGIC; d1[3:0] y[3:0] [7:4] y: out STD_LOGIC_VECTOR(3 downto 0)); msbmux end component; msbmux: mux2 port map(d0 => d0(7 downto 4), d1 => d1(7 downto 4), s => s, y => y(7 downto 4)); lsbmux: mux2 port map(d0 => d0(3 downto 0), d1 => d1(3 downto 0), s => s, y => y(3 downto 0)); mux2 WS 10/11 Technische Grundlagen der Informatik - Kapitel 3 - Prof. Sorin A. Huss 23

24 Hochohmiger Ausgang: Z VHDL: library IEEE; use IEEE.STD_LOGIC_1164.all; entity tristate is port(a: in STD_LOGIC_VECTOR(3 downto 0); en: in STD_LOGIC; y: out STD_LOGIC_VECTOR(3 downto 0)); architecture synth of tristate is y <= "ZZZZ" when en = '0' else a; Synthese: en a[3:0] [3:0] [3:0] [3:0] [3:0] y[3:0] y_1[3:0] WS 10/11 Technische Grundlagen der Informatik - Kapitel 3 - Prof. Sorin A. Huss 24

25 Verzögerungen library IEEE; use IEEE.STD_LOGIC_1164.all; entity example is port(a, b, c: in STD_LOGIC; y: out STD_LOGIC); Nur für die Simulation, after-ausdrücke werden für die Synthese ignoriert! architecture synth of example is signal ab, bb, cb, n1, n2, n3: STD_LOGIC; ab <= not a after 1 ns; bb <= not b after 1 ns; cb <= not c after 1 ns; n1 <= ab and bb and cb after 2 ns; n2 <= a and bb and cb after 2 ns; n3 <= a and bb and c after 2 ns; y <= n1 or n2 or n3 after 4 ns; WS 10/11 Technische Grundlagen der Informatik - Kapitel 3 - Prof. Sorin A. Huss 25

26 Verzögerungen WS 10/11 Technische Grundlagen der Informatik - Kapitel 3 - Prof. Sorin A. Huss 26

27 Verzögerungen library IEEE; use IEEE.STD_LOGIC_1164.all; entity example is port(a, b, c: in STD_LOGIC; y: out STD_LOGIC); architecture synth of example is signal ab, bb, cb, n1, n2, n3: STD_LOGIC; ab <= not a after 1 ns; bb <= not b after 1 ns; cb <= not c after 1 ns; n1 <= ab and bb and cb after 2 ns; n2 <= a and bb and cb after 2 ns; n3 <= a and bb and c after 2 ns; y <= n1 or n2 or n3 after 4 ns; Nur für die Simulation, after-ausdrücke werden für die Synthese ignoriert! WS 10/11 Technische Grundlagen der Informatik - Kapitel 3 - Prof. Sorin A. Huss 27

28 Testrahmen HDL-Programm zum Testen eines anderen HDL-Moduls Im Hardware-Entwurf schon lange üblich seit einigen Jahren auch im Software-Bereich (JUnit etc.) Getestetes Modul Device under test (DUT), Unit under test (UUT) Testrahmen wird nicht synthetisiert Nur für Simulation benutzt Arten von Testrahmen Einfach: Legt nur feste Testdaten an und zeigt Ausgaben an Selbstprüfend: Prüft auch noch, ob Ausgaben den Erwartungen entsprechen Selbstprüfend mit Testvektoren: Auch noch mit variablen Testdaten WS 10/11 Technische Grundlagen der Informatik - Kapitel 3 - Prof. Sorin A. Huss 28

29 Beispiel Verfasse VHDL-Code, um die folgende Funktion in Hardware zu berechnen: y = bc + ab Der Modulname sei sillyfunction WS 10/11 Technische Grundlagen der Informatik - Kapitel 3 - Prof. Sorin A. Huss 29

30 Beispiel Verfasse VHDL-Code, um die folgende Funktion in Hardware zu berechnen: y = bc + ab Der Modulname sei sillyfunction VHDL library IEEE; use IEEE.STD_LOGIC_1164.all; entity sillyfunction is port(a, b, c: in STD_LOGIC; y: out STD_LOGIC); architecture synth of sillyfunction is y <= (not b and not c) or (a and not b); WS 10/11 Technische Grundlagen der Informatik - Kapitel 3 - Prof. Sorin A. Huss 30

31 Einfacher Testrahmen für Beispiel library IEEE; use IEEE.STD_LOGIC_1164.all; entity testbench1 is -- kein Input/Output architecture sim of testbench1 is component sillyfunction is port(a, b, c: in STD_LOGIC; y: out STD_LOGIC); end component; signal a, b, c, y: STD_LOGIC; -- Instanz des zu testenden Moduls erzeugen dut: sillyfunction port map(a => a, b => b, c => c, y => y); -- Eingangswerte anlegen und warten process a <= '0'; b <= '0'; c <= '0'; wait for 10 ns; c <= '1'; wait for 10 ns; b <= '1'; c <= '0'; wait for 10 ns; c <= '1'; wait for 10 ns; a <= '1'; b <= '0'; c <= '0'; wait for 10 ns; c <= '1'; wait for 10 ns; b <= '1'; c <= '0'; wait for 10 ns; c <= '1'; wait for 10 ns; wait; -- wait forever end process; WS 10/11 Technische Grundlagen der Informatik - Kapitel 3 - Prof. Sorin A. Huss 31

32 Selbstprüfender Testrahmen library IEEE; use IEEE.STD_LOGIC_1164.all; entity testbench2 is -- kein Input/Output architecture sim of testbench2 is component sillyfunction is port(a, b, c: in STD_LOGIC; y: out STD_LOGIC); end component; signal a, b, c, y: STD_LOGIC; -- Instanz des zu testenden Moduls erzeugen dut: sillyfunction port map( a => a, b => b, c => c, y => y); c <= '1'; wait for 10 ns; assert y = '0' report "001 fehlerhaft."; b <= '1'; c <= '0'; wait for 10 ns; assert y = '0' report "010 fehlerhaft."; c <= '1'; wait for 10 ns; assert y = '0' report "011 fehlerhaft."; a <= '1'; b <= '0'; c <= '0'; wait for 10 ns; assert y = '1' report "100 fehlerhaft."; c <= '1'; wait for 10 ns; assert y = '1' report "101 fehlerhaft."; b <= '1'; c <= '0'; wait for 10 ns; assert y = '0' report "110 fehlerhaft."; c <= '1'; wait for 10 ns; assert y = '0' report "111 fehlerhaft."; wait; -- wait forever end process; -- Eingangswerte anlegen und warten -- Ausgang mit erwartetem Wert überprüfen process a <= '0'; b <= '0'; c <= '0'; wait for 10 ns; assert y = '1' report "000 fehlerhaft."; WS 10/11 Technische Grundlagen der Informatik - Kapitel 3 - Prof. Sorin A. Huss 32

33 Selbstprüfender Testrahmen mit Testvektoren Trennen von HDL-Programm und Testdaten Eingaben Erwartete Ausgaben Organisiere beides als Vektoren von zusammenhängenden Signalen/Werten Eigene Datei für Vektoren Dann HDL-Programm für universellen Testrahmen 1. Erzeuge Takt zum Anlegen von Eingabedaten/Auswerten von Ausgabedaten 2. Lese Vektordatei in VHDL Array 3. Lege Eingangsdaten an 4. Warte auf Ausgabedaten, werte Ausgabedaten aus 5. Vergleiche aktuelle mit erwarteten Ausgabedaten, melde Fehler bei Differenz 6. Noch weitere Testvektoren abzuarbeiten? WS 10/11 Technische Grundlagen der Informatik - Kapitel 3 - Prof. Sorin A. Huss 33

34 Selbstprüfender Testrahmen mit Testvektoren Im Testrahmen erzeugter Takt legt zeitlichen Ablauf fest Steigende Flanke: Eingabewerte aus Testvektor an Eingänge anlegen Fallende Flanke: Aktuelle Werte an Ausgängen lesen CLK Eingangswerte Ausgangswerte anlegen lesen Takt kann auch als Takt für sequentielle synchrone Schaltungen verwendet werden WS 10/11 Technische Grundlagen der Informatik - Kapitel 3 - Prof. Sorin A. Huss 34

35 Einfaches Textformat für Testvektordateien Datei: example.tv 000_1 001_0 010_0 011_0 100_1 101_1 110_0 111_0 Aufbau: Eingangsdaten _ erwartete Ausgangsdaten WS 10/11 Technische Grundlagen der Informatik - Kapitel 3 - Prof. Sorin A. Huss 35

36 Testrahmen: 1. Erzeuge Takt library IEEE; use IEEE.STD_LOGIC_1164.all; use STD.TEXTIO.all; entity testbench3 is -- kein Input/Output architecture sim of testbench3 is component sillyfunction is port(a, b, c: in STD_LOGIC; y: out STD_LOGIC); end component; signal a, b, c, y: STD_LOGIC; signal clk, reset: STD_LOGIC; signal yexpected: STD_LOGIC; constant MEMSIZE: integer := 10000; type tvarray is array (MEMSIZE downto 0) of STD_LOGIC_VECTOR(3 downto 0); signal testvectors: tvarray; -- Array für Testvektoren shared variable vectornum, errors: integer; -- Verwaltungsdaten -- Instanz des zu testenden Moduls erzeugen dut: sillyfunction port map(a => a, b => b, c => c, y => y); -- Takterzeugung process clk <= '1'; wait for 5 ns; clk <= '0'; wait for 5 ns; end process; WS 10/11 Technische Grundlagen der Informatik - Kapitel 3 - Prof. Sorin A. Huss 36

37 2. Lese Testvektordatei in Array ein -- Zu Beginn der Simulation: -- Testdaten einlesen und einen Reset-Impuls erzeugen process is -- wird genau einmal ausgeführt file tv: TEXT; variable i, j: integer; variable L: line; variable ch: character; i := 0; FILE_OPEN(tv, "example.tv", READ_MODE); while not endfile(tv) loop readline(tv, L); for j in 0 to 3 loop read(l, ch); if (ch = '_') then read(l, ch); end if; if (ch = '0') then testvectors(i)(j) <= '0'; else testvectors(i)(j) <= '1'; end if; end loop; i := i + 1; end loop; vectornum := 0; errors := 0; -- Verwaltungsdaten initialisieren reset <= '1'; wait for 27 ns; reset <= '0'; -- Resetimpuls erzeugen wait; end process; WS 10/11 Technische Grundlagen der Informatik - Kapitel 3 - Prof. Sorin A. Huss 37

38 3. Lege Testdaten an Eingänge an -- zur steigenden Taktflanke (genauer: kurz danach!) process (clk) if (clk'event and clk = '1') then a <= testvectors(vectornum)(0) after 1 ns; b <= testvectors(vectornum)(1) after 1 ns; c <= testvectors(vectornum)(2) after 1 ns; yexpected <= testvectors(vectornum)(3) after 1 ns; end if; end process; a,b,c sind Eingänge der DUT yexpected ist eine Hilfsvariable, die nun den erwarteten Ausgangswert dieses Vektors enthält. WS 10/11 Technische Grundlagen der Informatik - Kapitel 3 - Prof. Sorin A. Huss 38

39 4. Warte auf Ausgabedaten, lese Ausgabedaten 5. Vergleiche aktuelle Ausgaben mit erwarteten Werten -- warte auf fallende Flanke zum Lesen der Ausgabedaten der DUT process (clk) -- erst prüfen, nachdem Schaltung initialisiert if (clk'event and clk = '0' and reset = '0') then assert y = yexpected -- vergleiche aktuelle Ausgabe mit erwartetem Wert report "Fehler: y = " & STD_LOGIC'image(y); -- Fehlermeldung if (y /= yexpected) then errors := errors + 1; -- zähle Fehler end if; WS 10/11 Technische Grundlagen der Informatik - Kapitel 3 - Prof. Sorin A. Huss 39

40 6. Sind noch weitere Testvektoren abzuarbeiten? -- Array-Index zum Zugriff auf nächsten Testvektor erhöhen vectornum := vectornum + 1; -- Ist der nächste schon ein ungültiger Testvektor? if (is_x(testvectors(vectornum))) then report integer'image(vectornum) & " Tests mit " & integer'image(errors) & " Fehler(n) bearbeitet." severity failure; -- Endmeldung ausgeben end if; end if; end process; Hinweis: Zum Vergleichen auf X muss die Funktion is_x() benutzt werden WS 10/11 Technische Grundlagen der Informatik - Kapitel 3 - Prof. Sorin A. Huss 40

41 VHDL Sprachkonstrukte in TGDI Vor Testrahmen alle für die Beschreibung von echter Hardware relevanten eingeführt Schaltungssynthese VHDL kann viel mehr Angedeutet beim Testrahmen (Dateioperationen, Ein/Ausgabe, ) Aber in der Regel nicht mehr in Hardware synthetisierbar Nicht Schwerpunkt dieser Veranstaltung Mehr Details zu HDLs in Kanonik Computer Microsystems Im Sommersemester In TGDI soll dieser Kurzüberblick reichen Bei akutem Bedarf werden noch weitere Konstrukte eingeführt WS 10/11 Technische Grundlagen der Informatik - Kapitel 3 - Prof. Sorin A. Huss 41

42 Weitere Anweisungen zur Verhaltensbeschreibung Dürfen nur innerhalb von Prozessen (process) benutzt werden if / else case WS 10/11 Technische Grundlagen der Informatik - Kapitel 3 - Prof. Sorin A. Huss 42

43 Kombinatorische Logik als Prozess library IEEE; use IEEE.STD_LOGIC_1164.all; entity fulladder_blk is port(a, b, cin: in STD_LOGIC; s, cout: out STD_LOGIC); architecture synth of fulladder_blk is process (a, b, cin) -- Sensitivitätsliste variable p, g: STD_LOGIC; -- interne Variablen p := a xor b; -- blockierend g := a and b; -- blockierend s <= p xor cin; cout <= g or (p and cin); end process; WS 10/11 Technische Grundlagen der Informatik - Kapitel 3 - Prof. Sorin A. Huss 43

44 Kombinatorische Logik mit with select library IEEE; use IEEE.STD_LOGIC_1164.all; entity sevenseg is port(data: in STD_LOGIC_VECTOR(3 downto 0); seg: out STD_LOGIC_VECTOR(6 downto 0)); architecture synth of sevenseg is with data select -- ABCDEFG seg <= " when X"1", " when X"2", " when X"3", " when X"4", " when X"5", " when X"6", " when X"7", " when X"8", " when X"9", " when X"A", --A " when X"B", --b " when X"C", --C " when X"D", --d " when X"E", --E " when X"F", --F " when others; --0 WS 10/11 Technische Grundlagen der Informatik - Kapitel 3 - Prof. Sorin A. Huss 44

45 Kombinatorische Logik mit case library IEEE; use IEEE.STD_LOGIC_1164.all; entity sevenseg_case is port(data: in STD_LOGIC_VECTOR(3 downto 0); seg: out STD_LOGIC_VECTOR(6 downto 0)); architecture synth of sevenseg_case is process (data) case (data) is -- ABCDEFG when X"1" => seg <= "; --1 when X"2" => seg <= " "; --2 when X"3" => seg <= " "; --3 when X"4" => seg <= " "; --4 when X"5" => seg <= " "; --5 when X"6" => seg <= " "; --6 when X"7" => seg <= " "; --7 when X"8" => seg <= " "; --8 when X"9" => seg <= " "; --9 when X"A" => seg <= " "; --A when X"B" => seg <= " "; --b when X"C" => seg <= " "; --C when X"D" => seg <= " "; --d when X"E" => seg <= " "; --E when X"F" => seg <= " "; --F when others => seg <= " "; --0 end case; end process; WS 10/11 Technische Grundlagen der Informatik - Kapitel 3 - Prof. Sorin A. Huss 45

46 Kombinatorische Logik mit case Um kombinatorische Logik zu beschreiben, muss ein case-ausdruck alle Möglichkeiten abdecken Entweder explizit angeben Oder einen Default-Fall (others) angeben Tritt in Kraft, wenn sonst keine andere Alternative passt Im Beispiel verwendet WS 10/11 Technische Grundlagen der Informatik - Kapitel 3 - Prof. Sorin A. Huss 46

47 Kombinatorische Logik mit case und don t care library IEEE; use IEEE.STD_LOGIC_1164.all; entity case_dc is port(a: in STD_LOGIC_VECTOR(3 downto 0); y: out STD_LOGIC_VECTOR(3 downto 0)); architecture synth of case_dc is process (a) case (a) is when "1---" => y <= "1000"; -- - = don't care when "01--" => y <= "0100"; when "001-" => y <= "0010"; when "0001" => y <= "0001"; when others => y <= "0000"; -- alle Fälle abgedeckt end case; end process; WS 10/11 Technische Grundlagen der Informatik - Kapitel 3 - Prof. Sorin A. Huss 47

Ü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

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

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

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

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

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

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

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

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

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

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

1 Vom Problem zum Programm

1 Vom Problem zum Programm Hintergrundinformationen zur Vorlesung GRUNDLAGEN DER INFORMATIK I Studiengang Elektrotechnik WS 02/03 AG Betriebssysteme FB3 Kirsten Berkenkötter 1 Vom Problem zum Programm Aufgabenstellung analysieren

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

Lehrstuhl Informatik VI Grundzüge der Informatik * WS 2008/2009 Prof. Dr. Joachim Biskup

Lehrstuhl Informatik VI Grundzüge der Informatik * WS 2008/2009 Prof. Dr. Joachim Biskup Universität Dortmund Lehrstuhl Informatik VI Grundzüge der Informatik * WS 28/29 Prof. Dr. Joachim Biskup Leitung der Übungen: Arno Pasternak Lösungs-Ideen Übungsblatt 6 A: Grammatiken, Syntaxdiagramme

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

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

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

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

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

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

Ü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

Version 0.3. Installation von MinGW und Eclipse CDT

Version 0.3. Installation von MinGW und Eclipse CDT Version 0.3 Installation von MinGW und Eclipse CDT 1. Stellen Sie fest, ob Sie Windows in der 32 Bit Version oder in der 64 Bit Version installiert haben. 2. Prüfen Sie, welche Java Runtime vorhanden ist.

Mehr

Übung RA, Kapitel 1.2

Übung RA, Kapitel 1.2 Übung RA, Kapitel 1.2 Teil 1: Zahlen und Logik A) Aufgaben zu den ganzen Zahlen 1. Konvertieren Sie die folgenden Zahlen in die Binärform: 1984 Immer durch 2 teilen, der Rest ergibt das Bit. Jeweils mit

Mehr

Versuch Nr. 8c Digitale Elektronik I

Versuch Nr. 8c Digitale Elektronik I Institut für ernphysik der Universität zu öln Praktikum M Versuch Nr. 8c Digitale Elektronik I Stand 14. Oktober 2010 INHALTSVERZEICHNIS 1 Inhaltsverzeichnis 1 Einführung 2 1.1 Motivation....................................

Mehr

Grundlagen der Informatik

Grundlagen der Informatik Mag. Christian Gürtler Programmierung Grundlagen der Informatik 2011 Inhaltsverzeichnis I. Allgemeines 3 1. Zahlensysteme 4 1.1. ganze Zahlen...................................... 4 1.1.1. Umrechnungen.................................

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

183.580, WS2012 Übungsgruppen: Mo., 22.10.

183.580, WS2012 Übungsgruppen: Mo., 22.10. VU Grundlagen digitaler Systeme Übung 2: Numerik, Boolesche Algebra 183.580, WS2012 Übungsgruppen: Mo., 22.10. Aufgabe 1: Binäre Gleitpunkt-Arithmetik Addition & Subtraktion Gegeben sind die Zahlen: A

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

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

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

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

Einführung in die C++ Programmierung für Ingenieure

Einführung in die C++ Programmierung für Ingenieure Einführung in die C++ Programmierung für Ingenieure MATTHIAS WALTER / JENS KLUNKER Universität Rostock, Lehrstuhl für Modellierung und Simulation 14. November 2012 c 2012 UNIVERSITÄT ROSTOCK FACULTY OF

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

trivum Multiroom System Konfigurations- Anleitung Erstellen eines RS232 Protokolls am Bespiel eines Marantz SR7005

trivum Multiroom System Konfigurations- Anleitung Erstellen eines RS232 Protokolls am Bespiel eines Marantz SR7005 trivum Multiroom System Konfigurations- Anleitung Erstellen eines RS232 Protokolls am Bespiel eines Marantz SR7005 2 Inhalt 1. Anleitung zum Einbinden eines über RS232 zu steuernden Devices...3 1.2 Konfiguration

Mehr

2. Negative Dualzahlen darstellen

2. Negative Dualzahlen darstellen 2.1 Subtraktion von Dualzahlen 2.1.1 Direkte Subtraktion (Tafelrechnung) siehe ARCOR T0IF Nachteil dieser Methode: Diese Form der Subtraktion kann nur sehr schwer von einer Elektronik (CPU) durchgeführt

Mehr

Binäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen

Binäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen Binäre Bäume 1. Allgemeines Binäre Bäume werden grundsätzlich verwendet, um Zahlen der Größe nach, oder Wörter dem Alphabet nach zu sortieren. Dem einfacheren Verständnis zu Liebe werde ich mich hier besonders

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

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

Einrichten des Elektronischen Postfachs

Einrichten des Elektronischen Postfachs Einrichten des Elektronischen Postfachs Für die Einrichtung des Elektronischen Postfachs melden Sie sich wie gewohnt in unserem Online-Banking auf www.sparkasse-unnakamen.de an. Wechseln Sie über Postfach

Mehr

Technische Informatik Basispraktikum Sommersemester 2001

Technische Informatik Basispraktikum Sommersemester 2001 Technische Informatik Basispraktikum Sommersemester 2001 Protokoll zum Versuchstag 4 Datum: 21.6.2001 Gruppe: David Eißler/ Autor: Verwendete Messgeräte: - digitales Experimentierboard (EB6) - Netzgerät

Mehr

Computerarithmetik ( )

Computerarithmetik ( ) Anhang A Computerarithmetik ( ) A.1 Zahlendarstellung im Rechner und Computerarithmetik Prinzipiell ist die Menge der im Computer darstellbaren Zahlen endlich. Wie groß diese Menge ist, hängt von der Rechnerarchitektur

Mehr

Java Einführung Operatoren Kapitel 2 und 3

Java Einführung Operatoren Kapitel 2 und 3 Java Einführung Operatoren Kapitel 2 und 3 Inhalt dieser Einheit Operatoren (unär, binär, ternär) Rangfolge der Operatoren Zuweisungsoperatoren Vergleichsoperatoren Logische Operatoren 2 Operatoren Abhängig

Mehr

C++ Grundlagen. ++ bedeutet Erweiterung zum Ansi C Standard. Hier wird eine Funktion eingeleitet

C++ Grundlagen. ++ bedeutet Erweiterung zum Ansi C Standard. Hier wird eine Funktion eingeleitet C++ Grundlagen ++ bedeutet Erweiterung zum Ansi C Standard Hier wird eine Funktion eingeleitet Aufbau: In dieser Datei stehen die Befehle, die gestartet werden, wenn das Programm gestartet wird Int main()

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

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

Daten verarbeiten. Binärzahlen

Daten verarbeiten. Binärzahlen Daten verarbeiten Binärzahlen In Digitalrechnern werden (fast) ausschließlich nur Binärzahlen eingesetzt. Das Binärzahlensystem ist das Stellenwertsystem mit der geringsten Anzahl von Ziffern. Es kennt

Mehr

Hello World. Javakurs 2014, 1. Vorlesung. Sebastian Schuck. basierend auf der Vorlage von Arne Kappen. wiki.freitagsrunde.org. 3.

Hello World. Javakurs 2014, 1. Vorlesung. Sebastian Schuck. basierend auf der Vorlage von Arne Kappen. wiki.freitagsrunde.org. 3. Hello World Javakurs 2014, 1. Vorlesung Sebastian Schuck basierend auf der Vorlage von Arne Kappen wiki.freitagsrunde.org 3. März 2014 This work is licensed under the Creative Commons Attribution-ShareAlike

Mehr

FH Jena Prüfungsaufgaben Prof. Giesecke FB ET/IT Binäre Rechenoperationen WS 09/10

FH Jena Prüfungsaufgaben Prof. Giesecke FB ET/IT Binäre Rechenoperationen WS 09/10 FB ET/IT Binäre Rechenoperationen WS 9/ Name, Vorname: Matr.-Nr.: Zugelassene Hilfsmittel: beliebiger Taschenrechner eine selbst erstellte Formelsammlung Wichtige Hinweise: Ausführungen, Notizen und Lösungen

Mehr

A1.7: Entropie natürlicher Texte

A1.7: Entropie natürlicher Texte A1.7: Entropie natürlicher Texte Anfang der 1950er Jahre hat Claude E. Shannon die Entropie H der englischen Sprache mit einem bit pro Zeichen abgeschätzt. Kurz darauf kam Karl Küpfmüller bei einer empirischen

Mehr

Besprechung des 3. Übungsblattes MIMA-Interpreter MIMA-Aufgabe: Primzahltest Weitere MIMA-Aufgaben online

Besprechung des 3. Übungsblattes MIMA-Interpreter MIMA-Aufgabe: Primzahltest Weitere MIMA-Aufgaben online Themen heute Besprechung des 3. Übungsblattes MIMA-Interpreter MIMA-Aufgabe: Primzahltest Weitere MIMA-Aufgaben online Besprechung des 3. Übungsblattes Aufgabe 3 Speicherplätze für Mikrocode-Anweisungen

Mehr

Übungsaufgaben. - Vorgehensweise entsprechend dem Algorithmus der schriftlichen Multiplikation

Übungsaufgaben. - Vorgehensweise entsprechend dem Algorithmus der schriftlichen Multiplikation Übungsaufgaben Anmerkung Allen Beispielen soll noch hinzugefügt sein, dass wertvolle Hinweise, also die Tipps und Tricks die der schnellen maschinellen Multiplikation zu Grunde liegen, neben dem toff zur

Mehr

der Eingabe! Haben Sie das Ergebnis? Auf diesen schwarzen Punkt kommen wir noch zu sprechen.

der Eingabe! Haben Sie das Ergebnis? Auf diesen schwarzen Punkt kommen wir noch zu sprechen. Medizintechnik MATHCAD Kapitel. Einfache Rechnungen mit MATHCAD ohne Variablendefinition In diesem kleinen Kapitel wollen wir die ersten Schritte mit MATHCAD tun und folgende Aufgaben lösen: 8 a: 5 =?

Mehr

Schulberichtssystem. Inhaltsverzeichnis

Schulberichtssystem. Inhaltsverzeichnis Schulberichtssystem Inhaltsverzeichnis 1. Erfassen der Schüler im SBS...2 2. Erzeugen der Export-Datei im SBS...3 3. Die SBS-Datei ins FuxMedia-Programm einlesen...4 4. Daten von FuxMedia ins SBS übertragen...6

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

Kapitel 4A: Einschub - Binärcodierung elementarer Datentypen. Einschub: Teile aus Kapitel 2 in Küchlin/Weber: Einführung in die Informatik

Kapitel 4A: Einschub - Binärcodierung elementarer Datentypen. Einschub: Teile aus Kapitel 2 in Küchlin/Weber: Einführung in die Informatik Einschub: Binärcodierung elementarer Datentypen Teile aus Kapitel 2 in Küchlin/Weber: Einführung in die Informatik Unterscheide Zahl-Wert Zahl-Bezeichner Zu ein- und demselben Zahl-Wert kann es verschiedene

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

ABB i-bus KNX. Software-Information. Melde- und Bedientableau. Typ: MT 701.2

ABB i-bus KNX. Software-Information. Melde- und Bedientableau. Typ: MT 701.2 Produkt: Melde- und Bedientableau Typ: MT 701.2 Aktuelles Anwendungsprogramm Plug-In für ETS 2 MT_701_2_ETS2_SOW_xx_V1-12a_de_en.exe Plug-In für ETS 3 MT_701_2_ETS3_SOW_xx_V1-12a_de_en.exe EIBTAB: MT_701_2_EIBTAB_SOW_de_V2-08-00A_EibTab+Firmware.EXE

Mehr

Matrix42. Use Case - Anlegen einer neuen Störung über den Service Catalog. Version 1.0.0. 22. März 2013 - 1 -

Matrix42. Use Case - Anlegen einer neuen Störung über den Service Catalog. Version 1.0.0. 22. März 2013 - 1 - Matrix42 Use Case - Anlegen einer neuen Störung über den Service Catalog Version 1.0.0 22. März 2013-1 - Inhaltsverzeichnis 1 Einleitung 3 1.1 Beschreibung 3 1.2 Vorbereitung 3 1.3 Ziel 3 2 Use Case 4-2

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

- Strukturentwurf elementarer Rechenwerke - Grund-Flipflop (RS-Flipflop) - Register, Schieberegister, Zähler

- Strukturentwurf elementarer Rechenwerke - Grund-Flipflop (RS-Flipflop) - Register, Schieberegister, Zähler 3.Übung: Inhalte: - binäre Logik, boolsche Gleichungen - logische Grundschaltungen - trukturentwurf elementarer echenwerke - Grund-Flipflop (-Flipflop) - egister, chieberegister, Zähler Übung Informatik

Mehr

A.3. A.3 Spezielle Schaltnetze. 2002 Prof. Dr. Rainer Manthey Informatik II 1

A.3. A.3 Spezielle Schaltnetze. 2002 Prof. Dr. Rainer Manthey Informatik II 1 Spezielle Schaltnetze Spezielle Schaltnetze 22 Prof. Dr. Rainer Manthey Informatik II Übersicht in diesem Abschnitt: : Vorstellung einiger wichtiger Bausteine vieler elektronischer Schaltungen, die sich

Mehr

Übungen zu C++ Kapitel 1

Übungen zu C++ Kapitel 1 Übungen zu C++ Kapitel 1 Aufgabe 1 Ergänze den Text. a) Die sechs logischen Einheiten eines Computers sind Eingabe-Einheit, Ausgabe-Einheit, RAM, ALU, CPU, Plattenspeicher. b) Die Programme, welche Hochsprachenprogramme

Mehr

Handbuch. NAFI Online-Spezial. Kunden- / Datenverwaltung. 1. Auflage. (Stand: 24.09.2014)

Handbuch. NAFI Online-Spezial. Kunden- / Datenverwaltung. 1. Auflage. (Stand: 24.09.2014) Handbuch NAFI Online-Spezial 1. Auflage (Stand: 24.09.2014) Copyright 2016 by NAFI GmbH Unerlaubte Vervielfältigungen sind untersagt! Inhaltsangabe Einleitung... 3 Kundenauswahl... 3 Kunde hinzufügen...

Mehr

OP-LOG www.op-log.de

OP-LOG www.op-log.de Verwendung von Microsoft SQL Server, Seite 1/18 OP-LOG www.op-log.de Anleitung: Verwendung von Microsoft SQL Server 2005 Stand Mai 2010 1 Ich-lese-keine-Anleitungen 'Verwendung von Microsoft SQL Server

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

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

1 Anmerkungen zur Entwicklung von GALs mit LOG/iC

1 Anmerkungen zur Entwicklung von GALs mit LOG/iC 1 Anmerkungen zur Entwicklung von GALs mit LOG/iC 1.1 Generic Array Logic (GAL) - Prinzip Ein GAL (Generic Array Logic) stellt ein (wieder)programmierbares UND- Array mit einem festen ODER Array dar. Zusätzlich

Mehr

Übung 1 RS-FFs mit NOR- oder NAND-Gattern

Übung 1 RS-FFs mit NOR- oder NAND-Gattern Übung 1 RS-FFs mit NOR- oder NAND-Gattern Übungsziel: Aufbau eines RS-Flipflops mit NOR- oder NAND-Gattern Wahrheitstabelle: S (Setzen) R (Rücksetzen) Q m (Aktueller Zustand) Q m+1 (Nächster Zustand) 0

Mehr

Informatik 12 Datenbanken SQL-Einführung

Informatik 12 Datenbanken SQL-Einführung Informatik 12 Datenbanken SQL-Einführung Gierhardt Vorbemerkungen Bisher haben wir Datenbanken nur über einzelne Tabellen kennen gelernt. Stehen mehrere Tabellen in gewissen Beziehungen zur Beschreibung

Mehr

Protokoll zu Grundelemente der Digitaltechnik

Protokoll zu Grundelemente der Digitaltechnik Protokoll zu Grundelemente der Digitaltechnik Ronn Harbich 22. uli 2005 Ronn Harbich Protokoll zu Grundelemente der Digitaltechnik 2 Vorwort Das hier vorliegende Protokoll wurde natürlich mit größter Sorgfalt

Mehr

Installation OMNIKEY 3121 USB

Installation OMNIKEY 3121 USB Installation OMNIKEY 3121 USB Vorbereitungen Installation PC/SC Treiber CT-API Treiber Einstellungen in Starke Praxis Testen des Kartenlesegeräts Vorbereitungen Bevor Sie Änderungen am System vornehmen,

Mehr

Zahlensysteme: Oktal- und Hexadezimalsystem

Zahlensysteme: Oktal- und Hexadezimalsystem 20 Brückenkurs Die gebräuchlichste Bitfolge umfasst 8 Bits, sie deckt also 2 8 =256 Möglichkeiten ab, und wird ein Byte genannt. Zwei Bytes, also 16 Bits, bilden ein Wort, und 4 Bytes, also 32 Bits, formen

Mehr

Kapiteltests zum Leitprogramm Binäre Suchbäume

Kapiteltests zum Leitprogramm Binäre Suchbäume Kapiteltests zum Leitprogramm Binäre Suchbäume Björn Steffen Timur Erdag überarbeitet von Christina Class Binäre Suchbäume Kapiteltests für das ETH-Leitprogramm Adressaten und Institutionen Das Leitprogramm

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

Datenbanksysteme SS 2007

Datenbanksysteme SS 2007 Datenbanksysteme SS 2007 Frank Köster (Oliver Vornberger) Institut für Informatik Universität Osnabrück Kapitel 9c: Datenbankapplikationen Architektur einer Web-Applikation mit Servlets, JSPs und JavaBeans

Mehr

Formular»Fragenkatalog BIM-Server«

Formular»Fragenkatalog BIM-Server« Formular»Fragenkatalog BIM-Server«Um Ihnen so schnell wie möglich zu helfen, benötigen wir Ihre Mithilfe. Nur Sie vor Ort kennen Ihr Problem, und Ihre Installationsumgebung. Bitte füllen Sie dieses Dokument

Mehr

Kurzeinführung LABTALK

Kurzeinführung LABTALK Kurzeinführung LABTALK Mit der Interpreter-Sprache LabTalk, die von ORIGIN zur Verfügung gestellt wird, können bequem Datenmanipulationen sowie Zugriffe direkt auf das Programm (Veränderungen der Oberfläche,

Mehr

Übung 9 - Lösungsvorschlag

Übung 9 - Lösungsvorschlag Universität Innsbruck - Institut für Informatik Datenbanken und Informationssysteme Prof. Günther Specht, Eva Zangerle Besprechung: 15.12.2008 Einführung in die Informatik Übung 9 - Lösungsvorschlag Aufgabe

Mehr

Live Online Training der Bremer Akademie für berufliche Weiterbildung. Hinweise für den Verbindungaufbau zu den Systemen der Bremer Akademie

Live Online Training der Bremer Akademie für berufliche Weiterbildung. Hinweise für den Verbindungaufbau zu den Systemen der Bremer Akademie Live Online Training der Bremer Akademie für berufliche Weiterbildung Hinweise für den Verbindungaufbau zu den Systemen der Bremer Akademie Um am Live Online Training der Bremer Akademie teilnehmen zu

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

Mikrocontroller Grundlagen. Markus Koch April 2011

Mikrocontroller Grundlagen. Markus Koch April 2011 Mikrocontroller Grundlagen Markus Koch April 2011 Übersicht Was ist ein Mikrocontroller Aufbau (CPU/RAM/ROM/Takt/Peripherie) Unterschied zum Mikroprozessor Unterschiede der Controllerarten Unterschiede

Mehr

Advoware mit VPN Zugriff lokaler Server / PC auf externe Datenbank

Advoware mit VPN Zugriff lokaler Server / PC auf externe Datenbank Advoware mit VPN Zugriff lokaler Server / PC auf externe Datenbank Die Entscheidung Advoware über VPN direkt auf dem lokalen PC / Netzwerk mit Zugriff auf die Datenbank des zentralen Servers am anderen

Mehr

Verarbeitung der Eingangsmeldungen in einem Callcenter

Verarbeitung der Eingangsmeldungen in einem Callcenter Q-up ist ein Produkt der: Anwendungsbeispiele Verarbeitung der Eingangsmeldungen in einem Callcenter Der Testdatengenerator Der Testdatengenerator Verarbeitung der Eingangsmeldungen in einem Callcenter

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

Protokoll zum Praktikum des Moduls Technische Informatik an der JLU Gießen

Protokoll zum Praktikum des Moduls Technische Informatik an der JLU Gießen Protokoll zum Praktikum des Moduls Technische Informatik an der JLU Gießen Technische Informatik Versuch 2 Julian Bergmann, Dennis Getzkow 8. Juni 203 Versuch 2 Einführung Im Versuch 2 sollte sich mit

Mehr

Leitfaden Internet-Redaktion kursana.de

Leitfaden Internet-Redaktion kursana.de Leitfaden Internet-Redaktion kursana.de 1.»Log In«: Der Zugang zum Redaktionssystem 2. Anlegen einer neuen Veranstaltung 3. Anlegen eines neuen Stellenangebots 4.»Log Out«: Aus dem Redaktionssystem ausloggen

Mehr

MPEG2Schnitt (Freeware) - demuxte Videodaten schneiden und verketten. framegenauer Schnitt mit Bild-Ton-Synchronisierung und Fehlerkorrekturen

MPEG2Schnitt (Freeware) - demuxte Videodaten schneiden und verketten. framegenauer Schnitt mit Bild-Ton-Synchronisierung und Fehlerkorrekturen MPEG2Schnitt (Freeware) - demuxte Videodaten schneiden und verketten framegenauer Schnitt mit Bild-Ton-Synchronisierung und Fehlerkorrekturen www.mdienert.de/mpeg2schnitt/index.htm MPEG2Schnitt kann Video

Mehr

Second Steps in eport 2.0 So ordern Sie Credits und Berichte

Second Steps in eport 2.0 So ordern Sie Credits und Berichte Second Steps in eport 2.0 So ordern Sie Credits und Berichte Schritt 1: Credits kaufen, um Zugangscodes generieren zu können Wählen Sie Credits verwalten und klicken Sie auf Credits kaufen. Geben Sie nun

Mehr

Wintersemester Maschinenbau und Kunststofftechnik. Informatik. Tobias Wolf http://informatik.swoke.de. Seite 1 von 16

Wintersemester Maschinenbau und Kunststofftechnik. Informatik. Tobias Wolf http://informatik.swoke.de. Seite 1 von 16 Kapitel 5 Arithmetische Operatoren Seite 1 von 16 Arithmetische Operatoren - Man unterscheidet unäre und binäre Operatoren. - Je nachdem, ob sie auf einen Operanden wirken, oder eine Verknüpfung zweier

Mehr

Tutorium Rechnerorganisation

Tutorium Rechnerorganisation Woche 2 Tutorien 3 und 4 zur Vorlesung Rechnerorganisation 1 Christian A. Mandery: KIT Universität des Landes Baden-Württemberg und nationales Grossforschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu

Mehr

Task: Nmap Skripte ausführen

Task: Nmap Skripte ausführen Task: Nmap Skripte ausführen Inhalt Einfache Netzwerkscans mit NSE Ausführen des Scans Anpassung der Parameter Einleitung Copyright 2009-2015 Greenbone Networks GmbH Herkunft und aktuellste Version dieses

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

Anlegen eines Speicherbereichs mit DB, DW eleganter in Kombination mit EQU, Timer-Interrupt

Anlegen eines Speicherbereichs mit DB, DW eleganter in Kombination mit EQU, Timer-Interrupt Anlegen eines Speicherbereichs mit DB, DW eleganter in Kombination mit EQU, Timer-Interrupt AMPEL-Steuerung(en) Die Beschreibung und Programmierung der Ampel (vor allem Ampel_5) können sehr kompliziert

Mehr

Um zusammenfassende Berichte zu erstellen, gehen Sie folgendermaßen vor:

Um zusammenfassende Berichte zu erstellen, gehen Sie folgendermaßen vor: Ergebnisreport: mehrere Lehrveranstaltungen zusammenfassen 1 1. Ordner anlegen In der Rolle des Berichterstellers (siehe EvaSys-Editor links oben) können zusammenfassende Ergebnisberichte über mehrere

Mehr

Tietze, Schenk: Halbleiterschaltungstechnik (Kap. 10) Keller / Paul: Hardwaredesign (Kap. 5) L. Borucki: Digitaltechnik (Kap.

Tietze, Schenk: Halbleiterschaltungstechnik (Kap. 10) Keller / Paul: Hardwaredesign (Kap. 5) L. Borucki: Digitaltechnik (Kap. 6 Versuch Nr. 5 6.1 Anmerkungen zum Versuch Nr. 5 In den bisherigen Versuchen haben Sie sich mit kombinatorischen Schaltkreisen beschäftigt, in denen die Ausgänge bisher nicht auf die Eingänge zurückgeführt

Mehr

Theoretische Informatik SS 04 Übung 1

Theoretische Informatik SS 04 Übung 1 Theoretische Informatik SS 04 Übung 1 Aufgabe 1 Es gibt verschiedene Möglichkeiten, eine natürliche Zahl n zu codieren. In der unären Codierung hat man nur ein Alphabet mit einem Zeichen - sagen wir die

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

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