本次实验的任务是构建一个3-8译码器,且将译码结果通过小脚丫的led灯显示。
听上去并不难,而且我能想象到,一定会有不少同学会立刻开始画一个8行的真值表,然后通过卡诺图进行化简,且根据最终的逻辑表达式画出门电路图。这个方法当然没有错,不过,如果面对更多位数的系统,比如4-16或者是8-256的译码器,建一个几百行的真值表并进行逻辑运算听上去似乎不那么科学。
在这里我们将采用模块化的思路来完成我们的实验设计。
在开始进行模块化设计之前,我们先做一个2-4译码器,也就是译码器系列中最底层的基础模块。
表1 2-4译码器真值表
这次的代码我们采用行为级描述(behavioral-level)的写法,直接根据真值表将输入与输出的各种组合进行直接关联。可以看出,行为级的写法甚至不需要构建门电路,仅通过输入输出对应关系即可构建,因此最为抽象。
module decode24 ( input wire [1:0] a, //定义两位输入 output reg [3:0] y //定义输出的4位译码结果对应的led ); always@(a) //always块语句,a值变化时执行一次过程块 begin case(a) 2'b00: y = 4'b0001; //2-4译码结果 2'b01: y = 4'b0010; 2'b10: y = 4'b0100; 2'b11: y = 4'b1000; endcase endendmodule有了最基础的模块,如何通过它搭建出3-8译码器呢?现在,我们在原有的真值表上加上一路使能信号e,再来观察一下新的真值表。可以发现,当e为低电平时,不论输入的取值如何,前四位输出均为0。当e为高电平时,右侧仍然为2-4译码器的输出结构。
表2 2-4译码器真值表(加使能信号)
我们可以把表3看作为一个3-8译码器的真值表,只不过输入端的最高位由e代替。由于e为低电平时输出最高的四位均为0,因此确保我们在对后四位输出(黄色)进行赋值不会影响到前四位的输出。
表3 3-8译码器真值表
从表3不难看出,黄框和红框对应的其实就是一个带有使能端的2-4译码器,且使能端e控制着前后半端位数的输出结果。也就是说,一个3-8译码器可以由两个2-4译码器构成。同理,一个4-16译码器可以由两个3-8译码器构成,以此类推。
带有使能e的2-4译码器如下图所示。实际上就是在之前的代码上稍做修改,在这里我们就不详细写出来了,给大家自行练习的机会。
接下来,按照之前的分析,我们画出由两个2-4译码器组成的3-8译码器的结构。
以下是用verilog写的一个3-8译码器,在程序里我们调用了两次2-4译码器的子模块。注意,子模块的文件需要和decode38文件放在同一个工程目录下,不然就成了隔壁老王了。
module decode38( input wire [2:0] x, output wire [7:0] d); decode24 upper //调用第一个子模块,命名为upper ( .a(x[1:0]), //将大模块的x1,x0与lower的a1,a0匹配 .e(x[2]), //将大模块的x2与lower的e匹配 .y(d[7:4]) //将大模块的d7-d4与lower的y3-y0匹配 ); decode24 lower //调用第二个子模块,命名为lower ( .a(x[1:0]), //将大模块的x1,x0与lower的a1,a0匹配 .e(!x[2]), //将大模块的x2与lower的e匹配 .y(d[3:0]) //将大模块的d7-d4与lower的y3-y0匹配 ); endmodule当你反复在图和代码之间徘徊几轮,并有了多么痛的领悟之后,你就可以把自己编译好的程序下载到小脚丫里,然后通过实验测试你的代码了。
练习一下,当我们把输出d7-d1分别对应为小脚丫上的l7-l1,且输入x2-x0分别对应至小脚丫的sw3-sw1,请判断以下的led状态(低电平亮)。
在倒腾了半天之后,你终于搞定了代码,并且成功在小脚丫上验证了你的设计,于是满怀信心的你终于可以尝试一下通过模块化的设计思路去构建4-16甚至更多位的译码器了。
华为都带火了哪些技术
绘王智慧课堂:做好“加减法”,为教学创新增效
瑞芯微RK1808人工智能计算棒——一款物美价廉的深度学习开发工具
mwc 2021展会预热:5G毫米波、OPPO卷轴屏、隔空充电、中兴屏下摄像头
5G LAN热潮涌动,搭载移远5G R16模组的中微普业工业网关在实际场景中商用
基于FPGA采用模块化思路设计一个译码器
Dual-Output SLIC Supply Shares
百度特立独行押注AI 跃升BAT人工智能巨头
沃达丰计划在该国的15个城市推出首张商用5G网络
全热交换器安装方法
酷派26臻藏版手机正式推出该机搭载骁龙710处理器和后置三摄
华进半导体先进封装项目建设迈出关键一步
wargame玩具枪
工业镜头景深计算及工业镜头技术分析
到底哪些无人机电池用着安全?你得知道这些呀!
苹果未来或将采用环绕式显示屏,甚至边框增添触感控制功能
什么是EMS储能管理系统/如何实现对光储新能源集中管理控制?
直线电机模组和直线模组,两者之间有什么关联
比亚迪入股百度旗下AI芯片公司昆仑芯 知情人士:双方将有深入合作
刺穿力测试仪使用方法请查收!