8位二进制乘法器设计报告

8位二进制乘法器设计报告

ID:27813914

大小:434.22 KB

页数:12页

时间:2018-12-06

8位二进制乘法器设计报告_第1页
8位二进制乘法器设计报告_第2页
8位二进制乘法器设计报告_第3页
8位二进制乘法器设计报告_第4页
8位二进制乘法器设计报告_第5页
资源描述:

《8位二进制乘法器设计报告》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、EDA课程设计报告--8位二进制乘法器设计班级:学号:姓名:目录一.八位乘法器的设计要求与设计思路•2.1设计目的*2.2设计要求*二.八位乘法器的综合设计*3.1八位乘法器功能*3.2八位乘法器设计方案•3.3八位乘法器各功能模块VHDL描述及仿真图形*3.4八位乘法器顶层模块VHDL设计及下载验证,心得体会*参考文献,八位乘法器的设计要求与设计思路1.1实验目的学习并掌握应用8位二进制乘法器的原理、设计、分析和测试方法1.2实验内容利用移位相加原理设计一个8位二进制乘法器。1.3实验要求用VHDL编写代码,下载验证,并用8段数码管显示乘数和乘积。二、八位乘法器的综合设计2.1

2、八位乘法器功能通过调节实验板,输入8位二进制的A和B,八位乘法器能实现其乘积,井在数码管上面显示出来其结果。2.2乘法器设计方案该乘法器是有由8位加法器构成的以时序方式设计的8位乘法器,采用逐项移位相加的方法来实现相乘。用乘数的各位数码,从低位开始依次与被乘数相乘,每相乘一次得到的积称为部分积,将第一次(由乘数最低位与被乘数相乘)得到的部分积右移一位并与第二次得到的部分积相加,将加得的和右移一位再与第三次得到的部分积相加,再将和加的结果右移一位与第四次得到的部分积和加。直到所有的部分积都被加过一次。例如:被乘数(M7M6M5M4M3M2M1M0)和乘数(N7N6N5N4N3N2N

3、1N0)分别为11010101和10010011,其计算过程如下图(a)下面分解8位乘法器的层次结构,分为以下4个模块:①右移寄存器模块:这是一个8位右移寄存器,可将乘法运算中的被乘数加载于其中,同时进行乘法运算的移位操作。②加法器模块:这是一个8位加法器,进行操作数的加法运算。③1位乘法器模块:完成8位与1位的乘法运算。④锁存器模块:这是一个16位锁存器,同时也是一个右移寄存器,在时钟信号的控制下完成输入数值的锁存与移位。按照上述算法,可以得到下图所示之框图和简单流程图。图中8位移位寄存器reg_8存放乘数a,从a的最低位7T*始,每次从reg_8中移岀一位,送至1X8位.法器

4、multi_l中,同吋将被乘数加至multi_l中,进行乘法运算,运算的结果再送至8位加法器adder_8屮,同时取出16位移位寄存器reg_16的高8位与之进行相加,相加后结果示部分积存入reg_16中,进行移位后知•保存。这样经过8次对乘数a的移位操作,所以的部分IR已全加至reg_16中,此时锁存器reg_16存放的值即所要求的积。11010101X1001001111010101N0与被乘数相乘的部分积,部分积右移一位11010101N1与被乘数相乘的部分积+1101010110011111111001111111两个部分积之和,部分积之和右移一位+00000000N2与

5、被乘数相乘的部分积0100111111101001111111+00000000与前面部分积之和相加,部分积之和右移一N4与被乘数相乘的部分积•••N7与被乘数相乘的部分积+11010101111101001011110与前面部分积之和相加011110100101111右移一位得到最后的积简单流程图开始开始信号到来,置newstart为1寄存器regl6置0时钟上升沿到来,寄存器reg_8置乘数a吋钟下降沿,置newstart为零rcg_8移出1位后与被乘数放入chengfaqi中进行乘法运算,绍果送至adde_8阁(a)r8_clkr8_clrr8_outr8_in(1)8位寄

6、存器reg_8的设计8位移位寄存器是在时钟(r8_clk’eventandi、8_clk=’1’)信号作用下,当r8_clr=’1’时,将8位乘数加载进入;而当r8_clr=’0’时,对数据进行移位操作,同时定义一个信号reg8用来装载新数据及移1立后的操作数,完成这些操作后,寄存器的最低位r8_in(0)传送给r8_out输出。该模块元件的程序ii下:libraryieee;useieee.stdlogic1164.all:useieee.std_logic_unsigned.al1;useieee-std_logic_arith.all;entityreg_8isport(r

7、8_clk,r8_clr:instd_logic;r8in:instdlogicvector(7downto0);r8_out:outstd」ogic);endentityreg_8;architecturereg8aofreg8issignalr8:std_logic_vector(7downto0);beginprocess(r8_clk,r8_clr)isbeginif(r8elk’eventandr8clk=’1’)thenif(r8_clr=f)thenr8<=r8_i

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。