题解 | #用优先编码器①实现键盘编码电路#

用优先编码器①实现键盘编码电路

https://www.nowcoder.com/practice/03b8c5837d7f406797b4a57358057ef7

`timescale 1ns/1ns
module encoder_0(
   input      [9:0]         I_n   ,
   
   output reg [3:0]         Y_n   
);

always @(*)begin
   casex(I_n)
      10'b0xxxxxxxxx : Y_n = 4'b0110;
      10'b10xxxxxxxx : Y_n = 4'b0111;
      10'b110xxxxxxx : Y_n = 4'b1000;
      10'b1110xxxxxx : Y_n = 4'b1001;
      10'b11110xxxxx : Y_n = 4'b1010;
      10'b111110xxxx : Y_n = 4'b1011;
      10'b1111110xxx : Y_n = 4'b1100;
      10'b11111110xx : Y_n = 4'b1101;
      10'b111111110x : Y_n = 4'b1110;
      10'b1111111110 : Y_n = 4'b1111;
      10'b1111111111 : Y_n = 4'b1111;
      default        : Y_n = 4'b1111;
   endcase    
end 
     
endmodule

module key_encoder(
      input      [9:0]         S_n   ,         
 
      output wire[3:0]         L     ,
      output wire              GS
);
    wire [3 : 0] L_N;
    encoder_0 MyEncoder(
        .I_n(S_n),
        .Y_n(L_N)
    );
    assign L  = {!L_N[3], !L_N[2], !L_N[1], !L_N[0]};
    assign GS = S_n != 10'b1111111111;
    
endmodule

全部评论

相关推荐

优秀的大熊猫在okr...:多益:此贼,必有同谋,按律,该当连坐!
你不能接受的企业文化有哪...
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务