Étape 3: Modules individuels de FPGA
DFF: Ce projet utilise 2 8 bits D-Flip Flops, utilisé pour stocker la température désirée et la tolérance. Cela permet à l’utilisateur de configurer leurs commutateurs à un nouveau réglage sans provoquer le comportement sporadique dans le ventilateur. Le DFF a 3 entrées : clk (horloge), d (7 downto 0) (valeur d’entrée), fr (enable) ; et 1 sortie: f (7 downto 0) (valeur de la production). Sur le front montant de l’horloge, si l’entrée enable est élevée, puis le DFF définit la valeur de sortie à la valeur d’entrée actuelle.
RCA: Ce projet utilise 2 8bits Ripple transporter additionneurs, permet de régler la température d’entrée du montant de la tolérance spécifiée par l’utilisateur. Le RCA a 2 entrées : une (7 downto 0), B (7 downto 0) ; et 1 sortie : S(7 downto 0) (somme). Le RCA utilise 7 des additionneurs complet et 1 Half Adder pour ajouter les deux valeurs d’entrée en comparant leurs mêmes bits de grandeur, ce qui entraîne une somme qui représente les numéros d’entrée additionnées.
Comparateur : Ce projet utilise 3 comparateurs de 8 bits, utilisés pour détecter l’état actuel de la balance de la température. Le comparateur a 2 entrées : une (7 downto 0), B (7 downto 0) ; et 2 sorties : LT (inférieur à), GT (supérieur à). Le comparateur va afficher une haute à LT si AB est true.
Multiplexeur : Ce projet utilise un multiplexeur 8-bit, pour choisir ce qui doit être affiché sur l’afficheur 7 segments, utilisant un one-chaud codé sélectionner le signal. Le multiplexeur a 4 entrées : un (7 downto 0), B (7 downto 0), C (7 downto 0), D (7 downto 0) ; 1 Sélectionnez signal : sel (4 downto 0) ; et 1 sortie : out (7 downto 0). Les sorties de multiplexeurs: D lorsque le 4e sélectionnez bit est élevé, C lorsque la 3e sélectionnez bit est élevée, B lorsque le 2ème Sélectionnez bit est élevé, A quand la 1ère sélectionnez bit est élevé et x « 00 » le reste du temps.
sseg_dec : Ce projet utilise un décodeur de Segment sept, pour afficher des informations à l’utilisateur sur les valeurs actuelles de température et les paramètres des valeurs binaires stockées dans décimal facilement lisible. Le sseg_dec a 4 entrées : ALU_VAL(7 downto 0) (entrée nombre binaire), SIGN (signé), valable, CLK (horloge) ; et 2 sorties : DISP_EN(3 downto 0) (anodes de chiffres), SEGMENTS(7 downto 0). Ce module a été fourni par notre moniteur dans un laboratoire et a été fait par Bryan Mealy. Dans notre projet, nous avons utilisé uniquement des nombres valides non signés, ce signe était égale à « 0 » et valide à « 1 ». Normalement, le nombre binaire d’entrée est converti en décimal codé en binaire, et puis les segments correctes et les anodes de chiffres sont éteints, cependant pour ce projet, nous avons changé l’écran est complètement désactivé si le nombre binaire d’entrée était de 0, pour économiser de l’énergie devrait rien ne doit être affiché.
Si vous souhaitez apporter des modifications au programme, le code source est répertorié ci-dessous.