создание кодировщика с приоритетом от 16 до 4 бит с помощью кодировщика с приоритетом от 4 до 2 бит

Я хочу сделать кодировщик с приоритетом от 16 до 4 бит, просто используя кодировщик с приоритетом от 4 до 2? Я использую код Verilog, я использовал шесть кодировщиков 4 на 2. сначала я использовал 4 энкодера, а после этого я поставил их выход на вход двух других энкодеров; а вообще работает не корректно!


person sarah sh    schedule 06.10.2013    source источник


Ответы (1)


module pri16to4
   (input  wire[15:0] in,
    output wire       valid,
    output wire [3:0] out);

   wire[1:0] pe3, pe2, pe1, pe0;

   U3(in[15:12], pe3);
   U2(in[11:8],  pe2);
   U1(in[7:4],   pe1);
   U0(in[3:0],   pe0);

   assign valid = (in != 0);
   assign out = (in[15:12] != 0)? {2'b11, pe3} :
                (in[11:8]  != 0)? {2'b10, pe2} :
                (in[7:4]   != 0)? {2'b01, pe1} :
                (in[3:0]   != 0)? {2'b00, pe0} : 0;

endmodule

Для дальнейшего использования — если у вас возникла проблема с Verilog, покажите, что вы проделали некоторую работу, и опубликуйте код, который не работает. Если у вас есть проблема с домашним заданием, спросите своего проф.

person EML    schedule 07.10.2013