利用自动HDL代码生成功能更快生成FPGA原型
在生成FPGA原型时,HDL代码必不可少。工程师手工编写了 Verilog或VHDL代码。作为替代选择,使用HDL编码器自动生成HDL代码具有众多明显优势。工程师可以快速地评估能否在硬件中实施当前算法;迅速评估不同的算法实现,选择最佳方案;并在FPGA上更快地建立算法原型。
对于DDC案例研究而言,可以在55秒内生成了5780行HDL代码。工程师可以浏览并很快理解代码(图7)。自动代码生成功能允许工程师对系统级模型进行更改,并且,通过重新生成HDL代码,该功能可以在数分钟之内生成更新的HDL实现方案。
重用具有协同仿真功能的系统级测试平台进行HDL验证
功能验证:HDL协同仿真使工程师能够重用Simulink模型,将激励驱动至HDL仿真器,并对仿真输出执行交互式系统级分析(图8)。
HDL仿真仅提供数字波形输出,而HDL协同仿真则提供了显示HDL代码的完整视图,并可以访问Simulink的全套系统级分析工具。当工程师观察到预期结果与HDL仿真结果存在差异时,可借助协同仿真进一步了解该失配所产生的系统级影响。
例如,在图9中,频谱仪视图可以使工程师做出明智决定,忽略预期结果与HDL仿真结果之间的失配,其原因是该差异位于阻带区。相比之下,数字波形输出只是将预期结果与HDL仿真结果的失配标记为误差。尽管工程师最终可能得出相同的结论,但这将需要更多的时间完成所需的分析。
测试覆盖率:工程师可以使用HDL验证工具、Simulink设计验证工具和ModelSim/Questa自动执行代码覆盖率分析。在该工作流程中,Simulink设计验证工具可针对模型覆盖率生成一套测试用例。HDL验证工具自动使用这一套测试用例运行ModelSim/Questa,收集代码覆盖率数据,以对生成的代码加以全面分析。
使用FPGA在环仿真加速验证
使用系统级仿真和HDL协同仿真验证DDC算法之后,便可以立即在FPGA目标平台上部署DDC算法。对算法执行基于FPGA的验证(也称为FPGA在环仿真)可以增强对算法在现实环境中有效运行的信心。相比基于主机的HDL仿真,该验证可以使工程师更快地运行测试方案。
对于DDC算法而言,可以使用Simulink模型驱动FPGA输入激励并分析FPGA的输出(图10)。与HDL协同仿真一样,在Simulink中始终可以利用相关数据进行分析。
图11对比了HDL协同仿真和FPGA在环仿真这两种用于DDC设计的验证方法。在本案例中,FPGA在环仿真的速度是HDL协同仿真的23倍。这样的速度提升使工程师能够运行更广泛的测试用例并对其设计进行回归测试。这使他们能够识别出有待进一步分析的潜在问题区域。
尽管HDL协同仿真速度较慢,但它却提高了HDL代码的可见性。因此,它很适合针对FPGA在环仿真过程中发现的问题区域进行更详细的分析。
总结
如果工程师遵循本文所述的四种最佳方法,开发FPGA原型将比传统的手动工作流程快出许多,并能使工程师信心倍增。此外,工程师还可以在整个开发过程中继续优化自己的模型,并快速地重新生成有关FPGA实现的代码。与依赖手工编写HDL的传统工作流程相比,这种能力可以显著缩短设计迭代的周期。
关键字:MATLAB Simulink FPGA原型
编辑:神话 引用地址:使用MATLAB和Simulink算法创建FPGA原型(二)
推荐阅读最新更新时间:2023-10-12 20:50
绘制根轨迹的MATLAB函数介绍
绘制根轨迹的MATLAB函数介绍
4.4.1 rlocus
⒈.功能:绘制系统的根轨迹。
⒉.格式:
=rlocus(n,d) =rlocus(g) =rlocus(n,d,k) =rlocus(g,k)
⒊.说明:
rlocus函数可计算出或画出SISO系统的根轨迹,其中g(或n,d)为对象模型,输入变量k为用户自已选择的增益向量,当k缺省时则为系统自动生成增益向量k,返回变量r为根轨迹各个点构成的复数矩阵.如果在函数调用中不返回任何参数,则rlocus函数在当前窗口中画出系统的根轨图。
4.4.2 rlocfind
⒈ 功能:计算给定一组根的根增益。
⒉格式:
=rlocfind(n,
[模拟电子]
使用MATLAB和任意波形发生器创建高性能激励测试系统
测试工程师面临的极具挑战性的任务之一,是为测试PCB原型或硅转生成激励信号,或为RF技术定义复杂的高频调制信号。尽管在工作台上摆满脉冲发生器、函数发生器、调制发生器和RF发生器也不失为一种方法,但使用任意波形发生器(AWG)直接合成生成信号提供了更高的灵活性、可重复性和测量精度。
灵活性源自我们生成波形的方式,其直接来自AWG中的内存,因此管理简便,可以满足无穷无尽的各类应用和测试需求。AWG基于采样的结构基本上与数字示波器的操作相反。示波器从模拟波形中采集样点,而任意波形发生器则从存储的样点中重建模拟波形(即DAC与ADC)。这些样点基本上可以定义任何波形,从正弦波到串行数字脉冲。
许多传统信号发生仪器只生成
[测试测量]
根据示波器存储的波形数据得到两列信号的相位差(MATLAB源码)
目的 示波器显示的波形如下,需要通过MATLAB处理得到这两列信号的相位差。 步骤 将U盘插入到示波器上,存储信号序列。在MATLAB中读取这个.CSV 信号序列文件,处理得到相位差。代码如下: clear all close all %读取数据 t=xlsread('A2.CSV','A2','A1:A500');%读取时间序列 x=xlsread('A2.CSV','A2','B1:B500');%读取参考信号 x1=xlsread('A2.CSV','A2','C1:C500'
[测试测量]
MATLAB入门教程之MATLAB的基本知识
1-1、基本运算与函数
在MATLAB下进行基本数学运算,只需将运算式直接打入提示号( )之後,并按入Enter键即可。例如:
(5*2+1.3-0.8)*10/25
ans =4.2000
MATLAB会将运算结果直接存入一变数ans,代表MATLAB运算後的答案(Answer)并显示其数值於萤幕上。
小提示: " "是MATLAB的提示符号(Prompt),但在PC中文视窗系统下,由於编码方式不同,此提示符号常会消失不见,但这并不会影响到MATLAB的运算结果。
我们也可将上述运算式的结果设定给另一个变数x:
x = (5*2+1.3-0.8)*10^2/25
[模拟电子]
基于MATLAB的实时数据采集与分析研究
1、引言
数据采集系统涉及多学科,所研究的对象是物理或生物等各种非电或电信号。根据各种非电或电信号的特征,利用相应的归一化技术,将其转换为可真实反映事物特征的电信号后,经A/D转换器转换为计算机可识别的有限长二进制数字编码,以此作为研究自然科学和实现工业实时控制的重要依据,实现对宏观和微观自然科学的量化认识,典型的数据采集系统组成如图1所示。
在采集过程中,将传感器获取的参数通过A/D转换送入内存,然后由CPU对其进行分析、运算和处理,如数字滤波、量纲变换、误差修正、数字显示等。在本文中,尝试通过利用MATLAB的数据采集工具箱对自主设计的数据采集系统 进行模拟仿真,结果实现了对设计系统的模拟操作检验与数据分
[单片机]
Matlab的孤立逆变源的设计方案
基于Matlab软件平台,采用双环控制策略设计的逆变源,利用Matlab-Simulink-SimPowerSystems的工具箱进行建模仿真,验证了本文所设计方案的可行性和有效性。 引言 随着太阳能、风能等可再生能源的发展,分布式发电以其环境污染少、能源综合利用率高、供电可靠等优点,逐渐成为了各国家竞相研究的热点,在美国、欧洲等技术成熟的国家和地区,以将其广泛应用在微电网中。逆变 电源 作为一种有效的电力供应源,成为了微电网的重要组成部分,并在微电网的研究和实施中得到了广泛的应用。 本文设计的基于PWM的孤立逆变电源,其控制模型采用电压外环和电流内环双环控制策略,电压外环和电流内环均采用PI控制方式。应用Ma
[电源管理]
MathWorks发布新版MATLAB和Simulink,新增数百项新特性
MathWorks 宣布,发布 MATLAB 和 Simulink 产品系列版本 2021a。版本 2021a (R2021a) 带来数百项 MATLAB® 和 Simulink® 特性更新和函数更新,还包含 3 款新产品和 12 项重要更新。MATLAB 现支持在实时脚本中使用动态控件,以及在实时脚本中使用任务添加绘图,同时无需编写代码。Simulink 现支持用户将 C 代码作为可重用的 Simulink 库导入,并可加快仿真速度。R2021a 还推出了针对卫星通信、雷达和 DDS 应用领域的新产品。如需了解详情,请观看版本 2021a 简介视频。 R2021a 推出的新产品包括: ·Satellite Communi
[半导体设计/制造]
基于Matlab的无失真模拟滤波器的设计
O 引 言
模拟滤波器的设计一般包括两个方面:根据技术指标即滤波器的幅频特性确定滤波器的传递函数H(s);设计实际网络实现这一传递函数。设计滤波器H(s)的关键是找到逼近函数,目前已有多种逼近函数。然而,不论哪种逼近函数都需要进行非常繁琐的计算,还要根据计算结果进行查表。
Matlab语言是一种简单、高效的高级语言,是一种内容丰富、功能强大的分析工具,其应用范围几乎覆盖了所有的科学和工程计算领域。Matlab中提供了丰富的用于模拟滤波器设计的函数,通过编程可以很容易实现低通、高通、带通、带阻滤波器,并能画出滤波器的幅频、相频特性曲线,大大简化了模拟滤波器的设计。在此介绍了用Matlab设计实现一个无失真模
[模拟电子]