主要内容

使用阿尔特拉DSP Builder先进Blockset HDL编码器

这个例子展示了如何使用阿尔特拉®DSP Builder先进与高密度脂蛋白Blockset编码器™。

介绍

使用阿尔特拉®DSP Builder先进Blockset子系统块,块或DSPBA子系统,使您能够使用两块Simulink模型设计®和阿尔特拉®,并自动生成集成HDL代码。金宝app高密度脂蛋白编码器™从模型生成HDL代码®块,并使用阿尔特拉®DSP Buil金宝appder从DSPBA子系统生成HDL代码块。

在这个例子中,设计、代码生成子系统,包含两个部分:一个模型®本地块,和一个与阿尔特拉®DSP Builder先进的街区。金宝app的阿尔特拉®块分组在DSPBA子系统(hdlcoder_sldspba / SLandDSPBA / DSPBA子系统)。阿尔特拉®®fpga负责公司的DSP Builder优化这些块。在其余的设计中,仿真软件®块和高密度脂蛋白编码器™提供金宝app许多基于模型的设计特点,如分布式流水线和延迟平衡、执行模型级优化。

open_system (“hdlcoder_sldspba”);open_system (“hdlcoder_sldspba / SLandDSPBA”);

设置为阿尔特拉®DSP Builder先进Blockset

为了使用阿尔特拉®DSP Builder先进Blockset子系统块,你必须有阿尔特拉®第四的二世与仿真软件建立®。金宝app版本兼容性,请参阅HDL语言支持,支持第三方金宝app工具和硬件

创建阿尔特拉®DSP Builder先进Blockset子系统

创建一个DSPBA子系统:

  1. 把阿尔特拉®块在一个子系统,其架构设置为“模块”(默认值)。

  2. 设备块在顶层的子系统。你可以DSPBA子系统子系统的层次结构,但必须有一块设备在层次结构的顶层。

open_system (“hdlcoder_sldspba / SLandDSPBA / DSPBA子系统”);

金宝app仿真软件®组件

在这个例子中,Stateflow图生成频道和有效信号驱动DSPBA子系统。

open_system (“hdlcoder_sldspba / SLandDSPB金宝appA /仿真软件子系统”);

生成HDL代码

您可以使用makehdl在命令行或高密度脂蛋白工作流顾问生成HDL代码。使用makehdl:

makehdl (“hdlcoder_sldspba / SLandDSPBA”);

你也可以生成一个testbench、模拟和合成设计像其他模型。

当有效信号处理仿真不匹配不能断言

DSPBA子系统仿真生成的代码可能不匹配的行为当有效信号不主张在某些情况下,例如当折叠选项在两个hdlcoder_sldspba / SLandDSPBA DSPBA子系统/频道播出和hdlcoder_sldspba / SLandDSPBA / DSPBA子系统/ ChannelOut打开。不匹配影响下游仿真软件设计和仿真试验台故障原因。金宝app

看到不匹配,你可以把频道播出和ChannelOut块上的折叠设置:

set_param (hdlcoder_sldspba / SLandDSPBA / DSPBA子系统/频道播出的,“FoldingEnabled”1);set_param (“hdlcoder_sldspba / SLandDSPBA / DSPBA子系统/ ChannelOut ',“FoldingEnabled”1);

然后,再次生成HDL代码和实验台:

makehdl (“hdlcoder_sldspba / SLandDSPBA”);makehdltb (“hdlcoder_sldspba / SLandDSPBA”);

模拟生成的代码和测试台上后,你可以看到,高密度脂蛋白编码器的输出与参考数据只有当有效信号是断言。

从试验台的消息显示,预计不匹配。

为了避免这种模拟不匹配,插入一个启用子系统在DSPBA子系统输出信号,在他们达到你的设计的仿真软件部分或整体设计的输出端口。金宝app以下子系统显示了启用子系统如何连接信号。

open_system (“hdlcoder_sldspba / SLandDSPBA2”);