基于MATLAB的FPGA算法开发工具ACCELCHIP
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于MATLAB的FPGA算法开发工具ACCELCHIP
现代雷达数字信号处理过程中,大量的使用了FPGE,有时是一个系统中多个FPGA资源。
当算法开发者为了提高算法的性能而以高性能的FPGAs和ASICs 作为目标器件时,他们遇到了障碍:算法开发的最佳工具是MATLAB语言,而硬件工程师使用VHDL等来描述设计,然后再使用逻辑综合、仿真和布局布线工具来完成最后的FPGAs和ASICs实现。
显然,由于这是两套不同的工具,算法级的改变不能迅速的得到响应,因此从MATLAB到RTL的过程是一个手动的,容易发生错误的,开发周期漫长的过程。
AccelChip DSP Synthesis工具的出现可以自动把MATLAB的M文件转换为可综合的RTL模型。
AccelChip DSP Synthesis提供一个集成了主流FPGA和ASIC 设计工具的统一的设计环境,可以快速高效完成高性能的DSP设计。
使工程师开发基于FPGA的系统变的简单容易。
使用ACCELCHIP,用户可以:
●基于MATLAB的算法综合产生工艺优化的RTL代码
●自动完成浮点到定点转换
●快速完成设计结构探索
●通过自动产生测试激励自动完成验证流程
●硬件优化,包括循环展开和生成,矩阵乘法展开,RAM/ROM映射,流水线插
入,移位寄存器映射等
●与MATLAB/Simulink/System Generator的接口
●易于使用的集成了下游设计工具的图形用户界面
●使用单一的,功能验证正确的源码驱动FPGAs、ASICs和structrued ASICs
的综合和验证流程。
●在高层次综合和使用DSP IP上提供了使用很高的灵活性
●可以与MathWorks公司的MATLAB和Simulink产品协同工作
●可以在数小时内完成以前要数周完成的以RTL为起点的优化
●可以提供与厂商和器件无关的设计结果
●集成的从算法级到门级的验证流程,节省大量的验证时间
●经过验证,加速产品化速度约20倍
使用单一设计原点完成多种设计实现
保持设计在算法级意味着可以容易的作一些算法结构的较大改变。
比如,在算法级改变滤波器的类型仅仅需要改变几行MATLAB源码,增加滤波器的阶数也仅仅是改变参数而已。
通过AccelChip,所有设计过程中的主要步骤,比如从浮点的转换到门级的实现都可以在工具的用户界面里容易的完成。
AccelChip还产生一些报告可以使用户方便的评估设计改变对资源利用率、吞吐率和时延等产生的影响。
用户还可以通过控制时序/资源使用率以及数据结构到存储器的映射来对速度和面积折中。
这些特点可以使设计者快速的对可选的硅实现结构作出评价。
产生用于系统验证的设计模块
用AccelChip DSP Synthesis综合的DSP算法通常是一个完整系统的一个模块。
用户可以使用AccelChip DSP Synthesis产生一个定点的bit-true、cycle-accurate 的模块,然后使用MathWork公司的Simulink图形界面来完成系统级组装。
AccelChip与Xilinx公司的System Generator for DSP的接口可以生成用于Xilinx DSP设计工具的仿真和综合模块。
自动完成浮点到定点的转换
DSP开发者在MATLAB中开发的算法一般都是浮点模型。
尽管一些通用DSPs 处理器可以支持浮点处理,但是代价是性能的降低和更高的器件成本。
FPGAs 和ASICs可以完成更高的DSP算法性能,但是要求将算法转换为定点模型。
这需要考虑每一个变量的量化精度以避免溢出,显然这个过程不仅非常单调乏味,而且容易引入许多错误。
AccelChip在帮助用户自动完成浮点到定点的转换中,使用原始的MATLAB 中开发的浮点模型和测试激励来决定变量的动态范围以及输入输出所要求的长度。
然后再使用MATLAB来验证这个定点模型。
AccelChip产生的高度优化的定点模型可以在MATLAB中快速执行。
这个特点可以使用户在设计的早期就对浮点到定点转换过程中的量化影响作出评估。
优化硬件实现
当把一个在MATLAB中开发的算法最终在硅片实现时,硬件工程师必须对资源利用率和可选的实现结构作出评估,这些已经超出了MATLAB这个高级设计语言的范畴。
但AccelChip在AccelChip DSP Synthesis提供了一套综合指令,可以支持循环的展开和生成,矩阵乘的展开,RAM/ROM的映射,流水线插入以及移位寄存器映射。
使用这些指令可以对硬件实现结构作出更进一步的探索以提高最终结果的质量。
在RTL的综合中,AccelChip对整个设计作出评估,对整个算法作时序分析,并对接口作出优化。
参数化可综合的IP核
AccelWare工具包包括了一些基本的信号处理模块的DSP IP生成器。
●基本模块:例如三角函数运算,对数运算等
●信号处理:例如FFT,IFFT,FIR滤波器等
●通信模块:例如Reed-Solomon编解码,Viterbi解码等
高级数学模块:SVD,QR以及Cholesky矩阵求逆和分解等
AccelWare使用与标准MATLAB函数及Simulink模块相同的参数设置。
而且,它提供了附加的可以达到设计目标的用于硅实现的参数设置。
AccelWare可以产生一个优化的,定点的可以被AccelChip DSP Synshesis所综合的MATLAB 模型。
与RTL级的一些IP核不同,AccelWare是参数化的,提供可以满足灵活性和准确性要求的可综合的IP核。
确保DSP设计的正确性
验证最终的门级设计和最初的设计说明的一致性需要消耗大量的设计周期。
开发和维护一套用于算法、RTL和门级功能一致性检查的套件是非常消耗各种资源的任务。
为了保证硬件实现与最初的算法一致,AccelChip DSP Synshesis从定点模型产生测试激励来对RTL和布局布线后的设计进行验证。
AccelChip集成了主流的FPGA和ASIC验证工具,可以给用户提供一个完整的验证环境。