coriolis/documentation/examples/AM2901/muxe.vst

559 lines
9.5 KiB
Plaintext

entity muxe is
port (
accu : in bit_vector(3 downto 0);
d : in bit_vector(3 downto 0);
i : in bit_vector(2 downto 0);
r : out bit_vector(3 downto 0);
ra : in bit_vector(3 downto 0);
rb : in bit_vector(3 downto 0);
s : out bit_vector(3 downto 0);
vdd : in bit;
vss : in bit
);
end muxe;
architecture structural of muxe is
Component o2_x2
port (
i0 : in bit;
i1 : in bit;
q : out bit;
vdd : in bit;
vss : in bit
);
end component;
Component on12_x1
port (
i0 : in bit;
i1 : in bit;
q : out bit;
vdd : in bit;
vss : in bit
);
end component;
Component inv_x2
port (
i : in bit;
nq : out bit;
vdd : in bit;
vss : in bit
);
end component;
Component o3_x2
port (
i0 : in bit;
i1 : in bit;
i2 : in bit;
q : out bit;
vdd : in bit;
vss : in bit
);
end component;
Component no4_x1
port (
i0 : in bit;
i1 : in bit;
i2 : in bit;
i3 : in bit;
nq : out bit;
vdd : in bit;
vss : in bit
);
end component;
Component na3_x1
port (
i0 : in bit;
i1 : in bit;
i2 : in bit;
nq : out bit;
vdd : in bit;
vss : in bit
);
end component;
Component na2_x1
port (
i0 : in bit;
i1 : in bit;
nq : out bit;
vdd : in bit;
vss : in bit
);
end component;
Component a2_x2
port (
i0 : in bit;
i1 : in bit;
q : out bit;
vdd : in bit;
vss : in bit
);
end component;
Component nao22_x1
port (
i0 : in bit;
i1 : in bit;
i2 : in bit;
nq : out bit;
vdd : in bit;
vss : in bit
);
end component;
Component no2_x1
port (
i0 : in bit;
i1 : in bit;
nq : out bit;
vdd : in bit;
vss : in bit
);
end component;
Component an12_x1
port (
i0 : in bit;
i1 : in bit;
q : out bit;
vdd : in bit;
vss : in bit
);
end component;
Component no3_x1
port (
i0 : in bit;
i1 : in bit;
i2 : in bit;
nq : out bit;
vdd : in bit;
vss : in bit
);
end component;
signal not_i : bit_vector( 2 downto 0);
signal on12_x1_sig : bit;
signal on12_x1_2_sig : bit;
signal o3_x2_sig : bit;
signal o3_x2_2_sig : bit;
signal not_aux2 : bit;
signal not_aux1 : bit;
signal not_aux0 : bit;
signal no2_x1_sig : bit;
signal no2_x1_5_sig : bit;
signal no2_x1_4_sig : bit;
signal no2_x1_3_sig : bit;
signal no2_x1_2_sig : bit;
signal nao22_x1_sig : bit;
signal na3_x1_sig : bit;
signal na3_x1_6_sig : bit;
signal na3_x1_5_sig : bit;
signal na3_x1_4_sig : bit;
signal na3_x1_3_sig : bit;
signal na3_x1_2_sig : bit;
signal na2_x1_sig : bit;
signal na2_x1_3_sig : bit;
signal na2_x1_2_sig : bit;
signal inv_x2_sig : bit;
signal inv_x2_2_sig : bit;
signal aux4 : bit;
signal aux3 : bit;
signal an12_x1_sig : bit;
signal an12_x1_2_sig : bit;
signal a2_x2_sig : bit;
signal a2_x2_2_sig : bit;
begin
not_aux2_ins : a2_x2
port map (
i0 => not_aux0,
i1 => not_i(0),
q => not_aux2,
vdd => vdd,
vss => vss
);
not_aux1_ins : o2_x2
port map (
i0 => i(0),
i1 => not_aux0,
q => not_aux1,
vdd => vdd,
vss => vss
);
not_aux0_ins : a2_x2
port map (
i0 => i(2),
i1 => not_i(1),
q => not_aux0,
vdd => vdd,
vss => vss
);
not_i_2_ins : inv_x2
port map (
i => i(2),
nq => not_i(2),
vdd => vdd,
vss => vss
);
not_i_1_ins : inv_x2
port map (
i => i(1),
nq => not_i(1),
vdd => vdd,
vss => vss
);
not_i_0_ins : inv_x2
port map (
i => i(0),
nq => not_i(0),
vdd => vdd,
vss => vss
);
aux4_ins : an12_x1
port map (
i0 => i(1),
i1 => ra(3),
q => aux4,
vdd => vdd,
vss => vss
);
aux3_ins : an12_x1
port map (
i0 => i(1),
i1 => ra(1),
q => aux3,
vdd => vdd,
vss => vss
);
na3_x1_ins : na3_x1
port map (
i0 => rb(0),
i1 => i(0),
i2 => not_i(2),
nq => na3_x1_sig,
vdd => vdd,
vss => vss
);
na3_x1_2_ins : na3_x1
port map (
i0 => ra(0),
i1 => i(2),
i2 => not_i(1),
nq => na3_x1_2_sig,
vdd => vdd,
vss => vss
);
on12_x1_ins : on12_x1
port map (
i0 => accu(0),
i1 => not_aux1,
q => on12_x1_sig,
vdd => vdd,
vss => vss
);
s_0_ins : na3_x1
port map (
i0 => on12_x1_sig,
i1 => na3_x1_2_sig,
i2 => na3_x1_sig,
nq => s(0),
vdd => vdd,
vss => vss
);
na2_x1_ins : na2_x1
port map (
i0 => i(2),
i1 => aux3,
nq => na2_x1_sig,
vdd => vdd,
vss => vss
);
na3_x1_3_ins : na3_x1
port map (
i0 => rb(1),
i1 => i(0),
i2 => not_i(2),
nq => na3_x1_3_sig,
vdd => vdd,
vss => vss
);
on12_x1_2_ins : on12_x1
port map (
i0 => accu(1),
i1 => not_aux1,
q => on12_x1_2_sig,
vdd => vdd,
vss => vss
);
s_1_ins : na3_x1
port map (
i0 => on12_x1_2_sig,
i1 => na3_x1_3_sig,
i2 => na2_x1_sig,
nq => s(1),
vdd => vdd,
vss => vss
);
inv_x2_ins : inv_x2
port map (
i => accu(2),
nq => inv_x2_sig,
vdd => vdd,
vss => vss
);
o3_x2_ins : o3_x2
port map (
i0 => i(0),
i1 => not_aux0,
i2 => inv_x2_sig,
q => o3_x2_sig,
vdd => vdd,
vss => vss
);
na3_x1_4_ins : na3_x1
port map (
i0 => rb(2),
i1 => i(0),
i2 => not_i(2),
nq => na3_x1_4_sig,
vdd => vdd,
vss => vss
);
na2_x1_2_ins : na2_x1
port map (
i0 => ra(2),
i1 => not_aux0,
nq => na2_x1_2_sig,
vdd => vdd,
vss => vss
);
s_2_ins : na3_x1
port map (
i0 => na2_x1_2_sig,
i1 => na3_x1_4_sig,
i2 => o3_x2_sig,
nq => s(2),
vdd => vdd,
vss => vss
);
a2_x2_ins : a2_x2
port map (
i0 => rb(3),
i1 => accu(3),
q => a2_x2_sig,
vdd => vdd,
vss => vss
);
nao22_x1_ins : nao22_x1
port map (
i0 => i(2),
i1 => a2_x2_sig,
i2 => aux4,
nq => nao22_x1_sig,
vdd => vdd,
vss => vss
);
inv_x2_2_ins : inv_x2
port map (
i => accu(3),
nq => inv_x2_2_sig,
vdd => vdd,
vss => vss
);
o3_x2_2_ins : o3_x2
port map (
i0 => i(0),
i1 => not_aux0,
i2 => inv_x2_2_sig,
q => o3_x2_2_sig,
vdd => vdd,
vss => vss
);
na3_x1_5_ins : na3_x1
port map (
i0 => rb(3),
i1 => i(0),
i2 => not_i(2),
nq => na3_x1_5_sig,
vdd => vdd,
vss => vss
);
s_3_ins : na3_x1
port map (
i0 => na3_x1_5_sig,
i1 => o3_x2_2_sig,
i2 => nao22_x1_sig,
nq => s(3),
vdd => vdd,
vss => vss
);
no2_x1_ins : no2_x1
port map (
i0 => ra(0),
i1 => i(2),
nq => no2_x1_sig,
vdd => vdd,
vss => vss
);
no2_x1_2_ins : no2_x1
port map (
i0 => i(2),
i1 => not_i(1),
nq => no2_x1_2_sig,
vdd => vdd,
vss => vss
);
no2_x1_3_ins : no2_x1
port map (
i0 => d(0),
i1 => not_i(2),
nq => no2_x1_3_sig,
vdd => vdd,
vss => vss
);
r_0_ins : no4_x1
port map (
i0 => no2_x1_3_sig,
i1 => not_aux2,
i2 => no2_x1_2_sig,
i3 => no2_x1_sig,
nq => r(0),
vdd => vdd,
vss => vss
);
no2_x1_4_ins : no2_x1
port map (
i0 => d(1),
i1 => not_i(2),
nq => no2_x1_4_sig,
vdd => vdd,
vss => vss
);
an12_x1_ins : an12_x1
port map (
i0 => aux3,
i1 => not_i(2),
q => an12_x1_sig,
vdd => vdd,
vss => vss
);
r_1_ins : no3_x1
port map (
i0 => not_aux2,
i1 => an12_x1_sig,
i2 => no2_x1_4_sig,
nq => r(1),
vdd => vdd,
vss => vss
);
na3_x1_6_ins : na3_x1
port map (
i0 => ra(2),
i1 => not_i(1),
i2 => not_i(2),
nq => na3_x1_6_sig,
vdd => vdd,
vss => vss
);
na2_x1_3_ins : na2_x1
port map (
i0 => d(2),
i1 => i(2),
nq => na2_x1_3_sig,
vdd => vdd,
vss => vss
);
a2_x2_2_ins : a2_x2
port map (
i0 => not_i(1),
i1 => not_i(0),
q => a2_x2_2_sig,
vdd => vdd,
vss => vss
);
r_2_ins : nao22_x1
port map (
i0 => a2_x2_2_sig,
i1 => na2_x1_3_sig,
i2 => na3_x1_6_sig,
nq => r(2),
vdd => vdd,
vss => vss
);
no2_x1_5_ins : no2_x1
port map (
i0 => d(3),
i1 => not_i(2),
nq => no2_x1_5_sig,
vdd => vdd,
vss => vss
);
an12_x1_2_ins : an12_x1
port map (
i0 => aux4,
i1 => not_i(2),
q => an12_x1_2_sig,
vdd => vdd,
vss => vss
);
r_3_ins : no3_x1
port map (
i0 => not_aux2,
i1 => an12_x1_2_sig,
i2 => no2_x1_5_sig,
nq => r(3),
vdd => vdd,
vss => vss
);
end structural;