0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

数字电路教程的组合逻辑部分介绍

电子森林 来源:电子森林 作者:苏老师 2021-10-08 11:27 次阅读

数字电路教程的组合逻辑部分,最经典的示例除了加法器以外就是:

Encoder - 编码器

Decoder - 译码器

Multiplexer - 简写Mux,多路复用器,也叫数据选择器

Demultiplexer - 简写Demux,解复用器,也叫数据分配器

其实是两对概念:Encoder/Decoder是跟code(码)相关的正反两个操作,Mux/Demux是跟数据流相关的正反两个操作。

翻看各种教科书,我们很难理清楚它们之间的功能差异以及相互之间的关系,只是有一些点滴应用在书本上提及。

这两组概念其实是非常重要的,是构成我们信息组织和信息传输的重要基础,并且在我们的生活中处处都能够找到与之对应的应用:

比如我们看谍战片中神秘的电报编码(要用密码本来翻译);我们用的键盘上面有100多个按键、而几根线就可以将它跟计算机连接;我们使用的旋转拨码开关、模数转换器中通过比较器输出的比较结果到最终用于表征模拟信号大小的数据,这些都被称为Encode - 编码。

99421436-23b9-11ec-82a8-dac502259ad0.png

单刀八掷的旋转开关可以用3根二进制数据线来表征其状态

简而言之,编码器是一种把熟悉的数字、字符或符号转换成二进制代码的装置,它将给定的信息编码成更紧凑的形式,主要用于减少表示给定信息所需的比特数。在数字系统中,编码器用来传输或存储信息,通过编码传输链路可以使用更少的线路来传输或更少的空间来存储。将量化的音乐通过编码器转换为MP3格式,将采集到的视频流通过编码器转换为MP4的数据格式,这些过程都统称为“编码” ,当然在我们的数字电路教程中,只是通过最简单的示例来讲述其原理。

就像电报中的编码有很多中一样,用二进制来表征数字、字符或符号也有多种不同的方式,比如BCD、5421码、2421码、余3码、格雷码等,每种编码方式都有其优缺点,因此有用于不同的场景。

译码器(Decoder)是编码器的逆过程,它是把二进制表征的信息给翻译过来,或者说映射过来,我们生活中的门牌号、车牌号、邮箱、组合开关对多个灯的控制、嵌入式系统中的存储器/外设寻址,这些都是译码的过程,通过代码中的数字,找到其对应的对象。在数字计算中,代码中的数字都是用二进制(扩展为8进制、16进制等,本质上也是2进制)。数字电路教程中,在译码器部分最常用到的例子就是3:8译码器,这是因为74HC138就是这么一个IC,比较适合做各种实验,当然7段数码管的控制也是非常重要的实验项目让同学们来体会译码的过程,通过几根控制线的电平组合,可以点亮数码管上7个LED灯中的若干个,从而组合出我们需要显示的数字。

我们硬禾学堂也专门针对译码部分制作了两个视频案例,一个是2:4译码,一个是3:8译码,虽然看起来没啥大的区别,但我们还是通过这两个实例来让大家体会Verilog代码实现的不同方式,希望对学习Verilog的同学有帮助。

FPGA中的逻辑单元的基本构成就是LUT - 查找表,其理论基础就是译码,比如我们小脚丫FPGA中采用的是4输入LUTS,通过查找表的方式代替逻辑门的构成,4个输入作为RAM的地址,可以寻址16个不同的地址空间内存储的信息。

是不是感觉编码器/译码器用途很广?

那Mux/Demux呢?想象一下从四条不同路径过来的车辆要并线到一条路上,由红绿灯控制,控制部分就相当于一个分时切换的开关,根据开关的控制码来决定哪一路的车辆通行,Mux又称为多路数据选择器,Demux又被称为数据分配器。

其实MUX不仅用于数字器件中,模拟电路中也有这个概念,我们所说的模拟开关,可以切换不同的输入与输出的连接,在模拟电路中Mux和Demux是一体的,同一个电路即是Mux又是Demux。而数字的Mux和Demux需要使用不同的器件。

9a343734-23b9-11ec-82a8-dac502259ad0.png

复用器的构成

从上面的图中可以看出译码器是复用器构成的重要部分。复用器的控制信号就是通过译码以后,对应到相应的控制端点,从而实现对输入信号的选择通过的。

复用器/解复用器的Verilog逻辑异常简单,有一点程序基础的同学一看就懂,比如下面的4选1多路选择器,一个case语句搞定,case的条件是2个选择数据为sel1、sel0,sel1和sel0的4种组合决定了一个LED同4个不同输入信号的连接。

很容易看懂,是因为我们任何一门编程语言中的if else、case本质上都是Mux的功能,只是我们太习以为常了而已。

module mult4 ( input wire a, //定义四位输入 input wire b, input wire c, input wire d, input wire [1:0] sel, //定义输出的选择变量 output reg led //定义选择器输出结果对应的led ); always@(sel) //根据sel结果选择输出,当sel变化时执行 begin case(sel) 2‘b00: led = a; 2’b01: led = b; 2‘b10: led = c; 2’b11: led = d; endcase end endmodule

从这几行代码看,FPGA的使用非常简单,不需要你画门与门之间的逻辑关系图,只需要用Verilog这种硬件描述语言来描述一下其因果关系就可以了。

与Encoder、Decoder、Mux、Demux相关的案例及其FPGA实现都汇总在www.stepfpga.com的网站百科中,如果您使用我们的Web IDE(不需要下载安装FPGA工具),也可以找到相关的参考案例,自己去发掘喽。

责任编辑:haq

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 电路
    +关注

    关注

    172

    文章

    5899

    浏览量

    172110
  • 复用器
    +关注

    关注

    1

    文章

    707

    浏览量

    28308

原文标题:浅谈“数字电路”的学习(8)- 编码器、译码器、多路复用器、解复用器的关系和应用

文章出处:【微信号:xiaojiaoyafpga,微信公众号:电子森林】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    逻辑异或在数字电路中的作用

    逻辑异或(Exclusive OR,简称XOR)在数字电路中扮演着至关重要的角色。以下是逻辑异或在数字电路中的几个主要作用: 一、实现基本逻辑
    的头像 发表于 11-19 09:44 339次阅读

    数字电路中的基本逻辑关系有哪三种

    数字电路中的基本逻辑关系是构成数字电路的基础,它们是与门(AND)、或门(OR)和非门(NOT)。这些基本逻辑关系通过组合和扩展,可以构成更
    的头像 发表于 08-11 15:02 1354次阅读

    组合逻辑电路设计时应遵循什么原则

    一、引言 组合逻辑电路数字电路中的一种基本类型,它由逻辑门、触发器等基本元件组成,通过逻辑门的组合
    的头像 发表于 08-11 11:26 1385次阅读

    组合逻辑电路的基本概念、组成及设计方法

    组合逻辑电路是一种数字电路,其输出状态完全取决于当前输入状态。这种电路没有记忆功能,即不包含存储元件。组合
    的头像 发表于 08-11 11:22 1219次阅读

    组合逻辑电路的结构特点是什么?

    组合逻辑电路是一种基本的数字电路,它由逻辑门组成,用于实现各种逻辑功能。组合
    的头像 发表于 08-11 11:14 869次阅读

    常用的组合逻辑电路有哪些

    组合逻辑电路数字逻辑电路的一种,其特点是输出只依赖于当前的输入状态,而与输入信号的变化历史无关。组合
    的头像 发表于 07-30 14:41 1451次阅读

    分析组合逻辑电路的设计步骤

    组合逻辑电路数字电路中的一种基本类型,它由逻辑门组成,根据输入信号的组合产生相应的输出信号。组合
    的头像 发表于 07-30 14:39 667次阅读

    组合逻辑电路逻辑功能的测试方法

    一、引言 组合逻辑电路数字电路中的重要组成部分,它仅由逻辑电路(如与门、或门、非门等)和输入
    的头像 发表于 07-30 14:38 1118次阅读

    组合逻辑控制器的工作原理是什么

    组合逻辑控制器(Combinatorial Logic Controller,简称CLC)是一种常见的数字电路设计,广泛应用于计算机、通信、控制等领域。本文将详细介绍
    的头像 发表于 06-30 10:15 1022次阅读

    数字电路仿真元件符号是什么

    数字电路仿真元件通常用符号来表示。这些符号是通过简洁和易于理解的图形来表示元件的特性和功能。符号是数字电路设计和仿真过程中非常重要的一部分,帮助工程师和设计者有效地沟通和理解电路的功能
    的头像 发表于 04-21 09:20 2116次阅读

    什么是组合逻辑电路和时序逻辑电路?它们之间的区别是什么

    什么是组合逻辑电路和时序逻辑电路?时序逻辑电路组合逻辑电路的区别是什么 
    的头像 发表于 03-26 16:12 3419次阅读

    数字电路逻辑设计

    电子发烧友网站提供《数字电路逻辑设计.ppt》资料免费下载
    发表于 03-11 09:21 9次下载

    常用的组合逻辑电路

    组合逻辑电路和时序逻辑电路数字电路中两种重要的逻辑电路类型,它们主要区别在于其输出信号的依赖关系和对时间的敏感性。
    的头像 发表于 02-04 16:00 4340次阅读

    数字电路逻辑门的电路符号图

    把基本逻辑运算的电子电路称之为逻辑电路。在数字电路关系应用中,逻辑
    的头像 发表于 02-04 14:58 2952次阅读
    <b class='flag-5'>数字电路</b>中<b class='flag-5'>逻辑</b>门的<b class='flag-5'>电路</b>符号图

    数字电路中的逻辑电路分类

    数字电路中的逻辑电路分类 数字电路是计算机系统中的重要组成部分,它们由逻辑
    的头像 发表于 02-04 09:14 3580次阅读