3.2组合逻辑电路的应用
常用的组合逻辑电路有编码器、译码器、数据选择器、数值比较器和加法器等,下面介绍一下这些常用电路的工作原理和使用方法。
3.2.1、编码器
各种遥控器、密码输入都属于编码器,编码器有互斥编码器和优先编码器之分。
互斥编码器:任何时刻只允许一个输入信号有效,否则将产生错误输出。
以8-3互斥编码器为例,所谓8-3编码器就是实现三位二进制代码对八个信号进行编码的电路,对应着8个输入和3个输出。由此写出真值表如图所示,真值表转换成表达式的方法:将输出为1的几个变量相加,如图所示的真值表转换成表达式为:
根据真值表画出电路图如图所示:
verilog代码如下所示:
//---------------------------------------------------------------------------
//-- 文件名 : Digital_Encoder.v
//-- 作者 : ZIRCON
//-- 描述 : 编码器模块
//-- 修订历史 : 2017-1-1
//---------------------------------------------------------------------------
module Digital_Encoder
(
/* 输入端口 */
I,
/* 输出端口 */
A
);
//---------------------------------------------------------------------------
//-- 外部端口声明
//---------------------------------------------------------------------------
input [7:0] I; //输入端口
output [2:0] A; //输出端口
//---------------------------------------------------------------------------
//-- 内部端口声明
//---------------------------------------------------------------------------
reg [2:0] A; //输入端口
//---------------------------------------------------------------------------
//-- 逻辑功能实现
//---------------------------------------------------------------------------
/* 组合电路,实现编码器 */
always @ (*)
begin
case(I)
8'b0000_0001 : A = 3'b000;
8'b0000_0010 : A = 3'b001;