¿Qué programador puede ayudarme a diseñar un codificador de prioridad de 8 líneas-3 líneas usando lenguaje VHDL y debe implementarse correctamente, gracias!
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.
entidad p_encoder es
puerto(st, in0, in1, in2, in3, in4, in5, in6, in7: bit de entrada
yex, ys, y0, y1, y2: bit de salida
end p_encoder;
la arquitectura rtl de p_encoder es
señal tmp_in:bit_vector(7 hasta 0);
señal tmp_out:bit_vector(4 hasta 0
);comenzar
tmp_in lt;=in7amp;in6amp;in5amp.in4amp;in3amp;in2amp;in1amp;in0;
proceso(st,tmp_in)
comenzar
if(st='0') entonces
if(tmp_in="11111111") entonces
tmp_outlt;="11110"; p> p>
elsif(tmp_in(7)='0') entonces
tmp_outlt;="00001";
elsif(tmp_in(6)='0' ) entonces
tmp_outlt.="00101";
elsif(tmp_in(5)='0')entonces
tmp_outlt;="01001"; /p >
elsif(tmp_in(4)='0')entonces
tmp_outlt;="01101";
elsif(tmp_in(3)='0')entonces
tmp_outlt;="10001";
elsif(tmp_in(2)='0')entonces
tmp_outlt;="10101";
elsif (tmp_in (1)='0')entonces
tmp_outlt;="11001";
elsif(tmp_in(0)='0')entonces
tmp_outlt;="11101";
finalizar si;
else
tmp_outlt;="11111";
finalizar si;
yslt;=tmp_out(0);yexlt;=tmp_out(1);y0lt;=tmp_out(2);y1lt;=tmp_out(3);y2lt;=tmp_out(4);
Finalizar proceso;
Finalizar rtl;