-- +-----------------------------+ -- | Copyright 1996 DOULOS | -- | Library : arithmetic | -- | designer : Tim Pagden | -- | opened: 27 Jul 1996 | -- +-----------------------------+ -- Architectures: -- 27.07.96 look_ahead library vfp; library combinatorial; library arithmetic; architecture look_ahead of adder_14 is use vfp.bus_class.all; use combinatorial.xor_2_cmpt.all; use combinatorial.and_2_cmpt.all; use arithmetic.cla_14_cmpt.all; signal p: std_ulogic_vector(13 downto 0); signal g: std_ulogic_vector(13 downto 0); signal carry: std_ulogic_vector(13 downto 0); signal ab_in: ulogic_2_vector(13 downto 0); signal sum_in: ulogic_2_vector(13 downto 0); begin pg: for i in 0 to 13 generate s0 : ab_in(i) <= a(i) & b(i); px: xor_2 port map (ab_in(i), p(i)); ga: and_2 port map (ab_in(i), g(i)); sum: xor_2 port map (sum_in(i), y(i)); if_cin: if i = 0 generate s1 : sum_in(i) <= p(i) & c_in; end generate; if_cla_carry: if i /= 0 generate s1 : sum_in(i) <= p(i) & carry(i-1); end generate; end generate; cla: cla_14 port map ( p => p, g => g, c_in => c_in, c => carry, p_out => open, g_out => open ); c_out <= carry(13); end look_ahead;