FPGA组合逻辑电路设计之译码器

在数字电路中可以根据电路功能的不同分为,组合逻辑电路与时序逻辑电路。组合逻辑
电路在逻辑功能上的特点是任意时刻的输出仅仅取决于该时刻的输入,与电路原来的状态无
关。而时序逻辑从电路特征上看来,其特点为任意时刻的输出不仅取决于该时刻的输入,而
且还和电路原来的状态有关。组合逻辑电路在电路结构上,不涉及对信号跳变沿的处理,无
存储电路,也没有反馈电路,通常可以通过真值表的形式表达出来。时序逻辑电路在电路结
构上,不管输入如何变化,仅当时钟的沿(上升沿或下降沿)到达时,才有可能使输出发生
变化。
译码器( Decoder )是一种多输入多输出的组合逻辑电路,负责将二进制代码翻译为特
定的对象(如逻辑电平等),功能与编码器相反。译码器一般分为通用译码器和数字显示译
码器两大类。 以三八译码器为例,即将 3 种输入状态翻译成 8 种输出状态,其真值表如下表所示,其 中 A , B , C 为数据输入, Out 为数据输出。在 MCU 应用中,如果需要保证一定的速度情况 下实现此功能,一般选取外挂一片 74HC38 或者 74LS38 等独立芯片,但 FPGA 提供了一个
完整的想象以及实现空间,仅靠其自身即可实现设计要求。

根据 3-8 译码器真值表可以看出,本模块有 a 、 b 、 c 三 个输入端以及一个 8bit 的输出端 out 。这样就可以得出如下图所示的模块接口图以及如下表 的接口功能描述。


由上表可以得出如下的接口列表。对接口列表进行定义。
module decoder3_8**(**
a**,**
b**,**
c**,**
out
);
input a**;** //输入端口a
input b**;** //输入端口b
input c**;** //输入端口c
output [ 7**:** 0**]** out**;//输出端口out
reg [ 7
:** 0**]** out**;**
always@( a**,** b**,** c**)begin**
case({ a**,** b**,** c**})**
3'b000**:** out = 8'b0000_0001**;**
3'b001**:** out = 8'b0000_0010**;**
3'b010**:** out = 8'b0000_0100**;**
3'b011**:** out = 8'b0000_1000**;**
3'b100**:** out = 8'b0001_0000**;**
3'b101**:** out = 8'b0010_0000**;**
3'b110**:** out = 8'b0100_0000**;**
3'b111**:** out = 8'b1000_0000**;**
endcase
end
endmodule

相关推荐
DS小龙哥1 小时前
基于Zynq FPGA的雷龙SD NAND存储芯片性能测试
fpga开发·sd nand·雷龙·spi nand·spi nand flash·工业级tf卡·嵌入式tf卡
上理考研周导师10 小时前
第二章 虚拟仪器及其构成原理
fpga开发
FPGA技术实战12 小时前
《探索Zynq MPSoC》学习笔记(二)
fpga开发·mpsoc
bigbig猩猩1 天前
FPGA(现场可编程门阵列)的时序分析
fpga开发
Terasic友晶科技1 天前
第2篇 使用Intel FPGA Monitor Program创建基于ARM处理器的汇编或C语言工程<二>
fpga开发·汇编语言和c语言
码农阿豪1 天前
基于Zynq FPGA对雷龙SD NAND的测试
fpga开发·sd nand·spi nand·spi nand flash·工业级tf卡·嵌入式tf卡
江山如画,佳人北望1 天前
EDA技术简介
fpga开发
淘晶驰AK1 天前
电子设计竞赛准备经历分享
嵌入式硬件·fpga开发
最好有梦想~1 天前
FPGA时序分析和约束学习笔记(4、IO传输模型)
笔记·学习·fpga开发