Stap 9: Ontwerp een Shifter
In dit gedeelte gaan we ontwerpen een Shifter 4-input. Vier ingebouwde schakelaars zal worden gebruikt als gegevens ingangen. Drie andere dia schakelaars zal fungeren als besturingsseinen F, R, en D. Een drukknop zal worden gebruikt als het signaal inschakelen. Vier LED's zal tonen de output van de shifter.
Maak een project in Xilinx Vivado gericht op de FPGA-board die u, zoals in eerdere projecten gebruikt.
Maak een Verilog module genaamd "shifter" met ingangen ik, nl, D, O, F en uitgangen Y als volgt:
(decoder_3_8) 1 module
2 input [3:0] I,
3 input D,
4 input R,
5 input F,
6 input nl,
7 uitgang [3:0] Y
8);
Vergelijkbaar met de voorgaande stappen, we gaan gebruiken als instructie om opnieuw uit te voeren van de shifter.
1 reg [3:0] Y;
2
3 altijd @ (I, Ein)
4 beginnen
5 als (nl == 0)
6 Y = I;
7 anders
8 als (R == 0)
9 Y = (D == 0)? {I [2:0], F}: {F, IK [3:1]};
10 anders
11 Y = (D == 0)? {Ik [2:0], ik [3]}: {ik [0], ik [3:1]};
12 einde
In de vorige code, {A, B} wordt gebruikt voor het samenvoegen van twee groepen van signalen in een bus. Bijvoorbeeld, Y = {i [2:0], F} Y [3:1] betekent = ik [2:0] en Y [0] = F.
Maak een XDC bestand en kaart:
-I [3:0] bij SW3 SW2, SW1, SW0
-R naar SW7, SW6, SW5 F D
-Nl naar Btn0
-Y [3:0] op LED 3-0