referat interpretation charakterisierung

REFERAT-Menü

Deutsch
Geographie
Geschichte
Chemie
Biographien
Elektronik
Englisch
Epochen
Französisch
Biologie
Informatik
Italienisch
Kunst
Latein
Literatur
Mathematik
Musik
Philosophie
Physik
Politik
Psychologie
Recht
Sonstige
Spanisch
Sport
Technik
Wirtschaft
Wirtschaftskunde-BWL

Digitaltechnik referat

Berufsakademie Berlin

- Informatik -

2. Semester

Digitaltechnik

Belegarbeit:

4-Bit-ALU in FPGA Implementierung

Mitglieder der Arbeitsgruppe:

 

Michael Kuss

Thomas Jüngel

Matthias Buchhorn

Andreas Spiller


Inhalt:

1. Aufgabenstellung

2. Tastaturdecoder (ABEL)

3. Register

29141mfh97jxh5b

29141mfh97jxh5b Befehlsregister

29141mfh97jxh5b Operandenregister

29141mfh97jxh5b Hilfsregister

4. Bus fx141m9297jxxh

5. ALU-KI-Einheit (ABEL)

6. ALU-Control-Einheit (ABEL)

7. Display

Anhang: 29141mfh97jxh5b

29141mfh97jxh5b 29141mfh97jxh5b - ABEL Dateien

29141mfh97jxh5b 29141mfh97jxh5b - Verwendete Macros aus der XILINX-Bibliothek

29141mfh97jxh5b 29141mfh97jxh5b - Schematik der Gesamtschaltung


1. Aufgabenstellung:

Entwurf einer 4-Bit-ALU in FPGA-Implementierung

Mindestanforderungen:

29141mfh97jxh5b - 4-Bit-ALU

29141mfh97jxh5b - 2 Operanden-Register (A=Akku, B)

29141mfh97jxh5b - Befehls- und Direktwerteingabe über die Tastatur

29141mfh97jxh5b - Akku-Inhaltsausgabe auf 7-Segmentanzeige permanent

29141mfh97jxh5b - Datenformat: vorzeichenlose Integerwerte von 0 bis 9 (auch Ergebnis)

29141mfh97jxh5b - Befehlssatz:

29141mfh97jxh5b 29141mfh97jxh5b 29141mfh97jxh5b

Befehl
Erklärung
mov A,c
lädt die Konstante c von Tastatur in Register A=Akku; A:=const
mov B,c
lädt die Konstante c von Tastatur in Register B; B:=const
add A,B
addiert die Inhalte der Register A und B,
Ergebnis wird nach A=Akku zurückgeschrieben; A:=(A+B)
sub A,B
subtrahiert den Inhalt des Reg. B vom Inhalt des Reg. A, Ergebnis wird nach A zurückgeschrieben ; A:=(A-B)
inc A
inkrementiert den Inhalt von A um 1; A:= (A+1)
dec A
dekrementiert den Inhalt von A um 1; A:= (A-1)
shr A
verschieben des Inhalts von A nach rechts; ai:=ai+1
shl A
verschieben des Inhalts von B nach links; ai+1:=ai

Realisierung / Funktionsnachweis:

29141mfh97jxh5b - Auf dem XILINX Schaltkreis XC 4003

Entwurfsanforderungen:

29141mfh97jxh5b - Gesamtschaltung mit dem Schematic-Editor des XILINX Design Managers entwerfen

29141mfh97jxh5b - Mindestens zwei Teilblöcke in HDL-Eingabe (ABEL)

Geforderte Tastaturbelegung :

29141mfh97jxh5b 29141mfh97jxh5b 29141mfh97jxh5b

Befehl
Taste
add A,B
3
sub A,B
4
inc A
5
dec A
6
shr
7
shl
8
mov A,c
·
mov B,c
C

Tastatur-Decoder:

(ABEL-Datei siehe Anhang)

Der Tastatur-Decoder setzt die von der Tastatur kommenden Signale (12) in einen Binärcode (4) um.

Taste
dezimale Kodierung
binäre Kodierung
0
0
0000
1
1
0001
2
2
0010
3
3
0011
4
4
0100
5
5
0101
6
6
0110
7
7
0111
8
8
1000
9
9
1001
·
10
1010
C
11
1011

Der TE-Ausgang (Tastatur Enable) am Tastaur-Decoder wird immer dann HI, wenn eine beliebige Taste auf der Tastatur gedrückt wird. Mit diesem Signal wird der CE-Eingang des Befehlsregisters (Typ RD4, siehe Anhang) gesetzt. Der an den Ausgängen (xA3, xA2, xA1, xA0) des Tastatur-Decoders liegende Binärcode wird dann im Befehlsregister gespeichert.

3. Register:

In der Schaltung werden 5 Register verwendet. Basis ist immer das Register vom Typ RD4 aus der XILINX-Bibliothek (siehe Anhang). Es gibt ein Befehlregister, zwei Operandenregister A (Akku) und B und zwei Hilfsregister für A und B. Die Signale zur Steuerung der Registerfunktionen kommen von der ALU-Control-Einheit.

Befehlsregister (Typ RD4):

Das Befehlsregister speichert die an der Tastatur getätigten Eingaben. Der CE-Eingang muß hierfür auf HI liegen (kommt vom TE-Ausgang des Tastaturdecoders) am C-Eingang muß der Systemtakt anliegen.

Die Ausgänge des Befehlsregisters liegen über Tristate-Buffer (TBUF siehe Anhang) am BUS und außerdem direkt an der ALU-Control.

Operandenregister A (Akku) und B:

Die Operandenregister speichern die Operanden für die arithmetischen und logischen Funktionen der ALU.

Im Register A werden auch die Ergebnisse der Berechnungen gespeichert. Die Eingänge beider Register sind direkt auf den BUS geschaltet. Die Ausgänge sind an BCD-Decoder angeschlossen, so daß der Inhalt des Registers auf einer 7-Segment-Anzeige dargestellt werden kann. Außerdem sind die Ausgänge über Tristate-Buffer(TBUF siehe Anhang) auf den BUS geschaltet.

Hilfsregister:

Die Hilfsregister für die Register A und B speichern den Inhalt der Operandenregister. Die Eingänge der Hilfsregister sind direkt auf den BUS geschaltet, die Ausgänge führen direkt zur ALU-KI (Rechenwerk).

So wird gewährleistet, das innerhalb eines Zustandes beide Operanden verfügbar sind.

4. Bus fx141m9297jxxh :

Der BUS besteht aus vier parallelen Leitungen (4-Bit Busbreite), die alle Funktionsgruppen miteinander verbinden. Damit nicht mehrere Funktionsgruppen gleichzeitig ihre Signale auf den BUS senden (Buskonflikte), sind die Ausgänge der entsprechenden Gruppen mit Tristate-Buffern vom BUS entkoppelt. Die Freischaltung des Ausgangs einer Funktionsgruppe erfolgt durch ein Signal der ALU-Control-Einheit an die Tristate-Buffer. Soll eine Funktionsgruppe (Register) vom BUS lesen, so wird auch hier ein entsprechendes Signal von der ALU-Control benötigt.

5. ALU-KI (Rechenwerk):

Das Rechenwerk besteht aus einer kombinatorischen Schaltung und einem 4-Bit-Adder (ADD4 siehe Anhang) mit Carry-In/Out. Alle Berechnungen werden in eine Addition umgesetzt, die kombinatorische Schaltung wandelt die Operanden in die erforderliche Form um.

Die folgende Tabelle stellt die Ausgangsvariablen in Abhängigkeit von den Eingangsvariablen dar:

Befehl
Binär
xA4
xA3
xA2
xA1
xB4
xB3
xB2
xB1
CarryIn
add
0011
A4
A3
A2
A1
B4
B3
B2
B1
0
sub
0100
A4
A3
A2
A1
!B4
!B3
!B2
!B1
1
inc
0101
A4
A3
A2
A1
0
0
0
0
1
dec
0110
A4
A3
A2
A1
1
1
1
1
0
shr
0111
0
A4
A3
A2
0
0
0
0
0
shl
1000
A4
A3
A2
A1
A4
A3
A2
A1
0

Aus der Tabelle ergeben sich folgende Gleichungen für die Ausgangszustände:

(Die Kodierung der Befehle in den Gleichungen ist unterstrichen)

XA1= 29141mfh97jxh5b (!X3&!X2&X1&X0&A1)# 29141mfh97jxh5b (!X3&X2&!X1&!X0&A1)# 29141mfh97jxh5b (!X3&X2&!X1&X0&A1)#

29141mfh97jxh5b (!X3&X2&X1&!X0&A1)# 29141mfh97jxh5b (!X3&X2&X1&X0&A2)# 29141mfh97jxh5b (X3&!X2&!X1&!X0&A1);

XB1= 29141mfh97jxh5b (!X3&!X2&X1&X0&B1)# 29141mfh97jxh5b (!X3&X2&!X1&!X0&!B1)#

29141mfh97jxh5b (!X3&X2&X1&!X0)# 29141mfh97jxh5b 29141mfh97jxh5b (X3&!X2&!X1&!X0&A1);

XA2= 29141mfh97jxh5b (!X3&!X2&X1&X0&A2)# 29141mfh97jxh5b (!X3&X2&!X1&!X0&A2)# 29141mfh97jxh5b (!X3&X2&!X1&X0&A2)#

29141mfh97jxh5b (!X3&X2&X1&!X0&A2)# 29141mfh97jxh5b (!X3&X2&X1&X0&A3)# 29141mfh97jxh5b (X3&!X2&!X1&!X0&A2);

XB2= 29141mfh97jxh5b (!X3&!X2&X1&X0&B2)# 29141mfh97jxh5b (!X3&X2&!X1&!X0&!B2)#

29141mfh97jxh5b (!X3&X2&X1&!X0)# 29141mfh97jxh5b 29141mfh97jxh5b (X3&!X2&!X1&!X0&A2);

XA3= 29141mfh97jxh5b (!X3&!X2&X1&X0&A3)# 29141mfh97jxh5b (!X3&X2&!X1&!X0&A3)# 29141mfh97jxh5b (!X3&X2&!X1&X0&A3)#

29141mfh97jxh5b (!X3&X2&X1&!X0&A3)# 29141mfh97jxh5b (!X3&X2&X1&X0&A4)# 29141mfh97jxh5b (X3&!X2&!X1&!X0&A3);

XB3= 29141mfh97jxh5b (!X3&!X2&X1&X0&B3)# 29141mfh97jxh5b (!X3&X2&!X1&!X0&!B3)#

29141mfh97jxh5b (!X3&X2&X1&!X0)# 29141mfh97jxh5b 29141mfh97jxh5b (X3&!X2&!X1&!X0&A3);

XA4= 29141mfh97jxh5b (!X3&!X2&X1&X0&A4)# 29141mfh97jxh5b (!X3&X2&!X1&!X0&A4)# 29141mfh97jxh5b (!X3&X2&!X1&X0&A4)#

29141mfh97jxh5b (!X3&X2&X1&!X0&A4)# 29141mfh97jxh5b (X3&!X2&!X1&!X0&A4);

XB4= 29141mfh97jxh5b (!X3&!X2&X1&X0&B4)# 29141mfh97jxh5b (!X3&X2&!X1&!X0&!B4)#

29141mfh97jxh5b (!X3&X2&X1&!X0)# 29141mfh97jxh5b 29141mfh97jxh5b (X3&!X2&!X1&!X0&A4);

Carry= 29141mfh97jxh5b (!X3&X2&!X1);

Schematisches Bild der ALU-Control-Einheit

B0

B1

B2

B3

A_IE 29141mfh97jxh5b Register A - Input enable

A_OE 29141mfh97jxh5b Register A - Output enable

B_IE 29141mfh97jxh5b Register B - Input enable

B_OE 29141mfh97jxh5b Register B - Output enable

A_t_IE 29141mfh97jxh5b Zwischenregister A - Input enable

B_t_IE 29141mfh97jxh5b Zwischenregister B - Input enable

ALU_OE ALU - Output enable

BR_OE 29141mfh97jxh5b Befehlsregister - Output enable

BR_IE 29141mfh97jxh5b Befehlsregister - Input enable

BR-reset Befehlsregister löschen

ALU Control Einheit

I

NPU

T

OUT

PUT

6. ALU-Control-Einheit:

Die Alu-Control-Einheit läßt sich als Zustandsgraph mit neun inneren Zuständen darstellen.

Jeder dieser inneren