使用4to2位编码器创建16to4位优先级编码器

时间:2013-10-06 13:08:02

标签: verilog hdl

我想使用4到2个优先级编码器制作16to4位优先级编码器? 我使用的是verilog代码,我使用了6个4到2个编码器。在第一个我使用4个编码器,然后我把他们的输出输入其他拖车编码器;但它根本无法正常工作!

1 个答案:

答案 0 :(得分: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问题,请证明您已完成一些工作,并发布不起作用的代码。如果你有家庭作业问题,请问你的教授。