# Labor EDS: Labor 4

## Übung 6: SPI Master

### Vorbereitung 1

Aufgabenstellung aus der Email:

- Kapitel 6 durchlesen und Aufgaben 6.3 und 6.5 bearbeiten
    - Auf dem Dozentenlaufwerk und auf Teams liegt der Ordner 'spi_master' mit der Vorlage 'spi_master_template.v'
    - Vorlage kann mit 'sim_w_lib.do' kompiliert werden
    - SImulation anschauen und versuchen zu verstehen

- Aufgabe 6.3 ist eine Schaltung-zu-Code Übersetzung 
    - das Modul 'sclk_gen' und eine Testbench dazu schreiben

- Aufgabe 6.5:
    - benötigt einen Zähler der statt einer festen Variable, eine von außen dynamisch vorgegebene Anzahl Schritte zählt
    - Zähler als Modul vorbereiten und dazu eine kleine Testbench
    - Zähler soll als Abwärtszähler arbeiten
    - Beim Erreichen des Wertes 0 soll im nächsten Takt der Wert am Eingang CLOCK_DIVIDER ins Zählerregister geladen werden
    - Wenn das Zählerregister 0 ist soll außerdem der Ausgang SYNC auf 1 gesetzt werden.


**Eingänge:**

CLK:            Taktsignal

RESETn:         Asynchroner, 0-aktiver Reset, setzt alle Bits im Zählerregister auf 0

CLOCK_DIVIDER:  Startwert für den Abwärtszähler

**Ausgänge:**

SYNC:             1 wenn alle Zählerregister 0, sonst 0

manuel.walz@advantest.com