论文部分内容阅读
三维荧光分析是一种复杂体系解析的有效方法,可广泛应用于生命、材料、环境等领域中样品的解析。但三维荧光分析算法数据规模大、计算复杂度高,难以在嵌入式设备中推广应用。可编程逻辑器件FPGA具有并行性和高效性,可以很好地解决算法在嵌入式环境下的计算要求,但三维荧光分析算法庞大的计算量使得算法对FPGA资源的需求相当大。考虑算法实时性要求不高的特点,本文就如何降低算法逻辑设计的硬件资源消耗进行研究。奇异值分解(SVD)是三维荧光分析的核心计算部件,其算法逻辑设计结构直接影响三维荧光分析对硬件资源的需求。本文以降低硬件资源为目的,引入逻辑设计中常用的“功能复用”和“并串转换”等策略,对现有SVD处理器中基于CORDIC的旋转角度计算结构和双边旋转结构进行改进。具体工作如下:针对旋转角度计算结构中资源利用率不高的问题,本文采用“功能复用”策略,设计了一种改进的旋转角度计算结构。该结构通过对CORDIC模块内部的移位器进行功能复用,在原有结构基础上减少了2个移位器的使用,节省了硬件资源。针对双边旋转结构中因数据相关造成资源空闲的问题,本文提出了两种改进方案,分别设计了并行双边旋转结构和串行双边旋转结构。其中,并行双边旋转结构通过解除双边旋转过程中左旋转和右旋转的数据相关性,实现了左旋转和右旋转的并行运算,减少处理时间的同时节省了硬件资源;串行双边旋转结构通过对2个CORDIC模块进行复用,解决了因数据相关造成的空闲资源浪费问题,从而减少了大量硬件资源。考虑位串行结构相比于位并行结构在硬件资源以及时钟频率上的优势,本文借助“并串转换”策略,利用CORDIC位串行结构以及位串行加/减器、位串行移位器等基本运算单元分别对上述改进的旋转角度计算结构、并行双边旋转结构,以及串行双边旋转结构进行位串行的优化,进一步减少了各结构所占用的硬件资源。最后,本文对改进后的结构从正确性和资源优化效果两方面进行验证。首先利用Verilog HDL语言实现了改进后的旋转角度计算结构和双边旋转结构,并在ModelSim平台上对它们进行仿真,仿真结果与理论值相符,验证了结构设计的正确性。然后,本文实现了改进前的旋转角度计算结构和双边旋转结构,并将它们与改进后的结构进行性能比较。对比结果显示:当数据位宽为32时,改进的旋转角度计算结构节省了17.01%的硬件资源;并行双边旋转结构和串行双边旋转结构分别节省了38.19%和43.59%的硬件资源;该结果表明本文改进的结构达到了很好的资源优化效果。