-- +-----------------------------+ -- | Copyright 1996 DOULOS | -- | Library: arithmetic | -- | designer : Tim Pagden | -- | opened: 25 Jul 1996 | -- +-----------------------------+ -- Architectures: -- 25.07.96 low_level architecture low_level of cla_5 is begin p_c0: process (p(0), g(0), c_in) begin c(0) <= (p(0) and c_in) or g(0); end process; p_c1: process (p(1 downto 0), g(1 downto 0), c_in) begin c(1) <= (p(1) and p(0) and c_in) or (p(1) and g(0)) or g(1); end process; p_c2: process (p(2 downto 0), g(2 downto 0), c_in) begin c(2) <= (p(2) and p(1) and p(0) and c_in) or (p(2) and p(1) and g(0)) or (p(2) and g(1)) or g(2); end process; p_c3: process (p(3 downto 0), g(3 downto 0), c_in) begin c(3) <= (p(3) and p(2) and p(1) and p(0) and c_in) or (p(3) and p(2) and p(1) and g(0)) or (p(3) and p(2) and g(1)) or (p(3) and g(2)) or g(3); end process; p_c4: process (p, g, c_in) begin c(4) <= (p(4) and p(3) and p(2) and p(1) and p(0) and c_in) or (p(4) and p(3) and p(2) and p(1) and g(0)) or (p(4) and p(3) and p(2) and g(1)) or (p(4) and p(3) and g(2)) or (p(4) and g(3)) or g(4); end process; p_propogate: process (p) begin p_out <= p(0) and p(1) and p(2) and p(3) and p(4); end process; p_generate: process (p(4 downto 1), g) begin g_out <= (p(4) and p(3) and p(2) and p(1) and g(0)) or (p(4) and p(3) and p(2) and g(1)) or (p(4) and p(3) and g(2)) or (p(4) and g(3)) or g(4); end process; end low_level;