Paso 5: Módulo principal
Este módulo de piezas de todos los otros módulos para obtener el sistema de alarma completo. Recibe información directamente desde el sensor IR rotura de la viga para determinar el estado disparo y reconoce o no el sistema está en un estado armado o desarmado. El sistema está armado por interruptores deslizantes en la parte inferior de la tarjeta FPGA; un pin para activar el sistema y uno para apagar el sistema una vez que se encuentra. Los pernos para los interruptores pueden encontrarse en las páginas 36 del manual del usuario.
Este módulo da entrada a dos de los otros módulos.
El código es el siguiente:
Módulo principal
módulo hetereogéneos (armedIn, viga, clk, disarmedIn, armedState, beamOut, disarmedState, altavoz, SSD, SSD1, SSD2, triggeredState);
armedIn entrada ; // SW0
Haz de entrada ;
entrada clk;
disarmedIn entrada ; // SW1
regarmedState de salida = 0; //LEDR17
beamOut de salida ; //LEDG0
salida regdisarmedState = 1; //LEDR16
salida de altavoz;
salida [6:0] SSD, SSD1, SSD2;
salida reg triggeredState = 0;
parámetro a = 1;
parámetro off = 0;
asignar beamOut = viga; / indicada en ledg0 si la viga se rompe
ver todas las entradas
siempre disarmedIn, rayo)
comenzar
if (armedIn)
comenzar
armedState < =;
disarmedState < = off;
final
if (disarmedIn)
comenzar
armedState < = off;
disarmedState < =;
triggeredState < = off;
final
if ((Beam == 0) & & (armedState == 1) & & (disarmedState == 0))
triggeredState < =;
final
display1(armedState,SSD,SSD1,SSD2) de armedStatusDisplay; / / muestra el estado actual de la alarma en SSD
alarmSound alarm1 (altavoz, clk, triggeredState); / / la alarma de sonido
endmodule