1、组合逻辑模块化设计之静态数码管显示二
本文的第二个实例如下:在FPGA开发板上实现一个组合逻辑电路,拨码开关SW0至SW3为第一个数据输入ina,拨码开关SW4至SW7为第二个数据输入inb,由数码管以十六进制形式显示ina与inb中较大的那个数,且ina较大时由右边两位数码管一起显示,inb较大时由左边两位数码管一起显示,两个输入相等时由四位数码管共同显示该数据。
这里同样采用模块化设计的思路,首先对电路进行功能分解,可以看到整个电路的输入是两个数据输入ina和inb,输出仍然是数码管的段码和位选信号。不难分析出,该例从输入到输出有一个比较、选择和显示译码的过程。有了实例一的经验,既然涉及多位数码管的显示,那么必然需要由数码管段码译码模块和位选译码模块来负责显示译码的功能,两者都可以通过设计译码器来解决。选择模块也很简单,其功能是从两个数据输入中选择其一进行后续的显示译码,通过上一篇文章也介绍过的多路复用器即可实现。最后再分析比较模块,它的功能应该是比较两个数据输入的大小,并输出比较的结果,这很容易联想到数字电路中学习过的比较器。
原作者:硬木课堂语雀
更多回帖