Stap 5: Belangrijkste Module
Deze module stukken alle van de andere modules samen om het volledige alarmsysteem. Het ontvangt informatie rechtstreeks van de IR-einde stralensensor het geactiveerde vaststellen en herkent of het systeem is in een gewapende of ontwapend staat of niet. Het systeem is bewapend door dia schakelaars op de bodem van de FPGA-bestuur; één pin inschakelen van het systeem, en die het systeem uitschakelen zodra het is verrekend. De pinnen voor de wissels en kruisingen vindt u op pagina 36 van de gebruikershandleiding.
Deze module geeft input aan beide de andere modules.
De code is als volgt:
Belangrijkste module
module finalproject (armedIn, balk, clk, disarmedIn, armedState, beamOut, disarmedState, spreker, SSD, SSD1, SSD2, triggeredState);
invoer armedIn; // SW0
input lichtbundel;
input clk;
invoer disarmedIn; // SW1
uitvoer regarmedState = 0; //LEDR17
uitvoer beamOut; //LEDG0
uitvoer regdisarmedState = 1; //LEDR16
uitgang luidspreker;
uitgang [6:0] SSD, SSD1, SSD2;
uitgang reg triggeredState = 0;
met de parameter ingeschakeld = 1;
met de parameter uitgeschakeld = 0;
toewijzen van beamOut = straal; / / op de ledg0 vermeld, indien de lichtbundel gebroken is
kijken naar alle van de ingangen
altijd disarmedIn, lichtbundel)
beginnen
if (armedIn)
beginnen
armedState < = op;
disarmedState < = off;
einde
if (disarmedIn)
beginnen
armedState < = off;
disarmedState < = op;
triggeredState < = off;
einde
if ((Beam == 0) & & (armedState == 1) & & (disarmedState == 0))
triggeredState < = op;
einde
armedStatusDisplay display1(armedState,SSD,SSD1,SSD2); / / geeft de huidige status van het alarm op SSD
alarmSound alarm1 (spreker, clk, triggeredState); / / de noodklok te luiden
endmodule