哈项目工程FPGA可控多进制计数器与乘法器.docx
《哈项目工程FPGA可控多进制计数器与乘法器.docx》由会员分享,可在线阅读,更多相关《哈项目工程FPGA可控多进制计数器与乘法器.docx(10页珍藏版)》请在冰豆网上搜索。
哈项目工程FPGA可控多进制计数器与乘法器
实验二可控多进制计数器与乘法器
(设计报告)
1、实验目的
1、学会用中规模十进制计数器和适当门电路设计一个可控的多进制计数器。
2、利用移位相加原理和适当的中规模电路设计一个4位二进制乘法器
3、熟悉试验箱的操作并将设计下载到实验箱并进行硬件功能测试
2、实验任务
1、设计一可控多进制计数器实现:
①五进制、十五进制、二十五进制加法计数器切换
②用1Hz连续脉冲作为计数器的时钟输入
③计数状态用两位数码管显示,小数点显示进位输出
④用另两个数码管显示计数容量(进制数)
2、设计一乘法器实现:
①是一个4位二进制乘法器
②用8个开关分别作为2个4位输入数据
③用数码管显示对应十进制计算结果
3、设计步骤
1、可控多进制计数器:
可控多进制计数器主要利用两个十进制计数器,一个代表个位,一个代表十位,个位的片子接为五进制计数器,十位的片子利用两个输入开关可以控制实现15、25进制,同时利用SR锁存器控制小数点保留时间,以便观察。
数码管动态显示部分利用老师PPT中所给扫描电路。
⑴首先由于实验要求用1Hz的连续脉冲,则需要分频电路,如图所示:
电路中使用8个二--五--十进制异步计数器分频,前7个接成十分频器,最后一个接为5分频器,则输出为1Hz。
⑵电路主控制部分如下,ap、bp均断开时为5进制计数器,当控制开关ap闭合时为15进制计数器,当开关bp闭合时为25进制计数器,而当ap、bp同时闭合时为35进制计数器。
而每当有进位时则显示小数点。
⑶动态扫描显示电路:
⑷总体原理图:
⑸管脚分配图:
2、乘法器
因为在计算机的计算过程中都是用的二进制形式,所以两数相乘相当于每两个数的相与,这次的设计过程即为其中一个数的每一位与另一个数分别相与,最后利用移位相加原理求得最后结果,实验过程中用到了二--五--十异步计数器74290、加法器74283、二进制转BCD码器件74185,在数码管动态扫描显示部分分别使用了74161、7445、74244、74183。
⑴分频器电路
利用5个二--五--十进制异步计数器74290得到500Hz输入时钟信号如图:
⑵乘法器原理为把一个数的每一位分别与第二个数相与,再利用移位相加原理求的最后结果,电路图如下:
⑶将两数相乘后的结果的二进制形式利用74185转化为BCD码的形式输出,电路如下:
⑷将结果用数码管显示出来,下面是动态扫描电路和数码管显示电路:
⑸整体电路原理图如下:
⑹管脚分配如下:
实验报告
1、实验数据及分析:
⑴仿真波形:
可控多计数器
五进制
十五进制
二十五进制
三十五进制
乘法器实现3*2=6
⑵硬件测试:
将程序下载到试验箱中,观察实验结果:
对于可控多进制计数器,基本可以实现预期的实验现象,当拨动拨码开关时可以实现5、15、25,甚至35进制计数器,35进制不是实验要求的,但是当同时闭合ap、bp拨码开关时出现了35进制计数器,同时在数码管显示部分对应的显示出此时的进制情况,在计数满量程时,小数点会闪动,由于锁存器的作用,小数点会保留一个时钟周期,即1s。
对于乘法器,可以实现基本的乘法运算,最大可实现15*15=225的运算。
2、总结与体会:
本次实验,因为是第一次接触quartus软件,对一些功能的掌握不是很到位,而且由于自己的懒惰,可控多进制计数器是向其他班同学借鉴的程序,但是自己还是将其读懂了,而乘法器在自行设计过程中遇到了很大的困难,因为刚一开始根本不知道该如何下手,后来经过老师的讲解,才得知原来就是两个数相与然后移位相加。
通过本次实验,学到了很多东西,对于课本的掌握也更进了一步,终于体会到了学以致用的乐趣。