简单组合逻辑——多路选择器
封面来源:Multiplexer
文章目录
在本小节中,我们将使用 Verilog 语言描述一个具有多路选择器功能的电路,目的是学会使用 Verilog 语言实现简单的组合逻辑
本小节的主要内容分为两个部分:一个部分是理论学习,在这一部分我们会对本小节涉及到的理论知识做一个讲解;另一个部分是实战演练,我们将设计一个多路选择器,加深对理论知识的理解
接下来是理论部分的学习。
1 理论学习
1.1 组合逻辑
首先我们先对组合逻辑的相关知识做一下讲解。
数字电路根据逻辑功能的不同的特点,可以分为两大类:一类就是组合逻辑,另一类就是我们后面将会讲到的时序逻辑。组合逻辑是 Verilog HDL 设计中的一个重要的组成部分。从电路本质上讲,组合逻辑电路的特点就是:输出信号只是当前输入信号的函数,与其他时刻的输入状态无关,无存储电路,也没有反馈电路。怎么理解呢?
就是说组合逻辑电路,它的输出信号的电平变化仅仅与输入信号的电平变化有关,不涉及信号跳变沿的处理,这就是组合逻辑。
1.2 多路选择器
了解完组合逻辑的概念之后,我们来学习一下多路选择器。
多路选择器也叫数据选择器,它在多路数据传输过程中,能够根据需求将其中任意一路选出来的电路,叫做数据选择器。也可以称它为多路选择器或者多路开关。
我们举个例子,比如说,图 1.2.1 是一个多路选择器。多路选择器会有很多的输入信号(in1、in2、……、n),我们可以使用一些选择条件(sel)来对这些信号进行选择,可以从中选择出任意一条电路作为输出,这就是多路选择器的功能。

2 多路选择器的实战演练
那么以上就是理论部分的学习,接下来开始实战的演练。
2.1 实验目标
在实战演练部分,我们将会设计并实现一个二选一多路选择器。它有两个输入信号,我们使用选择信号 sel 对俩信号进行选择,选择任一信号作为输出。
如图 2.1 所示

2.2 硬件资源
那么具体怎么在开发板上实现呢?
我们可以使用按键和 LED 灯。我们可以使用我们的 KEY1 作为信号 1 的输入,KEY2 作为信号 2 的输入,使用 KEY3 作为 sel 选通信号;然后使用 D6 LED 灯作为输出。如图 2.2 所示

在上一小节中我们也提到了:当按键未按下时,输出电平为高电平;按下时,输出电平为低电平;LED 灯输入低电平时被点亮,输入高电平时熄灭。
2.3 程序设计
接下来就正式开始实验工程的设计。
首先我们新建一个文件夹,命名为 mux2_1,用来存放我们的实验工程,在里面新建 4 个子文件夹。打开 doc 文件夹,新建一个 Visio 文件,用来绘制模块框图和波形图。文件结构如下
├─mux2_1
│ ├─doc
│ │ └─mux2_1.vsdx
│ ├─quartus_prj
│ ├─rtl
│ └─sim
2.3.1 模块框图
双击打开 Visio 文件,进行模块框图的绘制。我们将输入信号 1 命名为 in_1,我们将输入信号 2 命名为 in_2,将选择信号命名为 sel,将输出信号命名为 out,这样,二选一多路选择器的模块框图就画完了。如图 2.3.1 所示

2.3.2 波形绘制
接下来进行波形图的绘制。
首先是波形信号的命名,我们可以直接选用模块框图的命名。输入信号我们填充为绿色,表示输入信号;输出信号命名为

本文详细介绍了使用Verilog语言设计和实现多路选择器的步骤,包括理论知识讲解、实战演练中的电路设计、波形绘制以及代码编写、编译和逻辑仿真过程。
最低0.47元/天 解锁文章
8491

被折叠的 条评论
为什么被折叠?



