主要内容

fpga仿真软件中波束形成:代码生成金宝app

这个例子显示了一个工作流的下半年生成HDL代码的波束形成算法,并验证所生成的代码的功能是正确的。

的第一部分,fpga仿真软件中波束形成:算法设计金宝app,展示了如何开发一个算法在仿真软件®适合在硬件上实现,如现场可编程门阵列(FP金宝appGA),以及如何比较定点实现模型的输出对应的浮点行为模型。

这个示例使用HDL编码器™生成HDL代码从第一部分中所开发的仿真软件模型和验证使用高密度脂蛋白HDL代码验证人™。金宝app高密度脂蛋白验证器是用来生成一个cosimulation试验台模型来验证所生成的HDL代码的行为。试验台使用ModelSim®cosimulation HDL代码自动生成的验证。

相控阵系统工具箱™模型块模型操作框架,浮点数据并提供行为参考模型。金宝app这个例子使用行为模型来验证结果的实现算法的硬件和生成的HDL代码。

高密度脂蛋白编码器生成便携synthesizable Verilog®300多个仿真软件和硬件描述语言(VHDL)®代码块支持HDL代码生成。金宝app金宝app这些模型块操金宝app作串行数据使用定点算术和延迟包括使流水线的合成工具。

高密度脂蛋白验证器帮助您验证Verilog硬件描述语言(VHDL)设计的fpga, asic和soc。这个例子验证高密度脂蛋白从仿真软件模型生成对试验台运行仿真软件使用cosimulati金宝appon HDL模拟器。

实现模型

本教程假设您有一个仿真软件模型,其中包含一个子系统的波束形成算法使用仿真软件金宝app模块设计使用定点算术和支持HDL代码生成。金宝app的fpga仿真软件中波束形成:算法设计金宝app示例显示了如何创建这样一个模型。

另外,如果你开始一个新的模型,您可以运行hdlsetup(高密度脂蛋白编码器)配置HDL代码生成的仿真软件模型。金宝app配置模型试验台模型创建、打开模型设金宝app置,选择试验台HDL代码生成在左边面板中,并检查高密度脂蛋白试验台Cosimulation模型试验台生成输出属性组。

比较结果行为模型的实现模型

运行中创建的模型fpga仿真软件中波束形成:算法设计金宝app例子来显示结果。您可以运行仿真软件模型通过单击播金宝app放按钮或从命令行调用sim命令MATLAB®。使用时间范围块比较输出帧视觉。

modelname =“金宝appSimulinkBeamformingHDLWorkflowExample”;open_system (modelname);%确保模型是可见的范围,而不是阻碍。集(allchild (0)“可见”,“关闭”);sim (modelname);

模型设置

一旦你确认定点实现模型产生相同的结果作为浮点行为模型,您可以生成HDL代码和试验台。首先,设置HDL代码生成参数在仿真软件配置参数对话框。金宝app对于这个示例,设置以下参数模型下设置HDL代码生成:

  • 目标:Xilinx Vivado合成工具;Virtex7家庭;设备xc7vx485t;包ffg1761速度1;和目标300 MHz的频率。

  • 优化:取消所有优化除了平衡延迟。

  • 全局设置:将重置类型设置为异步的。

  • 试验台:选择高密度脂蛋白试验台和Cosimulation模型。

优化是残疾人在这个模型的原因是,因为一些块用于我们的实现已经HDL-optimized块,这可能与HDL编码优化的冲突。

HDL代码生成和创造试验台

接下来,使用HDL编码器生成HDL代码高密度脂蛋白算法子系统。如何生成HDL代码的一个例子,看看从仿真软件模型生成HDL代码金宝app(高密度脂蛋白编码器)

使用这些命令来生成HDL代码和试验台。

makehdl ([modelname“/ HDL算法”]);%生成HDL代码makehdltb ([modelname“/ HDL算法”]);%生成Cosimulation试验台

当你打电话给makehdl命令,MATLAB命令窗口显示的延迟增加了自动代码生成过程中。在这种情况下,24日延迟添加导致的额外延迟24 * 1 = 24女士女士。最终的输出将被推迟这些额外的金额,总计79毫秒的延迟。

由于这种额外的延迟期间添加代码生成,浮点行为模型的输出需要延迟平衡通过添加24延误原55。这种延迟将行为模型和实现模型的输出和cosimulation输出。

生成过程中HDL代码和试验台工作文件夹中创建一个新的模型模型,命名金宝appgm_ < modelname > _mq。模型包含一个ModelSim Cosimulation块。

使用这些命令打开试验台模型。

modelname = [“gm_”modelname,“_mq”];open_system (modelname);

在这个新模型中,延迟设置在高密度脂蛋白延迟块更改为79,占24延迟添加的代码生成过程。79年使用延迟保证行为模型的输出与输出的实现和cosimulation time-aligned输出。

通过Cosimulation HDL代码验证

之前打开ModelSim确保命令ModelSim开始,vsim的道路上,是您的机器。

运行cosimulation模型中,双击蓝色矩形的左上角推出ModelSim仿真软件测试模型。金宝app

运行模型试验台模金宝app型显示仿真结果。您可以运行仿真软件模型通过单击播金宝app放按钮或调用MATLAB命令行上的sim命令。试验台模型包括时间范围块比较cosimulation执行的输出与高密度脂蛋白子系统的输出在ModelSim仿真软件。金宝app

如果你有ModelSim路径,使用此命令运行试验台。

sim (modelname);

在ModelSim开始,运行模型试验台模型,Sim填充高密度脂蛋白模型在仿金宝app真软件的波形和时间范围。数据显示的例子中的结果,Sim和模型范围。金宝app

注意:你必须重启,Sim每次你想运行仿真软件仿真。金宝app重新启动,叫重新启动在,Sim命令行。或者,你可以辞职,Sim卡和品牌通过双击蓝色框的左上角模型试验台模型。金宝app

模型范围金宝app显示cosimulation和高密度脂蛋白模型(DUT)生产79毫秒延迟版本的原始信号产生的行为模型,正如所料,没有两个波形之间的区别。79毫秒的延迟是由于原来的55毫秒的延迟中添加高密度脂蛋白算法子系统,使流水线的合成工具和额外的24女士延迟由于延迟平衡增加HDL代码生成。额外的24延迟是在代码生成步骤中报道。

模型范围金宝app比较的结果cosimulation可以在试验台模型内比较子系统,它的输出高密度脂蛋白Algorithm_mq子系统。

使用此命令打开子系统的范围。

open_system ([modelname,“比较/ Assert_beamformingOutHDL”])

总结

这个例子是分两部分的教程系列的第二如何自动生成HDL代码定点,纸浆包波束形成算法并验证模型生成的代码。金宝app本教程的第一部分,fpga仿真软件中波束形成:算法设计金宝app,展示了如何开发一个算法模型适合FPGA实现。金宝app这个例子展示了如何建立一个模型来生成HDL代码和cosimulation试验台使用块创建的模型子系统支持HDL代码生成。金宝app金宝app它展示了如何设置和启动ModelSim cosimulate HDL代码并比较其输出到输出生成的HDL实现模型。