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

这篇具有很好参考价值的文章主要介绍了HDLBITS笔记9:8-3优先编码器。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

为 8 位输入构建优先级编码器。给定一个 8 位向量,输出应报告向量中的第一个位 1。如果输入向量没有高位,则报告零。例如,输入 8'b10010000 应输出 3'd4,因为 bit[4] 是第一个高位。

从上一个练习(always_case2),案例陈述中将有256个案例。如果支持的事例语句中的事例项不关心位,我们可以将其减少(减少到 9 个事例)。这就是 casez 的用途:它将具有值 z 的位视为在比较中不关心。

通过数字信号处理的学习可知:8-3位二进制优先编码器的真值表如下:

输入 输出
I7 I6 I5 I4 I3 I2 I1 I0 Y2 Y1 Y0
0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 1 0 0 0
0 0 0 0 0 0 1 x 0 0 1
0 0 0 0 0 1 x x 0 1 0
0 0 0 0 1 x x x 0 1 1
0 0 0 1 x x x x 1 0 0
0 0 1 x x x x x 1 0 1
0 1 x x x x x x 1 1 0
1 x x x x x x x 1 1 1

其中第一行为default语句。

经过学习笔记8HDLBITS笔记8:4-2优先编码器_炒鸡无敌大美女的博客-CSDN博客

法1:可编写代码如下(使用casez语句块):

module top_module (
    input [7:0] in,
    output reg [2:0] pos  );
    always@(*)
        begin
            casez(in[7:0])
             8'bzzzz_zzz1: pos = 3'b000;
             8'bzzzz_zz1z: pos = 3'b001; 
             8'bzzzz_z1zz: pos = 3'b010;
             8'bzzzz_1zzz: pos = 3'b011;
             8'bzzz1_zzzz: pos = 3'b100;
             8'bzz1z_zzzz: pos = 3'b101; 
             8'bz1zz_zzzz: pos = 3'b110;
             8'b1zzz_zzzz: pos = 3'b111;
                default: pos = 3'b000;
            endcase
        end
endmodule

使用quartus ii画出逻辑图:

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

法2:使用case(1’b1)语句:

// synthesis verilog_input_version verilog_2001
module top_module (
    input [7:0] in,
    output reg [2:0] pos  );
    always@(*)
        begin
            case(1'b1)
                in[0]: pos = 3'b000;
                in[1]: pos = 3'b001; 
                in[2]: pos = 3'b010;
                in[3]: pos = 3'b011;
                in[4]: pos = 3'b100;
                in[5]: pos = 3'b101; 
                in[6]: pos = 3'b110;
                in[7]: pos = 3'b111;
                default: pos = 3'b000;
            endcase
        end
endmodule

使用quartus ii画出逻辑图:

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

 对比学习笔记8:HDLBITS笔记8:4-2优先编码器_炒鸡无敌大美女的博客-CSDN博客可知:8-3优先编码器仅仅是在4-2优先编码器的基础上堆叠了输入和输出。

 文章来源地址https://www.toymoban.com/news/detail-457112.html

到了这里,关于HDLBITS笔记9:8-3优先编码器的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • 8线-3线优先编码器

    8线-3线优先编码器

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

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

    优先编码器 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日
    浏览(10)
  • Verilog 实现优先编码器的两种方式

    Verilog 实现优先编码器的两种方式

    1.1 定义:  为了防止多条线信号同时有效,规定只对序号最高的有效信号线进行编码,相当于该线的优先级别最高,称为优先编码器 。      优先编码器可以通过  if else 语句和case语句两种方式实现。 输入描述: ①输入描述: input      [8:0]         I_n 输出描述: ①输出

    2024年02月08日
    浏览(19)
  • Verilog快速入门(11)—— 8线-3线优先编码器

    Verilog快速入门(11)—— 8线-3线优先编码器

    (1) 四选一多路器 (2)异步复位的串联T触发器 (3)奇偶校验 (4)移位运算与乘法 (5)位拆分与运算 (6)使用子模块实现三输入数的大小比较 (7)4位数值比较器电路 (8)4bit超前进位加法器电路 (9)优先编码器电路① (10)用优先编码器①实现键盘编码电路 (11)8线-3线优先编码器 (12)使用8线-3线

    2024年02月07日
    浏览(15)
  • Verilog编程:8线-3线优先编码器FPGA

    Verilog编程:8线-3线优先编码器FPGA 基于FPGA的数字电路设计是当前领域中的关键技术之一,因为这种设计具有高速、可编程、可重构等优点。在数字电路设计中,编码器是常见的模块,尤其是8线-3线优先编码器,可以实现将八个输入信号中最先出现的一个编码输出到三位二进制

    2024年02月08日
    浏览(13)
  • 【FPGA】Verilog 实践:优先级编码器 | Priority encoder

    【FPGA】Verilog 实践:优先级编码器 | Priority encoder

    0x00 优先级编码器(Priority encoder) \\\"能将多个二进制输入压缩成更少数目输出的电路或算法的编码器\\\" 优先级编码器是一种编码器,它考虑了两个或更多输入位同时变为 1 但没有收到输入的情况。当输入进来时,优先级编码器会按照优先级顺序进行处理。 通常,它按升序或降

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

    Vivado 带有优先级的8_3编码器(含测试代码)

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

    2024年02月11日
    浏览(66)
  • 自编码器AE全方位探析:构建、训练、推理与多平台部署

    自编码器AE全方位探析:构建、训练、推理与多平台部署

    本文深入探讨了自编码器(AE)的核心概念、类型、应用场景及实战演示。通过理论分析和实践结合,我们详细解释了自动编码器的工作原理和数学基础,并通过具体代码示例展示了从模型构建、训练到多平台推理部署的全过程。 关注TechLead,分享AI与云服务技术的全维度知识

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

    深度学习笔记之稀疏自编码器

    本节以一道 算法八股题 为引,介绍 稀疏自编码器 。 下列方法中,可以用于特征 降维 的方法包括( 多选 ) ( ) (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日
    浏览(13)
  • 读书笔记:多Transformer的双向编码器表示法(Bert)-1

    读书笔记:多Transformer的双向编码器表示法(Bert)-1

    Bidirectional Encoder Representations from Transformers,即Bert; 本笔记主要是对谷歌Bert架构的入门学习: 介绍Transformer架构,理解编码器和解码器的工作原理; 掌握Bert模型架构的各个部分,了解如何进行模型的预训练、模型微调(将预训练的结果用于下游任务); 学习Bert的不同变体

    2024年02月09日
    浏览(10)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包