--
-- Rcsid[] = "$Id: mux_4bit.vhd,v 2.1 1993/10/06 01:04:36 alex Exp $";
--

entity mux_4bit is
port(Y: out bit_vector(0 to 3);
	 A,B: in bit_vector(0 to 3);
	 choose: in bit);
end;

architecture structure of mux_4bit is

signal choose_buf, choose_not, pick_A1, pick_B1: bit;
signal a5, a6, a7, a8, a9, a10: bit;

begin
U1 : inv_gate generic map(2,2) port map(choose_not,choose);
U2 : inv_gate generic map(2,2) port map(choose_buf,choose_not);
U3 : and_gate generic map(2,2) port map(pick_A1,choose_not,A(0));
U4 : and_gate generic map(2,2) port map(pick_B1,choose_buf,B(0));
U5 : and_gate generic map(2,2) port map(a5,choose_not,A(1));
U6 : and_gate generic map(2,2) port map(a6,choose_buf,B(1));
U7 : and_gate generic map(2,2) port map(a7,choose_not,A(2));
U8 : and_gate generic map(2,2) port map(a8,choose_buf,B(2));
U9 : and_gate generic map(2,2) port map(a9,choose_not,A(3));
U10 : and_gate generic map(2,2) port map(a10,choose_buf,B(3));
U11 : or_gate generic map(2,2) port map(Y(0),pick_A1,pick_B1);
U12 : or_gate generic map(2,2) port map(Y(1),a5,a6);
U13 : or_gate generic map(2,2) port map(Y(2),a7,a8);
U14 : or_gate generic map(2,2) port map(Y(3),a9,a10);
end structure;

<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>