一、实验目的
1.学会正确使用Hierarchical block,认识到子模块在重复使用时的方便之处。
2.能够用子模块构建电路进行仿真实验。
3.能够用译码器实现根据地址对硬件进行访问。
4.能够用多路复用器实现数据选择功能。
5.学会用Project,管理项目下的多个电路图。
6.学会用Bus使得电路图简洁。
二、实验仪器
1.软件: Multisim 14.1 Education Edition
2.软件: Xilinx ISE
3.硬件: Digilent Basys 3
三、实验内容详解
以16位拨码开关和3个按钮为输入,四个七段式数码管为输出,设计电路使得输入的四个七段式数码管能独立地显示正确的字型。具体而言:以SW15SW12,SW11SW8,SW7SW4,SW3SW0 为四组BCD码输入。
1.当BTNC按下时,所有数码管都熄灭。
2.当BTNC没有按下时:(1)如果没有按键被按下,最低位数码管显示SW3SW0对应的数字;(2)如果只按下BTNR,次低位数码管显示SW7SW4;(3)如果只按下BTNL,次高位数码管显示SW11SW8;(4)如果同时按下BTNL和BTNR,最高位数码管显示SW15SW12对应的数字。
四、实验设计与过程
1.根据上一个实验“点亮一个数码管”可以将给定的PLD1直接设计为上一个实验的电路连接图。如下图所示:
2.根据给定的工程包中实现点亮“两个”数码管的示例可以分析出需要选用四个输入端及两个地址输入端的数据选择器(即MUX4_1),从而从主线1引入四条输入,分别来自SW15SW12,SW11SW8,SW7SW4,SW3SW0。而通过两个地址输入端S0、S1来选择接收的是哪里的信号。又由实验内容要求可列出真值表,从而知道将S0接到BTNR、将S1接到BTNL。而根据实验内容要求可知,需要用译码器对来自BTNR、BTNL、BTNC的信号进行处理,使得结果符合实验内容要求。如下图设计电路:
3.进行仿真实验,观察仿真结果与预计结果是否相符。
4.将Quad7SegDisplay下载到Basys3上进行实验,观察结果与预计结果是否相符。
五、实验结果