四位二进制乘法器的设计与实现.docx
I位二进制乘法器的设计与实现设计一个乘法器,实现两个四位二进制数的乘法.两个二进制数分别是被乘数AAA4和乘数 B3B3F0被乘数和乘数这两个二进制数分别由上下电平给出.乘法运算的结果即乘积由电平指示灯 显示的二进制数.做到保持乘积、输出乘积,即认为目的实现,结束:运算.2. 总体设计方案或技术路线总体思路:将乘法运算分解为加法运算和移位运算c根据Bi的值决定局部积P与A相加或与0相 加,之后移位,经过四次以上运算后得到最终的乘积.对于4位乘法器而言,设A=1011.B=1101.那么运算过程可由下列图所示.从乘法运算过程可知, 乘法运算可分解为移位和相加两种子运算,而且是屡次相加运算,所以是一个累加的过程.实现这一 累加过程的方法是,把每次相加的结果用局部积P表示,假设B中某一位Bi=l,把局部积P与A相加 后右移1位:假设B中某一位Bi=0,那么局部积P与0相加后右移1位相当于只移位不累加. 通过4次累加和移位,最后得到的局部积P就是A与B的乘枳.1011X11011011000010111011 000为了便于理解乘法器的算法,将乘法运算过程中局部积P的变化情况用图3表示出来.存放局 部积的是一个9位的存放器,其最高位用于存放在做加法运算时的进位输出.先把寄存器内容清零, 再经过4次的加法和移位操作就可得到积.注意,每次做加法运算时,被乘数A与局部积的P744位相 加.设A=1011,数11与那么结果如下列图所示D- D- Di D; 9工Dj Q:00000000初始状态010110000与1011相加01 0101 1000右移1位与0000相加01_0IIIN111Q1 Q00010100右移L位0hl10i| H100与101】相加右移1位00110111010001111 | 0与1011相加010001111右移1位技术路线:实验中,将乘法器电路分为三个局部分别设计,分别是时钟电路,乘法限制电路,乘法运 算电路.(1) 时钟电路:由一个D触发器和一个非门组成,D触发器为二分频接法.时钟电路共产生戏,CLK, 直衣三个不同于原时钟CP的时钟,其中方是存放器1,2的时钟,CLK是存放器3,4的时钟, 了灰是计数器,限制端D触发器的时钟.(2) 乘法限制电路:由一个D触发器,一个计数器和两个与非门组成.计算信号S由数据开关输 入终止信号i4由计数器产生,计算信号S通过D触发器产生限制信号S和6,限制信号S 和终止信号i4通过二输入与非门产生限制信号-i4,限制信号S,限制信号-i4和时钟CLK 通过三输入与非门产生限制信号Csl.限制信号S限制存放器L2和计数器的清零端,限制信 号6限制存放器3的SL存放器4的SO和SL限制信号T4限制存放器3的SO,计数器的EP 和ET,元件K(三输入与门)的开启与封闭,限制信号Csl限制存放器1和2的SK(3) 乘法运算电路:由四个存放器,一个加法器和四个元件K(三输入与门)组成.被乘数A和B 分别由存放器4和3输入,乘枳由存放器2和3输出,加法运算由加法器完成,移位运算由 存放器1,2和3完成3. 实验电路图说明:被乘数AAA4和乘数B3B出B.分别由存放器4和存放器3的A1A3A2A1和B4B3B2B1在并行 置数端置入乘积由存放器2和存放器3的输出端C8C7C6C5C4C3C2C1输出.CP为连续脉冲时钟信号, 频率可以自行设定-S为计算信号,初始时为0.存放器1和存放器2的S0,计数器的LD,存放器3和 存放器4的Rd,D触发器的Rd和Sd均保持为1状态,存放器1的ABC,加法器的CO,存放器1的Dsr 均接地.其余管脚不接.整体电路图:C8CTC6C5C4C3C2C1其中K元件实际为三输入与门如下所示AiBi-i4Ai时钟电路图:CPCPDD触发器Q0 O 1CLK-乘法控制电路4. 仪器设备名称、型号存放器均选择4位多功能移位存放器74LS19E加法器选用4位二进制超前进位加法器74LS283, 计数器选用十六进制异步清零计数器74LS161,D触发器选用上升沿双D触发器74LS74,四输入与 非门选用三个74LS20,二输入与非门选用两个74LS00,直流稳乐电源,实验箱,导线假设干.5. 理论分析或仿真分析结果L初始状态:A4A3A2Al和B4B3B2B1均为0,S为C,存放器1,存放器2,计数器均处于清零等待状 态,存放器3,存放器4处于置数状态.此时可输入A4A3A2Al和B1B3B2BL将会分别置入存放器3和 存放器4o6 .计算过程:(1】将A和B置入后,在乘枳电平指示灯显示OO(X)B3B31Bo后,即可按下s犍,使其为1,计算开 始.(2) 第一个还时钟脉冲上升沿,存放器1和2置数,将第一次计算结果传递给输出端.(3) 第一个CLK时钟脉冲上升沿,存放器3右移,为下一次计算做准备.(4) 第二个正时钟脉冲上升沿,存放器1和2右移.为卜.一次计算做准备.(5) 第一个直天时钟上升沿,计数器加1.(6) 重复(2)(3)(4)(5)过程.(7) 在4个,£京时钟脉冲后,计算结束,电平指示灯i4亮,计算结束.电平指示灯显示为八位二进制 计算结果.此时,元件K为关闭状态,存放器1,2处于置数状态,存放器3处于保持状态,使得输出结 果保持为计算乘枳.仿真实验电路图及仿真实验结果:被乘数A乘数B乘枳P00010001000000010010001000000100010000100000100010101100011110001100110010010000101111011000111111111111111000016,详细实验步骤及实验结果数据记录包括各仪器、仪表量程及内阻的记录)被乘数A乘数B乘积P7 .实验结论我所设计的乘法器工作良好、结果准确.几次运行均显示了正确的结果,并且运算时间短,速度 快,时钟频率可自主调节,易于限制.此外,实验电路可以简单改装实现轻松的高位乘法运算.其中对存放器和终止指令i4进行合 理改变即可完成更高位乘法运算.其运行时间与四位乘法器差不多,呈线性变化,即“位乘法器需 运行2“个CP时钟脉冲的时间.时高位,屡次乘法运算来说,计算速度快,运行时间短.0001001001000010100010111111000100100010010010001101111100000001000001000000100000001000010000001000111111100001心看7UHMHv*c rruw8J11XA5 7AL : IM心< < Z 48.实验中出现的问题及解决对策(1)问题:实验室没有八位移位存放器,无法完成加法结果的整体存放和移位?解决方案:采用两片74LS194组合成八位移位存放器(存放器1和2).(2)问题:八位移位存放器需要在运算过程中不断进行置数,移位的改变?解决方案:引入时钟CLK与S, 一遇通过与非门形成随时钟CLK改变的限制信号Csl,使移位存放 器依次完成置数,移位的操作.(3)问题:当八位移位存放器使用时钟CP时,由于时钟延迟的问题,八位移位存放器中的最低位 无法移入存放器3.解决方案:给时钟CP加一个反相器,形成时钟正,保证八位移位存放器(存放器1和2)置数后, 存放器3先进行移位操作,而后八位移位存放器(存放器1和2)在进行移位操作,保证数据不会丧 失.(4)问题:输入计算信号S的时间不确定,使运算无法稳定进行.解决方案:参加一个D触发器,使S只能在时钟五R的上升沿输入,确定了接下来的时钟顺序必 然为标1,CLKbCP2, clk1,请3,戏&由"I,使乘法运算顺利完整的进行.9 .本次实验的收获和体会、对电路实验室的意见或建议体会:但但凡科研(姑且将本次设计看作是一次简单的科研),必须投入一定量的心血.为了完成这 项设计,我几易其稿、呕心沥血、颇费心思地想了好几天当最初的设想被实现了的时候,我感到无比的满足?数电?是一门很行实践价值的深,通过课匕系 统的知识积累,我发现即便是比拟根底的电子、电路知识也可以造出来比拟复杂的设备,当然这需 要设计者的智禁和勤奋.看来平口生活中随处可见的电子产品,无不凝聚着工程师、科研人员的汗 水和努力.在设计的过程中,我遇到了很多困难,有的时候被困难压得头疼,但是经过了与同学的讨 论,许多困难迎刃而解,我体会到了交流的重要性.最后,感谢老师用这种课程设计的形式催促我应 用知识.否那么的话,以我的惰性,很可能就不会去费尽心思地去设计一个乘法器,这样的话,?数电? 算白学了.谢谢老师.建议:略有遗憾的是实验室的元件不是十分齐全,以至于74LS198芯片只能自己组合.不过这不是 什么大问题,元件的缺少正好可以锻炼同学们发散思维、用最少的本钱到达最大目的的水平