FPGA的MATLAB设计,第5部分:生成和合成RTL
从系列中:MATLAB FPGA设计
FPGA编程传统的方法是从提供寄存器传输级(RTL) VHDL开始®或Verilog®代码到FPGA合成工具。在本教程的这一部分中,我们将展示如何从经过验证的高级架构模型自动生成RTL,分析估计的时间和资源使用情况,然后自动运行合成。
这段视频包括:
- 运行HDL代码生成就绪性检查和潜在的硬件低效率检查
- 自动或手动解决报告的问题
- 设置第三方工具来合成生成的VHDL或Verilog
- 使用HDL Workflow Advisor生成RTL代码的阶段、任务和设置
- 资源使用和优化报告,在进入综合之前提供快速的高级反馈
- FPGA合成的时序和关键路径分析
欢迎来到HDL编码器视频系列。在本视频系列中,我们将学习一个流行的生产验证路径,通过Simulink,定点设计器和HDL编码器将MATLAB数字信号处理算法用于FPGA。金宝app
在本系列之前的视频中,我们讨论了MATLAB和Simulink的优势,创建了脉冲检测算法的Simulink模型,介绍了扩展速度和面积权衡控制的设计架构选项,并将金宝appSimulink设计转换为定点。
在视频系列的第五部分中,我们将生成和合成优化的HDL代码。
我们将采取以下步骤来生成HDL代码。首先,我们将检查模型与代码生成的兼容性,然后启动HDL Workflow Advisor来生成HDL代码。
脉冲检测器子系统或待测设备(DUT)包含我们将为其生成HDL代码的算法。我们将从保存和重命名模型开始,并检查Pulse Detector子系统中的任何不兼容性。右键单击HDL Code选项下的DUT,选择“Check Model Compatibility”。HDL Model Checker不仅确保子系统中使用的块是否与HDL兼容,而且还确保这些块的设置、端口和配置不会产生低效的硬件。
HDL模型检查器包括本地浮点数和行业标准检查选项。由于这些不适用于本例,我们将忽略它们。运行选中的检查后,不符合状态将显示为警告或失败。在我们的例子中,突出显示了两个警告。要导航到Simulink模型中的警告源,请使用提供的链接。金宝app报告的警告可能会阻止优化功能的正常运行,并最终消耗额外的硬件资源。若要自动更正警告,可以使用“修改设置”更改警告。
生成一个HTML报告,其中显示了Model Checker每次运行时的结果,并带有时间戳。
在下一步中,我们将利用HDL工作流顾问来生成HDL代码。为了合成生成的VHDL或Verilog代码,我们将使用第三方工具;在我们的案例中,是赛林克斯Vivado。HDL Coder支金宝app持广泛的合成工具,如英特尔,Microsemi,仅举几例。使用“hdlsetuptoolpath”命令,我们将把合成工具分配到我们的MATLAB系统路径。
通过右键单击DUT启动HDL Workflow Advisor,并从HDL Code选项中选择HDL Workflow Advisor。HDL工作流顾问指导您通过使用一系列任务生成DUT和FPGA设计阶段的HDL代码的阶段。
为了运行这些任务,我们将使用我们的设计和硬件包的详细信息来设置每个任务文件夹选项。合成工具、目标设备细节和目标频率的信息将在Set target文件夹下定义,与全局重置和报告生成相关的设置将在HDL代码生成部分中完成。
单击APPLY保存所选选项,右键单击子文件夹3.2,单击“RUN to selected TASK”开始生成HDL代码。
当HDL Advisor完成运行任务时,您已经成功地生成了HDL代码。生成的HDL结构良好,带有注释,可读,您可以从HDL代码的特定行导航到模型或MATLAB代码。代码生成报告允许您查看资源利用率估计,如乘数、DSP块和优化选项,如管道、资源共享和延迟平衡。此外,您可以使用Generated model链接选项查看DUT中的模型更改,甚至可以模拟生成的模型,以确保它在优化的时间下正确工作。
生成HDL代码后,您可以选择利用Workflow Advisor来创建FPGA Synthesis项目,或者使用您选择的合成工具。在这个视频中,我们将使用第一种方法。
通过在FPGA上映射的逻辑资源,我们可以可视化和识别路由前后的时序信息,并突出显示模型中的关键路径。该分析使用了带有合成结果选项的注释模型,并使HDL编码器能够以更准确的关键路径计时显示DUT。完成Workflow Advisor中的步骤后,您可以通过使用Workflow Advisor上的协同模拟来验证HDL。通过联合仿真选项,我们可以验证RTL是否与Simulink和MATLAB的行为相匹配。金宝app
在HDL编码器视频系列的第5个也是最后一个视频中,我们已经成功地生成和合成了在MATLAB中实现的脉冲检测算法的优化HDL代码。
要了解有关HDL Coder产品的更多信息,请访问MathWorks网站并探索MathWorks入门页面,以设计、探索、生成和验证用于FPGA、ASIC或片上系统(SoC)原型或生产项目的HDL代码生成。
您也可以从以下列表中选择一个网站:
如何获得最佳的网站性能
选择中国站点(中文或英文)以获得最佳站点性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。