VL15 优先编码器Ⅰ

两种思路

timescale 复制代码
module encoder_83(
   input      [7:0]       I   ,
   input                  EI  ,
   
   output wire [2:0]      Y   ,
   output wire            GS  ,
   output wire            EO    
);

reg [4:0] temp1 ;
always @(*) begin
    casex({EI,I}) 
        9'b0_xxxx_xxxx:begin temp1 = 5'b000_0_0;end
        9'b1_0000_0000:begin temp1 = 5'b000_0_1;end
        9'b1_1xxx_xxxx:begin temp1 = 5'b111_1_0;end
        9'b1_01xx_xxxx:begin temp1 = 5'b110_1_0;end
        9'b1_001x_xxxx:begin temp1 = 5'b101_1_0;end
        9'b1_0001_xxxx:begin temp1 = 5'b100_1_0;end
        9'b1_0000_1xxx:begin temp1 = 5'b011_1_0;end
        9'b1_0000_01xx:begin temp1 = 5'b010_1_0;end
        9'b1_0000_001x:begin temp1 = 5'b001_1_0;end
        9'b1_0000_0001:begin temp1 = 5'b000_1_0;end
    endcase
end

assign {Y,GS,EO} =temp1;
//    assign Y[0] =  EI & (I[7] | ~I[6]&I[5] | ~I[6]&~I[4]&I[3] | ~I[6]&~I[4]&~I[2]&I[1]);
//    assign Y[1] =  EI & (I[7] | I[6] | ~I[5]&~I[4]&I[3] | ~I[5]&~I[4]&I[2]);
//    assign Y[2] =  EI && (I[4] | I[5] | I[6] | I[7]) ;

//    assign GS = EI && (I[0] | I[1] | I[2] | I[3]| I[4]| I[5]| I[6]| I[7])  ;
//    assign EO =  EI && ~(I[0] | I[1] | I[2] | I[3]| I[4]| I[5]| I[6]| I[7])   ;





endmodule
timescale 复制代码
module encoder_83(
   input      [7:0]       I   ,
   input                  EI  ,
   
   output wire [2:0]      Y   ,
   output wire            GS  ,
   output wire            EO    
);

//reg [4:0] temp1 ;
//always @(*) begin
//    casex({EI,I}) 
//        9'b0_xxxx_xxxx:begin temp1 = 5'b000_0_0;end
//        9'b1_0000_0000:begin temp1 = 5'b000_0_1;end
//        9'b1_1xxx_xxxx:begin temp1 = 5'b111_1_0;end
//        9'b1_01xx_xxxx:begin temp1 = 5'b110_1_0;end
//        9'b1_001x_xxxx:begin temp1 = 5'b101_1_0;end
//        9'b1_0001_xxxx:begin temp1 = 5'b100_1_0;end
//        9'b1_0000_1xxx:begin temp1 = 5'b011_1_0;end
//        9'b1_0000_01xx:begin temp1 = 5'b010_1_0;end
//        9'b1_0000_001x:begin temp1 = 5'b001_1_0;end
//        9'b1_0000_0001:begin temp1 = 5'b000_1_0;end
//    endcase
//end

//assign {Y,GS,EO} =temp1;

    assign Y[0] =  EI & (I[7] | ~I[6]&I[5] | ~I[6]&~I[4]&I[3] | ~I[6]&~I[4]&~I[2]&I[1]);
    assign Y[1] =  EI & (I[7] | I[6] | ~I[5]&~I[4]&I[3] | ~I[5]&~I[4]&I[2]);
    assign Y[2] =  EI && (I[4] | I[5] | I[6] | I[7]) ;

    assign GS = EI && (I[0] | I[1] | I[2] | I[3]| I[4]| I[5]| I[6]| I[7])  ;
    assign EO =  EI && ~(I[0] | I[1] | I[2] | I[3]| I[4]| I[5]| I[6]| I[7])   ;





endmodule
相关推荐
9527华安1 小时前
FPGA实现Aurora 64B66B图像视频点对点传输,基于GTH高速收发器,提供2套工程源码和技术支持
fpga开发·音视频·aurora·gth·高速收发器·64b66b
XINVRY-FPGA11 小时前
EPM240T100I5N Altera FPGA MAX II CPLD
人工智能·嵌入式硬件·fpga开发·硬件工程·dsp开发·射频工程·fpga
第二层皮-合肥17 小时前
FPGA实现ETH接口
单片机·嵌入式硬件·fpga开发
璞致电子20 小时前
【PZ-ZU47DR-KFB】璞致FPGA ZYNQ UltraScalePlus RFSOC QSPI Flash 固化常见问题说明
嵌入式硬件·fpga开发·fpga·软件无线电·sdr
陌夏微秋21 小时前
FPGA硬件设计2 最小芯片系统-ZYNQ7020/7010
嵌入式硬件·fpga开发·硬件架构·硬件工程·信息与通信·智能硬件
风已经起了1 天前
FPGA学习笔记——IIC协议简介
笔记·学习·fpga开发
逐梦之程2 天前
FPGA-Vivado2017.4-建立AXI4用于单片机与FPGA之间数据互通
fpga开发
XINVRY-FPGA2 天前
10CL016YF484C8G Altera FPGA Cyclone
嵌入式硬件·网络协议·fpga开发·云计算·硬件工程·信息与通信·fpga
嵌入式-老费3 天前
产品开发实践(常见的软硬结合方式)
fpga开发
FakeOccupational3 天前
【电路笔记 通信】AXI4-Lite协议 FPGA实现 & Valid-Ready Handshake 握手协议
笔记·fpga开发