「Verilog学习笔记」用优先编码器①实现键盘编码电路

这篇具有很好参考价值的文章主要介绍了「Verilog学习笔记」用优先编码器①实现键盘编码电路。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

专栏前言

本专栏的内容主要是记录本人学习Verilog过程中的一些知识点,刷题网站用的是牛客网

「Verilog学习笔记」用优先编码器①实现键盘编码电路,Verilog学习笔记,学习,笔记,fpga开发,Verilog

「Verilog学习笔记」用优先编码器①实现键盘编码电路,Verilog学习笔记,学习,笔记,fpga开发,Verilog

「Verilog学习笔记」用优先编码器①实现键盘编码电路,Verilog学习笔记,学习,笔记,fpga开发,Verilog 

分析 

用此编码器实现键盘的编码电路。

注意:编码器的输出是低电平有效,而键盘编码电路输出的是正常的8421BCD码,是高电平有效。因此将编码器的输出取反就是8421编码输出的结果

S_n[0]~S_n[9]表示10个按键,分别对应编码器的10个输入端,工作状态用GS表示,当有按键按下时,GS是1,当无按键按下时,GS是0.

需要考虑的是如何将10个按键对应到编码器的9个输入端。

仅有一种情况GS为0 即Y_n的四位均为1且S_n[0]也为1 即所有按键都没按下文章来源地址https://www.toymoban.com/news/detail-754625.html

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

always @(*)begin
   casex(I_n)
      9'b111111111 : Y_n = 4'b1111;
      9'b0xxxxxxxx : Y_n = 4'b0110;
      9'b10xxxxxxx : Y_n = 4'b0111;
      9'b110xxxxxx : Y_n = 4'b1000;
      9'b1110xxxxx : Y_n = 4'b1001;
      9'b11110xxxx : Y_n = 4'b1010;
      9'b111110xxx : Y_n = 4'b1011;
      9'b1111110xx : Y_n = 4'b1100;
      9'b11111110x : Y_n = 4'b1101;
      9'b111111110 : Y_n = 4'b1110;
      default      : Y_n = 4'b1111; // 若0被按下 Y_n会赋值为默认值
   endcase    
end 
     
endmodule

module key_encoder(
      input      [9:0]         S_n   ,         
 
      output wire[3:0]         L     ,
      output wire              GS
);
    wire [3:0] Y_n ; 
    encoder_0 u0 (
        .I_n (S_n[9:1]), 
        .Y_n (Y_n) 
    );

    assign L = ~Y_n ; 
    assign GS = ~(S_n[0] & Y_n[0] & Y_n[1] & Y_n[2] & Y_n[3]) ;
 
endmodule

到了这里,关于「Verilog学习笔记」用优先编码器①实现键盘编码电路的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • HDLBITS笔记9:8-3优先编码器

    为 8 位输入构建优先级编码器。 给定一个 8 位向量,输出应报告向量中的第一个位 1 。如果输入向量没有高位,则报告零。例如,输入 8\\\'b10010000 应输出 3\\\'d4,因为 bit[4] 是第一个高位。 从上一个练习(always_case2),案例陈述中将有256个案例。如果支持的事例语句中的事例

    2024年02月06日
    浏览(48)
  • HDLBITS笔记8:4-2优先编码器

    优先级编码器 是一种组合电路,当给定输入位矢量时,输出矢量中第一个1位的位置。例如,给定输入 8\\\'b10010000 的 8 位优先级编码器将输出 3\\\'d4,因为 bit[4] 是第一个高位。 构建 4 位优先级编码器。对于此问题,如果没有输入位为高(即输入为零),则输出为零。 注意:题目

    2024年02月02日
    浏览(73)
  • 【FPGA】Verilog:编码器 | 实现 4 到 2 编码器

    0x00 编码器(Encoder) 编码器与解码器相反。当多台设备向计算机提供输入时,编码器会为每一个输入生成一个与设备相对应的信号,因此有多少比特就有多少输出,以数字形式表示输入的数量。 例如,如果有四个输入,就需要一个两位二进制数来表示 0 至 3,这样就有四个输

    2024年02月04日
    浏览(55)
  • FPGA VHDL文本编辑器设计8-3优先编码器并构成16-4优先编码器

    题目要求: 在文本编辑器中使用VHDL语言设计一个优先8-3编码器。在另一个新实体中将其定义成一个元件,通过元件例化的方式设计一个16-4优先编码器。文件命名为***164.vhd,器件设定为EP3C16F256C8。要求输入节点命名为d0…d15,低电平有效;输出节点命为A、B、C、D。进行波形仿

    2024年02月11日
    浏览(45)
  • 深度学习笔记之稀疏自编码器

    本节以一道 算法八股题 为引,介绍 稀疏自编码器 。 下列方法中,可以用于特征 降维 的方法包括( 多选 ) ( ) (quad) ( ) A mathcal A quad A 主成分分析 PCA text{PCA} PCA B mathcal B quad B 线性判别分析 LDA text{LDA} LDA C mathcal C quad C 深度学习 SparseAutoEncoder text{SparseAutoEncoder} SparseAutoE

    2024年02月01日
    浏览(61)
  • 优先编码器 Priority Encoder

    优先编码器(Priority Encoder,PENC)用于判断数据最高位1出现的位置。 以 4-2优先编码器(PENC)为例,其真值表为: D3 D2 D1 D0 Q1 Q2 Vld 0 0 0 1 0 0 1 0 0 1 x 0 1 1 0 1 x x 1 0 1 1 x x x 1 1 1 0 0 0 0 x x 0 用卡诺图表示为                  Q0=D3+(~D2)D1                           

    2023年04月08日
    浏览(55)
  • 8线-3线优先编码器

    1.优先编码器 1.1定义 为了防止多条线信号同时有效,规定只对序号最高的有效信号线进行编码,相当于该线的优先级别最高,称为优先编码器。 2.例子 真值表如下: 设计代码: testbench: 仿真波形图:

    2024年02月11日
    浏览(49)
  • 机器学习笔记 - 利用自动编码器神经网络构建图像去噪器

            传统的图像噪声去除主要是基于各种滤波器,但它们不是特定于数据的,因此可能会损失很多图像的细节,或者噪声去除的效果不是很理想。基于神经网络的自动编码器可以用于学习数据集的噪声去除滤波器。         关于自动编码器的介绍,可以参考下面的链

    2024年02月05日
    浏览(45)
  • Vivado 带有优先级的8_3编码器(含测试代码)

    本篇文章使用 Verilog 语言编写实现带有优先级的83译码器,含有设计代码和测试代码。 一、输入输出和真值表 二、设计代码 (1)第一种写法 使用 if else 语句控制输出 (2)第二种写法 使用 式子?结果一:结果二 语句控制输出 三、测试代码 (1)第一种写法 使用 直接赋值 语

    2024年02月11日
    浏览(42)
  • 【深度学习】在 MNIST实现自动编码器实践教程

            自动编码器是一种无监督学习的神经网络模型,主要用于降维或特征提取。常见的自动编码器包括基本的单层自动编码器、深度自动编码器、卷积自动编码器和变分自动编码器等。         其中,基本的单层自动编码器由一个编码器和一个解码器组成,编码器

    2024年02月14日
    浏览(46)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包