复杂组合逻辑电路
设计实现一个流行 IC 74138,使用数据流建模和你在 1-1 中使用的译码器
集成三线—八线译码器 74138 除了 3 线到 8 线的基本译码输入输出端外,为便于扩展成更多位的译码电路和实现数据分配功能,74138 还有三个输入使能端 EN1, EN2A 和 EN2B 。74138 真值表和内部逻辑图如下图:
所示符号图中,输入输出低电平有效用极性指示符表示,同时极性指示符又标明了信号方向。74138 的三个输入使能(又称选通 ST)信号之间是与逻辑关系, EN1 高电平有效,EN2A 和 EN2B 低电平有效。只有在所有使能端都为有效电平(EN1EN2AEN2B=100)时,74138 才对输入进行译码,相应输出端为低电平,即输出信号为低电平有效。在 EN1EN2AEN2B ≠100 时,译码器停止译码,输出无效电平(高电平)。这和你在 1 中创建的非常相似,它只是增加了控制(使能)信号 G1,/G2A,/G2B。这使得在有些系统中的解码更加简单。
实验步骤
打开 Vivado 创建一个空工程,命名为 lab3_2.
创建并添加 Verilog 模块,命名为 decoder_74138_dataflow,实例化你在 1-1 中开发的模块。添加额外的逻辑,使用数据流建模结构建模所设计的功能。
编写仿真文件来验证代码的正确
将你在 1 中使用的 XDC 文件添加到工程。修改 XDC 文件,将 g1 分配给 SW7,g2a_n 分配给 SW6,g2b_n 分配给 SW5。
综合实现你的设计。
生成比特流文件,下载到 Nexys4 开发板上,验证功能。
首先,修改 lab1 的 decoder_3to8_dataflow 模块,在其中加入 enable 信号
之后,decoder_74138_dataflow 模块的具体实现:
版权声明: 本文为 InfoQ 作者【向阳逐梦】的原创文章。
原文链接:【http://xie.infoq.cn/article/4a15b8cfd1301a20ab8dd6bcb】。文章转载请联系作者。
评论