additionneur complet ..

O

OKcomputer6

Guest
Je viens d'apprendre à écrire sur VHDL et j'ai terminé mon premier additionneur complet du code en utilisant des composants pour le xor, et, ou des barrières, mais im ne sais pas si son droit, quelqu'un pourrait s'il vous plaît me dire si cela est juste?Je n'ai pas écrit ce VHDL IVE sur le Bloc-notes ..

- Pour les portes XOR:

IEEE bibliothèque;
IEEE.std_logic_1164.all utilisation;Entité XOR_1 est
Port (x, y: dans std_logic;
z: std_logic out)
Architecture de comportement est XOR_1
Commencer
Processus (x, y)
Commencer
Si (X / Y =), puis
z <= '1 ';
d'autre
z <= '0 ';
fin si;
processus de bout;
XOR_1 fin;

- Pour les portes OU:

IEEE bibliothèque;
IEEE.std_logic_1164.all utilisation;Entité OR_1 est
Port (A1, B1: dans std_logic;
C1: std_logic out);
Fin OR_1
Architecture de comportement est OR_1
Commencer
Processus (A1, B1)
Commencer
if ((A1 = '0 ') et (B1 = '0')) alors
C1 <= '0 ';
d'autre
C1 <= '1 ';
fin si;
processus de bout;
OR_1 fin;

- Pour et portails:

IEEE bibliothèque;
IEEE.std_logic_1164.all utilisation;

Entité AND_1 est
Port (i1, i2: en std_logic;
OUT1: std_logic out);
AND_1 fin;
Architecture de comportement est AND_1
commencer
Processus (i1, i2)
Commencer
Si ((i1 = '1 ') et (i2 = '1')) alors
Out_1 <= '1 ';
D'autre
Out_1 <= '0 ';
Fin de si;
Terminer le processus;
Fin AND_1;

- Full_adder:

IEEE bibliothèque;
IEEE.std_logic_1164.all utilisation;

full_adder entité est:
port (a, b, c: en std_logic;
c_out: std_logic hors;
S1, temp1, temp2, temp3, ctemp: std_logic inout);

- J'ai utilisé le mode inout pour les ports utilisés comme une sortie dans certains états, puis en entrée dans d'autres déclarations.

full_adder fin;l'architecture structurelle des full_adder est la suivante:
composante est XOR_1
port (x, y: dans std_logic;
z: std_logic out);
composante fin XOR_1;
composante est OR_1
port (a, b: en std_logic;
c: std_logic out);
composante fin OR_1;
composante est AND_1
port (i1, i2: en std_logic;
OUT1: std_logic out);
composante fin AND_1;
commencer
xor_ab: carte port XOR_1 (x => A, Y => b, z = S1);
xor_c: carte port XOR_1 (x => S1, y => c, z = S);
and_ab: carte port AND_1 (i1 => A, i2 => b, OUT1 => temp1);
and_ac: carte port AND_1 (i1 => A, i2 => c, OUT1 => temp2);
and_bc: carte port AND_1 (i1 => b, i2 => c, OUT1 => temp3);
or_ab: carte port OR_1 (A1 => temp1, B1 => temp2, C1 => ctemp);
or_abc: carte port OR_1 (A1 => temp3, B1 => ctemp, C1 => c_out);

structurales;

Je vous remercie!

 

Welcome to EDABoard.com

Sponsor

Back
Top