硬件设计

FPGA、ASIC或SoC硬件上的程序功能

硬件设计是将功能编程到定制电路中的过程。系统和算法的开发人员通常开始硬件设计动态仿真模块®MATLAB®然后编写硬件设计团队用来手动创建硬件描述语言(HDL)实现的规范文档。然后用HDL表示对FPGA或ASIC硬件进行编程,这通常是a的一部分系统级芯片(SoC)

手工编写低级HDL限制了硬件设计团队探索不同架构的广度,增加了引入的bug数量,并限制了在其他项目中重用算法的能力。

您可以使用MATLAB和Simulink来探索算法,并确定哪些算法是计算密集型最多的,可以从硬件设计中受益。然后你可以模拟SoC架构使用SoC Blockset™

你也可以通过几个步骤来完善硬件设计,每一个步骤都可以对照上一个步骤或原始算法进行验证:

  • 适应算法来处理连续的数据流,这是数据在硬件设计中的典型流动方式
  • 权衡数值精度和效率通过定点量化浮点硬件设计组件的实现
  • 添加微架构,如并行、定时、反馈循环和实现硬件设计所需的其他功能
图1:硬件设计的数字算法细化示意图,每一步都要进行验证。

硬件设计的数字算法改进示意图,每一步都有验证。

您可以使用HDL-supportedSimulink和MATLAB中的块和函数。你也可以使用现成的DSP,无线,视频/图像处理,或深度学习IP。许多开发人员根据应用程序的需要,使用所有这些的各种组合。

你可以验证过程中的每一步,对比前一步或原始算法。您可以重用任何表示来帮助硬件设计团队验证他们手写的HDL代码,通过诸如cosimulation验证组件代高密度脂蛋白校验™。也可以在FPGA或SoC硬件上通过运行将硬件就绪的实现模型连接到MATLAB或Simulink上FPGA-in-the-loop测试。

在一个完全连接的硬件设计工作流中,你可以使用高密度脂蛋白编码器™生成功能正确的HDL代码,以开始硬件设计实现过程。这种方法还有一个额外的优势,即可以完全追溯回模型和需求,这对于功能安全工作流如做- 254,ISO 26262,IEC 61508

参见:MATLAB for FPGA, ASIC,和SoC开发

Baidu
map