-- +-----------------------------+ -- | Copyright 1996 DOULOS | -- | Library: arithmetic | -- | designer : Tim Pagden | -- | opened: 28 Jul 1996 | -- +-----------------------------+ -- Architectures: -- 28.07.96 look_ahead library combinatorial; library arithmetic; architecture look_ahead of adder_25 is use combinatorial.xor_2_cmpt.all; use combinatorial.and_2_cmpt.all; use arithmetic.cla_25_cmpt.all; type logic_2_vector is array (integer range <>) of std_logic_vector(1 downto 0); signal p: std_logic_vector(24 downto 0); signal g: std_logic_vector(24 downto 0); signal carry: std_logic_vector(24 downto 0); signal ab_in: logic_2_vector(24 downto 0); signal sum_in: logic_2_vector(24 downto 0); begin pg: for i in 0 to 24 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_25 port map ( p => p, g => g, c_in => c_in, c => carry, p_out => open, g_out => open ); c_out <= carry(24); end look_ahead; <div align="center"><br /><script type="text/javascript"><!-- google_ad_client = "pub-7293844627074885"; //468x60, Created at 07. 11. 25 google_ad_slot = "8619794253"; google_ad_width = 468; google_ad_height = 60; //--></script> <script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script><br /> </div>