Quiero O los bits de un vector juntos. Digamos que tengo un vector llamado example(23 downto 0)
y quiero O todos los bits en otro vector, ¿hay alguna manera de hacer esto que no implique ir example(0) or example(1) or ...example(23)
?
11
or_result <= '0' when input=X"00000000" else '1';
Cambie el número de ceros para que coincida con la longitud del vector en cuestión.result <= '0' when (example=(example'range=>'0')) else '1';
Respuestas:
or_reduce
es lo que quieres y está disponible enstd_logic_misc
. Compatible con A y X para FPGA.fuente
and_reduce
Es el otro útil.Verilog tiene un conveniente "operador de reducción" que hace exactamente lo que usted está pidiendo:
|example[23:0]
da el resultado de OR'ing todos los bits delexample
vector.Lamentablemente, VHDL no tiene este operador. Sin embargo, según las preguntas frecuentes de comp.lang.vhdl
fuente