英特尔 FPGA 和 SoC

在英特尔器件上对算法进行建模、验证和编程

领域专家和硬件工程师运用 MATLAB® 和 Simulink® 开发原型和产品级应用,以部署到英特尔 (Intel®) FPGA 和 SoC 器件。

借助 MATLAB 和 Simulink,您能够:

  • 进行系统级硬件架构建模
  • 无需编写任何代码即对 FPGA 或 SoC 编程
  • 使用 MATLAB 和 Simulink 产品仿真和调试 FPGA 或 SoC
  • 生成产品级 HDL 和 C 代码,以进行 FPGA 或 SoC 集成

“我们在自己的领域有丰富的经验,但在 FPGA 集成方面经验很少。Simulink 和 HDL Coder 使我们能够专注于为产品设计智能算法,而不用操心如何在特定 FPGA 上运行这些算法。”

Boris Van Amerongen, Orolia

将 MATLAB 用于英特尔 FPGA 和 SoC

建模和仿真

使用 Simulink 开展基于模型的设计,可以进行硬件实现的高级建模,并进行系统级仿真,从而加快开发英特尔 FPGA 和 SoC 应用。同时,您可以进行定点量化,以更高效地利用资源,或者生成可综合的本机浮点 HDL,让 FPGA 编程更轻松。

HDL Coder™ 可直接从支持 HDL 的 Simulink 和 MATLAB 函数模块生成可综合的 VHDL®或 Verilog®,用于信号处理无线通信电机和电力控制以及图像/视频处理等应用。

面向英特尔 FPGA 的 DSP Builder 将英特尔专用模块添加到 Simulink,用于系统级仿真和硬件部署。您可以将 DSP Builder 模块集成到原生 Simulink 模块,以生成 HDL 代码。

通过 SoC Blockset™,您可以分析英特尔 SoC 器件的软硬件交互性能,包括内存使用情况,以及调度/OS 效果。

在同一设计中混合浮点和定点运算。使用标准英特尔 FPGA 资源采用浮点实现该三角函数运算。


该原型将深度学习网络从 MATLAB 部署到英特尔 SoC 平台,并从 MATLAB 应用运行推断。

在基于 FPGA 或 SoC 的平台上进行原型设计

要开始进行原型设计,您可以下载相应的支持包以部署到基于英特尔 FPGA 或 SoC 的预配置评估平台。HDL Coder 将引导您直接在 Simulink 中逐步完成 FPGA 或 SoC 编程,无需编写任何 HDL 代码。

您可以直接在 MATLAB 和 Simulink 中调试 FPGA 原型,有多种方法可供选择。插入 IP 以执行下列操作:对 AXI 寄存器进行数据读写,在 MATLAB 和板载内存位置之间传输大型信号或图像文件;从 FPGA 内部信号中捕获数据,以在 MATLAB 中进行分析;使用 MATLAB 或 Simulink 测试平台,以 FPGA 在环模式在评估套件上测试算法。


生成 HDL 和 IP 核用于产品级集成

大部分支持 HDL 代码生成的模块均具有 HDL 模块属性,您可通过该属性指定自定义硬件实现选项,例如流水线插入、资源共享和 RAM 映射。您可以调整 HDL 代码生成设置,对优化、样式重置、时钟使能、命名约定等进行全局自定义。同时,您还可以使用 Simulink 设计实现架构。结合以上各项,即可全方位掌控英特尔 FPGA 和 SoC 器件的速度和面积优化

您可以生成可读、可综合的 RTL,与 Quartus® 中的非算法内容进行集成。如果您已安装 HDL Coder support package for Intel SoC,则可生成支持多种 AXI 协议的 IP 核封装,可以与 Arm® 处理器以及其他器件 IP 通信。您可以使用 Embedded Coder™ support package for Intel SoC 生成驱动程序和应用软件,对 Arm 应用处理器进行编程。

HDL 和 IP 核生成报告。IP 核生成报告中显示了设计输入和输出与 AXI 寄存器和协议之间的映射。


使用 I/O 映射定义包含占位符的自定义参考设计,通过这些映射生成 HDL。

扩展目标平台支持

如果您要部署到某个基于 FPGA 或 SoC 的平台,但 MathWorks 尚未提供相应的支持包,则您可以创建或下载参考设计,并将其接入 HDL Coder。您可以使用 SoC Blockset 或 Quartus Prime 开发参考设计。