移位相加位硬件乘法器电路设计

别妄想泡我
727次浏览
2021年02月12日 21:43
最佳经验
本文由作者推荐

-

2021年2月12日发(作者:风和日暄)














电子技术课程设计


















----


移位相加


8


位硬件乘法器电路计
















:


华科学院










:


通信工程










:


通信


052201H









:


张茹










:2









指导教师



:


柴婷婷



2 007



12



30





1


/


18


一,



设计任务与要求


--------------------



3




1




内容



2




要求



二,



总体框图


------------------------ ---



3




1




电路的总体框图



2




框图的说明



3




设计思路



4




方案设计



三,



选择器件与功能模块

< p>
-----------------



5




1




选择器件各功能模块及功能说明



四,



功能模块


----------------------------


8




1




ADDER8B


的模块



2




ANDARITH


的模块



3




ARICTL


的模块



4




REG16B


的模块



5




SREG8B


的模块



五,



总体设计电路图


----------------------



1 4




1




总体原理图



2




仿真波形图



3




管脚分配图



4




硬件验证情况



六,



心得体会


--------------------------------------



18




2


/


18







移位相 加


8


位硬件乘法器




.



设计任务与要求




1


.内容


:



8


位加法器构成的以时序逻辑方式设计的

8


位乘法器乘法通过逐向




移位加原理来实现,从被乘数的最低位开始,若为


1


,则乘数左移与




上一次和 相加;若为


0


,左移后以全零相加,直至被乘数的最高位。




2


.要求


:


(1)


重点掌握


VHDL

< p>
设计电路模块





(2)



在掌握


8


位加法器设计的基础上,


进一步掌握



8


位乘法器的设计;




(


3)


进一 步学习开发系统,掌握


MAX+PLUS II


的设计流程。



二.总体框图





(电路的总体框图)




3


/


18


1




说明< /p>


:


此电路由五部分组成




2


,它们分别是控制器,锁存器,寄存器,乘法器,加法器。< /p>




1


控制器是 一个乘法器的控制模块,用来接受实验系统上的连续脉冲。




2


锁存器起锁存的作用,它可以锁存


8


位乘数。




3


移位寄存器起移位的作用,便于被乘数可以逐位移出。




4


乘法器功能类似一个特殊的与非门。




5


加法器用于


8


位乘数和高


8


位相加。

< p>


2


,设计思路:




纯组合逻辑构成的乘法器虽然工作速度比较快,


但过于占用硬件资源,


难以实现




宽位乘法器,


基于

< br>PLD


器件外接


ROM


九九表的 乘法器则无法构成单片系统,


也不




实用。


这里介绍由八位加法器构成的以时序逻辑方式设计的八位 乘法器,


具有一



< br>定的实用价值,


而且由


FPGA


构成实验系统后,


可以很容易的用


ASIC

大型集成芯




片来完成,性价比 高,可操作性强。其乘法原理是:乘法通过逐项移位相加原理




来实现,从被乘数的最低位开始,若为


1


,则乘数左移后与上一次的和相加;若



< br>为


0


,左移后以全零相加,直至被乘数的最高位。



3


,方案设计:




此设计是由八位加法器构成的以时序逻辑方式设计的八位乘法 器,


它的核心器件




是八加法器,所以关键是设计好八位加法器




方案一:八位直接宽位加法器,它的速度较快,但十分耗费硬 件资源,对于工业




化设计是不合理的




4


/


18


方案二:


由两个四位加法器组合八位加法器,


其中四位加法器 是四位二进制并行




加法器它的原理 简单,资源利用率和进位速度方面都比较好。综合各方面的考




虑,决定采用方案二。



2



三,选择器件与功能模块



1




选择器件



SREG8B(

< p>
移位寄存器


)





REG16B(16


位琐存器


)




< p>
ARICTL


(运算控制器)


< br>



ANDARITH(1


位乘 法器


)





ADDER8B



8

< br>位加法器)





数码管(显示结果)






1



SREG8B


的模块图







SREG8B


是一个移位寄存器,


SREG 8B


有三个输入端,


分别是


clk,l oad,din[7..0]




< /p>


其中


clk


为时钟信号。一个输出端,它 是


qb








5


/


18







2



REG16B


的模块图

< br>






REG16B


是一个


16


位锁存器,


REG16B


有三个输入端,它们分别是




clk,clr,d[8..0].



其中


clk


为时钟信号。有一个输出端,它是


q[15..0].






3



ARI CTL


的模块图







ARI CTL


是乘法器的控制模块,


ARICTL

有两个输入端,它们分别是


clk,start


。有三个输 入




端,它们分别是


clkout,rstall,ariend






6


/


18


(4)ANDARITH


的模块图






AND ARITH










ANDARITH






< br>端








abin,din[7..0 ]


。有一个输出端,它是


dout[7..0]










5



ADDER8B


的模块图






ADDER8B


是一个


8


位加法器,


ADDER8B


有三个输入端,它们分别是




ci n,a[7..0],b[7..0]



其中

< br>a[7..0]


为被乘数;


b[7..0]


为乘数。


有两个输出端,




它们分别是


s[7..0],cout









7


/


18


四,功能模块





1



ADDER8B


模块设计






ADDER8B


的模块图














ADD ER8B



8


位加法器)的模块




ADDER8B


的波形图






ADD ER8B








ADDER8B





8

< br>位













CIN ,A[7..0],B[7..0]



,


其中


A[7..0]


是被乘数


.B[ 7..0]


是乘数。


ADDER8B



到使两个数相加的作用;即在加法的基础上才能相乘。所以


8< /p>


位加法器是一个


必不可少的模块。




8


/


18




(2


)


ANDARITH


模块设计






ANDARITH


的模块图





ANDARITH(


乘法器


)


的模块





ANDARITH


的波形图







ANDARITH


模块的功能:


ANDAR ITH


是一个


1


位乘法器。有两个输入 端





AB IN,DIN[7.0]



.


有一个输 出端


.DOUT[7..0]



AND ARITH


起乘法的作用。它类



9


/


18

-


-


-


-


-


-


-


-