从系列:用MATLAB实现FPGA设计
拉Sivakumar, MathWorks
生成可合成的VHDL编码器™®或Verilog®从MATLAB RTL®函数,仿真软件金宝app®模型和Stateflow®可用于目标FPGA或ASIC硬件的图表。本教程使用一个简单的信号处理算法来展示我们的客户遵循的典型步骤,这些步骤用于调整具有硬件架构细节的高级算法,以便在硬件中有效地实现这些算法并在每个步骤中进行验证。
这个视频覆盖:
欢迎来到HDL编码器视频系列。在这个视频系列中,我们将学习一个流行的制作证明的MATLAB路径数字信号处理算法通过Simulink、定点设计器和HDL编码器实现目标FPGA。金宝app
在视频系列的第一部分中,我们将讨论MATLAB和Simulink的强大之处,并提供一个关于在MathWorks文件交换网站上提供的HDL编码器自导教程的概述。金宝app
HDL编码器生成可合成的VHDL或Verilog从MATLAB功能,Simulink模型,和Stateflow图表,可用于目标FPGA或ASIC硬金宝app件。
MATLAB是一种高级语言和交互式环境,可以在其中轻松地对大数据集执行复杂的数学运算。MATLAB的这种能力使其成为开发数字信号处理算法的理想工具。要将如此强大的语言定位到硬件上,我们需要理解FPGA硬件是一组固定的资源。FPGA硬件的资源带宽有限,包括输入/输出块、内存和DSP片,必须有效利用这些资源来实现优化的设计架构,同时达到预期的效果。由于硬件上的资源是固定的,要在大数据集上执行操作,我们将在比特流上工作,同时协调时间以获得正确的答案。
金宝appSimulink提供了一个环境,您可以在其中描述算法设计如何处理数据流并在迁移到硬件实现之前进行模拟。金宝appSimulink有一种内置的时间感,可以帮助可视化数据类型和大小,并通过操作传播,这些操作对于创建良好的硬件体系结构至关重要。金宝appSimulink有一个HDL优化的库,有250多个块,并且兼容HDL代码生成。
因此,要在FPGA上部署MATLAB算法,推荐的工作流程是同时使用MATLAB和Simulink,在仿真环境中结合文本和图形编程。金宝app我们将以MATLAB算法为黄金参考,描述Simulink的硬件架构,转换为定点,利用Simulink的可视化对生成的HDL代码进行优化。金宝app这样,Simulink中的每一步都可以金宝app在MATLAB中进行验证,并利用MATLAB作为测试和可视化环境。
为了说明这个工作流程,我们将利用来自MathWorks文件交换网站的HDL编码自导向教程示例。
本教程附带一个可视化指南,并提供了在FPGA上实现MATLAB算法的分步说明。此外,本教程还提供了必要的MATLAB和测试工作台脚本。
在MATLAB参考脚本中,创建了要检测的脉冲并插入到发射信号中。添加噪声来表示真实世界的接收信号。为了在MATLAB中检测脉冲,我们将利用接收信号的整个“帧”,并将其通过一个具有期望系数的匹配滤波器。该算法将作为MATLAB的黄金参考,用于检测峰值及其位置。
硬件工作在连续的比特流上,峰值检测是通过在比特流的样本上滑动一个窗口来获得的。为了保证该方法能得到预期的结果,我们创建了一个MATLAB算法来代表硬件实现。我们称之为硬件友好型算法。
硬件实现算法在此条件下检测最后11个样本在滑动窗口内的峰值。中间样本最大,且中间样本大于预先确定的阈值。利用该算法对Simulink模型实现的输出结果进行验证和比较。金宝app
在这个视频系列的第一部分中高密度脂蛋白编码器,我们已经讨论了MATLAB和Simulink环境的优势,概述了脉冲探测器MATLAB算法,用来突出了HDL编码器工作流需要实现一个MATLAB算法在FPGA。金宝app
在下一个视频中,我们将设计脉冲检测器算法的Simulink实现,并与MAT金宝appLAB黄金参考进行比较。
您也可以从以下列表中选择一个网站:
选择中国网站(中文或英文)以获得最佳网站性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。