在 FPGA、ASIC 或 SoC 硬件上编程实现功能
硬件设计是通过编程在自定义电路上实现功能的过程。系统和算法开发人员通常在 Simulink® 和 MATLAB® 中开始硬件设计,然后编写规范文档以供硬件设计团队手动创建其硬件描述语言 (HDL)的表示。之后,该 HDL 表示会用来对 FPGA 或 ASIC 硬件进行编程。这些硬件通常是片上系统 (SoC) 的一部分。
手动编写底层 HDL 代码会限制硬件设计团队探索不同的架构,增加错误数量,并使算法难以在其他工程中重用。
借助 MATLAB 和 Simulink,您可以探索各种算法,并确定哪些算法最耗费计算资源,因而可以从硬件设计中受益。探索之后,您可以使用 SoC Blockset™ 对 SoC 架构进行仿真。
您还可以通过几个步骤来细化硬件设计,其中每个步骤都可以对照前一个步骤或原始算法进行验证:
您可以使用 Simulink 和 MATLAB 中支持 HDL 的模块和函数来细化硬件设计。您也可以使用现成的 DSP、无线、视频/图像处理或深度学习 IP。根据具体应用的要求,许多研发人员都会用到上述中的几项。
您可以对照前一个步骤或原始算法来验证流程中的每个步骤。通过 HDL Verifier™ 中的协同仿真或验证组件生成等方法,您可以重用任一表示来帮助硬件设计团队验证其手写 HDL 代码。您还可以通过运行 FPGA 在环测试在连接到 MATLAB 或 Simulink 的 FPGA 或 SoC 硬件上原型化硬件就绪的实现模型。
在全连接的硬件设计工作流中,您可以以使用 HDL Coder™ 生成功能正确的 HDL 代码作为硬件设计实现流程的开始。这种方法还有一项优势,就是它具有从设计到模型和需求的完全可追溯性。这对于功能安全型工作流(如 DO-254、ISO 26262 和 IEC 61508)至关重要。