-- +-----------------------------+ -- | Copyright 1996 DOULOS | -- | Library: arithmetic | -- | designer : Tim Pagden | -- | opened: 3 Aug 1996 | -- +-----------------------------+ -- Architectures: -- 03.08.96 original architecture low_level of cla_6 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_c5: process (p, g, c_in) begin c(5) <= (p(5) and p(4) and p(3) and p(2) and p(1) and p(0) and c_in) or (p(5) and p(4) and p(3) and p(2) and p(1) and g(0)) or (p(5) and p(4) and p(3) and p(2) and g(1)) or (p(5) and p(4) and p(3) and g(2)) or (p(5) and p(4) and g(3)) or (p(5) and g(4)) or g(5); end process; p_propogate: process (p) begin p_out <= p(0) and p(1) and p(2) and p(3) and p(4) and p(5); end process; p_generate: process (p(5 downto 1), g) begin g_out <= (p(5) and p(4) and p(3) and p(2) and p(1) and g(0)) or (p(5) and p(4) and p(3) and p(2) and g(1)) or (p(5) and p(4) and p(3) and g(2)) or (p(5) and p(4) and g(3)) or (p(5) and g(4)) or g(5); end process; end low_level;