Verilog 3线-8线译码器设计

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

任务描述

相关知识

3线-8线译码器的功能

case语句

编程要求

说明 

源代码


任务描述

设计一个3线-8线译码器。运用Verilog HDL进行设计,完善译码器的功能描述风格代码,具备组合逻辑电路的设计仿真和测试的能力。

相关知识

需要掌握: 1.3线-8线译码器的功能; 2.如何用case语句进行逻辑功能的描述。

( 本文不是枚举, 用到了合并和位运算 )

3线-8线译码器的功能

译码是编码的逆过程,3线-8线译码器可以将n位二进制代码可译成2n种电路状态。译码器框图如下所示。

3-8译码器verilog,Verilog HDL,fpga开发,学习,经验分享,c语言

case语句

case语句是一个多路条件分支形式,其语法如下:

case(case_expr)

case_item_expr{ ,case_item_expr} : procedural_statement

. . . . . .

[default: procedural_statement]

endcase

case语句首先对条件表达式case_expr求值,

然后依次与各分支项求值并进行比较,

第一个与条件表达式值相匹配的分支中的语句被执行。

可以在1个分支中定义多个分支项;

这些值不需要互斥。

缺省分支覆盖所有没有被分支表达式覆盖的其他分支。

case语句的实例如下 :

always@ (A or B or OpCode)
case (OpCode)
2'b00: Y = A + B;
2'b01: Y = A -B;
2'b10: Y = A * B;
2'b11: Y = A / B;
default:Y = 0;
endcase

编程要求

根据提示,在右侧编辑器补充代码,设计具有一位使能端的3线-8线译码器。当使能端为0时,8位输出信号全为0;如果一位使能信号为1,则输出高电平有效的译码信号。该译码器真值表如下所示。

3-8译码器verilog,Verilog HDL,fpga开发,学习,经验分享,c语言

说明 

本文仅是在下列的基础上进行优化,方法与C语言类似,通过观察真值表发现,A2A1A0组成的二进制数即表示,当使能端输入信号为1时,其左移多少位得到的Y值(A2、Y7分别为高位)

 3-8译码器的Verilog设计_38译码器verilog代码_Master_杨的博客-CSDN博客

源代码

//设计具有一位使能端的3线-8线译码器。当使能端为0时,8位输出信号全为0;
//如果一位使能信号为1,则输出高电平有效的译码信号。
module decoder3e_test(a,ena,y);
  input [2:0] a;
  input ena;
  output [7:0] y; 

  // 请在下面添加代码,完成设计任务
/* Begin */
wire[2:0] a;
wire ena;
reg [7:0] y;
always@ (ena or a)
begin
case(ena)
1'b0: y = 8'b00000000;
1'b1: y = ena << {a[2], a[1], a[0]};
endcase
end
/* End */
endmodule

其中{a[2], a[1], a[0]} 即表示一个拼接而成的以a[2]为高位的顺位的二进制数文章来源地址https://www.toymoban.com/news/detail-720668.html

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

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

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

相关文章

  • Verilog实现 3-8译码器

    拨码开关 LED(低电平有效) 000 11111110 001 11111101 010 11111011 011 11110111 100 11101111 101 11011111 110 10111111 111 01111111 Quartus 联合 Modelsim仿真的相关设置如下: 成功运行的情况应该是会在这个界面 接下来介绍一些常用的按钮(菜单) 经过检查波形图,可以确认是符合我们的预期

    2024年02月08日
    浏览(42)
  • 北邮22级信通院数电:Verilog-FPGA(7)第七周实验(2):BCD七段显示译码器(关注我的uu们加群咯~)

    北邮22信通一枚~ 跟随课程进度更新北邮信通院数字系统设计的笔记、代码和文章 持续关注作者 迎接数电实验学习~ 获取更多文章,请访问专栏: 北邮22级信通院数电实验_青山如墨雨如画的博客-CSDN博客 目录 一.verilog代码 1.1 decoder_led.v 1.2 decoders.v 二.管脚分配 三.效果展示 四

    2024年02月04日
    浏览(50)
  • 【Quartus | verilog 系列】实现 3-8译码器

    实验一: 3-8译码器(原理图输⼊设计)  2.1设计输⼊     1. 将3-8译码器A、B、C端作为输⼊,Y作为输出。     2. 其余引脚按照3-8译码器功能要求连接。     1. 激励⽂件的输⼊包含A、B、C的8种状态     2. 功能仿真 1. 给出3-8译码器的真值表: 2. 实验步骤、实验内容

    2024年02月11日
    浏览(39)
  • 使用verilog编写三八译码器及四位全加器

    目录 一、三八译码器原理 二、使用verilog编写三八译码器 1.使用verilog代码如下: 2.verilog的数据类型 (1)wire类型 (2)reg类型 三、使用verilog编写全加器 1.一位全加器  2.四位全加器 3.八位全加器  总结 三八译码器的输入信号有三个,相当于有八个二进制编码可以输入,每个

    2024年02月04日
    浏览(45)
  • FPGA二四译码器设计及实现

    FPGA二四译码器设计及实现 在数字电路中,二进制的计数方式广泛应用于各种场合。然而,当我们需要控制多个开关或LED时,手动进行二进制转换并不是一种好的选择。因此,在这种情况下,二进制译码器就显得尤为重要。 二四译码器是一种将两个输入字线转换为四个输出字

    2024年02月04日
    浏览(47)
  • (2)FPGA仿真——3-8译码器设计

    译码是编码的逆过程,在编码时,每一种二进制代码,都赋予了特定的含义,即都表示了一个确定的信号或者对象。把代码状态的特定含义翻译出来的过程叫做译码,实现译码操作的电路称为译码器。或者说,译码器是可以将输入二进制代码的状态翻译成输出信号,以表示其

    2024年02月08日
    浏览(48)
  • FPGA学习小例子:38译码器设计与仿真

    译码器74x138是数字电路课程重点内容之一。译码器的设计比 较简单,使用Verilog语言实现译码器就更为简单。本教程设计了一个3-8译码器并做了仿真。 打开vivado,点击File 填写项目名,以及选择项目路径 并勾选“Do not specify sources at this time”,意思是先创建工程,后期再添加

    2024年02月09日
    浏览(50)
  • FPGA学习笔记(八)——3-8译码器的设计与验证

        3-8译码器是三输入,八输出。当输入信号按二进制方式的表示值为N时,输出端标号为N的输出端输出高电平表示有信号产生,而其它则为低电平表示无信号产生。因为三个输入端能产生的组合状态有八种,所以输出端在每种组合中仅有一位为高电平的情况下,能表示所有

    2024年02月05日
    浏览(44)
  • FPGA数字电路设计:三八译码器的原理与实现

    FPGA数字电路设计:三八译码器的原理与实现 三八译码器是常用于数字电路设计中的一种重要元件。它的作用是将三位二进制信号转换成八个输出信号,通常用于地址解码、选通控制、状态指示等应用场景。 在FPGA数字电路设计中,三八译码器的实现需要借助Verilog HDL语言进行

    2024年02月08日
    浏览(47)
  • FPGA_38译码器

    本文来自《小梅哥FPGA视频》的笔记整理 不要眼高手低,一定一定要实践,自己动手去敲一遍!!! 在数字电路中可以根据电路功能的不同分为,组合逻辑电路与时序逻辑电路。 组合逻辑 电路在逻辑功能上的特点是任意时刻的输出仅仅取决于该时刻的输入,与电路原来的状

    2023年04月11日
    浏览(42)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包