买专利,只认龙图腾
首页 专利交易 科技果 科技人才 科技服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

【发明授权】一种基于费马模数的多项式乘法器_合肥工业大学_202111521452.0 

申请/专利权人:合肥工业大学

申请日:2021-12-13

公开(公告)日:2024-03-08

公开(公告)号:CN114185514B

主分类号:G06F7/523

分类号:G06F7/523;G06F9/50

优先权:

专利状态码:有效-授权

法律状态:2024.03.08#授权;2022.04.01#实质审查的生效;2022.03.15#公开

摘要:本发明公开了一种基于费马模数的多项式乘法器,包括:控制单元、地址生成单元、存储单元、存储管理单元、旋转因子生成单元、蝶形计算单元、换向器单元和点乘单元。其中,控制单元负责生成控制信号,调节工作状态;地址生成单元负责生成读写地址;旋转因子生成单元负责生成旋转因子;存储管理单元负责管理存储单元的访存方向;存储单元由多块存储块组成,负责存储源数据,中间过程数据和结果数据;蝶形计算单元实现向量基2×2模式下的蝶形运算;换向器负责将蝶形运算后的结果数据重排序。本发明旨在于通过优化同址FNT算法,解决同址计算与蝶形单元流水计算冲突的问题,以此来减小存储资源消耗、提高计算速度和多项式乘法器的性能。

主权项:1.一种基于费马模数的多项式乘法器,其特征包括:控制单元、地址生成单元、存储单元、存储管理单元、旋转因子生成单元、蝶形计算单元、换向器单元和点乘单元;所述存储单元由多个共享地址线的小存储块组成,其中,4个小存储块存储有N×N的多项式X1,另外4个小存储块存储有N×N的多项式X2;所述控制单元在所述存储单元完成多项式的存储后,在当前第i个周期下发送FNT正变换的使能信号给地址生成单元;所述地址生成单元根据所述FNT正变换的使能信号和无冲突访存规则生成当前第i个周期下的读写地址w和标签y,并将所述读写地址w发送给所述存储单元和所述旋转因子生成单元,将所述标签y发送给所述存储管理单元和所述旋转因子生成单元;所述存储单元当前第i个周期下根据所述读写地址w读取多项式X1中的4个数据和多项式X2中的4个数据并发送给所述存储管理单元;所述点乘单元从所述存储单元中获取多项式X1中的4个数据和多项式X2中的4个数据并进行点乘运算,得到当前第i个周期下的正变换时的点乘计算结果并发送给所述存储管理单元;所述存储管理单元根据所述标签y中的第一位y[0],并利用二选一选择器选择N×N的多项式X1中的4个数据作为一组数据并输出给所述蝶形计算单元;所述旋转因子生成单元根据所述读写地址w和所述标签y中的第三位y[2]生成4个正变换旋转因子并作为一组因子;所述蝶形计算单元对所述正变换时的一组数据中的每个数据和一组因子中对应的一个因子分别进行加法、移位和取模操作,得到在当前第i个周期下的4个正变换时的计算数据;所述换向器单元由4个4选1的数据选择器、6个数据延迟器组成;第一4选1的数据选择器在当前第i个周期下接收4个计算数据的第一个计算数据并利用第一数据延迟器进行3个延迟;第二4选1的数据选择器在当前第i个周期下接收4个计算数据的第二个计算数据并利用第二数据延迟器进行1个延迟和第一个数据延迟器进行3个延迟;第三4选1的数据选择器在当前第i个周期下接收4个计算数据的第三个计算数据并利用第四数据延迟器进行2个延迟和第一个数据延迟器进行3个延迟;第四4选1的数据选择器在当前第i个周期下接收4个计算数据的第四个计算数据并利用第六数据延迟器进行3个延迟和第一个数据延迟器进行3个延迟;在第i+1、第i+2、第i+3个周期下按照同样的方式对第二组、第三组、第四组数据进行相同的处理;所述换向器单元将4个周期所接收的计算数据一起组成16个数据的正变换时的矩阵,分别在第i+3个周期下,输出第一行的四个数据给所述存储管理单元;在第i+4个周期下,输出第二行的四个数据给所述存储管理单元;在第i+5个周期下,输出第三行的四个数据给所述存储管理单元;在第i+6个周期下,输出第四行的四个数据给所述存储管理单元,从而对矩阵进行转置,得到正变换时的重排序数据;所述存储管理单元根据所述标签y中的第二位y[1],在第i+6个周期下的正变换时的点乘计算结果和所述正变换时的重排序数据中选择所述正变换时的重排序数据输出,再根据第一位y[0],将所述正变换时的重排序数据写入到所述存储单元的读写地址w中,从而完成多项式X1中一组数据的正变换,进而完成多项式X1中所有数据的正变换以及多项式X2的正变换;所述控制单元在第j个周期下将完成多项式X1和多项式X2正变换后的数据存储到所述存储单元,并发送点乘使能信号给所述地址生成单元;所述地址生成单元根据所述点乘使能信号生成一个读写地址w’和两个标签y’、z,并将所述读写地址w’发送给所述存储单元,将标签y’和标签z发送给所述存储管理单元;所述存储单元根据所述读写地址w’读取所述存储单元中的多项式X1和多项式X2正变换后的数据;所述存储管理单元根据标签z,通过四选一选择器选择所述多项式X1和多项式X2正变换后的数据中各自的一个数据输出到所述点乘单元进行点乘运算,得到第j个周期下的点乘计算结果并发送给所述存储管理单元;所述存储管理单元根据标签y’中的第二位y’[1],通过二选一选择器选择所述第j个周期下的点乘计算结果输出,再根据标签y’中的第一位标签y’[0],通过二选一选择器将所述第j个周期下的点乘计算结果存入所述存储单元的读写地址w’中,完成点乘运算;所述控制单元在所述存储单元完成所述第j个周期下的点乘计算结果存储后,在第k个周期完成所有点乘计算结果的存储后,发送FNT逆变换的使能信号给所述地址生成单元;所述地址生成单元根据所述FNT逆变换脉冲使能信号和无冲突访存规则生成第k个周期的读写地址w”和标签y”,并将所述读写地址w”发送给所述存储单元和所述旋转因子生成单元,将所述标签y”发送给所述存储管理单元和所述旋转因子生成单元;所述存储单元根据所述读写地址w”读取第k个周期下点乘计算结果的一组数据到所述存储管理单元;所述存储管理单元根据标签y”中的第一位y”[0],通过二选一选择器选择所述点乘计算结果的逆变换时的一组数据输出到所述蝶形计算单元;所述旋转因子生成单元根据所述读写地址w”和标签y”中的第三位y[2]生成一组逆变换旋转因子;所述蝶形计算单元对逆变换时的一组数据中的每个数据和一组逆变换旋转因子对应的一个因子分别进行加法、移位和取模操作,得到第k个周期下的4个逆变换时的计算数据;所述换向器单元将4个周期下接收到的4个逆变换时的计算数据组成16个数据的逆变换时的矩阵再进行转置后再分4个周期分别输出一组转置后的逆变换时的重排序数据;所述存储管理单元根据标签y”中的第二位y[1],选择所述逆变换时的重排序数据输出,再根据标签y”中的第一位y[0],将所述逆变换时的重排序数据写入到存储单元的所述读写地址w”,从而完成所述点乘计算结果的一组数据的逆变换,进而完成点乘计算结果所有数据的逆变换,实现多项式乘法功能。

全文数据:

权利要求:

百度查询: 合肥工业大学 一种基于费马模数的多项式乘法器

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。