VHDL 八位乘法器 一. 设计思路 纯组合逻辑构成的乘法器虽然工作速度比较快,但过于占用硬件资源,难以实现宽位乘法器,基于PLD 器件外接ROM 九九表的乘法器则无法构成单片系统,也不实用
这里介绍由八位加法器构成的以时序逻辑方式设计的八位乘法器,具有一定的实用价值,而且由 FPGA 构成实验系统后,可以很容易的用ASIC 大型集成芯片来完成,性价比高,可操作性强
其乘法原理是:乘法通过逐项移位相加原理来实现,从被乘数的最低位开始,若为 1,则乘数左移后与上一次的和相加;若为 0,左移后以全零相加,直至被乘数的最高位
二.方案设计与论证 此设计是由八位加法器构成的以时序逻辑方式设计的八位乘法器,它的核心器件是八加法器,所以关键是设计好八位加法器
方案:由两个四位加法器组合八位加法器,其中四位加法器是四位二进制并行加法器,它的原理简单,资源利用率和进位速度方面都比较好
综合各方面的考虑,决定采用方案二
三.工作原理 ARICTL 是乘法运算控制电路,它的START 信号上的上跳沿与高电平有 2 个功 能 ,即 16 位寄 存 器清 零和被乘数 A[7
0]]向 移位寄 存 器SREG8B 加载 ;它的低电平则作为乘法使 能 信号,乘法时钟 信号从 ARICTL 的CLK 输 入
当 被乘数被加载 于8 位右 移寄 存 器SREG8B 后,随 着 每 一时钟 节 拍 ,最低位在 前 ,由低位至高位逐位移出
当 为 1 时,一位乘法器ANDARITH 打 开,8 位乘数 B[7
0]在 同 一节 拍进入 8 位加法器,与上一次锁 存 在16 位锁 存 器REG16B 中的高 8 位进行相加,其和在 下 一时钟 节 拍 的上升 沿被锁 进此锁 存 器
而当 被乘数的移出 位为 0 时,一位乘法器全零输 出
如 此往 复 ,直至 8 个时钟 脉 冲 后,由 ARI