MATLAB中FPGA 5步骤
工程师使用MATLAB®开发算法的应用,如信号处理、无线通信,image-video处理。开发一个概念验证,工程师需要在FPGA上实现他们的设计评估或原型。使用高密度脂蛋白编码器™工作流,发现所必需的关键步骤和发展一个MATLAB算法转换为一个可读的和优化的HDL代码可以在fpga实现。
大家好,欢迎来到这MathWorks研讨会MATLAB FPGA在5步骤,介绍高密度脂蛋白编码器工作流程。
我拉Sivakumar产品营销团队在印度海德拉巴的一部分,负责MathWorks解FPGA、ASIC和SoC发展。金宝搏官方网站
一个快速概述网络研讨会的议程,我将谈论网络研讨会的动机,然后脉冲检测器算法在MATLAB作为这次研讨会的一个例子,然后展示设计工作流。
在这个网络研讨会我将开始与脉冲检测器算法在MATLAB和网络研讨会结束时,我们将有一个明确的可读的HDL代码,其定义及其输入和输出数据类型定义在固定的点。到这段代码,我没有写任何的高密度脂蛋白。在这网络研讨会,我将展示如何在增量的步骤我从MATLAB HDL代码。
这让我好这个网络研讨会的动机。我们有许多客户在应用,如信号处理、无线通信和图像/视频处理的,他们主要是在MATLAB。他们问我们如何把MATLAB算法,在FPGA上评估板!他们几乎没有FPGA编程知识或硬件设计工程师太忙。如果这种情况与你,我会请求你在接下来的30分钟看这个研讨会MATLAB FPGA在5步骤。
现在让脉搏检测器算法在MATLAB。我选择脉冲探测器的一种常用算法在许多应用程序中,并为广大读者所熟悉。关键的步骤,而不是算法,该算法可以是一个过滤器,一个线性调频信号OFDM等等。
脉冲检测器算法在MATLAB中,我定义了脉搏,插入在传输信号。实际接收的信号,我添加噪声传输信号。现在找到脉搏,我通过一个过滤器系数定义和检测脉冲通过max函数。所以你可以看到在MATLAB我能够工作在整个框架。但在硬件这个框架将传入的数据执行的操作,而管理并行路径的时机。金宝app仿真软件是好的。我们可以想象并行路径;它有一个内置的时机感,我们可以通过操作可视化数据类型传播。
MATLAB和Simulink仿金宝app真工作无缝地在一起,你甚至可以包括在仿真软件MATLAB代码。这期间我将演示研讨会。
我们向我们的客户推荐的设计流程是利用文本编程和视觉造型MATLAB和Simulink,建立一个基于时间的系统在仿真环境中。金宝app
使用MATLAB中,我们将创建我们的金色的参考。算法的一部分,我们要在硬件上实现,这将是我们的第一步。在步骤2中,我们将模型动态仿真模块的硬件实现纸浆包。金宝app我们将优化硬件在步骤3中,我们将优化速度和资源使用。步骤4中我们将数字转换数据类型到定点。在步骤5中,最后生成HDL代码。每一步我们将确保功能和正确性验证对MATLAB黄金参考。
在步骤2中我们将模型在仿真软件环境中峰值检波器。金宝app
基于MATLAB帧黄金算法将被转换成一个纸浆包仿真软件模型。金宝app
在MATLAB我们使用一个过滤器,并通过信号通过max函数来检测峰值。在仿真金宝app软件中,我们将设计模型来处理传入的流数据和检测峰值的滑动窗口在最后11个样本。检测峰,我们将使用三个阶段,过滤传入的流第二计算max函数,和当地峰值检测。
让我们看一下演示。
我们将利用仿真软件的HDL优化图书馆有超金宝app过250块模型的硬件实现
信号从工作空间的块是用于创建的数据流,然后发送这个样本数据通过一个离散的冷杉过滤块。块MATLAB算法参数的变量值。我们只是再利用MATLAB的我们所做的工作。
在仿真金宝app软件可以可视化的结构和数据流在整个模式。稍后我们将日志特定的信号,我们将使用它来验证与MATLAB的Simulink仿真模型黄金参考。金宝app
在MATLAB中,我们能够找到全球最大的整个信号,和函数使用复杂的操作,比如平方根。在硬件的信号流,我们将计算当地的马克斯。为了节省资源,而不是使用复杂的操作,比如平方根,我们将设计和两个广场的实部和虚部信号。
接下来,我们计算最近的11个样品的马克斯。这很容易在MATLAB完成,我们将使用MATLAB函数模型中包括毫升代码块。峰是发现通过检查如果中间样品比他人,也大于最小阈值。
这种方法使立即检测的脉冲,这个过程流信号,因为它的到来。
峰被启用了延迟块并显示当检测到信号变得很高。
为了验证如果这金色每我们的MATLAB仿真软件模型函数金宝app作为参考,我们将运行一个比较的记录信号仿真软件的设计,对黄金参考。在整个过程中,我们将使用一个MATLAB试验台脚本验证的目的。
在MATLAB和Simulink发现峰的位置是相同的和相关错误在-17年每股收益的范围。金宝app
在这一步中,我们模拟仿真软件的硬件实现,建立了MATLAB和Simulink环境无缝地协同工作,我们甚至包括在仿真软件MATLA金宝appB代码。
这一步的外卖
- 通过使用仿真软件的金宝app250和高密度脂蛋白优化块,我们创建了峰值检波器的硬件实现。
- 可以想象不同的操作的数据流
- 日志记录感兴趣的仿真软件金宝app信号后利用对黄金参考验证…
- 包括MATLAB代码仿真软件环境。金宝app
在模仿我们在仿真软件的硬件实现,我们将专注于优化架构,使其高效、优化的硬件设计。金宝app
我们将首先准备HDL代码生成的模型,然后使用优化技术来控制速度和面积权衡在硬件设计。此外,我们将添加一个信号有效性检查硬件设计。
运行HDLSETUP命令,调用一系列指令将在后台运行和配置几个模型参数。这个模型解算器设置为一个离散的固定步骤时间解算器,和每个样例蜱虫将对应于一个时钟周期的FPGA,速度监测数据,通过并行路径信号的时机。采样率的时间块的颜色表示,红色描绘了最快的采样率。
脉冲检测实现分组在一个子系统,我们称之为脉冲探测器。这个子系统也称为测试设备(DUT),将在硬件上实现目标(HDL的这一部分将产生仿真软件模型)。金宝app我们现在可以专注于个体块在这个脉冲探测器子系统优化硬件。
我们将取代离散冷杉过滤块离散冷杉滤波器HDL硬件优化的块。这个街区提供了过滤器体系结构和流水线寄存器的位置,被设计成块DSP资源效率。金宝app仿真软件提供了一系列这样的高密度脂蛋白优化块是针对硬件设计进行了优化。
离散滤波器块有一个内置的信号有效性检查选项。使用数据有效的检查是一个很好的实践,也常用在硬件设计与非连续数据源接口。对于这个演示我接收信号是真实的,作为有效的输入信号滤波器。
因素中确定时钟周期/速度离散时间固定的步骤是在FPGA上,需要做多少业务或计算在给定的时钟周期。插入管道寄存器在并行路径提高时钟速度。高密度脂蛋白编码器提供了多种方式插入管道阶段代码生成过程中缩短路径,这样你就可以运行在更高的频率。其延迟平衡特性匹配插入管道阶段并行路径。我在这里将说明手动插入他们,也让我的能力来模拟这种行为在一个较高的水平。
可视化管道的影响,我们将手动插入在并行路径和模拟硬件设计模型。冷杉的并行路径作为输入过滤块和当地峰值输出子系统和filter_valid信号路径。
我们将确保仿真软件模型所做的变更没有影响其功能和验证记录的信号对黄金参考。金宝app运行验证测试,我们可以看到,MATLAB和Simulink仿真环境的位置是相同的和相关的错误是在-17年的每股收益范围内。金宝app
关键步骤3外卖形式
- 我们使用HDLSETUP命令为代码生成模型,学习模型的解算器与fpga时钟频率。金宝app
- 检查使用硬件有效块和添加有效信号。我们使用流水线方法提高时钟频率——一个关键因素,决定了功能设计的时钟速度
- 同时,通过验证我们的硬件优化没有数据类型量子化,确保量化噪声不隐藏你的设计错误。
到目前为止,我们已经将我们的框架基于MATLAB算法示例仿真软件模型,说明了MATLAB和Simulink仿真环境中无缝地协同工作。金宝app我们把基于示例的仿真软件模型,优化了代码生成和添加金宝app细节有效地利用硬件资源。
在第四步我们将数字转换的数据类型不动点和验证它在金色的参考。
在MATLAB数据类型默认为64位的双精度浮点数,和在数字硬件数据类型是由定点资源效率,也降低了能耗。在MATLAB定点表示为签署或无符号之后的单词长度由整数和分数的部分。
所以在本节中,我们将利用仿真软件的可视化数据类型的能力传播通过操作和使用数据类型转换模块将金宝app数据转化为固定的点。在这个演示,我定点预定义的数据变量,确保接收信号表示的整个范围。我们将进入定点变量在模型中使用的数据类型的转换。我们将更新模型可视化的字长定点数据通过操作显示仿真软件自动传播定点精度和维护。金宝app当我们到达乘法操作,我们建议将信号转化为18位字长和类似的转换后的字长到18位添加操作。我们这样做的原因是对繁殖和添加操作映射到单个DSP块FPGA硬件上。
这个演示可以定义定点变量和数据类型转换,但是对于大型和复杂的模型,我们可以使用定点设计工具。工具收集的数据通过运行模型,然后提出了定点数据类型,我们可以应用该值或设置你自己的。最后,我们可以运行模型,量化的影响,回去并在必要时进行修改。这允许重新运行仿真与多个量化选项并提供视觉信息数据溢出,下溢。
现在测试设备定点量化,我们将验证更改给我们期望的结果按照黄金参考。运行验证测试,量子化错误突出显示一个警告。这是一个预期行为由于饱和和扩展的数据类型。量化对硬件设计的想法是找到之间的平衡效率和准确性。而MATLAB和Simulink的峰值的位置一样,由于量化误差的相关性增加了。金宝app
在步骤4我们涵盖以下主题…
- 我们看到仿真软金宝app件的传播能力和维护数据类型通过操作精度,
- 管理一些增长。把字长到18位所以multiply-add操作映射到单个DSP块
- 定点设计一个图形用户界面工具,收集数据的范围,提出了定点,让你模拟和比较结果。
- 我们验证了量化模型对黄金参考。
在最后的步骤5,我们将生成和合成HDL代码。出于演示目的,我们将选择Xilinx Zynq装置,为了合成生成HDL代码之后,我们包括Xilinx Vivado合成工具MATLAB路径。
在本节中,我们将看到HDL工作流的功能顾问和生成的代码之间还演示报告,跟踪和仿真软件模型。金宝app
开始我们会通过一系列的检查,使用HDL代码顾问。这个检查模型、港口和块设置,以确保兼容性代码生成。此外,这也使您可以检查与本机浮点的兼容性和行业标准检查。这两个不适用,我们将跳过这些。当运行这些检查检查如果有错误,你可以直接修改建议的模型或选择“修改设置”自动修改。
检查过我们的模型后,我们将使用HDL顾问,我们将通过一系列的任务和设置的选择。在这里我们将进入我们的目标设备的细节,设备方案,目标频率和合成工具。在HDL代码生成设置,优化部分,我们选择自适应流水线,并得到报告和选择时钟设置我们将选择必要的选择。
我们的选择,我们现在可以生成HDL代码通过运行任务的生成和Testbench RTL代码。当所有的任务成功完成你有HDL代码生成结构良好,评论和可读性。这些报告,我们选择了为我们提供信息资源利用率和估计的乘数,DSP模块的利用率。优化报告链接到额外的寄存器插入最后的模型,例如计算能力子系统块中,您可以看到HDL编码器自动添加管道寄存器,以提高整体的时钟速度。可追溯性是双向的,既可以使用生成的HDL代码导航到仿真软件模型和块的模型跟踪其HDL代码。金宝app示范我选择用块,我向你展示我可以跟踪从代码的模型和模型代码。
使用生成的HDL代码,您可以使用高密度脂蛋白合成工作流顾问支持第三方合成工具,您可以使用其他的合成工具你的选择。金宝app使用高密度脂蛋白工作流,该工具创建必要的文件和文件夹和合成在后台运行,除了提供报告关键时间路径模型。这个设计工作流允许用户探索设计在更高的抽象层次和导致迅速找到最好的硬件体系结构,以满足他们的目标。一个这样的客户“OROLIA”公司提供定位、导航和定时(PNT)解决方案对于国防和空间应用程序,必须开发的第二代信标接收机硬件。金宝搏官方网站在此之前他们已经利用模拟设计和没有经验,设计和实现数字接收机。使用MATLAB和Simulink金宝app他们设计了一个专门的特别提款权和模拟设备射频系统的设计实现模块。HDL编码被用来生成synthesizable高密度脂蛋白。这使工程师们关注智能算法和通过这种设计方法设计工程师能够缩短开发由8个月和FPGA实现时间减少了50%。
与HDL编码,我们可以连接MATLAB算法和FPGA原型硬件系统设计。与高密度脂蛋白编码器生成synthesizable,硬件描述语言(VHDL)或Verilog MATLAB函数,仿真软件模型和Stateflow图表。金宝app花时间在仿真软件建立纸浆包模型,添加硬件架构,转换成定点和验证每个步骤对黄金引用允许您控制算法在FPG金宝appA资源利用率和目标系统的步骤。HDL代码生成独立于目标和便携式,如果你尝试另一个设备上的代码。
我希望我们今天讨论和演示的是感兴趣的。找到更多使用以下资源链接提供的主题信息,验证代码,定点转换和我鼓励你去尝试上可用的高密度脂蛋白自导教程MathWorks文件交换。如果你有兴趣评估HDL编码工具,想开始访问我们的开始页面或接触MathWorks销售联系人。
感谢大家的倾听,我们现在可以花剩下的时间回答问题有关的话题进行了讨论。
了解更多
你也可以从下面的列表中选择一个网站:
表现最好的网站怎么走吗
选择中国网站(中文或英文)最佳站点的性能。其他MathWorks国家网站不优化的访问你的位置。