从系列:与matlab的FPGA设计
拉Sivakumar, MathWorks
FPGA编程传统上以提供寄存器传输级别(RTL)VHDL开始®或Verilog®代码到FPGA合成工具。在本教程的这一部分,我们将展示如何从经过验证的高级体系结构模型自动生成RTL,分析估计的时间和资源使用情况,然后自动运行合成。
这个视频覆盖:
欢迎来到HDL编码器视频系列。在本视频系列中,我们将学习一个流行的生产验证路径,通过Simulink, Fixed-Point Designer,和HDL Coder目标FPGA采取MATLAB数字信号处理算法。金宝app
在本系列的先前视频中,我们已经讨论了MATLAB和Simulink的强度,创建了脉冲检测算法的Simulink模型,介绍了扩展控制速度和区域权衡的设计架构选项,金宝app并将Simulink设计转换为Termit Point。
在视频系列的第五部分,我们将生成和合成优化的HDL代码。
我们将采取以下步骤来生成HDL代码。首先,我们将检查模型对代码生成的兼容性,然后启动HDL Workflow Advisor来生成HDL代码。
脉冲检测器子系统或被测设备(DUT)包含我们将生成HDL代码的算法。我们将首先保存和重命名模型并检查脉冲检测器子系统中的任何不兼容。通过右键单击HDL代码选项下的DUT来选择“检查模型兼容性”。HDL模型检查器不仅可以确保子系统中使用的块是HDL兼容的,还可以确保这些块的设置,端口和配置不会产生低效硬件。
HDL模型检查器包括本机浮点和行业标准检查的选项。由于这些不适用于此示例,因此我们将忽略它们。运行所选检查后,非符合状态将显示为警告或故障。在我们的案例中,突出了两个警告。要导航到Simulink模型中的警告源,请使用提供的链接。金宝app报告的警告可能会阻止优化功能正常运行,最终消耗额外的硬件资源。要自动纠正警告,可以使用“修改”设置来更改它们。
生成了一个HTML报告,其中显示了Model Checker每次运行的结果(带有时间戳)。
在下一步中,我们将利用HDL工作流程顾问生成HDL代码。要合成生成的VHDL或Verilog代码,我们将使用第三方工具;在我们的案件中,Xilinx Vivado。HDL编码器支持广泛金宝app的综合工具,如英特尔,Microsemi,以命名为少。使用“hdlsetuptoolpath”命令,我们将为我们的MATLAB系统路径分配综合工具。
通过右键单击DUT来启动HDL Workflow Advisor,然后从HDL代码选项中选择HDL Workflow Advisor。HDL Workflow Advisor指导您通过使用一系列任务为DUT生成HDL代码的阶段和FPGA设计阶段。
为了运行这些任务,我们将设置每个任务文件夹选项与我们的设计和硬件包的细节。合成工具、目标设备细节和目标频率的信息将在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编码器视频系列上的第五个和最终视频,我们已成功生成并合成MATLAB中实现的脉冲检测算法的优化HDL代码。
要在HDL编码器产品上了解更多信息,请访问MathWorks网站并浏览Mathworks入门页面以设计,探索,生成和验证FPGA,ASIC或芯片系统(SOC)原型或生产项目的HDL代码生成。
你也可以从以下列表中选择一个网站:
选择中国网站(以中文或英文)以获取最佳网站性能。其他MathWorks国家网站未优化您的位置。