[发明专利]基于FPGA的通用矩阵定点乘法器及其计算方法有效
申请号: | 201410821542.5 | 申请日: | 2014-12-22 |
公开(公告)号: | CN104572011B | 公开(公告)日: | 2018-07-31 |
发明(设计)人: | 徐云雯;李德伟;陈逸飞;俞翌莹 | 申请(专利权)人: | 上海交通大学 |
主分类号: | G06F7/52 | 分类号: | G06F7/52 |
代理公司: | 上海新天专利代理有限公司 31213 | 代理人: | 张宁展 |
地址: | 200240 *** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 存储模块 定点乘法器 计算效率 转换模块 矩阵 控制模块 通用矩阵 运算矩阵 运算模块 浮点数 维数 运算 缓存 定点乘法运算 生成控制信号 并行计算 部件访问 定点乘法 结果矩阵 矩阵乘法 累加运算 运算过程 运算结构 运算数据 总线信号 总线 定点数 转换 读入 兼容 保证 | ||
一种在FPGA芯片上使用的通用矩阵定点乘法器,其内部结构由控制模块、转换模块、运算模块和存储模块四个部分组成。控制模块根据待运算矩阵的维数生成控制信号。转换模块负责在运算过程中进行定点数与浮点数的转换。运算模块从存储模块和转换模块中读入运算数据,进行定点乘法和定点累加运算,并将结果存入存储模块中。存储模块用于缓存待运算矩阵数据和结果矩阵数据,并提供与总线信号兼容的接口,允许总线上其它部件访问。本发明充分利用硬件中定点计算效率高的特点,采用一种独特的运算结构,实现数据的边转换边运算来提高总体运算速度,可同时使用多个矩阵定点乘法器并行计算,因此,可支持任意维数矩阵的定点乘法运算,同时保证很高的计算效率。与用浮点数进行矩阵乘法相比,计算效率有很大提高。
技术领域
本发明属于高性能计算领域,是一种提高FPGA矩阵运算能力的设计。
背景技术
矩阵乘法操作是科学计算中的一个基本操作,在工业控制、模式识别、数字信号处理等领域广泛存在,特别是在便携式设备中,经常涉及到模式识别、图像处理等操作,这些操作都是有大量的矩阵运算来完成的,而便携式设备通常计算配置较低,矩阵乘法也就成为计算过程中最为耗时的关键操作。矩阵乘法的时间复杂度较高,通常为O(N3),其计算性能直接影响系统的整体性能。
近年来飞速发展的FPGA技术,给矩阵运算的高速实时运行创造了机会。FPGA技术已经从最初只能面向纯逻辑应用转变为能够面向复杂计算的密集型应用。最新的FPGA器件,不仅逻辑资源门极其丰富,而且还包括大量面向高计算性能的DSP单元、块状RAM(BlockRAM,BRAM)等。同时为方便FPGA的调试,各FPGA厂商还提供了各种片内逻辑分析工具(如Xilinx公司的ChipScope),在软硬件上均保证了FPGA实现高性能矩阵计算的可能性。矩阵运算的硬件化可以充分利用硬件并行性的特点,在很大程度上提高矩阵计算效率。
目前FPGA拥有众多的系列产品,主要生产厂商有Xilinx、Altera、Actel、Lattice和QuickLogic等公司。尽管这些厂商生产的FPGA品种和型号繁多,但其原理和内部基本结构是相同的,都是由细粒度的可编程逻辑单元(Configurable Logic Block,CLB)、可编程连线资源(Programmable Interconnect,PI)及可编程输入/输出单元(Input/OutputBlock,IOB)组成。其中CLB是FPGA的基本逻辑单元,它提供了用户所需要的逻辑功能,通常规则的排成一个阵列,散布于整个芯片;IOB完成芯片内部逻辑和外部封装脚的接口,它可编程为输入、输出、和双向I/O口三种方式,通常排列于芯片的四周;PI包括各种长度的连接线段和一些可编程的连接开关,它们将各个可编程逻辑块或输入/输出连接起来,构成特定的功能电路。以Xilinx公司的FPGA为例,其结构示意图如图1。其中BRAM是BLOCK-RAM的简称,为芯片提供存储单元;DCM是Xilinx FPGA独有的时钟管理单元,可以实现时钟频率综合、相位偏移等功能;每个CLB单元的逻辑功能由一小块称为查找表(Look-Up Table,LUT)的存储单元指定。Xilinx Virtex-4FPGA中每个CLB包含两个Slice。Slice内部包含2个LUT、2个触发器、多路开关及进位链等资源。CLB内部的两个Slice是相互独立的,各自分别连接开关阵列(Switch Matrix),以便与通用布线阵列(General routing Matrix)相连。
采用FPGA进行设计不是以功能电路为基础分布式系统综合技术,而是以功能IP核(Intellectual Property core)为基础的系统固件和电路综合技术。IP核是为了实现某种特定功能而利用FPGA中的CLB、IOB以及PI逻辑电路资源构建成的特殊电路。各个厂商为了便于用户进行开发,都会提供一些免费的IP核。而出厂前就已经在芯片中预先设置好的IP核称为硬核。如在本发明基于FPGA的通用矩阵定点乘法器中使用的DSP48即为XilinxVirtex-4提供的硬核。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海交通大学,未经上海交通大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410821542.5/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种界面显示方法、终端及系统
- 下一篇:微博传播的关键用户识别方法和装置