Which method is better ? (about mux)

F

Fano

HI, all
I've encounter to write a multiplexer many times , for example, a
four-bit mux:

library ieee;
use ieee.std_logic_1164.all;

entity mux4 is
port (X,Y : in std_ulogic_vector(3 downto 0);
Sel : in std_ulogic;
Z : out std_ulogic_vector(3 downto 0));
end entity;

and I found out there would be two method to implement it:
ONE:
Z <= X when Sel = '0' else Y;

THE OTHER:
Z <= X when Sel = '0' else
Y when Sel = '1' else
(others => '-');

I know that if the signal's type is 'bit'/'bit_vector" , there would
not be much to discuss, but now the
signal is a multiple value logic....
Are those two method equivalent ? which one is better? I mean which
one would require less
resource or/and operate fast when it 's synthesized? Is there any
method other than those
two more better?

Thanks
//Fano
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,744
Messages
2,569,484
Members
44,906
Latest member
SkinfixSkintag

Latest Threads

Top