0 Daumen
887 Aufrufe

Hallo alle zusammen hat jemand von euch Tipps für mich bei dieser schwierigen Aufgabe ?

Komme gar nicht voran hier?

In dieser Aufgabe soll ein digitales Speichersystem entworfen werden. Das System verfügt über folgende
Eigenschaften:
− 16 Adressleitungen.
− 8 Datenleitungen
− Adressbereich des EEPROMs: 0 bis 1FFFh
− Adressbereich des RAMs: 2000h bis 3FFFh
− Adressbereich des ROMs: 8000h bis FFFFh
Um dieses System zu realisieren stehen folgende Speicher zur Verfügung:
− EEPROM-Speicher mit einer Kapazität von 4 kB
− RAM-Speicher mit einer Kapazität von 8 kB
− ROM-Speicher mit einer Kapizität von 16 kB
− Alle Speichertypen verfügen über einen CS -Pin.
1. Erstellen Sie eine Tabelle, die die benötigten Speicherblöcke und deren Abgrenzungen anzeigt.
2. Leiten Sie aus der Tabelle die Gleichungen her, die für die Adressdekodierung benötigt werden.
3. Zeichnen Sie die Schaltung die für die Decodierung dieses Systems erforderlich ist.


Wie muss ich den bei der 1) anfangen?

von

2 Antworten

+1 Daumen

Weil alle drei Speicherbereiche bei einer 8K-Grenze (13 Bits) beginnen, reicht eine Betrachtung der obersten drei (=16-13) Adressbits  aus, um das CS-Signal zu erzeugen

000x xxxx xxxx xxxx (0x0000 - 0x1FFF) -> CS EEPROM
001x xxxx xxxx xxxx (0x2000 - 0x3FFF) -> CS RAM
100x xxxx xxxx xxxx (0x8000 - 0x9FFF) -> CS ROM
101x xxxx xxxx xxxx (0xA000 - 0xBFFF) -> CS ROM
110x xxxx xxxx xxxx (0xC000 - 0xDFFF) -> CS ROM
111x xxxx xxxx xxxx (0xE000 - 0xFFFF) -> CS ROM

Die Kombination aus den oberen drei Adressbits steuert also die drei CS-Signale.

Ausserdem werden die Adressbits benötigt, um die Speicher intern (alle relativ ab 0) zu adressieren:

Das EEPROM hat eine Grösse von  4K (0x0000-0x0FFF), benötigt die 12 untersten Adressleitungen .... xxxx xxxx xxxx
Das RAM    hat eine Grösse von  8K (0x0000-0x1FFF), benötigt die 13 untersten Adressleitungen ...x xxxx xxxx xxxx
Das ROM    hat eine Grösse von 16K (0x0000-0x3FFF), benötigt die 14 untersten Adressleitungen ..xx xxxx xxxx xxxx

Vielleicht hilft Dir das weiter, die entsprechende Nomenklatur für das Hardware-Layout kenne ich leider nicht.

von
0 Daumen
Wie muss ich den bei der 1) anfangen?

Eine Tabelle erstellen mit den entsprechenden Speicherblöcken + Bit-Kombinationen (1 & 0 eintragen). Eventuell ins Skript schauen.

von

000x xxxx xxxx xxxx (0x0000 - 0x1FFF) -> CS EEPROM
001x xxxx xxxx xxxx (0x2000 - 0x3FFF) -> CS RAM
100x xxxx xxxx xxxx (0x8000 - 0x9FFF) -> CS ROM
101x xxxx xxxx xxxx (0xA000 - 0xBFFF) -> CS ROM
110x xxxx xxxx xxxx (0xC000 - 0xDFFF) -> CS ROM
111x xxxx xxxx xxxx (0xE000 - 0xFFFF) -> CS ROM


Wie kommt ihr auf das hier?

g.PNG

Wie kommen die auf die Musterlösung?

Ein anderes Problem?

Stell deine Frage

Willkommen bei der Stacklounge! Stell deine Frage einfach und kostenlos

x
Made by a lovely community