Étape 9: Concevoir un Shifter
Dans cette section, nous allons concevoir un levier de vitesses 4 entrées. Quatre commutateurs bord servira comme entrées de données. Trois autres curseurs agira comme signaux de commande F, R et D. Un bouton poussoir servira le signal Enable. Quatre LED affichera la sortie de la manette.
Créez un projet dans Xilinx Vivado cibler la FPGA board que vous utilisez, comme dans les précédents projets.
Créer un Verilog module appelé « shifter » avec entrées I, FR, D, R, F et sorties Y comme suit :
(decoder_3_8) 1 module
2 entrée [3:0] I,
entrée 3 D,
entrée 4 R,
5 entrée F,
6 En entrée,
7 sortie Y [3:0]
8) ;
Similaires aux étapes précédentes, nous allons utiliser si exposé à nouveau à mettre en place le levier de vitesses.
1 reg [3:0] Y ;
2
3 toujours @ (I, Ein)
4 commencer
5 if (fr == 0)
6 Y = I ;
7 autre
8 if (R == 0)
9 Y = (D == 0) ? {I [2:0], F}: {F, J’AI [3:1]} ;
10 autre
11 Y = (D == 0) ? {J’ai [2:0], j’ai [3]}: {[0], j’ai [3:1]} ;
12 fin
Dans le code précédent, {A, B} est utilisé pour concaténer deux groupes de signaux dans un bus. Par exemple, Y = {i [2:0], F} signifie Y [3:1] = [2:0] et Y [0] = F.
Créer une carte et XDC fichier :
-I [3:0] de SW2, SW1, SW3, SW0
-R pour SW7, D à SW6, F à SW5
-En Btn0
-Le Y [3:0] à LED 3-0