[发明专利]利用定点乘法器进行级联乘累加运算的装置和方法有效
申请号: | 201410543121.0 | 申请日: | 2014-10-14 |
公开(公告)号: | CN104407836A | 公开(公告)日: | 2015-03-11 |
发明(设计)人: | 闫鑫;杨靓;冯春阳;周泉;高向强 | 申请(专利权)人: | 中国航天科技集团公司第九研究院第七七一研究所 |
主分类号: | G06F7/52 | 分类号: | G06F7/52 |
代理公司: | 西北工业大学专利中心 61204 | 代理人: | 顾潮琪 |
地址: | 710000*** | 国省代码: | 陕西;61 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 利用 定点 乘法器 进行 级联 累加 运算 装置 方法 | ||
1.一种利用定点乘法器进行级联乘累加运算的装置,包括一个译码单元、n个所述32位有符号定点乘法器单元Mpyer(1)~Mpyer(n)、3*n个与所述32位有符号定点乘法器相匹配的积累乘累加单元Mac(1)~Mac(3*n),其特征在于:
所述32位有符号定点乘法器输入数据端口包含32位操作数端口DA和DB,级联乘累加并发输入操作数端口MDA1、MDA2、MDA3,级联乘累加级联输入操作数端口MDB1、MDB2、MDB3,级联乘累加进位输入操作数端口MacI,级联乘累加使能有效端口MEn0、MEn1、MEn2、MEn3;输出数据端口包含乘法结果输出端口D0、级联乘加结果输出端口MacO、级联乘法结果端口MD01、MD02和MD03。所述32位有符号定点乘法器电路结构采有三级流水结构;
所述32位有符号定点乘法器中,第一级流水中完成数据预处理和部分乘法运算;本级流水所包含4组17×17位有符号定点乘法器M1~M4,其中所述17×17位有符号定点乘法器M1~M4数据端口包含输入操作数端口U1A~U4A、U1B~U4B和计算结果输出端口mpyerout1~mpyerout4;本级流水段中数据预处理阶段完成数据的分解与合并,预处理后的数据分别经过二选一数据选择器送至所述17×17位有符号定点乘法器M1~M4的输入数据端口U1A~U3A和U1B~U3B,其中所述二选一数据选择器均由与其相对应的级联乘累加使能信号控制数据选择;
所述32位有符号定点乘法器中,第二级流水段完成17位有符号定点乘法运算;所述17×17位有符号定点乘法器M1~M4计算结果依次为mpyerout1~mpyerout4;计算结果mpyerout1作为DoSig1的高32位,计算结果mpyerout1作为DoSig1的低32位拼接为一个64位数据DoSig1并寄存到流水寄存器,计算结果mpyerout3和mpyerout4直接寄存到流水寄存器,使能信号MEn0、MEn1、MEn2、MEn3完成流水寄存;mpyerout4、mpyerout2和mpyerout1经过第二级流水寄存器寄存后分别输出至输出端口MD01、MD02和MD03;
所述32位有符号定点乘法器中,第三级流水段完成对乘法计算结果的处理;将所述17×17位有符号定点乘法器M4经过流水寄存的计算结果mpyerout4(31)&mpyerout4(31downto 0)和级联乘累加进位输入操作数’0’&MacI经过使能信号MEn2控制数据输出的二选一选择器送至33位有符号加法器输入操作数DataA端口;将所述17×17位有符号定点乘法器M3经过流水寄存的计算结果mpyerout3(31)&mpyerout3(31downto 0)送至33位有符号加法器输入操作数DataB端口,进行33位有符号加法计算得到计算结果为DoSig2,并将DoSig2的低32位作为定点乘法器单元中乘累加结果寄存输出至端口MacO;对DoSig2和DoSig1(63downto 16)完成49位有符号加法运算,并将运算结果作为DoSig的高49位数据,Dosig1(15downto 0)作为DoSig的低16位数据合并为一个65位数据DoSig,将DoSig的低64位数据作为32位有符号定点数乘法器输出结果D0;
所述译码单元根据输入的操作运算类型CType完成电路译码,产生运算过程中需要的使能和控制信号;
所述32位有符号定点乘法器单元Mpyer(1)~Mpyer(n)完成定点乘法和级联乘累加中所有乘法计算部分;当所述32位有符号定点乘法器进行有符号定点乘法计算时,译码单元经过译码产生使能控制信号,使级联乘累加使能有效MEn0、MEn1、MEn2、MEn3均为0,输入操作数DA和DB,经过3个时钟周期输出64位定点乘法计算结果,否则进行级联乘累加计算;进行级联乘累加计算时,所述32位有符号定点乘法器单元Mpyer(1)~Mpyer(n)的操作数端口DA和操作数端口MDA1、MDA2、MDA3均输入级联乘累加并发操作数,操作数端口DB和操作数端口MDB1、MDB2、MDB3分别输入级联乘累加级联操作数;译码单元经过译码产生起始乘累加单元乘法器使能信号MEn,经过一拍时钟寄存后输入至与其相邻的下一个级联乘累加单元乘法器使能信号Men;若当前级联乘累加乘法使能信号MEn有效,则执行当前乘累加单元中乘法计算,并经过两拍时钟周期后将乘法器结果输出至当前乘累加单元的加法器操作端口,否则,当前乘累加单元不执行乘法计算;若当前乘累加单元为定点乘法器时,则在定点乘法器第三级流水中完成乘累加中加法部分,否则当前乘累加单元为匹配乘累加单元,乘法结果输入至与其匹配的乘累加单元中完成加法计算;若当前乘累加单元不为起始乘累加单元,则与其相邻上一个乘累加单元的操作数MacO输出至当前乘累加单元的操作数MacI端口,否则,当前乘累加单元为起始乘累加单元,当前乘累加单元的操作数MacI端口输入为0;
所述与32位有符号定点乘法器相匹配的积累乘累加单元Mac(1)~Mac(3*n)完成级联乘累加单元中加法部分;匹配乘累加单元结构包含一个加法器和一个流水寄存器;输入数据包含级联乘累加进位输入操作数MacI和级联乘累加乘法结果输入端口,输出数据包含级联乘累加进位输出操作数MacO;若当前乘累加单元不为起始乘累加单元,与其相邻上一个乘累加单元的操作数MacO输出至当前乘累加单元的操作数MacI端口,否则,当前乘累加单元为起始乘累加单元,当前乘累加单元的操作数MacI端口输入为0;级联乘累加单元相对应的乘法器结果MD输入至级联乘累加单元乘法结果数据输入端口,经过加法器计算,对计算的乘累加结果经过一拍流水寄存输出MacO端口;若最后一个乘累加单元完成乘累加计算,则经过一级流水寄存输出级联乘累加结果,否则输出中间计算结果。
2.一种利用权利要求1所述装置利用定点乘法器进行级联乘累加运算的方法,其特征在于包括下述步骤:
1)译码单元根据运算操作类型完成译码,产生相关的译码控制信号;
2)当运算操作类型为32位有符号定点乘法时,在译码控制信号的控制下,级联乘累加乘法器使能均为0,输入操作数DA和DB,经过3个时钟节拍,完成有符号定点乘法计算并输出64位定点乘法器计算结果;
3)否则,执行级联乘累加运算;将第一个并发输入操作数以并发方式输入至所述32位有符号定点乘法器单元Mpyer(1)~Mpyer(n)的操作数端口DA和操作数端口MDA1、MDA2、MDA3,将4*n个级联输入操作数分别输入至所述32位有符号定点乘法器单元Mpyer(1)~Mpyer(n)的操作数DB和操作数MDB1、MDB2、MDB3,起始乘累加单元的进位输入操作数端口MacI输入为0;在译码信号的控制下,起始乘累加乘法使能MEn0有效,开始执行级联乘累加运算,每经过一个时钟节拍,将下一个并发输入操作数以并发方式输入至所述32位有符号定点乘法器单元Mpyer(1)~Mpyer(n)的操作数端口DA和操作数端口MDA1、MDA2、MDA3,将当前乘累加单元的乘法器使能输送至下一个乘累加单元的乘法器使能MEn端口;下一个乘累加单元乘法器使能有效,开始乘法计算,并将计算结果经过流水寄存后输入至本乘累加单元中的加法器操作数端口,完成加法计算,经过一级流水寄存后输出至下一级的乘累加单元进位输入操作数端口MacI;按照上述执行方式经过若干时钟节拍,当最后一个乘累加单元完成乘累加计算时,经过一级流水寄存输出级联乘累加的计算结果。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国航天科技集团公司第九研究院第七七一研究所,未经中国航天科技集团公司第九研究院第七七一研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410543121.0/1.html,转载请声明来源钻瓜专利网。