Advertisement
Guest User

Untitled

a guest
Oct 18th, 2017
234
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
VHDL 4.43 KB | None | 0 0
  1. ----------------------------------------------------------------------------------
  2. ----------------------------------------------------------------------------------
  3. library IEEE;
  4. use IEEE.STD_LOGIC_1164.ALL;
  5.  
  6. entity complemento_de_1 is
  7.     Port ( a : in STD_LOGIC;
  8.            m : in STD_LOGIC;
  9.            s : out STD_LOGIC);
  10. end complemento_de_1;
  11.  
  12. architecture Behavioral of complemento_de_1 is
  13.  
  14. begin
  15.     s <= a xor m;
  16. end Behavioral;
  17. ----------------------------------------------------------------------------------
  18. ----------------------------------------------------------------------------------
  19. library IEEE;
  20. use IEEE.STD_LOGIC_1164.ALL;
  21.  
  22. entity comp_de_1_de_3_bits is
  23.     Port ( va : in STD_LOGIC_VECTOR (2 downto 0);
  24.            md : in STD_LOGIC;
  25.            vs : out STD_LOGIC_VECTOR (2 downto 0));
  26. end comp_de_1_de_3_bits;
  27.  
  28. architecture Behavioral of comp_de_1_de_3_bits is
  29.     component complemento_de_1 is
  30.     Port ( a : in STD_LOGIC;
  31.            m : in STD_LOGIC;
  32.            s : out STD_LOGIC);
  33.     end component;
  34.  
  35. begin
  36.     r0 : complemento_de_1 port map(a => va(0), m => md, s => vs(0));
  37.     r1 : complemento_de_1 port map(a => va(1), m => md, s => vs(1));
  38.     r2 : complemento_de_1 port map(a => va(2), m => md, s => vs(2));
  39. end Behavioral;
  40. ----------------------------------------------------------------------------------
  41. ----------------------------------------------------------------------------------
  42. library IEEE;
  43. use IEEE.STD_LOGIC_1164.ALL;
  44.  
  45. entity somador_de_1_bit is
  46.     Port ( a : in STD_LOGIC;
  47.            b : in STD_LOGIC;
  48.            cin : in STD_LOGIC;
  49.            r : out STD_LOGIC;
  50.            cout : out STD_LOGIC);
  51. end somador_de_1_bit;
  52.  
  53. architecture Behavioral of somador_de_1_bit is
  54.  
  55. begin    
  56.     r <= a xor b xor cin;
  57.     cout <= (a and b) or (a and cin) or (b and cin);
  58. end Behavioral;
  59. ----------------------------------------------------------------------------------
  60. ----------------------------------------------------------------------------------
  61. library IEEE;
  62. use IEEE.STD_LOGIC_1164.ALL;
  63.  
  64. entity somador_de_3_bits is
  65.     Port ( va : in STD_LOGIC_VECTOR (2 downto 0);
  66.            vb : in STD_LOGIC_VECTOR (2 downto 0);
  67.            zin : in STD_LOGIC;
  68.            vr : out STD_LOGIC_VECTOR (2 downto 0);
  69.            zout : out STD_LOGIC);
  70. end somador_de_3_bits;
  71.  
  72. architecture Behavioral of somador_de_3_bits is
  73.     component somador_de_1_bit
  74.     Port ( a : in STD_LOGIC;
  75.            b : in STD_LOGIC;
  76.            cin : in STD_LOGIC;
  77.            r : out STD_LOGIC;
  78.            cout : out STD_LOGIC);
  79.     end component;
  80.    
  81.     signal v : STD_LOGIC_VECTOR (2 downto 1);
  82.  
  83. begin
  84.     bit1 : somador_de_1_bit port map(a => va(0), b => vb(0), cin =>  zin, r => vr(0), cout => v(1));
  85.     bit2 : somador_de_1_bit port map(a => va(1), b => vb(1), cin => v(1), r => vr(1), cout => v(2));
  86.     bit3 : somador_de_1_bit port map(a => va(2), b => vb(2), cin => v(2), r => vr(2), cout => zout);      
  87. end Behavioral;
  88. ----------------------------------------------------------------------------------
  89. ----------------------------------------------------------------------------------
  90. library IEEE;
  91. use IEEE.STD_LOGIC_1164.ALL;
  92.  
  93. entity somador_subtrator is
  94.     Port ( a_vector : in STD_LOGIC_VECTOR (2 downto 0);
  95.            b_vector : in STD_LOGIC_VECTOR (2 downto 0);
  96.            c_in : in STD_LOGIC;
  97.            modo : in STD_LOGIC;
  98.            r_vector : out STD_LOGIC_VECTOR (2 downto 0);
  99.            c_out : out STD_LOGIC);
  100. end somador_subtrator;
  101.  
  102. architecture Behavioral of somador_subtrator is
  103.     component comp_de_1_de_3_bits is
  104.     Port ( va : in STD_LOGIC_VECTOR (2 downto 0);
  105.            md : in STD_LOGIC;
  106.            vs : out STD_LOGIC_VECTOR (2 downto 0));
  107.     end component;
  108.    
  109.     component somador_de_3_bits is
  110.     Port ( va : in STD_LOGIC_VECTOR (2 downto 0);
  111.            vb : in STD_LOGIC_VECTOR (2 downto 0);
  112.            zin : in STD_LOGIC;
  113.            vr : out STD_LOGIC_VECTOR (2 downto 0);
  114.            zout : out STD_LOGIC);
  115.     end component;
  116.        
  117.     signal s_inv : STD_LOGIC_VECTOR (2 downto 0);
  118.  
  119. begin
  120.     P1 : comp_de_1_de_3_bits port map(va => b_vector, md => modo, vs => s_inv);
  121.     P2 : somador_de_3_bits port map(va => a_vector, vb => s_inv, zin => modo, vr => r_vector, zout => c_out);
  122. end Behavioral;
  123. ----------------------------------------------------------------------------------
  124. ----------------------------------------------------------------------------------
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement