--------------------------------------------------------
-- Signal vs. Variable (sig_var.vhd)
-- Look at the outputs in simulation waveform
-- for same computation, we get two different results
--
-- by Weijun Zhang, 05/2001
--------------------------------------------------------

library ieee;
use ieee.std_logic_1164.all;

entity sig_var is
port(	d1, d2, d3:	in std_logic;
	res1, res2:	out std_logic);
end sig_var;

architecture behv of sig_var is

  signal sig_s1: std_logic;

begin
	
  proc1: process(d1,d2,d3)
	
    variable var_s1: std_logic;
 
  begin
	var_s1 := d1 and d2;
	res1 <= var_s1 xor d3;
  end process;
		

  proc2: process(d1,d2,d3)
  begin
	sig_s1 <= d1 and d2;
	res2 <= sig_s1 xor d3;
  end process;

end behv;

	
	
	
	

<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 />&nbsp;</div>