Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Linear Rückgekoppelte Schieberegister und Tristate Treiber

Ähnliche Präsentationen


Präsentation zum Thema: "Linear Rückgekoppelte Schieberegister und Tristate Treiber"—  Präsentation transkript:

1 Linear Rückgekoppelte Schieberegister und Tristate Treiber
FPGA Praktikum WS 00/01 Linear Rückgekoppelte Schieberegister und Tristate Treiber

2 Gewöhnlicher Zähler Ripple-Carry Zähler werden mit zunehmender Größe langsamer. & DFF & DFF & DFF & DFF 1

3 Alternative Manchmal gibt es eine Alternative zu Ripple-Carry Zählern
LFSR: Linear Feedback Schift Register Linear Rückgekoppelte Schieberegister Bestimmte Bits eines Schieberegisters werden über ein XNOR an den Eingang Rückgekoppelt

4 Beispiel 4-Bit LFSR = DFF DFF DFF DFF 0 0 0 0 0 1 1 0 0 0 1 1

5 Nachteile LFSR Durchläuft nur 2n-1 Zustände
Verschiedene Schrittgrößen sind nicht möglich (+3, etc) Die Reihenfolge ist ziemlich zufällig Kein effizienter Vergleich „>“ möglich.

6 Vorteile LFSR Extrem schnell und klein Rückwärts zählen ist möglich
Nur ein LUT auch bei 168-Bit Zählern Rückwärts zählen ist möglich Mit Zusatzaufwand ist eine Erweiterung auf 2n Zustände möglich Die Reihenfolge ist ziemlich zufällig Rauschgenerator (z.B. C64 SID) Zufallsmuster z.B. für Selbsttest (BIST)

7 Paramter Es gibt keine geschlossene Form, um auszurechnen, welche Bits rückgekoppelt werden müssen. Es gibt Tabellen z.B. von Xilinx Bits XNOR from Bits XNOR from 3 3, ,5 4 4, ,7 5 5, ,9 6 6, ,6,4,1 7 7, ,4,3,1 8 8,6,5, ,5,3,1

8 Tristate Treiber Ein normales Gatter treibt an seinen Ausgang immer entweder 0 oder 1. Der Zustand ‘X‘ in der Simulation bedeutet nur, daß der Simulator nicht weis, welchen Wert der Ausgang hat. Tristate Treiber können zusätzlich als dritten Zustand den Ausgang ausschalten. Diesen Zustand nennt man „hochohmig“, „tristated“ oder „high impedance“ Abgekürzt wird er mit ‘Z‘

9 Tristate Treiber Eigenschaften
So sieht ein Tristate Treiber im Schaltplan aus: Die Wertetabelle sieht so aus: Enable In Out Z Z Vorsicht: Es gibt auch Treiber mit invertiertem Enable Enable In Out

10 Anwendung 1: Bidirektionale Signale
Write/notRead output output input input So werden beispielsweise RAMs an Prozessoren angeschlossen Das selbe Signal wird zum lesen und Schreiben von Daten verwenden. Der Prozessor teilt dem RAM mit einem zusätzlichen Signal die Richtung der Datenübertragung mit.

11 Anwendung 2: Große Multiplexer
Standard N-zu-1 Multiplexer aus 2-zu-1 Muxes Kosten: N-1 LUTs N-2 zusätzliche Signale Signallaufzeit O(log(N)) Kodierte Eingänge

12 Anwendung 2: Große Multiplexer
In1 Sel1 In2 Sel2 InN SelN ... N-zu-1 Multiplexer aus Tristate Treibern Kosten: 0 LUTs N Tristate Treiber (Bei Xilinx praktisch gratis) 0 zusätzliche Signale Signallaufzeit O(1), bei kleinen Muxes jedoch größer als die LUT Variante. Dekodierte Eingänge

13 Anwendung 2: Wired-OR (Open Collector)
b out R a gnd Die Eingänge treiben den Ausgang auf 1 oder Z, nie jedoch auf 0. Wenn beide Eingänge auf Z treiben, kann der schwache Widerstand das Signal auf 0 ziehen. Die Schaltung berechnet also ein ODER aus allen Eingängen. Sie ist relativ langsam und wird vor allem auf Platinen verwendet, wenn die Anzahl der Eingänge nicht im Voraus bekannt ist. (z.B. Steckkarten) Im FPGA macht diese Technik Sinn, wenn ein ODER aus sehr vielen Eingängen berechnet werden soll. Wired-AND geht über die DeMorgan Regel

14 Tristate in VHDL Bidirektionale Ports werden als „inout“ deklariert.
In VHDL könnt ihr einem IEEE.STD_LOGIC Signal den Wert ‘Z‘ zuweisen. Ein Tristate Treiber sieht dann z.B. so aus: if enable=‘1‘ then out <= in; else out <= ‘Z‘; end if; Bidirektionale Ports werden als „inout“ deklariert.


Herunterladen ppt "Linear Rückgekoppelte Schieberegister und Tristate Treiber"

Ähnliche Präsentationen


Google-Anzeigen