1 Grundlagen von VHDL

Größe: px
Ab Seite anzeigen:

Download "1 Grundlagen von VHDL"

Transkript

1 TI 2 - Zusammenfassung 1 1 Grundlagen von VHDL entity Die entity deklariert die externe Schnittstelle. Es werden die elektrischen Signale (PORTS) und die zahlenmäßigen (GENERICS) Signale beschrieben. Jeder PORT hat eine Bezeichnung (z.b. x1, x2, x3, x4), einen Datentyp (z.b. bit, bit vector, std logic, std logic vector) und einen Modus. Der Modus gibt die Richtung es Signals an und ist ggf. eine Verbindungseinschränkung. in : Eingangssignal es ist nur lesend und steht immer rechts vom Gleichheitszeichen out : Ausgangssignal es ist nur schreibend und steht immer links vom Gleichheitszeichen buffer : Ausgangssignal darf gelesen und geschrieben werden inout : Bidirektional darf gelesen und geschrieben werden, jedoch legt das Synthesetool fr inout Zusatzhardware an Die architekture beinhaltet das Verhalten, hier wird die eigentliche Funktionalität implemen- achritecture tiert. interne Signale Interne Signale werden zwischen der architekture und dem Schlüsselwort deklariert mit folgener Zeile (zum Beispiel): architecture falsch of mit_vektor is signal temp : bit; -- rein internes Signal Typcast-Operator Mit Hilfe dieses Operators, knnen z.b. eine Folge von bit-signalen in einen bit vector konvertiert werden: bit_vector (x4, x3, x2, x1). 1.1 Syntaxelemente in VHDL -- Kommentar bis zum Zeilenende VHDL ist nicht casesensitive, die Groß- / Kleinschreibung ist egal whitespaceses, also Leerzeichen sind ebenso irrelevant ; schließt eine Anweisung ab Bezeichner müssen folgenden Regeln bei der Namensgebung folgen: darf aus allen alphanumerischen Zeichen bestehen der tiefgestellte Strich (underscore ) ist auch erlaubt dar fnicht am Ende und Anfang und nicht doppelt hintereinander vorkommen das erste Zeichen muss ein Buchstabe sein eine Zuweisung wird mit dem wird zu -Operator gemacht (<=) die Reihenfolge nebenlufiger Anweisungen ist gleichgültig 1.2 Bitvektoren Bitvektoren sind Felder von Bits. Die Feldgrenzen können variabel aufsteigend und absteigend deklariert werden. bit_vector(n to m) aufsteigend für n < m. Beispiel: avec: bit_vector(20 to 29); bit_vector (m downto n) absteigend für m > n. Beispiel: bvec: bit_vector(31 downto 24); 28. Januar 2009 Zur Vorlesung von Hr. Ditzinger im WS 2008/09 an der HS Karslruhe 1

2 TI 2 - Zusammenfassung 2 Der Zugriff auf die Einzelbits eines Vektors kann erfolgen: 1. über den Index vecname(i), 2. ohne Index auf den ganzen Vektor, 3. auf einen Teilbereich (Slice) aufsteigend vecname(a to b); absteigend vecname(b downto a); Die Richtung muss zur Richtung der Definition des Vektors passen! 1.3 Datentypen aus Standard Logic Das Bekanntmachen der Library über folgende Zeilen: library IEEE use IEEE.STD_LOGIC_1164.ALL Werte für die Standard Logic: TYPE std_ulogic IS ( U, -- Uninitialized X, -- Forcing Unknown 0, -- Forcing 0 1, -- Forcing 1 Z, -- High Impedance W, -- Weak Unknown L, -- Weak 0 H, -- Weak Don t care ); 1.4 Reservierte Wörter abs access after alias all and architecture array assert attribute block body buffer bus case component configuration constant disconnect downto elsif end entity exit file for function generate generic group guarded if impure in inertial inout is label library linkage literal loop map mod nand new next nor not null of on open or others out package port postponed procedureprocess pure range record register reject rem report return rol ror select severity shared signal sla sll sra srl subtype then to transport type unaffected units until use variable wait when while with xnor xor 1.5 zwei VHDL-Modelle -- Modell eines 2:1 -- Multiplexers fr ein bit entity mux2 is port (a, b, sel: in bit; architecture tabelle of mux2 is with sel select -- falls select = 0 -- a durchschalten y <= a when 0, 28. Januar 2009 Zur Vorlesung von Hr. Ditzinger im WS 2008/09 an der HS Karslruhe 2

3 TI 2 - Zusammenfassung 3 b when others; -- sonst b end tabelle; -- Modell eines UND Gatters -- mit zwei Eingngen entity und2 is port (in1, in2 : in bit; out1 : out bit); architecture Gleichung of und2 is out1 <= in1 and in2; end Gleichung; 1.6 Komponenten Deklaration (Teil 1) Mit dem Strukturmodell werden bestehende Module zusammengeschaltet. Die Komponenten müssen deklariert werden ehe sie benutzt werden. Der Zweck liegt in der Bekanntmachung der Ein- und Ausgänge, der generics, etc. Die Deklaration erfolgt durch die Werte der Entity mit der die Komponente beschrieben wurde. Normalerweise wird die Entity kopiert und entity durch component und end entity durch end component ersetzt. Wenn die Komponenten instanziert werden, kann ihnen ein Instanzname zugewiesen werden. Bei der Instanzierung werden die Parameter zugewiesen. Den formalen Parametern werden die aktuellen Parameter zugewiesen. (formaler Paramter (nur Ports und Generics der Komponente) =>aktueller Parameter(nur Ports, Generics der Entity oder lokale Signale)) entity DUALMUX is port (Waehle, q1, q2, p1, p2 : IN bit; Raus : OUT bit ); end DUALMUX; architecture Struktur of DUALMUX is signal N1, N2 : bit; component mux2 -- Deklaration der Komponente mux2 port (a, b, sel: in bit; end component; -- Form wie entity von mux2 component und2 port (in1, in2 : in bit; out1 : out bit); end component; 1.7 Komponenten Instanzierung (Teil 2) -- Fortsetzung der architecture aus Teil 1 -- Ende des Deklarationsteils der architecture I1 : UND2 -- Instanz namens I1 der Komponente UND2 Port Map ( in1=>n2, in2=>n1, out1=>raus ); I2 : MUX2 Port Map ( a=>q2, b=>p2, sel=>waehle, y=>n1 ); I3 : MUX2 Port Map ( a=>q1, b=>p1, sel=>waehle, y=>n2 ); end Struktur; 1.8 Die VHDL Testbench Funktionale Simulation Das Modell (der Quellcode) wird versorgt mit einer folge von Eingangswerten (Stimuli oder Testvektoren). Der Simulator berechnet daraus die reaktoin des Modells. 28. Januar 2009 Zur Vorlesung von Hr. Ditzinger im WS 2008/09 an der HS Karslruhe 3

4 TI 2 - Zusammenfassung 4 LIBRARY ieee; USE ieee.std_logic_1164.all; ENTITY testbench IS END testbench; ARCHITECTURE behavior OF testbench IS COMPONENT div3 PORT(x_in : IN std_logic_vector(4 downto 1); y : OUT std_logic); END COMPONENT; SIGNAL x_in : std_logic_vector(4 downto 1); SIGNAL y : std_logic; uut: div3 PORT MAP(x_in => x_in, y => y ); -- *** Test Bench - User Defined Section *** tb : PROCESS x_in <= X"0", X"2" after 100 ns, X"3" after 200 ns, X"8" after 300 ns, X"9" after 400 ns, X"A" after 500 ns, X"B" after 600 ns; wait; -- will wait forever END PROCESS; END; 1.9 Prozesse Der Prozess soll die sequentiell beschriebenen Teile mit den nebenläufigen synchronisieren. Innerhalb des Prozesses werden Anweisungen sequentiell ausgeführt. Wegen der sequentiellen Ausführung sind im Prozess - und nur da (1) - bestimmte, sogenannte sequentielle Anweisungen erlaubt (if, for,...). Ein Prozess darf neben den sequentiellen auch einfache - aber keine bedingten - nebenläufigen Signalzuweisungen enthalten. Ein Prozess wird über eines von zwei Verfahren synchronisiert: 1. Die Sensitivity Liste. 2. Explizite Wait-Statements im Prozess. Pro Prozess ist nur eines dieser Verfahren zulässig Prozesssynchronisation über Sensitivity Liste PROCESS ( <Liste von Signalen> )... END PROCESS; Bei der Deklaration des Prozesses wird eine Liste von Signalen angegeben. Der Prozess wird bei jeder änderung einer dieser Variablen gestartet. Er läuft dann bis END PROCESS; durch. Erst dort werden den Signalen Werte zugewiesen. Beispiel: Prozess wird durch jede änderung auf a oder b aber nciht c gestartet. Signal a,b,c : std_logic; PROCESS (a, b) y <= a AND b AND c; END PROCESS; 1.11 Prozesssynchronisation über Wait-Statements PROCESS WAIT for WAIT on <Zeit>; <Liste>; 28. Januar 2009 Zur Vorlesung von Hr. Ditzinger im WS 2008/09 an der HS Karslruhe 4

5 TI 2 - Zusammenfassung 5 WAIT until <Bedingung>; WAIT; END PROCESS; Jeder Prozess wird am Anfang und nach dem END PROCESS; gestartet. Er läuft dann bis zum nächsten WAIT durch. Erst dort werden den Signalen Werte zugewiesen. Der Prozess läuft weiter, wenn die beim WAIT stehende Bedingung erfüllt ist. Signal a,b,c : std_logic; PROCESS -- ohne Sensitivity Liste y <= 0 ; WAIT for 50 ns; -- Zeit y <= 1 ; WAIT on a; -- \"anderung von a y <= a AND b AND c; WAIT until a = b; --Bedingung y <= c; WAIT; -- unendlich END PROCESS; 1.12 WAIT-Bedingungen WAIT; WAIT FOR 10 ns; WAIT ON a, b; WAIT UNTIL a= 1 ; Der Prozess wird nie wieder aktiviert. Der Prozess wartet 10 ns lang. Der Prozess wartet bis sich eines der angegebenen Signale ändert (explizite Sensitivity Liste). Der Prozess wartet, bis die angegebene Bedingung erfüllt ist. Es wird eine implizite Sensitivity List Tabelle 1: Moegliche WAIT-Bedingungen Diese Bedingungen können miteinander kombiniert werden, z.b. so: WAIT UNTIL b = 0 FOR 50 ns; Der Prozess wird aktiviert, sobald sich b ändert (implizite Sensitivity Liste) und b nach der änderung 0 ist oder die Wartezeit von 50 ns abgelaufen ist Beispiele für kombinierte WAIT-Bedingungen WAIT UNTIL a = 1 AND b = 0 ; Der Prozess wird aktiviert, sobald sich entweder a oder b ändert (implizite Sensitivity Liste) und nach der änderung die Bedingung erfüllt ist. Eine Besonderheit gilt bei Kombinationen mit einer expliziten Sensitivity Liste. In diesem Fall wird keine implizite Sensitivity Liste angelegt. WAIT ON a UNTIL a = 1 AND b = 0 ; Der Prozess wartet, bis sich a ändert und danach die Bedingung erfüllt ist. Eine änderung von b wirkt sich nicht sofort aus. WAIT ON a, b, c UNTIL in1 = in2 FOR 100 ns; Der Prozess wartet, bis sich eines der Signale a, b, c ändert. Wenn dann in1 = in2 ist, so läuft er weiter. Insgesamt wird aber höchstens für 100 ns gewartet. 28. Januar 2009 Zur Vorlesung von Hr. Ditzinger im WS 2008/09 an der HS Karslruhe 5

6 TI 2 - Zusammenfassung Die IF-Anweisung Gehört zur Gruppe der sequentiellen Anweisungen. Die condition muss einen bool schen Wert ergeben. elsif und sind optional. Syntax: if <condition> then <sequentielle Anweisungen> elsif <condition> then <sequentielle Anweisungen> <sequentielle Anweisungen> 1.15 Operatoren Priorität Operatoren Beschreibung 1 Verschiedene Operatoren **, abs, not Exponent, Absolutwert, Komplement 2 Multiplikationsoperatoren *, /, mod, rem Multiplikation, Division, Modulo, Rest 3 Vorzeichenoperatoren: +, - 4 Additionsoperatoren +, -, & Addition, Subtraktion, Konkatenation 5 Schiebeoperatoren sll, srl, sla, sra, Logisches Schieben links / rechts sla, sra Arithmetisches Schieben links / rechts rol, ror Rotieren links / rechts 6 Relationale Operatoren: =, /=, <, <=, >, >= 7 Logische Operatoren: and, or, xor, nand, nor, xnor 1.16 Nebenläufige und sequentielle Modellierung Nebenläufige Darstellung eines 2:1 Multiplexers verglichen mit, der sequentiellen Darstellung eines 2:1 Multiplexers. -- Modell eines 2:1 -- Multiplexers f\"ur ein bit entity mux2 is port (a, b, sel: in bit; architecture par of mux2 is with sel select -- falls select = 0 -- a durchschalten y <= a when 0, b when others; -- sonst b end par; -- Modell eines 2:1 -- Multiplexers f\"ur ein bit entity mux2 is port (a, b, sel: in bit; 28. Januar 2009 Zur Vorlesung von Hr. Ditzinger im WS 2008/09 an der HS Karslruhe 6

7 TI 2 - Zusammenfassung 7 architecture seq of mux2 is process (sel, a, b) if sel = 0 then y <= a; y <= b; end seq; 1.17 Verwendung von Variablen entity mux2p is port (a, b, sel: in bit; architecture tabelle of mux2p is mux: process (sel, a, b) variable temp : bit; temp := sel; if temp = 0 then y <= a; y <= b; end process mux; end tabelle; :1 Mux mit if-statement entity mux4if is port (X_EIN : in bit_vector (3 downto 0); SEL : in bit_vector (1 downto 0); architecture if_statements of mux4if is process (x_ein, sel) if sel = "00" then y <= x_ein(0); elsif sel = "01" then y <= x_ein(1); elsif sel = "10" then y <= x_ein(2); y <= x_ein(3); end if_statements; BILD SIEHE FOLIE 48! 1.19 Die case-anweisung Gehört zur Gruppe der sequentiellen Anweisungen. Syntax: case <ausdruck> is when <auswahl> => <sequentielle Anweisungen> when <auswahl> => <sequentielle Anweisungen> end case; 28. Januar 2009 Zur Vorlesung von Hr. Ditzinger im WS 2008/09 an der HS Karslruhe 7

8 TI 2 - Zusammenfassung 8 Der <ausdruck> muss einen Integer Wert, einen Aufzählwert oder einen Bitvektor ergeben. <auswahl> ist ein einzelner Wert oder Bereich. Jeder Auswahlwert muss / darf nur einmal vorkommen. entity mux4ca is port (X_EIN : in bit_vector (3 downto 0); SEL : in bit_vector (1 downto 0); architecture mit_case of mux4ca is process (sel, x_ein) case sel is when "00" => y <= x_ein(0); when "01" => y <= x_ein(1); when "10" => y <= x_ein(2); when others => y <= x_ein(3); end case; end mit_case; BILD SIEHE FOLIE 50! 1.20 Beispiele verschiedener Flipflops signal input_sig, output_sig, clk, reset : bit; signal input_sig, output_sig, clk, reset : bit ; D-FF ohne zustzliche Eingnge if (clkevent and clk=1) then output_sig <= input_sig ; end if ; end process ; -- D-FF mit synchronem Reset if (clkevent and clk = 1) then if reset = 1 then output_sig <= 0 ; output_sig <= input_sig ; end if ; end if ; end process ; 1.21 Allgemeine Darstellung eines Flipflops D-FF mit asynchronem Reset process (clk,reset) if (reset = 1) then output_sig <= 0 ; elsif (clkevent and clk = 1) then output_sig <= input_sig ; end if ; end process ; -- D-FF mit synchronem Clock Enable if (clkevent and clk=1) then if (enable=1) then output_sig <= input_sig ; end if ; end if ; end process ; Der Takt und alle asynchron verwendeten Signale gehören in die Sensitivity Liste. Mehrere asynchrone Bedingungen in der elsif-kette möglich. Die Flankenbedingung muss die letzte in der Kette sein! Synchrone Bedingungen nicht mit der Flankenbedingung mischen. Dazu muss ein neues if im synchronen Bereich vorgesehen werden. process (clock, <asynchron verwendete Signale>) if (<Boole scher Ausdruck>) then <asynchrone Zuweisungen> elsif (<Boole scher Ausdruck>) then <asynchrone Zuweisungen> elsif (clockevent and clock = <konstant> ) then <synchrone Zuweisungen> 28. Januar 2009 Zur Vorlesung von Hr. Ditzinger im WS 2008/09 an der HS Karslruhe 8

9 TI 2 - Zusammenfassung 9 -- D-FF mit synchronem Reset entity dff is port (d : in bit; clk,reset : in bit; q : out bit); architecture seq of dff is if clk event and clk = 1 then if reset = 1 then q <= 0 ; q <= d; end seq; -- 8 Bit Register mit sync. Reset entity reg8 is port (d : in bit_vector(7 downto 0); clk,reset : in bit; q : out bit_vector(7 downto 0)); architecture seq of reg8 is if clk event and clk = 1 then if reset = 1 then q <= " "; q <= d; end seq; 1.22 Variabel geschriebene Modelle entity regvar is generic (breite : integer := 8); port (d : in bit_vector(breite-1 downto 0); clk,reset : in bit; q : out bit_vector(breite-1 downto 0)); architecture seq of regvar is if clk event and clk = 1 then if reset = 1 then q <= (others => 0 ); q <= d; end seq; 1.23 Rechnen mit Bitvektoren am Beispiel Zähler library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; 28. Januar 2009 Zur Vorlesung von Hr. Ditzinger im WS 2008/09 an der HS Karslruhe 9

10 TI 2 - Zusammenfassung 10 entity counter is port(clk,ena : in std_logic; count: buffer std_logic_vector(3 downto 0) ); architecture muster of counter is if (clk event AND clk = 1 ) then if ena = 1 then count <= count + 1; end muster; 1.24 Das loop-statement Eine unendliche Schleife: [Marke:] loop <sequentielle Anweisungen>; exit [Marke]; --Schleife verlassen end loop [Marke]; Das loop-statement ist nur im Prozess erlaubt. Die Marke ist optional und gestattet in Verbindung mit exit das gezielte Verlassen einer Schleife. Beispiel: Zur Takterzeugung von 50 ns Low und 50 ns High takt: PROCESS clock <= 0 ; Init auf 0 loop wait for 50 ns; clock <= not clock; end loop; END PROCESS; for-schleife [Marke:] for <index> in <bereich> loop <sequentielle Anweisungen>; end loop [Marke]; Die for-schleife als Spezialfall des loop-statements ist auch nur im Prozess erlaubt. Die <index> Variable darf nicht deklariert werden. <bereich> folgt der TO bzw DOWNTO Darstellung. Sehr praktisch für eine Testbench sind die Wandelroutinen z.b. conv_std_logic_vector(int, anzbits) wandelt Integer in std_logic_vector. tb: PROCESS -- Test eines 2:1 Mux -- f\"ur 4 Bit Vektoren sel <= 0 ; -- f\"ur Eingang a b <= "0000"; for i IN 0 to 15 loop a <= conv_std_logic_vector(i,4); wait for 10 ns; 28. Januar 2009 Zur Vorlesung von Hr. Ditzinger im WS 2008/09 an der HS Karslruhe 10

11 TI 2 - Zusammenfassung 11 end loop; sel <= 1 ; -- f\"ur Eingang b a <= "0000"; for j IN 0 TO 15 loop b < =conv_std_logic_vector(j,4); wait for 10 ns; end loop; wait; -- Testende Die while-schleife [Marke:] while <bedingung> loop <sequentielle Anweisungen>; end loop [Marke]; Die while-schleife als Spezialfall des loop-statements ist auch nur im Prozess erlaubt. Für alle Schleifen möglich. Abbruch der Schleife [Marke] mit exit [Marke];. Neuer Durchlauf der Schleife mit next [Marke];. tb: PROCESS -- Test eines 2:1 Mux variable j : integer; -- f\"ur 4 Bit Vektoren sel <= 0 ; -- f\"ur Eingang a a <= "0000"; b <= "0000"; j := 0; while j < 4 loop a(j) <= 1 ; -- setze ein Bit wait for 10 ns; a(j) <= 0 ; -- r\"ucksetzen j := j + 1; -- n\"achstes Bit end loop; sel <= 1 ; -- dasselbe f\"ur b... wait; -- Testende 2 Prozessoren und Peripherie 2.1 Unterschiedliche Bustypen Unidirektionaler Bus. (Beispiel Adressbus) Kennzeichen: Ein Sender, viele Empfnger. Normale Ausgnge wrden theoretisch reichen. Elektrik erzwingt Treiber. Bidirektionaler Bus. (Beispiel Datenbus) Kennzeichen: Viele Sender und viele Empfnger. Wer darf jeweils senden? Steuerbus erforderlich. Nur ein Busteilnehmer kontrolliert den Steuerbus - Single Master Bus. Multi Master Bus Die Kontrolle ber den Steuerbus wechselt. Die Folge: Es ist eine weitere Einheit erforderlich (Bus Schiedsrichter = Arbiter). Der Bus Arbiter vergibt die Buskontrolle nach verschiedenen Algorithmen: Round Robin ->In fester Abfolge Nach starrem Priorittsschema Nach variablem Priorittsschema 28. Januar 2009 Zur Vorlesung von Hr. Ditzinger im WS 2008/09 an der HS Karslruhe 11

12 TI 2 - Zusammenfassung Typische sflags im PSW Zeichen Name des Flags C CarryFlag - Übertrag bei unsigned Addition / Subtraktion V N Overflow - Zahlenbereich bei signed Darstellung wurde überschritten Negativ - resultat ist eine negative Zahl, entspricht dem MSB (Most Signifikant Bit) Z Zero - Resultat ist 0 Beispielrechnungen in einem 8 Bit Prozessors: = = = 369 C = = = = -15 N = = = = 113 V = = = = 0 Z = Adressierungsarten des C Direktoperand (Immediate Addressing) Der Operand selbst steht im Code, das ist eine große Ausnahme, da sonst immer nur die Adresse des Operanden im Code steht. Die Darstellung geschieht durch das Zeichen # vor dem Operanden. DotsPerInch EQU 300 ;Vereinbare Konstante namens "DotsPerInch" MOV R8, #DotsPerInch MOV R8, #300 MOV R8, #0x12C MOV R8, # B MOV RH0, # A ;Lade den Wert 300 ins Register R8 ;dasselbe, aber schlechter Stil ;dasselbe mit Hex-Konstante ;dasselbe mit Binrkonstante ;Lade den ASCII Code fr A ins Register RH Register Adressierung (Register Addressing) Im Befehl steht die Adresse eines Registers, die Darstellung erfolgt durch die Angabe des Registernamens. Es ist die kürzeste Art der Adressierung. MOV R7, R6 ;Kopiere den Inhalt von R6 nach R7 MOV RH0, RL0 ;Kopiere die unteren 8 Bit von R0 in die oberen 8 Bit ADD R5, #1 ;Addiere 1 zum (Inhalt von) Register Direkte Adressierung (Direct Addressing) Im Befehl steht die Speicheradresse des Operanden. Die Darstellung erfolgt durch den Operanden ohne Kennzeichnung. Var16 DW 0x4711 ;Lege 16 Bit Variable "Var16" an und Var8 DB 21H ;Lege 8 Bit Variable "Var8" an und in String DB "Huhu" ;Lege Variable "String" an und initiali MOV R9, Var16 ;Lade 0x4711 nach R9 28. Januar 2009 Zur Vorlesung von Hr. Ditzinger im WS 2008/09 an der HS Karslruhe 12

13 TI 2 - Zusammenfassung 13 MOV RH0, Var8 MOV RL6, String MOV RL7, String+1 ;Lade 21 nach RH0 ;Lade das "H" nach RL6 ;Lade das "u" nach RL Register indirekte Adressierung (Register indirect Addressing) Im Befehl stet die Adresse eines Registers, im Register steht die Adresse des Operanden. Die Darstellung erfolgt durch die Angabe des Registernamens in eckigen Klammern [R0]. String DB "Huhu" Neu DB "xxxx" MOV R0, #String ;Lade R0 mit der Adresse von String MOV R1, #Neu ;Lade R1 mit der Adresse von Neu MOV RL7, [R0] ;Lade das "H" nach RL7 MOV [R1], [R0] ;Kopiere "Hu" nach Neu, in Neu steht jetzt "Huxx" Register indirekte Adressierung mit Post-Inkrement Wie die Register indirekte Adressierung, jedoch wird zusätzlich der Registerinhalt nach dem Transfer um 1 oder 2 erhöt. Zur Darstellung wird der Registername gefolgt von einem nachgestellten Plus in eckigen Klammern angegeben. Falls ein Byte transferiert wird: +1 Falls zwei Bytes transferiert werden: +2 String DB "Huhu" MOV R0, #String ;Lade R0 mit der Adresse von String MOV RL7, [R0+] ;Lade das "H" nach RL7 MOV R1, [R0+] ;Lade das "uh" nach R1 ;R0 zeigt nun auf welches Zeichen? Register indirekte Adressierung mit Pre-Dekrement Wie die Register indirekte Adressierung, jedoch wird zusätzlich der Registerinhalt vor dem Transfer um 1 oder 2 erniedrigt. Falls ein Byte transferiert wird: -1 Falls zwei Bytes transferiert werden: -2 String DB "Huhu" MOV R0, #String+1 ;Lade R0 mit der Adresse von String + 1 ;R0 zeigt also auf das erste "u" MOV RL7, [-R0] ;Lade das "H" nach RL Relative, Register indirekte Adressierung (Based Addressing) Im Befehl stehen eine Konstante (der Offset ) und ein Register. Der Registerinhalt ist eine Speicheradresse, zu der der Offset addiert wird. Die Darstellung erfolgt als Summe in eckigen Klammern [R0 + #offset]. WerteTabelle DB 5, 8, 1, 3, 7, 52 ;Mgliche Werte MOV R0, #3 ;Zeiger in Tabelle MOV RL5, [R0+#WerteTabelle] ;In RL5 steht jetzt ADD R0, #1 ;Zeiger erhhen MOV RH5, [R0+#WerteTabelle] ;In RH5 steht jetzt 28. Januar 2009 Zur Vorlesung von Hr. Ditzinger im WS 2008/09 an der HS Karslruhe 13

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

Ü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

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

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

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

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

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

Excel Funktionen durch eigene Funktionen erweitern.

Excel Funktionen durch eigene Funktionen erweitern. Excel Funktionen durch eigene Funktionen erweitern. Excel bietet eine große Anzahl an Funktionen für viele Anwendungsbereiche an. Doch es kommt hin und wieder vor, dass man die eine oder andere Funktion

Mehr

Visual Basic Basisbefehle Hinweis: Der Text in eckigen Klammern [ ] ist variabel, z.b. [var] => 5.3. Eckige Klammern sind stets wegzulassen!

Visual Basic Basisbefehle Hinweis: Der Text in eckigen Klammern [ ] ist variabel, z.b. [var] => 5.3. Eckige Klammern sind stets wegzulassen! Visual Basic Basisbefehle Hinweis: Der Text in eckigen Klammern [ ] ist variabel, z.b. [var] => 5.3. Eckige Klammern sind stets wegzulassen! Grundstrukturen: Sub [name]([übergabe]) End Sub [Übergabe] ist

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

5 DATEN. 5.1. Variablen. Variablen können beliebige Werte zugewiesen und im Gegensatz zu

5 DATEN. 5.1. Variablen. Variablen können beliebige Werte zugewiesen und im Gegensatz zu Daten Makro + VBA effektiv 5 DATEN 5.1. Variablen Variablen können beliebige Werte zugewiesen und im Gegensatz zu Konstanten jederzeit im Programm verändert werden. Als Variablen können beliebige Zeichenketten

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

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

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

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

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

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

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

Mikrocomputertechnik. Adressierungsarten

Mikrocomputertechnik. Adressierungsarten Adressierungsarten Ein Mikroprozessor bietet meist eine Reihe von Möglichkeiten, die Operanden für eine Rechenoperation zu bestimmen. Diese Möglichkeiten bezeichnet man als Adressierungsarten. unmittelbare

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

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

Technische Informatik 2 Adressierungsarten

Technische Informatik 2 Adressierungsarten Technische Informatik 2 Adressierungsarten Prof. Dr. Miroslaw Malek Sommersemester 2009 www.informatik.hu-berlin.de/rok/ca Thema heute X-Adressmaschine 0-Adressmaschine 1-Adressmaschine 2-Adressmaschine

Mehr

Informationssysteme Gleitkommazahlen nach dem IEEE-Standard 754. Berechnung von Gleitkommazahlen aus Dezimalzahlen. HSLU T&A Informatik HS10

Informationssysteme Gleitkommazahlen nach dem IEEE-Standard 754. Berechnung von Gleitkommazahlen aus Dezimalzahlen. HSLU T&A Informatik HS10 Informationssysteme Gleitkommazahlen nach dem IEEE-Standard 754 Berechnung von Gleitkommazahlen aus Dezimalzahlen Die wissenschaftliche Darstellung einer Zahl ist wie folgt definiert: n = f * 10 e. f ist

Mehr

Modellierung und Programmierung 1

Modellierung und Programmierung 1 Modellierung und Programmierung 1 Prof. Dr. Sonja Prohaska Computational EvoDevo Group Institut für Informatik Universität Leipzig 19. November 2015 Gültigkeitsbereich (Scope) von Variablen { int m; {

Mehr

Mathematik: Mag. Schmid Wolfgang Arbeitsblatt 3 1. Semester ARBEITSBLATT 3 RECHNEN MIT GANZEN ZAHLEN

Mathematik: Mag. Schmid Wolfgang Arbeitsblatt 3 1. Semester ARBEITSBLATT 3 RECHNEN MIT GANZEN ZAHLEN ARBEITSBLATT 3 RECHNEN MIT GANZEN ZAHLEN Wir wollen nun die Rechengesetze der natürlichen Zahlen auf die Zahlenmenge der ganzen Zahlen erweitern und zwar so, dass sie zu keinem Widerspruch mit bisher geltenden

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

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

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

Die Mikroprogrammebene eines Rechners

Die Mikroprogrammebene eines Rechners Die Mikroprogrammebene eines Rechners Das Abarbeiten eines Arbeitszyklus eines einzelnen Befehls besteht selbst wieder aus verschiedenen Schritten, z.b. Befehl holen Befehl dekodieren Operanden holen etc.

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

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

Modul 122 VBA Scribt.docx

Modul 122 VBA Scribt.docx Modul 122 VBA-Scribt 1/5 1 Entwicklungsumgebung - ALT + F11 VBA-Entwicklungsumgebung öffnen 2 Prozeduren (Sub-Prozeduren) Eine Prozedur besteht aus folgenden Bestandteilen: [Private Public] Sub subname([byval

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

Array-Zuweisungen. Array-Zuweisungen können über die Position, den Namen oder gemischt erfolgen.

Array-Zuweisungen. Array-Zuweisungen können über die Position, den Namen oder gemischt erfolgen. Array-Zuweisungen Array-Zuweisungen können über die Position, den Namen oder gemischt erfolgen. Ausschnitte (slices) werden über die Indizes gebildet. Mehrdimensionale Arrays Mehrdimensionale Arrays werden

Mehr

4. AUSSAGENLOGIK: SYNTAX. Der Unterschied zwischen Objektsprache und Metasprache lässt sich folgendermaßen charakterisieren:

4. AUSSAGENLOGIK: SYNTAX. Der Unterschied zwischen Objektsprache und Metasprache lässt sich folgendermaßen charakterisieren: 4. AUSSAGENLOGIK: SYNTAX 4.1 Objektsprache und Metasprache 4.2 Gebrauch und Erwähnung 4.3 Metavariablen: Verallgemeinerndes Sprechen über Ausdrücke von AL 4.4 Die Sprache der Aussagenlogik 4.5 Terminologie

Mehr

Professionelle Seminare im Bereich MS-Office

Professionelle Seminare im Bereich MS-Office Der Name BEREICH.VERSCHIEBEN() ist etwas unglücklich gewählt. Man kann mit der Funktion Bereiche zwar verschieben, man kann Bereiche aber auch verkleinern oder vergrößern. Besser wäre es, die Funktion

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

Diana Lange. Generative Gestaltung Operatoren

Diana Lange. Generative Gestaltung Operatoren Diana Lange Generative Gestaltung Operatoren Begriffserklärung Verknüpfungsvorschrift im Rahmen logischer Kalküle. Quelle: google Operatoren sind Zeichen, die mit einer bestimmten Bedeutung versehen sind.

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

Outlook. sysplus.ch outlook - mail-grundlagen Seite 1/8. Mail-Grundlagen. Posteingang

Outlook. sysplus.ch outlook - mail-grundlagen Seite 1/8. Mail-Grundlagen. Posteingang sysplus.ch outlook - mail-grundlagen Seite 1/8 Outlook Mail-Grundlagen Posteingang Es gibt verschiedene Möglichkeiten, um zum Posteingang zu gelangen. Man kann links im Outlook-Fenster auf die Schaltfläche

Mehr

FB Informatik. Fehler. Testplan

FB Informatik. Fehler. Testplan Fehler #include int i,n,summe; int summe (int); cout 0) cin>n; i=summme(n); cout

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

Datentypen. Agenda für heute, 4. März, 2010. Pascal ist eine streng typisierte Programmiersprache

Datentypen. Agenda für heute, 4. März, 2010. Pascal ist eine streng typisierte Programmiersprache Agenda für heute, 4. März, 2010 Zusammengesetzte if-then-else-anweisungen Datentypen Pascal ist eine streng typisierte Programmiersprache Für jeden Speicherplatz muss ein Datentyp t (Datenformat) t) definiert

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

Kontrollstrukturen - Universität Köln

Kontrollstrukturen - Universität Köln Kontrollstrukturen - Universität Köln Mario Manno Kontrollstrukturen - Universität Köln p. 1 Was sind Sprachen Auszeichnungssprachen HTML, XML Programmiersprachen ASM, Basic, C, C++, Haskell, Java, Pascal,

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

Powermanager Server- Client- Installation

Powermanager Server- Client- Installation Client A Server Client B Die Server- Client- Funktion ermöglicht es ein zentrales Powermanager Projekt von verschiedenen Client Rechnern aus zu bedienen. 1.0 Benötigte Voraussetzungen 1.1 Sowohl am Server

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

2. Programmierung in C

2. Programmierung in C 2. Programmierung in C Inhalt: Überblick über Programmiersprachen, Allgemeines zur Sprache C C: Basisdatentypen, Variablen, Konstanten Operatoren, Ausdrücke und Anweisungen Kontrollstrukturen (Steuerfluss)

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

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

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

Name: ES2 Klausur Thema: ARM 25.6.07. Name: Punkte: Note:

Name: ES2 Klausur Thema: ARM 25.6.07. Name: Punkte: Note: Name: Punkte: Note: Hinweise für das Lösen der Aufgaben: Zeit: 95 min. Name nicht vergessen! Geben Sie alle Blätter ab. Die Reihenfolge der Aufgaben ist unabhängig vom Schwierigkeitsgrad. Erlaubte Hilfsmittel

Mehr

Tutorial - www.root13.de

Tutorial - www.root13.de Tutorial - www.root13.de Netzwerk unter Linux einrichten (SuSE 7.0 oder höher) Inhaltsverzeichnis: - Netzwerk einrichten - Apache einrichten - einfaches FTP einrichten - GRUB einrichten Seite 1 Netzwerk

Mehr

5. Tutorium zu Programmieren

5. Tutorium zu Programmieren 5. Tutorium zu Programmieren Dennis Ewert Gruppe 6 Universität Karlsruhe Institut für Programmstrukturen und Datenorganisation (IPD) Lehrstuhl Programmierparadigmen WS 2008/2009 c 2008 by IPD Snelting

Mehr

Programmierung in C. Grundlagen. Stefan Kallerhoff

Programmierung in C. Grundlagen. Stefan Kallerhoff Programmierung in C Grundlagen Stefan Kallerhoff Vorstellungsrunde Name Hobby/Beruf Schon mal was programmiert? Erwartungen an den Kurs Lieblingstier Für zu Hause C-Buch online: http://openbook.rheinwerk-verlag.de/c_von_a_bis_z/

Mehr

Programmieren in C. Felder, Schleifen und Fließkommaarithmetik. Prof. Dr. Nikolaus Wulff

Programmieren in C. Felder, Schleifen und Fließkommaarithmetik. Prof. Dr. Nikolaus Wulff Programmieren in C Felder, Schleifen und Fließkommaarithmetik Prof. Dr. Nikolaus Wulff Addition von Zahlen 1 2 3 4 5 #include int main() { int x,y,z,sum; x = 1; y = 2; z = 4; sum = x + y + z;

Mehr

How to install freesshd

How to install freesshd Enthaltene Funktionen - Installation - Benutzer anlegen - Verbindung testen How to install freesshd 1. Installation von freesshd - Falls noch nicht vorhanden, können Sie das Freeware Programm unter folgendem

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

II. Grundlagen der Programmierung. 9. Datenstrukturen. Daten zusammenfassen. In Java (Forts.): In Java:

II. Grundlagen der Programmierung. 9. Datenstrukturen. Daten zusammenfassen. In Java (Forts.): In Java: Technische Informatik für Ingenieure (TIfI) WS 2005/2006, Vorlesung 9 II. Grundlagen der Programmierung Ekkart Kindler Funktionen und Prozeduren Datenstrukturen 9. Datenstrukturen Daten zusammenfassen

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

Konfiguration des ewon GSM Modems Kurzbeschreibung zum Aufbau einer GSM Verbindung

Konfiguration des ewon GSM Modems Kurzbeschreibung zum Aufbau einer GSM Verbindung ewon - Technical Note Nr. 004 Version 1.2 Konfiguration des ewon GSM Modems Kurzbeschreibung zum Aufbau einer GSM Verbindung 08.08.2006/SI Übersicht: 1. Thema 2. Benötigte Komponenten 3. Modemkonfiguration

Mehr

Bevor lineare Gleichungen gelöst werden, ein paar wichtige Begriffe, die im Zusammenhang von linearen Gleichungen oft auftauchen.

Bevor lineare Gleichungen gelöst werden, ein paar wichtige Begriffe, die im Zusammenhang von linearen Gleichungen oft auftauchen. R. Brinkmann http://brinkmann-du.de Seite 1 13.0.010 Lineare Gleichungen Werden zwei Terme durch ein Gleichheitszeichen miteinander verbunden, so entsteht eine Gleichung. Enthält die Gleichung die Variable

Mehr

Primzahlen und RSA-Verschlüsselung

Primzahlen und RSA-Verschlüsselung Primzahlen und RSA-Verschlüsselung Michael Fütterer und Jonathan Zachhuber 1 Einiges zu Primzahlen Ein paar Definitionen: Wir bezeichnen mit Z die Menge der positiven und negativen ganzen Zahlen, also

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

Skript und Aufgabensammlung Terme und Gleichungen Mathefritz Verlag Jörg Christmann Nur zum Privaten Gebrauch! Alle Rechte vorbehalten!

Skript und Aufgabensammlung Terme und Gleichungen Mathefritz Verlag Jörg Christmann Nur zum Privaten Gebrauch! Alle Rechte vorbehalten! Mathefritz 5 Terme und Gleichungen Meine Mathe-Seite im Internet kostenlose Matheaufgaben, Skripte, Mathebücher Lernspiele, Lerntipps, Quiz und noch viel mehr http:// www.mathefritz.de Seite 1 Copyright

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

Beschreibung E-Mail Regeln z.b. Abwesenheitsmeldung und Weiterleitung

Beschreibung E-Mail Regeln z.b. Abwesenheitsmeldung und Weiterleitung Outlook Weiterleitungen & Abwesenheitsmeldungen Seite 1 von 6 Beschreibung E-Mail Regeln z.b. Abwesenheitsmeldung und Weiterleitung Erstellt: Quelle: 3.12.09/MM \\rsiag-s3aad\install\vnc\email Weiterleitung

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

3 Rechnen und Schaltnetze

3 Rechnen und Schaltnetze 3 Rechnen und Schaltnetze Arithmetik, Logik, Register Taschenrechner rste Prozessoren (z.b. Intel 4004) waren für reine Rechenaufgaben ausgelegt 4 4-Bit Register 4-Bit Datenbus 4 Kbyte Speicher 60000 Befehle/s

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

Anleitung zur Nutzung des SharePort Utility

Anleitung zur Nutzung des SharePort Utility Anleitung zur Nutzung des SharePort Utility Um die am USB Port des Routers angeschlossenen Geräte wie Drucker, Speicherstick oder Festplatte am Rechner zu nutzen, muss das SharePort Utility auf jedem Rechner

Mehr

Synchronisierung. Kommunikationstechnik, SS 08, Prof. Dr. Stefan Brunthaler 73

Synchronisierung. Kommunikationstechnik, SS 08, Prof. Dr. Stefan Brunthaler 73 Synchronisierung Kommunikationstechnik, SS 08, Prof. Dr. Stefan Brunthaler 73 Übertragungsprozeduren Die Übertragung einer Nachricht zwischen Sender und Empfänger erfordert die Übertragung des Nutzsignals

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

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

RS-Flip Flop, D-Flip Flop, J-K-Flip Flop, Zählschaltungen

RS-Flip Flop, D-Flip Flop, J-K-Flip Flop, Zählschaltungen Elektronik Praktikum / Digitaler Teil Name: Jens Wiechula, Philipp Fischer Leitung: Prof. Dr. U. Lynen Protokoll: Philipp Fischer Versuch: 3 Datum: 24.06.01 RS-Flip Flop, D-Flip Flop, J-K-Flip Flop, Zählschaltungen

Mehr

Grundbegriffe der Informatik

Grundbegriffe der Informatik Grundbegriffe der Informatik Einheit 15: Reguläre Ausdrücke und rechtslineare Grammatiken Thomas Worsch Universität Karlsruhe, Fakultät für Informatik Wintersemester 2008/2009 1/25 Was kann man mit endlichen

Mehr

Lokale Installation von DotNetNuke 4 ohne IIS

Lokale Installation von DotNetNuke 4 ohne IIS Lokale Installation von DotNetNuke 4 ohne IIS ITM GmbH Wankelstr. 14 70563 Stuttgart http://www.itm-consulting.de Benjamin Hermann hermann@itm-consulting.de 12.12.2006 Agenda Benötigte Komponenten Installation

Mehr

Arbeiten mit UMLed und Delphi

Arbeiten mit UMLed und Delphi Arbeiten mit UMLed und Delphi Diese Anleitung soll zeigen, wie man Klassen mit dem UML ( Unified Modeling Language ) Editor UMLed erstellt, in Delphi exportiert und dort so einbindet, dass diese (bis auf

Mehr

M. Graefenhan 2000-12-07. Übungen zu C. Blatt 3. Musterlösung

M. Graefenhan 2000-12-07. Übungen zu C. Blatt 3. Musterlösung M. Graefenhan 2000-12-07 Aufgabe Lösungsweg Übungen zu C Blatt 3 Musterlösung Schreiben Sie ein Programm, das die Häufigkeit von Zeichen in einem eingelesenen String feststellt. Benutzen Sie dazu ein zweidimensionales

Mehr

Artikel Schnittstelle über CSV

Artikel Schnittstelle über CSV Artikel Schnittstelle über CSV Sie können Artikeldaten aus Ihrem EDV System in das NCFOX importieren, dies geschieht durch eine CSV Schnittstelle. Dies hat mehrere Vorteile: Zeitersparnis, die Karteikarte

Mehr

teamsync Kurzanleitung

teamsync Kurzanleitung 1 teamsync Kurzanleitung Version 4.0-19. November 2012 2 1 Einleitung Mit teamsync können Sie die Produkte teamspace und projectfacts mit Microsoft Outlook synchronisieren.laden Sie sich teamsync hier

Mehr

Benutzerkonto unter Windows 2000

Benutzerkonto unter Windows 2000 Jeder Benutzer, der an einem Windows 2000 PC arbeiten möchte, braucht dazu ein Benutzerkonto. Je nach Organisation des Netzwerkes, existiert dieses Benutzerkonto auf der lokalen Workstation oder im Active

Mehr

Zur drittletzten Zeile scrollen

Zur drittletzten Zeile scrollen 1 Fragen und Antworten zur Computerbedienung Thema : Zur drittletzten Zeile scrollen Thema Stichwort Programm Letzte Anpassung Zur drittletzten Zeile scrollen Scrollen VBA Excel 1.02.2014 Kurzbeschreibung:

Mehr

Diese Anleitung wurde erstellt von Niclas Lüchau und Daniel Scherer. Erste Anmeldung. Schritt 1: Anmeldung..2. Schritt 2: Passwort setzen 3

Diese Anleitung wurde erstellt von Niclas Lüchau und Daniel Scherer. Erste Anmeldung. Schritt 1: Anmeldung..2. Schritt 2: Passwort setzen 3 Diese Anleitung wurde erstellt von Niclas Lüchau und Daniel Scherer Inhalt Erste Anmeldung. Schritt 1: Anmeldung..2 Schritt 2: Passwort setzen 3 Schritt 3: Nachträgliches Ändern des Passworts..4 Schreiben

Mehr

Inhalt. 1 Einleitung AUTOMATISCHE DATENSICHERUNG AUF EINEN CLOUDSPEICHER

Inhalt. 1 Einleitung AUTOMATISCHE DATENSICHERUNG AUF EINEN CLOUDSPEICHER AUTOMATISCHE DATENSICHERUNG AUF EINEN CLOUDSPEICHER Inhalt 1 Einleitung... 1 2 Einrichtung der Aufgabe für die automatische Sicherung... 2 2.1 Die Aufgabenplanung... 2 2.2 Der erste Testlauf... 9 3 Problembehebung...

Mehr

Technical Note 0302 ewon

Technical Note 0302 ewon Technical Note 0302 ewon Variablen (Tags) aus einer Rockwell Automation Steuerung auslesen - 1 - Inhaltsverzeichnis 1 Allgemeines... 3 1.1 Information... 3 1.2 Hinweis... 3 2 Allen Bradley MicroLogix...

Mehr

Sucosoft S40 KOP/FBS KOP FBS

Sucosoft S40 KOP/FBS KOP FBS Sucosoft S40 KOP/FBS KOP FBS Grafische Elemente Netzwerke erstellen Netzwerke erstellen Programme werden in KOP durch grafische Elemente dargestellt. Abfrage einer Variable auf den Zustand 1 Abfrage einer

Mehr

Berechnungen in Access Teil I

Berechnungen in Access Teil I in Access Teil I Viele Daten müssen in eine Datenbank nicht eingetragen werden, weil sie sich aus anderen Daten berechnen lassen. Zum Beispiel lässt sich die Mehrwertsteuer oder der Bruttopreis in einer

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

ARCO Software - Anleitung zur Umstellung der MWSt

ARCO Software - Anleitung zur Umstellung der MWSt ARCO Software - Anleitung zur Umstellung der MWSt Wieder einmal beschert uns die Bundesverwaltung auf Ende Jahr mit zusätzlicher Arbeit, statt mit den immer wieder versprochenen Erleichterungen für KMU.

Mehr

Stellen Sie bitte den Cursor in die Spalte B2 und rufen die Funktion Sverweis auf. Es öffnet sich folgendes Dialogfenster

Stellen Sie bitte den Cursor in die Spalte B2 und rufen die Funktion Sverweis auf. Es öffnet sich folgendes Dialogfenster Es gibt in Excel unter anderem die so genannten Suchfunktionen / Matrixfunktionen Damit können Sie Werte innerhalb eines bestimmten Bereichs suchen. Als Beispiel möchte ich die Funktion Sverweis zeigen.

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

JMPCN Sprungbefehl nur ausführen, wenn VKE 0 ist. JMPC Sprungbefehl nur ausführen, wenn VKE 1 ist. JMP Ohne Bedingung zur Sprungmarke wechseln.

JMPCN Sprungbefehl nur ausführen, wenn VKE 0 ist. JMPC Sprungbefehl nur ausführen, wenn VKE 1 ist. JMP Ohne Bedingung zur Sprungmarke wechseln. Grafische Elemente Netzwerke erstellen Netzwerke erstellen Programme werden in KOP durch grafische Elemente dargestellt. Abfrage einer Variable auf den Zustand 1 Abfrage einer Variable auf den Zustand

Mehr

PHP 5.4 ISBN 978-3-86249-327-2. Stephan Heller, Andreas Dittfurth 1. Ausgabe, September 2012. Grundlagen zur Erstellung dynamischer Webseiten GPHP54

PHP 5.4 ISBN 978-3-86249-327-2. Stephan Heller, Andreas Dittfurth 1. Ausgabe, September 2012. Grundlagen zur Erstellung dynamischer Webseiten GPHP54 PHP 5.4 Stephan Heller, Andreas Dittfurth 1. Ausgabe, September 2012 Grundlagen zur Erstellung dynamischer Webseiten ISBN 978-3-86249-327-2 GPHP54 5 PHP 5.4 - Grundlagen zur Erstellung dynamischer Webseiten

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