引言
前面讲完了编码器,其实不知不觉地,也顺便把译码器也讲了,毕竟,二者是一个相反操作的过程,类似于加减,前进与后退,调制与解调,FFT 和 IFFT 等等。
译码器的逻辑功能就是将每一个输入的二进制代码转为对应的多输出高、低电平信号或另外一个代码,是编码器的逆运算,译码器又可以分为变量译码和显示译码。变量译码器一般是一种较少输入变为较多输出的器件,常见的有 N 线 - 2^N 线译码和 8421BCD 码译码两类;显示译码器用来将二进制数转换成对应的七段码,一般其可分为驱动 LED 和驱动 LCD 两类。
一、变量译码器的 Verilog 代码实现和 RTL 电路实现
module Decoders(
input wire [2:0] b, // 输入信号_未译码
output reg [7:0] d // 输出信号_已译码
);
reg d = 8'b0000_0000;
always @ ( b ) begin
case ( b )
3'b000 : d <= 8'b0000_0001;
3'b001 : d <= 8'b0000_0010;
3'b010 : d <= 8'b0000_0100;
3'b100 : d <= 8'b0001_0000;
3'b101 : d <= 8'b0010_0000;
3'b110 : d <= 8'b0100_0000;
3'b111 : d <= 8'b1000_0000;
default: d <= 8'b0000_0000;
endcase
end
endmodule
这是一个 3 线 − 8 线变量译码器,基于查找表 LUT(Look Up Table)的方式实现的一个电路,其 RTL 电路图如下所示:
变量译码器的 RTL 电路图
这里的译码器,其实就只是基于 LUT 的译码器,是最简单的,并没有经过复杂的运算操作,其思想只是简单地输入地址,然后输入地址所在的数据即可。
译码是编码的逆过程,在编码时,每一种二进制代码,都赋予了特定的含义,即都表示了一个确定的信号或者对象;把代码状态的特定含义 “翻译” 出来的过程叫做译码,实现译码操作的电路称为译码器;或者说,译码器是可以将输入二进制代码的状态翻译成输出信号,以表示其原来含义的电路。
-
二进制
+关注
关注
2文章
772浏览量
41549 -
LED驱动
+关注
关注
72文章
979浏览量
137882 -
译码器
+关注
关注
4文章
310浏览量
50243 -
RTL
+关注
关注
1文章
385浏览量
59646 -
Verilog设计
+关注
关注
0文章
20浏览量
6503
发布评论请先 登录
相关推荐
评论