将 MATLAB 用于赛灵思 FPGA 和 Zynq SoC
建模和仿真
使用 Simulink 开展基于模型的设计,可以进行硬件实现的高级建模,并进行系统级仿真,从而加快开发赛灵思 FPGA 和 Zynq SoC 应用。同时,您可以进行定点 (30:45)量化,以更高效地利用资源,或者生成可综合的本机浮点 (9:19) HDL,让 FPGA 编程更轻松。
HDL Coder 可直接从支持 HDL 的 Simulink 和 MATLAB 函数模块生成可综合的 VHDL®或 Verilog®,用于信号处理、无线通信、电机和电力控制以及图像/视频处理等应用。
AMD System Generator for DSP 以及 AMD Model Composer 会将赛灵思专用模块添加到 Simulink,用于系统级仿真和硬件部署。您可以将 System Generator 模块集成到原生 Simulink 模块,以生成 HDL 代码。
通过 SoC Blockset,您可以分析 Zynq UltraScale+ MPSoC 以及 RFSoC 器件的软硬件交互性能,包括内存使用情况,以及调度/OS 效果。
无线应用原型在赛灵思 Zynq SoC 软件无线电平台上运行,使用 MATLAB 和 Simulink 进行实时分析。
在基于 FPGA 或 Zynq SoC 的平台上进行原型设计
要开始原型设计,您可以下载相应的支持包以部署到基于赛灵思 FPGA 或 Zynq SoC 的预配置评估平台,用于实时 OTA 软件无线电、BLDC 电机控制、采用实时摄像头输入的视频和图像处理,或者深度学习推断处理。HDL Coder 将引导您直接在 Simulink 中逐步完成 FPGA 或 SoC 编程,无需编写任何 HDL 代码。
您可以直接在 MATLAB 和 Simulink 中调试 FPGA 原型,有多种方法可供选择。您可以插入 IP 以执行下列操作:对 AXI 寄存器进行数据读写 (5:40),在 MATLAB 和板载内存位置之间传输大型信号或图像文件;从 FPGA 内部信号中捕获数据,以在 MATLAB 中进行分析;使用 MATLAB 或 Simulink 测试平台,以 FPGA 在环 (2:52)模式在评估套件上测试算法。
生成 HDL 和 IP 核用于产品级集成
大部分支持 HDL 代码生成的模块均具有 HDL 模块属性,您可通过该属性指定自定义硬件实现选项,例如流水线插入、资源共享和 RAM 映射。您可以调整 HDL 代码生成设置,对优化、样式重置、时钟使能、命名约定等进行全局自定义。同时,您还可以使用 Simulink 设计实现架构。结合以上各项,即可全方位掌控赛灵思 FPGA 和 Zynq SoC 器件的速度和面积优化。
您可以生成可读、可综合的 RTL,与 Vivado®中的非算法内容进行集成。如果您已安装 HDL Coder support package for Zynq,则可生成支持多种 AXI 协议的 IP 核封装,可以与 Arm® 处理器以及其他器件 IP 通信。您可以使用 Embedded Coder support package for Zynq 生成驱动程序和应用软件,对 Arm 应用处理器进行编程。
扩展目标平台支持
如果您要部署到某个基于 FPGA 或 SoC 的平台,但 MathWorks 尚未提供相应的支持包,则您可以创建或下载参考设计,并将其接入 HDL Coder。您可以使用 SoC Blockset 或 Vivado 开发参考设计。File Exchange 提供了一些第三方参考设计,来自亚德诺半导体 (Analog Devices®)、Avnet®、Speedgoat 以及 Trenz Electronics 等供应商,适用于基于赛灵思 FPGA 或 SoC 的平台。