0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何利用Speedgoat 系统验证 FPGA 算法的方法介绍

MATLAB 来源:djl 2019-09-12 10:49 次阅读

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

如何利用Speedgoat 系统验证 FPGA 算法的方法介绍

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

如何利用Speedgoat 系统验证 FPGA 算法的方法介绍

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

如何利用Speedgoat 系统验证 FPGA 算法的方法介绍

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

如何利用Speedgoat 系统验证 FPGA 算法的方法介绍

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算法,大大降低开发难度。

如何利用Speedgoat 系统验证 FPGA 算法的方法介绍

2. HDL Workflow Advisor

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

如何利用Speedgoat 系统验证 FPGA 算法的方法介绍

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

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

如何利用Speedgoat 系统验证 FPGA 算法的方法介绍

3. 编译下载运行

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

完整的流程如下:

如何利用Speedgoat 系统验证 FPGA 算法的方法介绍

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

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

Speedgoat FPGA解决方案

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

如何利用Speedgoat 系统验证 FPGA 算法的方法介绍

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

如何利用Speedgoat 系统验证 FPGA 算法的方法介绍

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 处理器
    +关注

    关注

    68

    文章

    18039

    浏览量

    221549
  • FPGA
    +关注

    关注

    1593

    文章

    21211

    浏览量

    592196
  • 芯片
    +关注

    关注

    445

    文章

    47496

    浏览量

    407915
收藏 人收藏

    评论

    相关推荐

    fpga验证和uvm验证的区别

    FPGA验证和UVM验证在芯片设计和验证过程中都扮演着重要的角色,但它们之间存在明显的区别。
    的头像 发表于 03-15 15:00 131次阅读

    基于架构设计的车载网联系统验证体系研究

    全面覆盖和适应设计侧的不断发展。为应对以上挑战,建立以用户体验和产品性能为中心的验证体系,本文提出了一种基于架构特性的验证方法。该方法通过分解车载网联
    的头像 发表于 01-24 09:46 229次阅读
    基于架构设计的车载网联<b class='flag-5'>系统验证</b>体系研究

    面向系统级芯片验证的硬件平台介绍

    当设计的规模动辄几十亿门,系统验证时间不断的增加,硬件验证系统几乎是验证工程师不可或缺的利器,因此对高性能硬件验证
    的头像 发表于 01-05 10:06 267次阅读

    嵌入式视频处理系统领域的FPGA验证

    FPGA在视频处理方面可能很有用处,但在验证基于FPGA的视频系统时,则需要仔细关注您所用的方法
    的头像 发表于 10-27 17:34 164次阅读

    【西安线下】就在明天!系统验证及 IC 验证研讨会专场 — 2023 Cadence 中国技术巡回研讨会

    电子设计自动化领域领先的供应商 Cadence,诚邀您参加“2023 Cadence 中国技术巡回研讨会”。会议将集聚 Cadence 的开发者与资深技术专家,与您分享系统验证及 IC 验证解决方案
    的头像 发表于 10-25 10:40 197次阅读
    【西安线下】就在明天!<b class='flag-5'>系统验证</b>及 IC <b class='flag-5'>验证</b>研讨会专场 — 2023 Cadence 中国技术巡回研讨会

    【成都线下】就在明天!系统验证及 IC 验证研讨会专场 — 2023 Cadence 中国技术巡回研讨会

    电子设计自动化领域领先的供应商 Cadence,诚邀您参加“2023 Cadence 中国技术巡回研讨会”。会议将集聚 Cadence 的开发者与资深技术专家,与您分享系统验证及 IC 验证解决方案
    的头像 发表于 10-23 11:55 292次阅读
    【成都线下】就在明天!<b class='flag-5'>系统验证</b>及 IC <b class='flag-5'>验证</b>研讨会专场 — 2023 Cadence 中国技术巡回研讨会

    开始报名!2023 Cadence 中国技术巡回研讨会 — 系统验证及 IC 验证研讨会专场(北京、成都、西安)

    电子设计自动化领域领先的供应商 Cadence,诚邀您参加 “ 2023 Cadence 中国技术巡回研讨会”。会议将集聚 Cadence 的开发者与资深技术专家,与您分享系统验证及 IC 验证
    的头像 发表于 09-21 17:20 339次阅读
    开始报名!2023 Cadence 中国技术巡回研讨会 — <b class='flag-5'>系统验证</b>及 IC <b class='flag-5'>验证</b>研讨会专场(北京、成都、西安)

    FPGA上建立MATLAB和Simulink算法原型

    存在功能瑕疵,需要返工。由于HDL 仿真 不足以发现系统级错误,芯片设计人员正利用 FPGA 来加速算法创建和原型设计。 利用
    的头像 发表于 08-06 10:45 339次阅读
    在<b class='flag-5'>FPGA</b>上建立MATLAB和Simulink<b class='flag-5'>算法</b>原型

    按键唤醒系统验证方法

    验证方法 在内核中,休眠方式有很多种,可以通过下面命令查看 # cat /sys/ power /state 常用的休眠方式有freeze、standby、mem、disk freeze:冻结
    的头像 发表于 07-30 15:53 520次阅读
    按键唤醒<b class='flag-5'>系统验证</b><b class='flag-5'>方法</b>

    为什么SoC验证一定需要FPGA原型验证呢?

    在现代SoC芯片验证过程中,不可避免的都会使用FPGA原型验证,或许原型验证一词对你而言非常新鲜,但是FPGA上板
    发表于 05-30 15:04 912次阅读
    为什么SoC<b class='flag-5'>验证</b>一定需要<b class='flag-5'>FPGA</b>原型<b class='flag-5'>验证</b>呢?

    多片FPGA原型验证系统互连拓扑分析

    多片FPGA的原型验证系统的性能和容量通常受到FPGA间连接的限制。FPGA中有大量的资源,但IO引脚的数量受封装技术的限制,通常只有100
    发表于 05-23 17:12 1175次阅读
    多片<b class='flag-5'>FPGA</b>原型<b class='flag-5'>验证</b><b class='flag-5'>系统</b>互连拓扑分析

    特色供应商介绍:芯启源

    芯启源MimicPro原型验证系统是一个基于FPGA的高性能系统,使原型验证上升到一个新高度。MimicPro
    的头像 发表于 05-15 14:26 1506次阅读
    特色供应商<b class='flag-5'>介绍</b>:芯启源

    多台FPGA原型验证平台系统如何实现自由互连

    FPGA原型验证平台系统灵活性主要体现在其外部连接表现形式,由单片FPGA平台或者2片的FPGA,抑或是4片的
    发表于 04-11 09:50 446次阅读

    限制原型验证系统FPGA数量的因素

    当SoC系统的规模很大的时候,单片FPGA验证平台已经无法容纳这么多容量,我们将采取将SoC设计划分为多个FPGA的映射。
    的头像 发表于 04-06 11:20 610次阅读

    如何建立适合团队的FPGA原型验证系统平台与技术?

    FPGA原型验证在数字SoC系统项目当中已经非常普遍且非常重要,但对于一个SoC的项目而言,选择合适的FPGA原型验证
    的头像 发表于 04-03 09:46 939次阅读