题解 #使用8线-3线优先编码器实现16线-4线优先编码器

使用8线-3线优先编码器Ⅰ实现16线-4线优先编码器

https://www.nowcoder.com/practice/dcfa838e43de4744bc976abee96dc566

`timescale 1ns/1ns
module encoder_83(
   input      [7:0]       I   ,
   input                  EI  ,  
   output wire [2:0]      Y   ,
   output wire            GS  ,
   output wire            EO    
);
assign Y[2] = EI & (I[7] | I[6] | I[5] | I[4]);
assign Y[1] = EI & (I[7] | I[6] | ~I[5]&~I[4]&I[3] | ~I[5]&~I[4]&I[2]);
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 EO = EI&~I[7]&~I[6]&~I[5]&~I[4]&~I[3]&~I[2]&~I[1]&~I[0];
assign GS = EI&(I[7] | I[6] | I[5] | I[4] | I[3] | I[2] | I[1] | I[0]);
//assign GS = EI&(| I);       
endmodule
module encoder_164(
   input      [15:0]      A   ,
   input                  EI  , 
   output wire [3:0]      L   ,
   output wire            GS  ,
   output wire            EO    
);
wire        GS1,EO1 ,GS2;
wire        [2:0]   Y1 ,Y2;
    encoder_83 U_ENCODER_83_U0 
    (
   /*input      [7:0] */      .I (A[15:8])  ,
   /*input            */      .EI(EI)  ,
   
   /*output wire [2:0]*/      .Y (Y1)  ,
   /*output wire      */      .GS(GS1) ,
   /* wire            */      .EO(EO1)   
    );
    encoder_83 U_ENCODER_83_U2 
    (
   /*input      [7:0] */      .I (A[7:0])  ,
   /*input            */      .EI(EO1)  ,
   
   /*output wire [2:0]*/      .Y (Y2)  ,
   /*output wire      */      .GS(GS2) ,
   /* wire            */      .EO(EO)   

    );
    assign  GS = GS1 | GS2 ;
    assign  L[3] = GS1 ;
    assign  L[2] = Y1[2] | Y2[2] ;
    assign  L[1] = Y1[1] | Y2[1] ;
    assign  L[0] = Y1[0] | Y2[0] ;
endmodule

全部评论
这个题解我看了眼晕,我晕题哦
点赞 回复 分享
发布于 2023-05-31 09:21 江苏
感谢大佬分享 ,码住😉
点赞 回复 分享
发布于 2023-05-31 09:48 湖南

相关推荐

霁华Tel:秋招结束了,好累。我自编了一篇对话,语言别人看不懂,我觉得有某种力量在控制我的身体,我明明觉得有些东西就在眼前,但身边的人却说啥也没有,有神秘人通过电视,手机等在暗暗的给我发信号,我有时候会突然觉得身体的某一部分不属于我了。面对不同的人或场合,我表现出不一样的自己,以至于都不知道自己到底是什么样子的人。我觉得我已经做的很好,不需要其他人的建议和批评,我有些时候难以控制的兴奋,但是呼吸都让人开心。
点赞 评论 收藏
分享
10-11 17:30
湖南大学 C++
我已成为0offer的糕手:羡慕
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务