欢迎来到天天文库
浏览记录
ID:1482458
大小:1.06 MB
页数:8页
时间:2017-11-11
《44数字乘法器设计》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、4*4数字乘法器设计1.设计任务试设计一4位二进制乘法器。4位二进制乘法器的顶层符号图如图1所示。图14位乘法器顶层符号图图24位乘法运算过程输入信号:4位被乘数A(A3A2A1A0),4位乘数B(B3B2B1B0),启动信号START。输出信号:8位乘积P(P7P6P5P4P3P2P1P0),结束信号END。·当发出一个高电平的START信号以后,乘法器开始乘法运算,运算完成以后发出高电平的END信号。2.顶层原理图设计从乘法器的顶层符号图可知,这是一个9输入9输出的逻辑电路。一种设计思想是把设计对象看作一个不可分割的整体,采用数字电路常规的设计方法进行
2、设计,先列出真值表,然后写出逻辑表达式,最后画出逻辑图。这种设计方法有很多局限性,比如,当设计对象的输入变量非常多时,将不适合用真值表来描述,同时,电路功能任何一点微小的改变或改进,都必须重新开始设计。另一种设计思想是把待设计对象在逻辑上看成由许多子操作和子运算组成,在结构上看成有许多模块或功能块构成。这种设计思想在数字系统的设计中得到了广泛的应用。对于4位乘法器而言,设A=1011,B=1101,则运算过程可由图2所示。从乘法运算过程可知,乘法运算可分解为移位和相加两种子运算,而且是多次相加运算,所以是一个累加的过程。实现这一累加过程的方法是,把每次相加
3、的结果用部分积P表示,若B中某一位Bi=1,把部分积P与A相加后右移1位;若B中某一位Bi=0,则部分积P与0相加后右移1位(相当于只移位不累加)。通过4次累加和移位,最后得到的部分积P就是A与B的乘积。为了便于理解乘法器的算法,将乘法运算过程中部分积P的变化情况用图3表示出来。存放部分积的是一个9位的寄存器,其最高位用于存放在做加法运算时的进位输出。先把寄存器内容清零,再经过4次的加法和移位操作就可得到积。注意,每次做加法运算时,被乘数A与部分积的D7~D4位相加。图3乘法运算过程中部分积P的变化情况示意图乘法器的算法可以用如图4所示的算法流程图来描述。
4、当START信号为高电平时,启动乘法运算。在运算过程中,共进行4次累加和移位操作。当i=4时,表示运算结束,END信号置为高电平。图4乘法器的算法流程图在明确乘法器的算法之后,便可将电路划分成数据处理单元和控制单元。数据处理单元实现算法流程图规定的寄存、移位、加法运算等各项运算及操作。控制单元接收来自数据处理单元的状态信号并向其发出控制信号。经过划分成控制单元和数据处理单元的乘法器顶层原理图如图5所示。图5乘法器的顶层原理图REGA和REGB为4位寄存器,分别用于存放被乘数A、乘数B。REGS为一5位寄存器,用于存放加法器输出的结果(考虑进位时为5位)。在
5、运算过程中,寄存器REGS和REGB合起来用于存放部分积P,因此,REGS和REGB还应具有右移功能,以实现部分积的右移。寄存器REGS的移位输出送寄存器REGB,寄存器REGB的移位输出信号Bi送至控制器,以决定部分积是与被乘数相加还是与零相加。并行加法器ADDER用于实现4位二进制加法运算。计数器CNT用于控制累加和移位的循环次数。当计数值等于4时,计数器的输出信号i4输出高电平。控制器MULCON的功能是接收来自寄存器REGB的移位输出信号Bi和计数器输出信号i4,发出CA、CB0、CB1、CS0、CS1、CLR、CC等控制信号。其中,CA为寄存器R
6、EGA的控制信号,用于选择置数或保持功能;CS0、CS1为寄存器REGS的控制信号,用于选择置数、右移和保持等功能;CB0、CB1为寄存器REGB的控制信号,用于选择置数、右移和保持等功能;CLR为寄存器REGS和计数器CNT的异步清零信号;CC为计数器CNT计数使能信号。乘法器的控制单元采用CP脉冲上升沿触发,而数据处理单元采用CP的下降沿触发。其目的有二:一是使控制器无需产生数据处理单元的时钟信号,降低了控制器复杂程度;二是为了避免时钟偏移对电路的不良影响。需要指出的是,在设计顶层原理图时,只是从系统的功能和工作时序的关系上分析了各功能模块必须满足的要
7、求,并没有考虑各模块所采用元器件的型号和工艺。根据如图4所示的乘法器逻辑框图,寄存器A和寄存器B选择4位多功能移位寄存器74LS194,寄存器S采用8位多功能移位寄存器74LS198,加法器选用4位二进制超前进位加法器74LS283,计数器则选用74LS161,以上这些模块均可以从Max+plusII元件库直接调用。将这些模块连接起来如图6所示的乘法器数据处理单元的原理图。74LS194(1)只需置数、保持操作,因此将M0M1连在一起由一根控制线CA控制,当CA为高电平(M1M0=11)时,选择置数功能;当CA为低电平(M1M0=00)时,选择保持功能。7
8、4LS194(2)和74LS198既要置数(M1M0=11)又要右
此文档下载收益归作者所有