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

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

本篇文章使用Verilog语言编写实现带有优先级的83译码器,含有设计代码和测试代码。

一、输入输出和真值表

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

二、设计代码
(1)第一种写法

使用if else语句控制输出

`timescale 1ns / 1ps
module encoder_8_3(
    input [7:0]in,
    output reg [2:0]out
    ); 
always @(*) begin
    if (in[0]==1) begin
        out = 3'b000;
    end
    else if(in[1]==1) begin
        out = 3'b001;
    end
    else if(in[2]==1) begin
        out = 3'b010;
    end
    else if(in[3]==1) begin
        out = 3'b011;
    end
    else if(in[4]==1) begin
        out = 3'b100;
    end
    else if(in[5]==1) begin
        out = 3'b101;
    end
    else if(in[6]==1) begin
        out = 3'b110;
    end
    else if(in[7]==1) begin
        out = 3'b111;
    end
end
endmodule
(2)第二种写法

使用 式子?结果一:结果二 语句控制输出

`timescale 1ns / 1ps
module encoder_8_3(
    input [7:0]in,
    output [2:0]out
    );
assign out =
in[0]?3'd0:
in[1]?3'd1:
in[2]?3'd2:
in[3]?3'd3:
in[4]?3'd4:
in[5]?3'd5:
in[6]?3'd6:
3'd7;
endmodule
三、测试代码
(1)第一种写法

使用直接赋值语句

`timescale 1ns / 1ps
module encoder_8_3_tb();
    reg [7:0]in0;
    wire [2:0]out0;
    encoder_8_3 encoder_8_30(.in(in0),.out(out0));
    integer i=0;
    initial begin
        for(i=0;i<=7;i=i+1)begin
            # 10
            if(i!=0) begin
            in0[i-1]=0;
            end     
            in0[i]=1;
        end
        # 30
        $finish;
    end
endmodule
(2)第二种写法

使用左移方式

`timescale 1ns / 1ps
module encoder_8_3_tb();
    reg [7:0]in;
    wire [2:0]out;
    encoder_8_3 encoder_8_30(.in(in),.out(out));  
    integer i=0;
    initial begin
        in=1;
        #10
        for(i=0;i<=6;i=i+1)
            in=in<<1;
            #10;
        #20
        $finish;
    end
endmodule
四、仿真波形图

Vivado 带有优先级的8_3编码器(含测试代码)
由波形图可得,在输入信号in0为1时,输出信号为out为0、在输入信号in1为1时(此时in0为0),输出信号out1为1,以此类推。即该83编码器可将输入的八位二进制信号转换为其对应的三位二进制结果输出

仅供学习交流,如发现错误,欢迎大家指正。文章来源地址https://www.toymoban.com/news/detail-504246.html

到了这里,关于Vivado 带有优先级的8_3编码器(含测试代码)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

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

    专栏前言 本专栏的内容主要是记录本人学习Verilog过程中的一些知识点,刷题网站用的是牛客网   分析  用此编码器实现键盘的编码电路。 注意:编码器的输出是低电平有效,而键盘编码电路输出的是正常的8421BCD码,是高电平有效。因此将编码器的输出取反就是8421编码输出

    2024年02月05日
    浏览(38)
  • HDLBITS笔记9:8-3优先编码器

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

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

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

    2024年02月02日
    浏览(72)
  • Verilog 实现优先编码器的两种方式

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

    2024年02月08日
    浏览(45)
  • 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日
    浏览(40)
  • Verilog编程:8线-3线优先编码器FPGA

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

    2024年02月08日
    浏览(41)
  • c语言[]优先级大于*优先级

    本博文源于笔者正在学习的c语言[]优先级大于*优先级.在定义二维数组时,a+1与[]号结合后,谁的优先级更高,是本博文探讨的话题 想要看看*与[]谁的优先级更高 通过代码发现[]优先级比*号要高(a+1)[1]等价于a+2再取*号就是9了,在第二个pirintf代码中,等价于a[1][1] =6,第三个

    2024年01月20日
    浏览(57)
  • NVIC 简介、抢占优先级和响应优先级

    NVIC 是嵌套向量中断控制器,控制着整个芯片中断相关的功能,它跟内核紧密耦合,是内核里面的一个外设。 如果医院只有医生的话,当看病的人很多时,医生就得安排一下先看谁,后看谁,如果有紧急的病人,那还得让紧急的病人最先来,这个安排先后次序的任务很繁琐,

    2024年02月05日
    浏览(52)
  • 中断处理优先级和中断响应优先级的区别

      中断响应优先级是针对同时到达的中断请求先处理谁的规定。比如A、B同时向CPU发出中断请求,而中断响应优先级是AB,那么CPU就会先处理A,再处理B。   如下图:   中断处理优先级是解决中断嵌套情况下优先处理谁的问题。比如A、B两个中断的中断处理优先级是BA,

    2024年02月11日
    浏览(39)
  • 编码器 | 基于 Transformers 的编码器-解码器模型

    基于 transformer 的编码器-解码器模型是 表征学习 和 模型架构 这两个领域多年研究成果的结晶。本文简要介绍了神经编码器-解码器模型的历史,更多背景知识,建议读者阅读由 Sebastion Ruder 撰写的这篇精彩 博文。此外,建议读者对 自注意力 (self-attention) 架构 有一个基本了解

    2024年02月08日
    浏览(61)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包