从系列:FPGA设计与Matlab
生成可合成的VHDL®或Verilog®来自matlab的RTL®函数,simulink万博1manbetx.®模型和州流®可用于针对FPGA或ASIC硬件的图表。本教程使用一个简单的信号处理算法来展示我们的客户遵循的典型步骤,以根据硬件架构细节调整他们的高级算法,以便它们可以在硬件中有效地实现,并在每个步骤中进行验证。
这个视频覆盖:
欢迎来到HDL编码器视频系列。在这个视频系列中,我们将学习一个流行的生产证明路径采取MATLAB数字信号处理算法通过Simulink, Fixed-Point Designer,和HD万博1manbetxL Coder的目标FPGA。
在本系列视频的第一部分,我们将讨论MATLAB和Simulink的优势,并提供在MathWorks文件交换网站上可用的HDL编码器自学教程的概述。万博1manbetx
HDL编码器从MATLAB函数,SIMULINK模型和状态溢图中生成可合成的VHDL或Verilog,可用于定位FPGA或ASIC硬件。万博1manbetx
MATLAB是一种高级语言和交互式环境,在这里,复杂的数学运算可以很容易地在大型数据集上执行。MATLAB的这种能力使其成为开发数字信号处理算法的理想工具。为了将如此强大的语言用于硬件,我们需要理解FPGA硬件是一组固定的资源。FPGA硬件具有有限的带宽资源,包括输入/输出块、内存和DSP片,必须有效地利用这些资源来实现优化的设计体系结构,同时实现预期的结果。由于资源是固定在硬件中的,为了对大数据集进行操作,我们将在协调时间的同时对比特流进行操作,以获得正确的答案。
万博1manbetxSimulink提供了一个环境,您可以描述算法设计如何使用数据流,并在移动到硬件实现之前模拟。万博1manbetxSimulink具有内置的时间和有助于可视化数据类型和大小,通过操作创建良好硬件架构的关键的操作传播。万博1manbetxSimulink具有一个HDL优化的库,具有超过250个块并与HDL代码生成兼容。
因此,要在FPGA上部署MATLAB算法,推荐的工作流程是使用MATLAB和SIMULINK在一起,将文本和图形编程组合在模拟环境中。万博1manbetx我们将使用MATLAB算法作为黄金参考,描述Simulink中的硬件架构,转换为固定点,并利用Simulink的可视化来优化生成的HDL代码。万博1manbetx因此,可以在Matlab中验证Simu万博1manbetxlink中的每个步骤,并利用MATLAB作为测试和可视化环境。
为了说明工作流程,我们将利用来自MathWorks文件Exchange网站的HDL编码器自动引导示例。
教程配有可视指导,并提供逐步指令,以将MATLAB算法实现到FPGA上。此外,本教程提供了必要的MATLAB和测试台脚本。
在MATLAB参考脚本中,创建要检测的脉冲并插入发射信号中。添加噪声以表示真实世界接收信号。为了检测MATLAB中的脉冲,我们将利用接收信号的整个“帧”并通过匹配的滤波器,具有所需的系数。该算法将是我们的MATLAB金色参考,它将检测峰值值及其位置。
硬件在连续的比特流上工作,通过在比特流的样本上滑动窗口获得峰值检测。为确保此方法提供所需的结果,我们创建了一个代表硬件实现的MATLAB算法。这将调用硬件友好的算法。
硬件实现算法在该准则下检测最后11个样本的滑动窗口内的峰值。中间样本最大,中间样本大于一个预先确定的阈值。该算法将用于验证和比较Simulink模型实现的输出结果。万博1manbetx
在HDL编码器上的该视频系列的第一部分中,我们已经讨论了MATLAB和SIMULINK环境的优势,并提供了脉冲检测器MATLAB算法的概述,该算法将用于突出显示实现MATLAB算法所需的HDL编码器工作流程万博1manbetx在FPGA上。
在下一个视频中,我们将设计脉冲检测器算法的Simulink实现,并将其与M万博1manbetxATLAB黄金参考进行比较。
你也可以从以下列表中选择一个网站:
选择中国网站(以中文或英文)以获得最佳网站性能。其他MathWorks国家网站未优化您所在地的访问。