Outline Addierer Multiplizierer Block RAM. Rechenschaltungen 2. Marc Reichenbach und Michael Schmidt
|
|
- Rüdiger Albert
- vor 5 Jahren
- Abrufe
Transkript
1 Rechenschaltungen 2 Marc Reichenbach und Michael Schmidt Informatik 3 / Rechnerarchitektur Universität Erlangen Nürnberg 05/11 1 / 33
2 Gliederung Addierer (Fortsetzung) Multiplizierer Block RAM 2 / 33
3 Problem RCA alle Volladdierer arbeiten zwar parallel, ABER Ausbreitung der Carrys erfolgt schrittweise (Stufe für Stufe) d.h. für Addition von n-bit Zahlen wird Zeit proportional zu n benötigt, bis Ergebnis korrekt ist Delay reduzieren, durch effizientere Addierer-Schaltungen (Carry-Look-Ahead Addierer) 3 / 33
4 Carry-Look-Ahead Addierer Reduziert die Zeit, die für die Bestimmung der Carrys notwendig ist an Position i liegt ein Carry vor, wenn es eine Stelle j < i gibt, wo das Carry erzeugt wird und alle Stellen dazwischen, das Carry weiterleiten ein Carry wird an einer Stelle i erzeugt, wenn a i und b i auf 1 gesetzt sind ein Carry wird an dieser Stelle eliminiert, falls a i und b i auf 0 gesetzt sind 4 / 33
5 Carry-Look-Ahead Addierer das führt zu folgenden Definitionen, die für 0 i < n gelten: g i = a i b i (Position i erzeugt Carry) p i = a i b i (Position i gibt anliegendes Carry weiter) es gilt für 1 i < n: Carry an Position i, wenn Carry an Position j < i erzeugt und dazwischen weitergeleitet wird: c i = i 1 j=0 ( g j i 1 k=j+1 p k ) 5 / 33
6 Carry-Look-Ahead Addierer die Berechnung der Summen erfolgt wie zuvor durch s 0 = a 0 b 0 s i = a i b i c i s n = c n ABER, die Formel für c i erlaubt parallele Berechnung der Carrys (nur von a und b abhängig) somit auch s parallel berechenbar 6 / 33
7 Strukturplan 4-Bit CLA: Carry-Look-Ahead Addierer A 3 B 3 A 2 B 2 A 1 B 1 A 0 B 0 FA' FA' FA' FA' C 0 S 3 S 2 S 1 S 0 p C 3 g 3 C p g 2 C p 2 1 g 1 C p 1 0 g 0 4-Bit Carry Look Ahead 7 / 33
8 Baumstruktur 4-Bit CLA: Carry-Look-Ahead Addierer 8 / 33
9 Carry-Look-Ahead Addierer Verzögerungszeit des CLA wird durch Tiefe des Baumes bestimmt für Addition von n-bit Operanden werden n-bit AND- und OR-Gatter benötigt diese sind durch AND2- (bzw. OR2-) Gatter als Baum mit logarithmischer Tiefe realisierbar Laufzeit CLA daher O(log(n)) Nachteil CLA: erhöhter Ressourcenverbrauch (Speed vs. Area) 9 / 33
10 Addierer-Realisierung im FPGA naive Implementierung: Volladdierer aus 2 Halbaddierern und Abbildung auf 2 LUTs Problem: Carry-Delay für jede Bitstelle über zwei LUTs deshalb Abbildung auf spezielle Look-Ahead Schaltung im FPGA Wichtig: Carry-Look-Ahead Addierer!!! FPGA stellt nur Ressourcen für schnelle Carry-Weiterleitung zur Verfügung (entspricht also RCA-Schaltung) 10 / 33
11 Addierer-Realisierung im FPGA Propagate-Signal entspricht Ergebnis des ersten Halbaddierers (XOR-Gatter) wenn Propagate nicht gesetzt ist, dann ist A = B A oder B kann direkt als Generate-Signal verwendet werden d.h. für Carry-Ausgang wird Propagate als Steuersignal für Multiplexer verwendet Carry-Eingang durchschalten, wenn Propagate = 1 A (oder B) durchschalten, wenn Propagate = 0 11 / 33
12 Addierer-Realisierung im FPGA resultierende Schaltung: 12 / 33
13 Addierer-Realisierung im FPGA Spartan3E enthält dedizierte XOR-Gatter (XORCY) und Multiplexer (MUXCY) zur effizienten Realisierung der Schaltung spezielle Routing-Pfade für schnelle Carry-Ausbreitung geringes Carry-Delay pro Bitstelle, da nur 2:1 Multiplexer Frage: Ist eine CLA-Implementierung auf einem FPGA sinnvoll? 13 / 33
14 Addition in VHDL Realisierung der Addition und Subtraktion in VHDL mit + und - Operator Synthesetool bildet diese Operationen auf die gezeigte Addiererlogik im FPGA ab (bei ASIC von Bibliothek abhängig) zusätzliche Bibliotheken für Operationen auf std_logic_vector benötigt empfohlen: ieee.numeric_std (standardisiert) nicht empfohlen: ieee.std_logic_unsigned, ieee.std_logic_arith (nicht standardisiert) 14 / 33
15 Addition in VHDL l i b r a r y i e e e ; use i e e e. numeric_std. a l l ; e n t i t y numops i s port ( a, b : i n std_logic_vector (7 downto 0 ) ; add, sub : out std_logic_vector (7 downto 0 ) ) ; end numops ; a r c h i t e c t u r e b e h a v i o r of numops i s begin add <= std_logic_vector ( u n s i g n e d ( a ) + u n s i g n e d ( b ) ) ; sub <= std_logic_vector ( u n s i g n e d ( a ) u n s i g n e d ( b ) ) ; end b e h a v i o r ; 15 / 33
16 Multiplizierer Realisierung über Addition partieller Produkte (ressourcen-intensiv, mehrere Addierer benötigt) Alternative im FPGA (wenn vorhanden): Hard-Multiplizierer Spartan3E enthält sogenannte MULT18X18SIO Komponenten Vorteile: platzsparend, schnell Realisierung der Multiplikation über Zweierkomplement zweier 18 Bit Operanden 16 / 33
17 MULT18X18SIO-Komponente 17 / 33
18 MULT18X18SIO-Komponente Komponente enthält optional Eingangsregister für 18 Bit Operanden A und B Ausgangsregister für 36 Bit Ergebnis P über Attribute AREG, BREG und PREG bei direkter Instanziierung festlegbar spezielle Routing-Pfade (BCIN, BCOUT ) für effiziente Kaskadierung mehrerer Multiplizierer 18 / 33
19 Multiplikation in VHDL Realisierung wieder über * Operator möglich mit Bibliothek ieee.std_logic_unsigned für std_logic_vector l i b r a r y i e e e ; use i e e e. std_logic_1164. a l l ; use i e e e. numeric_std. a l l ; e n t i t y numops i s port ( a, b : i n std_logic_vector (7 downto 0 ) ; p : out std_logic_vector (15 downto 0 ) ) ; end numops ; a r c h i t e c t u r e b e h a v i o r of numops i s begin p <= std_logic_vector ( u n s i g n e d ( a ) u n s i g n e d ( b ) ) ; end b e h a v i o r ; 19 / 33
20 Multiplikation in VHDL die Abbildung auf FPGA-Ressourcen kann über Synthese-Optionen beeinflusst werden bei Abbildung auf MULT18X18SIO Komponenten entscheidet Art der VHDL Beschreibung über Verwendung der optionalen Register Beispiel: wenn Multiplikation in Taktabfrage verwendet wird, dann wird PREG aktiviert 20 / 33
21 Multiplikation in VHDL Alternativ kann Hard-Multiplizierer direkt eingebunden werden l i b r a r y UNISIM ; use UNISIM. vcomponents. a l l ;... MULT18X18SIO_inst : MULT18X18SIO g e n e r i c map( AREG => 1, A k t i v i e r u n g R e g i s t e r Port A BREG => 1, A k t i v i e r u n g R e g i s t e r Port B B_INPUT => "DIRECT", "DIRECT" o d e r "CASCADE" PREG => 1) A k t i v i e r u n g R e g i s t e r Port P / 33
22 Multiplikation in VHDL... port map( BCOUT => BCOUT, 18 B i t K a s k a d i e r Ausgang P => P, 36 B i t M u l t i p l i z i e r e r E r g e b n i s A => A, 18 B i t M u l t i p l i z i e r e r Operand B => B, 18 B i t M u l t i p l i z i e r e r Operand BCIN => BCIN, 18 B i t CEA => CEA, Clock Enable Port A CEB => CEB, Clock Enable Port B CEP => CEP, Clock Enable Port P CLK => CLK, Clock RSTA => RSTA, R e s e t Port A RSTB => RSTB, R e s e t Port B RSTP => RSTP ) ; R e s e t Port P K a s k a d i e r Eingang 22 / 33
23 Block RAM (BRAM) On-chip Speicher auf FPGAs wichtig für effiziente Datenpufferung Spartan3E enthält sogenannte RAMB16 Komponenten (Anzahl abhängig vom konkreten Typ) verwendbar als RAM, ROM, Schieberegister,... Zusammenschaltung der BRAMs zu Speicher-Modul mit beliebiger Adress- und Datenbreite 23 / 33
24 Block RAM (BRAM) RAMB16 Komponenten kann 16 Kb Daten speichern (+ optional 2 Kb für Parität) ist dual-port fähig zwei getrennte Zugriffsports zu einem physikalischen Speicher 24 / 33
25 BRAM-Beschreibung in VHDL wieder direkte Einbindung von RAMB16 Komponenten möglich l i b r a r y UNISIM ; use UNISIM. vcomponents. a l l ;... RAMB16_S18_S18_inst : RAMB16_S18_S18 g e n e r i c map( INIT_A => X" ", I n i t Port A R e g i s t e r INIT_B => X" ", I n i t Port B R e g i s t e r SRVAL_A => X" ", Wert Port A nach SSR )... SRVAL_B => X" ", Wert Port B nach SSR WRITE_MODE_A => "WRITE_FIRST", o r "READ_FIRST ",... WRITE_MODE_B => "WRITE_FIRST", o r "READ_FIRST ",... SIM_COLLISION_CHECK => "ALL", o r "NONE ",... I n i t i a l i s i e r u n g BRAM I n h a l t INIT_00 => X" ", INIT_01 => X" ", / 33
26 BRAM-Beschreibung in VHDL port map( DOA => DOA, 16 B i t Datenausgang A DOB => DOB, 16 B i t Datenausgang B DOPA => DOPA, 2 B i t P a r t i t a e t s a u s g a n g A DOPB => DOPB, 2 B i t P a r t i t a e t s a u s g a n g B ADDRA => ADDRA, 10 B i t A d r e s s e i n g a n g A ADDRB => ADDRB, 10 B i t A d r e s s e i n g a n g B CLKA => CLKA, Clock A CLKB => CLKB, Clock B DIA => DIA, 16 B i t Dateneingang A DIB => DIB, 16 B i t Dateneingang B DIPA => DIPA, 2 B i t P a r i t a e t s e i n g a n g A DIPB => DIPB, 2 B i t P a r i t a e t s e i n g a n g B ENA => ENA, Enable Port A ENB => ENB, Enable Port B SSRA => SSRA, S y n c h r o n e r Set / R e s e t Port A SSRB => SSRB, S y n c h r o n e r Set / R e s e t Port B WEA => WEA, Write Enable Port A WEB => WEB) ; Write Enable Port B / 33
27 BRAM-Beschreibung in VHDL verschiedene Komponenten-Instanziierungen möglich (Datenblatt) alternativ kann Verhalten in VHDL beschrieben werden Synthesetool bildet Beschreibung auf RAMB16 Komponenten ab Abbildung auch auf verteilten Speicher (LUTs) möglich (durch Syntheseoptionen definieren) 27 / 33
28 BRAM-Beschreibung in VHDL Beispiel für allgemeine dual-port BRAM-Beschreibung (XST User Guide) S c h n i t t s t e l l e n D e f i n i t i o n e n t i t y rams_16 i s port ( c l k a : i n s t d _ l o g i c ; c l k b : i n s t d _ l o g i c ; ena : i n s t d _ l o g i c ; enb : i n s t d _ l o g i c ; wea : i n s t d _ l o g i c ; web : i n s t d _ l o g i c ; addra : i n std_logic_vector (5 downto 0 ) ; addrb : i n std_logic_vector (5 downto 0 ) ; d i a : i n std_logic_vector (15 downto 0 ) ; d i b : i n std_logic_vector (15 downto 0 ) ; doa : out std_ logic_ vector ( 15 downto 0 ) ; dob : out std_ logic_ vector ( 15 downto 0 ) ) ; end rams_16 ; 28 / 33
29 BRAM-Beschreibung in VHDL a r c h i t e c t u r e syn of rams_16 i s type ram_type i s a r r a y (63 downto 0) of std_logic_vector (15 downto 0 ) ; Shared V a r i a b l e f u e r S c h r e i b z u g r i f f u e b e r 2 P o r t s shared v a r i a b l e RAM: ram_type ; begin / 33
30 BRAM-Beschreibung in VHDL... D e f i n i t i o n Port A p r o c e s s ( c l k a ) begin i f c l k a e v e n t and c l k a = 1 then i f ena = 1 then i f wea = 1 then RAM( conv_integer ( addra ) ) := d i a ; end i f ; doa <= RAM( conv_integer ( addra ) ) ; end i f ; end i f ; end p r o c e s s ; / 33
31 BRAM-Beschreibung in VHDL... D e f i n i t i o n Port B p r o c e s s ( c l k b ) begin i f c l k b e v e n t and c l k b = 1 then i f enb = 1 then i f web = 1 then RAM( conv_integer ( addrb ) ) := d i b ; end i f ; dob <= RAM( conv_integer ( addrb ) ) ; end i f ; end i f ; end p r o c e s s ; end syn ; 31 / 33
32 BRAM-Beschreibung in VHDL Vorteil allgemein gültige Beschreibung: Wiederverwendbarkeit (generisches Design Übung) Beschreibung anpassbar (siehe XST User Guide) mögliche Initialisierung des BRAM-Inhaltes:... type ram_type i s a r r a y (63 downto 0) of std_logic_vector (15 downto 0 ) ; shared v a r i a b l e RAM: ram_type := ( X" 0200 ", X" 0140 ",..., X" 0000 " ) ; begin / 33
33 Literatur Bücher Spartan-3 Generation FPGA User Guide, UG331 (v1.6), December, 2009 VHDL-Synthese, Jürgen Reichardt, Bernd Schwarz, 5. Auflage, Oldenbourg Wissenschaftsverlag GmbH, 2009, ISBN Introduction to Circuit Complexity, Heribert Vollmer, Springer-Verlag Berlin Heidelberg, 1999, ISBN XST User Guide, UG627 (v12.4), December, / 33
Outline Addierer Multiplizierer Block RAM. Rechenschaltungen 2. Marc Reichenbach und Michael Schmidt
Rechenschaltungen 2 Marc Reichenbach und Michael Schmidt Informatik 3 / Rechnerarchitektur Universität Erlangen Nürnberg 06/12 1 / 36 Gliederung Addierer (Fortsetzung) Multiplizierer Block RAM 2 / 36 Problem
MehrOutline Schieberegister Multiplexer Zähler Addierer. Rechenschaltungen. Marc Reichenbach und Michael Schmidt
Rechenschaltungen Marc Reichenbach und Michael Schmidt Informatik 3 / Rechnerarchitektur Universität Erlangen Nürnberg 05/11 1 / 22 Gliederung Schieberegister Multiplexer Zähler Addierer 2 / 22 Schieberegister
MehrOutline Automaten FSM Synthesis FSM in VHDL FSM auf FPGA. State Machines. Marc Reichenbach und Michael Schmidt
State Machines Marc Reichenbach und Michael Schmidt Informatik 3 / Rechnerarchitektur Universität Erlangen Nürnberg 05/11 1 / 34 Gliederung Endliche Automaten Automaten Synthese FSM Beschreibung in VHDL
MehrOutline 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
MehrOutline Logik Speicher Synthese Signale/Variablen Packages Generische Designs. Basics. Marc Reichenbach
Basics Marc Reichenbach Informatik 3 / Rechnerarchitektur Universität Erlangen Nürnberg 06/14 1 / 45 Gliederung Kombinatorische Logik Speicher (Latch, DFF, Register) Synthese Signale/Variablen Packages
MehrIntegrierte Schaltungen
Integrierte Schaltungen Klassen von Chips: SSI (Small Scale Integrated) circuit: 1 bis 10 Gatter MSI (Medium Scale Integrated) circuit: 10 bis 100 Gatter LSI (Large Scale Integrated) circuit: 100 bis 100
MehrOutline Simulation Design-Richtlinien. VHDL Einführung 2. Marc Reichenbach. Informatik 3 / Rechnerarchitektur Universität Erlangen Nürnberg 05/14
VHDL Einführung 2 Marc Reichenbach Informatik 3 / Rechnerarchitektur Universität Erlangen Nürnberg 05/14 1 / 37 Gliederung Simulation und Testbench Design-Richtlinien 2 / 37 Simulation und Testbench vor
MehrCarry-Lookahead Addierer (CLA)
Carry-Lookahead Addierer (CLA) Idee: Vorausberechnung der Carry-Signale c i für alle n Stellen für i-ten Volladdierer gilt: c i+1 = a i b i + (a i +b i )c i := G i + P i c i G i = a i b i gibt an, ob in
MehrERA-Zentralübung 12. Maximilian Bandle LRR TU München Maximilian Bandle LRR TU München ERA-Zentralübung 12
ERA-Zentralübung 12 Maximilian Bandle LRR TU München 27.1.2017 Schaltungsentwurf IV Rest von letzter Übung Aufgabe 11.1 Standardschaltnetze Aufgabe 10.3.3 Automaten 8 Erzeugung der Ausgabe Zuweisung der
MehrGrundlagen der Technischen Informatik. 13. Übung
Grundlagen der Technischen Informatik 13. Übung Christian Knell Keine Garantie für Korrekt-/Vollständigkeit 13. Übungsblatt Themen Aufgabe 1: Aufgabe 2: Aufgabe 3: Aufgabe 4: Arithmetik VHDL - Funktionen
Mehr3.1 Schaltungselemente 129. b) Tragen Sie in nachfolgende Abbildung die Realisierung eines 1 Bit 4-auf-1 Multiplexers aus Logikgattern ein.
3.1 Schaltungselemente 129 b) Tragen Sie in nachfolgende Abbildung die Realisierung eines 1 Bit 4-auf-1 Multiplexers aus Logikgattern ein. 2 1 0 1 1 130 3 Arithmetische Schaltungen emultiplexer emultiplexer
MehrBasics. Marc Reichenbach und Michael Schmidt 05/11. Informatik 3 / Rechnerarchitektur Universität Erlangen Nürnberg
Basics Marc Reichenbach und Michael Schmidt Informatik 3 / Rechnerarchitektur Universität Erlangen Nürnberg 05/11 1 / 45 Gliederung Kombinatorische Logik Speicher (Latch, DFF, Register) Synthese Signale/Variablen
Mehr14 Addierer und Subtrahierer
14 Addierer und Subtrahierer 14.1 Darstellung positiver und negativer Zahlen Die Anzahl der Bitstellen muss festgelegt sein, um positive und negative Zahlen unterscheiden zu Binär m -1 = 3 Positiv Dezimal
MehrDigitaltechnik Grundlagen 5. Elementare Schaltnetze
5. Elementare Schaltnetze Version 1.0 von 02/2018 Elementare Schaltnetze Dieses Kapitel beinhaltet verschiedene Schaltnetze mit speziellen Funktionen. Sie dienen als Anwendungsbeispiele und wichtige Grundlagen
MehrKapitel 6 - Addierwerke
Kapitel 6 - Addierwerke Versuch 600 Halbaddierer und Volladdierer Der bürgerliche Algorithmus des schriftlichen Addierens zerlegt die binäre Addition in die folgenden elementaren Additionen. Es ergibt
MehrBasics. Marc Reichenbach und Michael Schmidt 05/11. Informatik 3 / Rechnerarchitektur Universität Erlangen Nürnberg
Basics Marc Reichenbach und Michael Schmidt Informatik 3 / Rechnerarchitektur Universität Erlangen Nürnberg 05/11 1 / 45 Gliederung Kombinatorische Logik Speicher (Latch, DFF, Register) Synthese Signale/Variablen
MehrGTI ÜBUNG 12. Komparator und Addierer FRIEDRICH-ALEXANDER UNIVERSITÄT ERLANGEN-NÜRNBERG JAN SPIECK 1
GTI ÜBUNG 12 Komparator und Addierer FRIEDRICH-ALEXANDER UNIVERSITÄT ERLANGEN-NÜRNBERG JAN SPIECK 1 AUFGABE 1 KOMPARATOR Beschreibung Entwickeln Sie eine digitale Schaltung, die zwei Bits a und b miteinander
Mehr3 Arithmetische Schaltungen
. Schaltungselemente Arithmetische Schaltungen. Schaltungselemente Logikgatter Treiber; gibt am Ausgang denselben Logikpegel aus, der auch am Eingang anliegt Inverter; gibt am Ausgang den Logikpegel des
MehrI 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
MehrMultiplizierer. Beispiel komplexer arithmetischer Schaltung. Langsamer als Addition, braucht mehr Platz. Sequentielle Multiplikation
Multiplizierer 1 Beispiel komplexer arithmetischer Schaltung Langsamer als Addition, braucht mehr Platz Sequentielle Multiplikation Kompakte kombinatorische Variante mit Carry-Save-Adders (CSA) Vorzeichenbehaftete
MehrHardware Praktikum 2008
HaPra 2008 - Versuchsreihe 5 - ALU Hardware Praktikum 2008 Prof. Dr. H.-J. Wunderlich Dipl.-Inf. M. Imhof Dipl.-Inf. S. Holst Agenda Die HaPra-CPU Eine kleine Übersicht VHDL Projekt-Organisation Entwurf
MehrÜbung Hardwareentwurf
Übung Hardwareentwurf Übung vom. Mai 25 Stefan Reichör HWE- 25- Slides7.tex (7. Mai 25) Überblick Finite Machines Moore FSM Mealy FSM Implementierung von FSMs in VHDL Xilinx Synthesetool Xilinx LUTs Übung
MehrRechnerstrukturen, Teil 1. Vorlesung 4 SWS WS 14/15
Rechnerstrukturen, Teil 1 Vorlesung 4 SWS WS 14/15 Prof. Dr Jian-Jia Chen Dr. Lars Hildebrand Fakultät für Informatik Technische Universität Dortmund lars.hildebrand@tu-.de http://ls1-www.cs.tu-.de Übersicht
Mehr6. Die Spartan-Familie
6. Die Spartan-Familie 1 Programm für heute: Die Spartan-Familie Aufbau, Größe und Ausführung SRAM und DRAM Block RAM LCs, CLBs und Slices IO-Blöcke Routing Matrix 2 Der Spartan-3-Chip Globaler Aufbau
MehrEinfü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
MehrSeminararbeit Sommersemester 2017
Schaltkreise für die Addition Seminararbeit Sommersemester 2017 Bearbeitet von: Maximilian Breymaier (Matrikelnummer: 57214) Christoph Mantsch (Matrikelnummer: 57266) Betreuer: Prof. Dr. Thomas Thierauf
MehrGrundlagen der Technischen Informatik. 13. Übung
Grundlagen der Technischen Informatik 13. Übung Christian Knell Keine Garantie für Korrekt-/Vollständigkeit 13. Übungsblatt Themen Aufgabe 1: Aufgabe 2: Aufgabe 3: Aufgabe 4: Automaten VHDL VHDL VHDL 13.
MehrDigital Design 2 Schaltnetze (kombinatorische Logik) Digital Design
2 Schaltnetze (kombinatorische Logik) Schaltnetze realisieren eine Schalt- oder Vektorfunktion Y = F (X) X: Eingangsvektor mit den Variablen x 0, x 1, x n Y: Ausgabevektor mit den Variablen y 0, y 1, y
MehrDigitale Systeme und Schaltungen
Zusammenfassung meines Vortrages vom 26. Jänner 2017 Digitale Systeme und Schaltungen Andreas Grimmer Pro Scientia Linz Johannes Kepler Universität Linz, Austria andreas.grimmer@jku.at In dieser Zusammenfassung
MehrTeil V. Programmierbare Logische Arrays (PLAs)
Teil V Programmierbare Logische Arrays (PLAs) 1 Aufbau von PLAs Programmierbares Logisches Array (PLA): Programmierbarer Einheitsbaustein aufgebaut als ein Gitter (Array) von Basisbausteinen (Zellen).
MehrRechnerstrukturen, Teil 1
Rechnerstrukturen, Teil 1 Vorlesung 4 SWS WS 18/19 Prof. Dr. Jian- Jia Chen Fakultät für Informatik Technische Universität Dortmund jian- jia.chen@cs.uni-.de http://ls12- www.cs.tu-.de Übersicht 1. Organisatorisches
MehrÜbungen zur Vorlesung Technische Informatik I, SS 2001 Strey / Guenkova-Luy / Prager Übungsblatt 4 Zahlendarstellung/Rechenarithmetik/Rechenwerke
Übungen zur Vorlesung Technische Informatik I, SS 2001 Strey / Guenkova-Luy / Prager Übungsblatt 4 Zahlendarstellung/Rechenarithmetik/Rechenwerke Aufgabe 1: a) Bestimmen Sie die Darstellung der Zahl 113
Mehrx x y x y Informatik II Schaltkreise Schaltkreise Schaltkreise Rainer Schrader 3. November 2008
Informatik II Rainer Schrader Zentrum für Angewandte Informatik Köln 3. November 008 1 / 47 / 47 jede Boolesche Funktion lässt mit,, realisieren wir wollen wir uns jetzt in Richtung Elektrotechnik und
MehrFPGA-Entwurf mit VHDL. Serie 3
Christian-Albrechts-Universität zu Kiel Institut für Informatik Lehrstuhl für Technische Informatik Prof. Dr. Manfred Schimmler Dipl.-Inf. Lars Wienbrandt FPGA-Entwurf mit VHDL Sommersemester 2011 Serie
MehrPraktikum 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
MehrERA-Zentralübung 11. Maximilian Bandle LRR TU München Maximilian Bandle LRR TU München ERA-Zentralübung 11
ERA-Zentralübung 11 Maximilian Bandle LRR TU München 20.1.2017 Einschränkungen bei std logic vector architecture stdlogic of irgendwas signal test: std_logic_vector( 3 downto 0) := 9; -- Nicht ok -- Richtig
MehrÜbung 3: VHDL Darstellungen (Blockdiagramme)
Übung 3: VHDL Darstellungen (Blockdiagramme) Aufgabe 1 Multiplexer in VHDL. (a) Analysieren Sie den VHDL Code und zeichnen Sie den entsprechenden Schaltplan (mit Multiplexer). (b) Beschreiben Sie zwei
Mehr3 Arithmetische Schaltungen
. Schaltungselemente 7 Arithmetische Schaltungen. Schaltungselemente Logikgatter Treiber; gibt am Ausgang denselben Logikpegel aus, der auch am Eingang anliegt Inverter; gibt am Ausgang den Logikpegel
MehrÜbersicht. Prof. Dr. B. Lang, FH Osnabrück Konstruktion digitaler Komponenten, 5. Zielarchitekturen - 1 -
Übersicht 1. Einführung 2. VHDL-Vertiefung 3. Hierarchischer und generischer Entwurf 4. Grundstrukturen digitaler Schaltungen 5. Zielarchitekturen 6. Synthese 7. Soft-Prozessoren 8. Ausgewählte Beispiele
MehrEchtzeitbildverarbeitung mit FPGAs. Feith Sensor to Image GmbH, Schongau Matthias Schaffland
Echtzeitbildverarbeitung mit FPGAs Feith Sensor to Image GmbH, Schongau Matthias Schaffland Feith Sensor to Image GmbH Gegründet 1989 als Bildverarbeitungs- Spezialist für kundenspezifische Komponenten
MehrD.5 Versuchsreihe 5: Arithmetisch-Logische Einheit
D.5: Versuchsreihe 5: Arithmetisch-Logische Einheit D D.5 Versuchsreihe 5: Arithmetisch-Logische Einheit Abgabedatum: 21.05.2010 Name: Gruppe: Theorie: Versuch: (vom Tutor abzuzeichnen) (vom Tutor abzuzeichnen)
Mehr18 Schieberegister. Serieller Serieller Eingang 5 Stufen Ausgang. 1. Takt. 2. Takt
8 Schieberegister In Schieberegistern wird die Eingangsinformation am Schiebeeingang SE in einer Kette von Flipflops bei jeder Taktflanke eingelesen und weiter geschoben. Sie erscheint schließlich nach
MehrFAKULTÄT FÜR INFORMATIK
FAKULTÄT FÜR INFORMATIK TECHNISCHE UNIVERSITÄT MÜNCHEN Lehrstuhl für Rechnertechnik und Rechnerorganisation Prof. Dr. Martin Schulz Einführung in die Rechnerarchitektur Wintersemester 2017/2018 Lösungsvorschlag
MehrVersuchsreihe 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)
MehrGrundlagen der Technischen Informatik
TECHNISCHE FAKULTÄT Lösungshinweise zur 11. Übung zur Vorlesung Grundlagen der Technischen Informatik Aufgabe 1 (VHDL) ( Punkte) a) Welche Schaltblöcken können asynchron (ohne Takt) betrieben werden? Lösung:
MehrInformatik I Modul 5: Rechnerarithmetik (2)
Herbstsemester 2, Institut für Informatik IFI, UZH, Schweiz Informatik I Modul 5: Rechnerarithmetik (2) 2 Burkhard Stiller M5 Modul 5: Rechnerarithmetik (2) Grundrechenarten Arithmetisch-logische Einheit
MehrZur Multiplikation von Gleitkommazahlen müssen die Mantissen inkl. führender 1, als Festkommazahlen multipliziert werden.
70 Arithmetische Schaltungen Multiplikation vorzeichenbehafteter Zahlen Zur Multiplikation vorzeichenbehafteter Zahlen (er-komplement) kann auf die Schaltung für vorzeichenlose Multiplikation zurückgegriffen
MehrKapitel 5. Standardschaltnetze. Prof. Dr. Dirk W. Hoffmann. Hochschule Karlsruhe w University of Applied Sciences w Fakultät für Informatik
Kapitel 5 Standardschaltnetze Prof. Dr. Dirk W. Hoffmann Hochschule Karlsruhe w Universit of Applied Sciences w Fakultät für Informatik Inhalt und Lernziele Inhalt Vorstellung der wichtigsten Standardelemente
MehrCarry Lookahead Adder
Carry Lookahead Adder Mittels der Generate und Propagate Ausdrücke lässt ich dann für jede Stelle i der Carry (Übertrag) für die Stelle i+1 definieren: Für einen 4 Stelligen Addierer ergibt sich damit:
MehrVHDL - Synthese. Dr.-Ing. Matthias Sand. Lehrstuhl für Informatik 3 (Rechnerarchitektur) Friedrich-Alexander-Universität Erlangen-Nürnberg
VHDL - Synthese Dr.-Ing. Matthias Sand Lehrstuhl für Informatik 3 (Rechnerarchitektur) Friedrich-Alexander-Universität Erlangen-Nürnberg WS 2007/2008 VHDL - Synthese 1/19 2007-10-27 Inhalt Begriff Arten
MehrGroßer Beleg. Arithmetische Optimierung eines kryptographischen Algorithmus für moderne FPGA-Architekturen. Peter Heinzig. 17.
Großer Beleg Arithmetische Optimierung eines kryptographischen Algorithmus für moderne FPGA-Architekturen Peter Heinzig 17. Januar 2011 1/23 Peter Heinzig Großer Beleg Überblick Einleitung 1 Einleitung
MehrRechnerstrukturen WS 2012/13
Rechnerstrukturen WS 2012/13 Boolesche Funktionen und Schaltnetze Schaltnetze Rechner-Arithmetik Addition Bessere Schaltnetze zur Addition Carry-Look-Ahead-Addierer Multiplikation Wallace-Tree Hinweis:
MehrDarstellung eines 1-Bit seriellen Addierwerks mit VHDL. Tom Nagengast, Mathias Herbst IAV 07/09 Rudolf-Diesel-Fachschule für Techniker
Darstellung eines 1-Bit seriellen Addierwerks mit VHDL Tom Nagengast, Mathias Herbst IAV 07/09 Rudolf-Diesel-Fachschule für Techniker Inhalt: 1. Verwendete Tools 1.1 Simili 3.1 1.2 Tina 2. Vorgehensweise
MehrRechnernetze und Organisation
Arithmetic Logic Unit ALU Professor Dr. Johannes Horst Wolkerstorfer Cerjak, 9.2.25 RNO VO4_alu Übersicht Motivation ALU Addition Subtraktion De Morgan Shift Multiplikation Gleitkommazahlen Professor Dr.
MehrIntegrated HW/SW Systems Group 20 November 2009 Prof. Dr.-Ing. habil. Andreas Mitschele-Thiel.
Erweiterte Simulation / Aufgaben 20 November 2009 Prof. Dr.-Ing. habil. Andreas Mitschele-Thiel Self-Organization 20 November 2009 1 Inhalt Erweiterung der Simulation Ausgabe der Bilddaten in eine Datei
Mehrb i Ergänzung zu Vollkonjunktionen (ohne Indizierung i = 0... n-1): q = a b a b q = a b q = a b a b a b
Ansatz: Die Realisierung von arithmetischen Operationen mit Logikgattern führt zu ähnlichen Verarbeitungsstrukturen für arithmetische und logische Befehle Parallele Zahlwort/oder Logikverarbeitung ist
MehrEHP 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
MehrFAKULTÄT FÜR INFORMATIK
FAKULTÄT FÜR INFORMATIK TECHNISCHE UNIVERSITÄT MÜNCHEN Lehrstuhl für Rechnertechnik und Rechnerorganisation Prof. Dr. Martin Schulz Einführung in die Rechnerarchitektur Wintersemester 07/08 Tutorübung
MehrGrundlagen der Technischen Informatik
TECHNISCHE FAKULTÄT 11. Übung zur Vorlesung Grundlagen der Technischen Informatik Aufgabe 1 (VHDL) Gegeben ist ein binärer Taschenrechner (siehe Abb. 1), der als Eingabe die Tasten 0, 1, +, - und = und
Mehr2 Initialisierung clk_mkand= clk_produkt= multiplexer= init/>>1= 6 Schieben clk_mkand= clk_produkt= multiplexer= init/>>1=
Arithmetische Schaltungen c) Vervollständigen Sie nachfolgend abgebildeten Zustands-Automaten so, dass er den Multiplizierer wie gewünscht steuert. Nehmen Sie an, dass Sie zur Detektion des Schleifen-Abbruchs
MehrInhalt. Zahlendarstellungen
Inhalt 1 Motivation 2 Integer- und Festkomma-Arithmetik Zahlendarstellungen Algorithmen für Integer-Operationen Integer-Rechenwerke Rechnen bei eingeschränkter Präzision 3 Gleitkomma-Arithmetik Zahlendarstellungen
MehrD.6 Versuchsreihe 6: Registersatz und Programmzähler
D.6: Versuchsreihe 6: Registersatz und Programmzähler D D.6 Versuchsreihe 6: Registersatz und Programmzähler Abgabedatum: 04.06.2010 Name: Gruppe: Theorie: Versuch: (vom Tutor abzuzeichnen) (vom Tutor
MehrLösungsvorschlag 1. Übung Technische Grundlagen der Informatik II Sommersemester 2009
Fachgebiet Rechnerarchitektur Fachbereich Informatik Aufgabe 1.1: Verilog Lösungsvorschlag 1. Übung Technische Grundlagen der Informatik II Sommersemester 2009 a) Wie können Werte an Wire-Variablen zugewiesen
Mehr3 Verarbeitung und Speicherung elementarer Daten
3 Verarbeitung und Speicherung elementarer Daten 3.1 Boolsche Algebra Definition: Eine Boolsche Algebra ist eine Menge B mit den darauf definierten zweistelligen Verknüpfungen (+,*) sowie der einstelligen
MehrÜ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
MehrTeil 2: Rechnerorganisation
Teil 2: Rechnerorganisation Inhalt: Zahlendarstellungen Rechnerarithmetik Mikroprogrammierung schrittweiser Entwurf eines hypothetischen Prozessors mit Daten-, Adreß- und Kontrollpfad Speicherorganisation
MehrTeil 2: Rechnerorganisation
Teil 2: Rechnerorganisation Inhalt: Zahlendarstellungen Rechnerarithmetik Mikroprogrammierung schrittweiser Entwurf eines hypothetischen Prozessors mit Daten-, Adreß- und Kontrollpfad Speicherorganisation
MehrPraktikum Grundlagen von Hardwaresystemen Sommersemester Versuch 2: Multiplexer, Carry-Ripple- und Carry-Lookahead-Addierer
Praktikum Grundlagen von Hardwaresystemen Sommersemester 2007 Versuch 2: Multiplexer, Carry-Ripple- und Carry-Lookahead-Addierer 26. Juni 2007 Fachbereich 12: Informatik und Mathematik Institut für Informatik
MehrMinimierung nach Quine Mc Cluskey
Minimierung nach Quine Mc Cluskey F(A,B,C,D) =!A!B!C!D +!A!B!C D +!A B!C!D +!A B!C D +!A B C!D +!A B C D + A!B!C!D + A!B!C D + A!B C D + A B C D Notiere die Funktion als # A B C D Gruppe Binärelemente
MehrOutline Überblick VHDL/Verilog Designflow VHDL-Module Architektur-Beschreibungen Signale/Variablen. VHDL Einführung 1
VHDL Einführung 1 Marc Reichenbach und Michael Schmidt Informatik 3 / Rechnerarchitektur Universität Erlangen Nürnberg 05/12 1 / 44 Gliederung Überblick zu VHDL Vergleich VHDL/Verilog Designflow Aufbau
MehrMinimierung nach Quine Mc Cluskey
Minimierung nach Quine Mc Cluskey F(A,B,C,D) =!A!B!C!D +!A!B!C D +!A B!C!D +!A B!C D +!A B C!D +!A B C D + A!B!C!D + A!B!C D + A!B C D + A B C D Notiere die Funktion als # A B C D Gruppe Binärelemente
MehrTeil IV. Schaltwerke
Teil IV Schaltwerke 1 Teil IV.1 Flip Flops 2 Bistabile Kippstufe Ziel: Speichere Ausgabe einer Schaltung. Ansatz: Leite Ausgabe wieder als Eingabe in die Schaltung. x t & Q Q = x + P t + t t t y t & P
MehrVerilog Hardware Description Language (HDL)
Elektrotechnik Intelligent Systems Design Verilog Hardware Description Language (HDL) Einführung Prof. Dr.-Ing. Michael Karagounis Sommersemester 2016 HDL Konzept Was ist eine Hardwarebeschreibungssprache?
Mehr3.8 Sequentieller Multiplizierer 159
.8 Sequentieller Multiplizierer 59 Nachfolgende Abbildung zeigt den (unvollständigen) Aufbau einer Schaltung zur Implementierung des gezeigten Multiplikationsverfahrens. b) Vervollständigen Sie die Schaltung
MehrGTI ÜBUNG 12 KOMPARATOR UND ADDIERER
1 GTI ÜBUNG 12 KOMPARATOR UND ADDIERER Aufgabe 1 Komparator 2 Beschreibung Entwickeln Sie eine digitale Schaltung, die zwei Bits a und b miteinander vergleicht. Die Schaltung besitzt drei Ausgänge: ist
MehrInstitut für Angewandte Mikroelektronik und Datentechnik Fachbereich Elektrotechnik und Informationstechnik Universität Rostock.
Seite 1 Optimierung der Verbindungsstrukturen in Digitalen Neuronalen Netzwerken Workshop on Biologically Inspired Methods on Modelling and Design of Circuits and Systems 5.10.2001 in Ilmenau, Germany
Mehr12 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'
MehrVerilog. Modellbildung für Synthese und Verifikation von Bernhard Hoppe. Oldenbourg Verlag München Wien
Verilog Modellbildung für Synthese und Verifikation von Bernhard Hoppe Oldenbourg Verlag München Wien Inhalt Vorwort des Herausgebers XI 1 Einleitung 1 2 Electronic-Design mit Verflog HDL 5 2.1 Der Design-Zyklus
MehrMinimierung nach Quine Mc Cluskey Ermitteln der Primtermtabelle
Minimierung nach Quine Mc Cluskey Ermitteln der Primtermtabelle # A B C D OK m9 + m11 1 0 1 P1 m7 + m15 1 1 1 P2 m11 + m15 1 1 1 P3 m0 + m1 + m4 + m5 0 0 P4 m0 + m1 + m8 + m9 0 0 P5 m4 + m5 + m6 + m7 0
MehrAusarbeitung zum ETI Praktikum
Ausarbeitung zum ETI Praktikum Aufgabe 3.1 (VHDL) eingereicht an der Technischen Universität München Lehrstuhl X: Rechnertechnik und Rechnerorganisation Prof. A. Bode SS 2006 Betreuer: Dipl.-Inf. Daniel
Mehr5.Vorlesung Rechnerorganisation
Mario.Trams@informatik.tu-chemnitz.de, 29. April 2004 1 Inhalt: 5.Vorlesung Rechnerorganisation Wiederholung aus Digitaltechnik: Allgemeiner Überblick über VHDL (Teil 1) Schwerpunkt Modellierungssichtweisen,
MehrStatischer Speicher - Schaltsymbol
12.3 SRAM Bernd Becker Technische Informatik II Statischer Speicher - Schaltsymbol SRAM A n D out W D in BB TI II 12.3/2 1 Ein N-Bit SRAM Sei n N, N = 2 n Ein N-Bit statischer Speicher oder SRAM (static
Mehr3 Arithmetische Schaltungen
. Schaltungselemente Arithmetische Schaltungen. Schaltungselemente Logikgatter Treiber; gibt am Ausgang denselben Logikpegel aus, der auch am Eingang anliegt Inverter; gibt am Ausgang den Logikpegel des
MehrComputergestützter IC- Entwurf
FHTW Berlin Fachbereich 1 Technische Informatik, D5TI Computergestützter IC- Entwurf Simulation eines Lauflichts Übungs- Beleg Abgabetermin: 07.02.2003, 366437 1 Inhaltsverzeichnis 1 Einleitung... 3 2
MehrVHDL Synthese. Dr.-Ing. Matthias Sand. Lehrstuhl für Informatik 3 (Rechnerarchitektur) Friedrich-Alexander-Universität Erlangen-Nürnberg WS 2009/2010
VHDL Synthese Dr.-Ing. Matthias Sand Lehrstuhl für Informatik 3 (Rechnerarchitektur) Friedrich-Alexander-Universität Erlangen-Nürnberg WS 2009/2010 VHDL Synthese 1/36 2009-11-02 Inhalt Begriff Arten Kombinatorische
MehrInstitut für Angewandte Mikroelektronik und Datentechnik Fachbereich Elektrotechnik und Informationstechnik Universität Rostock.
Seite 1 Implementierung Neuronaler Netze mittels Digit-Online Algorithmen Vortrag im Rahmen des 10. Symposium Maritime Elektronik 2001 M.Haase, A.Wassatsch, D.Timmermann Seite 2 Gliederung Was sind Neuronale
MehrTeil 1: Digitale Logik
Teil 1: Digitale Logik Inhalt: Boolesche Algebra kombinatorische Logik sequentielle Logik kurzer Exkurs technologische Grundlagen programmierbare logische Bausteine 1 Tri-State Ausgangslogik Ausgang eines
MehrVHDL-Synthese digitaler Systeme Lösungen zu den Übungsaufgaben
VHDL-Synthese digitaler Systeme Lösungen zu den Übungsaufgaben Aufgabe 1 -- Aufgabe 1 -- 8 zu 1 Decoder entity DECODER1X8 is port( S: in bit_vector(2 downto 0); Y: out bit_vector(7 downto 0)); end DECODER1X8;
MehrKlausur ( ) : Technische Grundlagen der Informatik 1 Digitale Systeme WS 2010/2011
Klausur (08.04.20) : Technische Grundlagen der Informatik Digitale Systeme WS 200/20 Vorname : Max Name : Mustermann Matrikelnummer : 23456 Klausur-Code : 007 Mobiltelefone sind auszuschalten Wichtige
MehrRechnerarithmetik. Vorlesung im Sommersemester Eberhard Zehendner. FSU Jena. Thema: Addierschaltungen
Rechnerarithmetik Vorlesung im Sommersemester 2008 Eberhard Zehendner FSU Jena Thema: Addierschaltungen Eberhard Zehendner (FSU Jena) Rechnerarithmetik Addierschaltungen 1 / 19 Addierer für UInt 2 (l)
MehrVerilog/VHDL. Mehdi Khayati Sarkandi Uni Siegen
Mehdi Khayati Sarkandi Uni Siegen Hardware Description Language (HDL) Werkzeug zum Entwurf komplexer digitaler Schaltungen, zur Simulation des Systemverhaltens, zur Überprüfung auf korrekte Funktionsfähigkeit
MehrVon der Schaltungslogik zur Informationsverarbeitung
Wintersemester 7/8 Schaltungslogik. Kapitel Von der Schaltungslogik zur Informationsverarbeitung Prof. Matthias Werner Professur Betriebssysteme 49 Schaltnetze! Gatter implementieren boolesche Funktionen
Mehr12. Tutorium Digitaltechnik und Entwurfsverfahren
12. Tutorium Digitaltechnik und Entwurfsverfahren Tutorium Nr. 13 Alexis Tobias Bernhard Fakultät für Informatik, KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
MehrTECHNISCHE HOCHSCHULE NÜRNBERG GEORG SIMON OHM Die Mikroprogrammebene eines Rechners Das Abarbeiten eines Arbeitszyklus eines einzelnen Befehls besteht selbst wieder aus verschiedenen Schritten, z.b. Befehl
Mehr17 Zähler. Hochschule für Angewandte Wissenschaften Hamburg FACHBEREICH ELEKTROTECHNIK UND INFORMATIK DIGITALTECHNIK 17-1
7 Zähler Zähler werden in digitalen Systemen sehr vielfältig eingesetzt: Z.B. zum Zählen von Ereignissen, zum Speichern der aktuellen Befehlsadresse eines Mikroprozessors oder zum Zählen von Zuständen
MehrGrundlagen der Technische Informatik / Digitaltechnik (GTI/DT)
Klausur zur Vorlesung Grundlagen der Technische Informatik / Digitaltechnik (GTI/DT) Prof. Marco Platzner Fachgebiet Technische Informatik Universität Paderborn 25.3.2 Die Bearbeitungsdauer beträgt für
Mehr