Stap 3: Afzonderlijke Modules van FPGA
DFF: Dit project maakt gebruik van 2 8-bit D-Flip Flops, gebruikt voor het opslaan van de gewenste temperatuur en de tolerantie. Hierdoor kan de gebruiker hun schakelt u over naar een nieuwe instelling te configureren zonder de sporadische probleem veroorzaakt in de ventilator. De DFF heeft 3 ingangen: clk (klok), d (7 downto 0) (invoerwaarde), nl (inschakelen); en 1 uitgang: f (7 downto 0) (uitgang waarde). Op de stijgende rand van de klok, als de input inschakelen hoog is, vervolgens de DFF uitvoer wordt de waarde ingesteld op de huidige waarde van de invoer.
RCA: Dit project maakt gebruik van 2 8-bit Ripple voeren Adders, waarmee u de invoer temperaturen kunt aanpassen door de hoeveelheid tolerantie door de gebruiker opgegeven. De RCA heeft 2 ingangen: een (7 downto 0), B (7 downto 0); en 1 uitgang: S(7 downto 0) (som). De RCA gebruik 7 volledige Adders en 1 Half Adder toe te voegen de twee invoerwaarden door te vergelijken hun dezelfde waarde-bits, resulterend in een bedrag waarmee de input nummers toegevoegd samen.
Comparator: Dit project maakt gebruik van 3 8-bit comparatoren, gebruikt voor het opsporen van de huidige staat van de balans van de temperatuur. De Comparator heeft 2 ingangen: een (7 downto 0), B (7 downto 0); en 2 uitgangen: LT (kleiner dan), GT (groter dan). De Comparator zal een hoge aan LT output als AB klopt.
Multiplexer: Dit project maakt gebruik van een 8-bits Multiplexer, gecodeerd om te kiezen wat moet worden weergegeven op het display van de zeven segment, met behulp van een één-hete Selecteer signaal. De Multiplexer heeft 4 ingangen: een (7 downto 0), B (7 downto 0), C (7 downto 0), D (7 downto 0); 1 Selecteer signaal: sel (4 downto 0); en 1 uitgang: uit (7 downto 0). De multiplexer uitgangen: D wanneer de 4e bits selecteert is hoge C wanneer de 3e bits selecteert is hoog, B wanneer de 2e bits selecteert is hoog, A wanneer de 1e bits selecteert is hoog, en x "00" de rest van de tijd.
sseg_dec: Dit project maakt gebruik van een zeven Segment Decoder, voor het weergeven van informatie aan de gebruiker over de huidige temperatuur waarden en instellingen uit de opgeslagen binaire waarden in gemakkelijk leesbare decimaal. De sseg_dec heeft 4 ingangen: ALU_VAL(7 downto 0) (ingang binair getal), teken (ondertekend), geldig, CLK (klok); en 2 uitgangen: DISP_EN(3 downto 0) (cijfer anoden), SEGMENTS(7 downto 0). Deze module werd geleverd door onze instructeur in een lab, en werd gemaakt door Bryan Mealy. In ons project gebruikten we alleen niet-ondertekende geldige getallen, dus aanmelden is ingesteld op '0', en geldig op '1'. Normaal gesproken, de input binaire getal wordt omgezet in binair gecodeerde decimaal, en vervolgens de juiste segmenten en cijfers anoden zijn uitgeschakeld, echter voor dit project dat we weer te worden volledig uit de input binaire getal is 0, wanneer u wilt energie besparen indien veranderd niets hoeft te worden weergegeven.
Wilt u wijzigingen aanbrengen in het programma, wordt de broncode hieronder vermeld.