25.01.2014 Aufrufe

Übung 3 - Institut für Kommunikationsnetze und Rechnersysteme ...

Übung 3 - Institut für Kommunikationsnetze und Rechnersysteme ...

Übung 3 - Institut für Kommunikationsnetze und Rechnersysteme ...

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

• Die Architecture memory_tb(struct) instanziiert den fehlerfreien Speicher (Komponente<br />

memory aus Library ex3_public).<br />

• Die Architecture memory_tb(struct_faulty) instanziiert den fehlerbehafteten Speicher<br />

(Komponente memory aus Library ex3_secret).<br />

Die Typen data_t <strong>und</strong> address_t sind im Package ex3_public.types definiert.<br />

Speicher memory<br />

Die Komponente memory modelliert einen Speicher, der synchron geschrieben <strong>und</strong> asynchron<br />

gelesen wird:<br />

• Liegt an seinem Write-Enable-Eingang (wena) eine ’1’ an, so wird das am Eingang<br />

wdata anliegende Datum mit der steigenden Taktflanke in die durch address gegebene<br />

Speicherzelle geschrieben.<br />

• Am Ausgang rdata liegt immer der Inhalt der momentan durch address angegebenen<br />

Speicherzelle an.<br />

Speichertester memory_tester<br />

Aufgabe von memory_tester ist es, Schreib- <strong>und</strong> Lesezugriffe auf den Speicher auszuführen,<br />

um evtl. vorhandene Fehler aufzudecken. Insbesondere sollte der Tester bei jedem Lesezugriff<br />

prüfen, ob das gelesene Datum mit dem zuletzt an die entsprechende Speicherstelle geschriebenen<br />

Datum übereinstimmt.<br />

Die vorgegebene Fassung des Testers ist noch sehr unvollständig. Sie schreibt die Werte 1 <strong>und</strong><br />

3 an die Adressen 4 <strong>und</strong> 10 <strong>und</strong> liest diese direkt anschließend wieder aus. Eine Überprüfung<br />

der gelesenen Werte findet nicht statt.<br />

Takt- <strong>und</strong> Resetgenerator clk_res_gen<br />

Die Komponente clk_res_gen erzeugt ein Taktsignal clk mit der Periodendauer 1µs <strong>und</strong> ein<br />

low-aktives Reset-Signal res_n, das die ersten 3.7µs Simulationszeit aktiv ist.<br />

Entwurf digitaler Systeme <strong>Übung</strong> 3: Testbench-Modellierung <strong>und</strong> Fehleranalyse - Bl. 2

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!