Advertisement
Guest User

Untitled

a guest
Apr 6th, 2020
124
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
VHDL 1.11 KB | None | 0 0
  1.  
  2. library IEEE;
  3. use IEEE.STD_LOGIC_1164.ALL;
  4.  
  5.  
  6.  
  7. entity sum8bit is
  8.    generic (N: natural := 8);
  9.     Port ( COUT : out  STD_LOGIC;
  10.            CIN : in  STD_LOGIC;
  11.            x0 : in  STD_LOGIC_VECTOR (7 downto 0);
  12.            x1 : in  STD_LOGIC_VECTOR (7 downto 0);
  13.            y : out  STD_LOGIC_VECTOR (7 downto 0));
  14. end sum8bit;
  15.  
  16. architecture Behavioral of sum8bit is
  17.  
  18. component sum1bit is
  19.     Port ( CIN : in  STD_LOGIC;
  20.            x0 : in  STD_LOGIC;
  21.            x1 : in  STD_LOGIC;
  22.            COUT : out  STD_LOGIC;
  23.            y : out  STD_LOGIC);
  24. end component;
  25.  
  26. signal tmp:STD_LOGIC_VECTOR (N-1  downto 0);
  27.  
  28. begin
  29. g: for i in 0 to N-1 generate
  30.     i0: if i = 0 generate
  31.         S0: sum1bit port map (CIN => CIN, x0 => x0(i), x1 => x1(i), COUT => tmp(i), y => y(i));
  32.     end generate i0;
  33.     ina: if i > 0 and i < N-1 generate
  34.         SN: sum1bit port map (CIN => tmp(i-1), x0 => x0(i), x1 => x1(i), COUT => tmp(i), y => y(i));       
  35.     end generate ina;
  36.     in1: if i = N-1 generate
  37.         S7: sum1bit port map (CIN => tmp(i-1), x0 => x0(i), x1 => x1(i), COUT => COUT, y => y(i));
  38.     end generate in1;
  39.  
  40. end generate g;
  41.  
  42. end Behavioral;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement