0

我想只使用 4 到 2 优先级编码器制作一个 16 到 4 位优先级编码器?我正在使用verilog代码,我使用了六个4到2编码器。一开始我使用了 4 个编码器,然后我将它们的输出作为其他两个编码器的输入;但它根本无法正常工作!

4

1 回答 1

0
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 问题,请表明您已经完成了一些工作,并发布了不起作用的代码。如果您有作业问题,请咨询您的教授。

于 2013-10-07T11:28:50.167 回答