Digilent Inc. BASYS2 Manual, Lizenz © Digilent)
1 Punkt
Synthetisiere das Projekt und teste das Ergebnis am Board
Mittels sieben LEDs wird ein Würfel dargestellt. Eine Taste startet durch das Drücken einen Zufallsgenerator und beim Loslassen wird das Ergebnis angezeigt. Dieser Zufallsgenerator ist ein Zähler, der mit 50Mhz die 6 möglichen Zustände durchwechselt.
5 Punkte
Der Decoder wandelt den Eingang value_i
(3 Bit) in die entsprechende 7 LEDs Darstellung leds_o
(7 Bit) um. Dabei wird folgende kodierung verwendet:
LED6 | LED5 | LED4 | LED3 | LED2 | LED1 | LED0 |
---|---|---|---|---|---|---|
Aus | Aus | Aus | Ein | Aus | Aus | Aus |
Aus | Aus | Ein | Aus | Ein | Aus | Aus |
Aus | Ein | Aus | Ein | Aus | Ein | Aus |
Ein | Aus | Ein | Aus | Ein | Aus | Ein |
Ein | Ein | Aus | Ein | Aus | Ein | Ein |
Ein | Ein | Ein | Aus | Ein | Ein | Ein |
value_i
gleich "000"
'1'
kodiert, Aus mittels '0'
Die Komponente ist in vier Ausführungen (Architectures) bereits in der Datei decoder.vhd beschrieben. Die Architectures lauten behave1
, behave2
, behave3
und behave4
.
Erstelle in der Datei decoder_tb.vhd eine Testbench, die herausfindet, welche der vier Ausführungen funktioniert (es ist genau eine).
shuffle
5 Punkte
Erstelle die Komponente shuffle
durch Bearbeitung der Datei shuffle.vhd nach folgender Skizze:
enable_i
auf '1'
ist, soll der interne Zähler counter_reg
bei einer steigenden Taktflanke hinaufzählenresult_reg
übernimmt bei einer steigenden Taktflanke den Wert von counter_reg
, wenn enable_i
gleich '0'
ist5 Punkte
Zur Verfügung stehen die Komponenten shuffle, decoder. Diese Komponenten werden genutzt, um im Top Level dice.vhd die gewünschte Funktionalität zu realisieren.
1 Punkt
Synthetisiere das Projekt und teste das Ergebnis am Board