021-64886750

  • 实时目标机

    Simulink模型库

    Demo套件

info@yisuworld.com

基于Speedgoat系统验证FPGA算法

网站首页    技术blog和使用技巧    基于Speedgoat系统验证FPGA算法

FPGA(Field-Programmable Gate Array),即现场可编程门阵列,它作为专用集成电路(ASIC)领域中的一种半定制电路而出现,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。主要用于信号处理及各类高速模拟仿真。

图片8

以PWM信号的捕获为例,说明FPGA与CPU(不考虑芯片专用外设)在处理上的差异CPU通过GPIO对PWM信号采样时,受限于CPU的运算周期,无法做到高速的采集,获得的信号与原始信号有较大偏差,计算出错误的占空比:

图片9

采用FPGA这种“电路”方式采集信号,可以有效获得信号的信息,误差取决于采样周期(100MHz下为10ns):

图片10

对于实时仿真而言,模型的计算需要占空比信息即可,因此FPGA可以作为系统的“协处理器存在,负责信号处理或高动态性部分模型运算,并将结果与CPU交互:

图片11

FPGA算法开发

FPGA的开发与传统CPU、DSP的开发有很大不同。FPGA以并行运算为主,以硬件描述语言HDL来实现。开发者具备较强的数字电路知识及逻辑思维能力。

MATLAB/Simulink平台的HDL Coder工具箱,有效的降低FPGA算法开发的难度;使工程师只需具备基础知识即可在Simulink环境中搭建FPGA算法并最终部署在Speedgoat或自己的FPGA平台上。以Speedgoat平台为例,基本步骤如下:

1. Simulink环境中搭建算法模型

开发者可以使用Simulink环境中的HDL Coder/DSP System Toolbox/Communication System Toolbox/ Vision HDL Toolbox等工具箱开发算法并将算法放置在Subsystem内仿真调试。Simulink环境支持以单精度浮点的方式开发FPGA算法,大大降低开发难度。

图片12

2. HDL Workflow Advisor

在Subsystem上右键选择HDL Workflow Advisor并在弹出的界面中依次设置FPGA板卡、芯片主频,以及Subsystem inport和outport与硬件板卡IO通道的映射关系:

图片13

依次完成Workflow Advisor后续task。HDL Workflow Advisor会完成模型检查、HDL代码生成、综合分析、、映射等工作(需要Xilinx相关软件,仅在后台调用)在此过程中,依据设置,HDL Coder可以完成Delay Balance,关键路径寻找、代码模型链接等功能。

最终HDL Workflow Advisor可以生成一个接口模型,取代原先的算法Subsystem:

图片14

3. 编译下载运行

FPGA模型部分编译完,进一步完成整个模型的编译,生成可执行程序下载Speedgoat硬件上,系统会自动区分CPU和FPGA并配置两者间的通讯。

完整的流程如下:

图片15

详细流程可参见HDL Coder工具箱的帮助文档,及Speedgoat相应帮助文档。

在不远的将来,MATLAB将完善物理模型对HDL代码生成的支持届时物理模型在完成离线仿真后,可直接迁移到Speedgoat实时仿真平台,无缝过渡到基于FPGA的半实物仿真测试阶段这对于电气、电力电子领域有重要的意义。

Speedgoat FPGA解决方案

基于HDL Coder的模型化算法开发基础上,Speedgoat针对不同的应用领域,提供了大量的可编程FPGA硬件模块:

图片16

各模块具备不同的IO通道和芯片资源完全支持HDL Coder的模型化算法开发。当FPGA模块资源不够时,可通过Xilinx Aurora协议彼此直接连接,组成更大规模的FPGA“计算集群”:

图片17

2019年9月9日 12:51
浏览量:0