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