FPGA入门-38译码器

5. 简单组合逻辑 — 译码器

5.1. 章节导读

在本章我们用Verilog语言描述一个具有3-8译码器功能的电路,通过学习3-8译码器继续巩固整个设计流程以及语法的使用。

5.2. 理论学习

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

译码器(decoder)是一类多输入多输出组合逻辑电路器件,其可以分为:变量译码和显示译码两类。变量译码器一般是一种较少输入变为较多输出的器件,常见的有n线-2^n线译码和8421BCD码译码两类;显示译码器用来将二进制数转换成对应的七段码,一般其可分为驱动LED和驱动LCD两类。

本节我们主要讲解变量译码,最常见的变量译码器为3-8译码器,主要用于端口的扩展。假如我们有8个led灯需要单独控制,理论上我们需要用8个I/O口,普通的单片机也够用,但是如果我们控制的不是8个led灯,而是一个点阵屏,那就可想而知我们要使用的I/O口数量不是一般控制器就能满足的了,即便是I/O资源丰 富的FPGA在面对巨大的点阵屏时也可能面临管脚资源不够用的尴尬境地。此种情况下使用3-8译码器就可以很好的解决这个问题,我们可以通过控制器控制3个I/O输出的8种情况来分别控制8个输出状态,相当于用3个I/O口就可以独立控制8个led灯,即一个3-8译码器就能够节约出来5个I/O口,算起来是相当合算 的。现在的3-8译码器大都做成了独立ASIC芯片,价格也往往非常便宜。

5.3. 实战演练

5.3.1. 实验目标

设计并仿真验证3-8译码器。

注:3-8译码器的上板验证需要用到8个led灯或者数码管,因为板卡led灯数目不够且数码管部分还未作讲解,3-8译码器只进行仿真验证,不再上板测试,上板测试可等到数码管讲解完毕后,读者自行验证。

5.3.2. 程序设计

5.3.2.1. 模块框图

根据功能分析,该工程只需实现一个3-8译码器的功能,所以设计成一个模块即可。模块命名decoder3_8,模块的输入为3个1bit信号,输出为1个8bit信号,实现通过输入3个信号组成的二进制的8种情况来控制对应输出8bit的8种不同状态。根据上面的分析设计出的Visio框图如图 11‑1所示。

decode002

图 11‑1 模块框图

端口列表与功能描述如表格 11‑1所示。

表格 11‑1 输入输出信号描述

信号

位宽

类型

功能描述

in1

1Bit

Input

输入信号1

in2

1Bit

Input

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值