Paso 9: Diseñar una palanca de cambios
En esta sección, vamos a diseñar un desplazador de 4 entradas. Cuatro interruptores a bordo se utilizarán como entradas de datos. Tres otros interruptores deslizantes actuarán como señales de control F, R y D. Un botón se utilizará como la señal de Enable. Cuatro LED mostrará la salida de la palanca de cambios.
Crear un proyecto en Xilinx Vivado dirigida a la Junta FPGA que utiliza, al igual que en proyectos anteriores.
Crear un Verilog módulo llamado "palanca" con las entradas, En, D, R, F y salidas Y como sigue:
(1 módulo) decoder_3_8
2 entrada [3:0] I,
entrada 3 D,
4 entrada R,
5 entrada F,
6 En entrada,
7 de salida Y [3:0]
8);
Similar a los pasos anteriores, vamos a utilizar si declaración otra vez para aplicar la palanca de cambios.
1 reg [3:0] Y;
2
3 siempre @ (I, Ein)
4 comenzar
5 si (En == 0)
6 Y = I;
7 más
8 if (R == 0)
¿9 Y = (D == 0)? {I [2:0], F}: {F, QUE [3,1];}
más de 10
¿11 Y = (D == 0)? {I [2:0], [3]}: {I [0], [3,1]};
final 12
En el código anterior, {A, B} se utiliza para concatenar dos grupos de señales en un bus. Por ejemplo, Y = {i [2:0], F} significa Y [3,1] = I [2:0] y Y [0] = f el.
Crear un archivo de XDC y mapa:
-I [3:0] a SW3, SW2, SW1 y SW0
-R a SW7, D SW6, F SW5
-En a Btn0
-Y [3:0] LED 3-0