主要内容

使用Xilinx系统生成器的DSP与HDL编码器

这个例子展示了如何使用Xilinx®System Generator for DSP与HDL Coder™。

简介

使用Xilinx System Generator Subsystem模块,您可以使用来自Simulink®和Xilinx的模块对设计建模,并自动生成集成的HDL代码。HDL Coder™从Simulink块生成HDL代码,并使用Xilinx系统生成器从Xilinx系统生成器子系统块生成HDL代码。

在本例中,设计或代码生成子系统包含两部分:一部分使用Simulink本机块,另一部分使用Xilinx块。Xilinx块被分组到一个Xilinx系统生成器子系统中sysgendut它在SLandSysGen子系统在模型的顶层hdlcoder_slsysgen.System Generator为Xilinx fpga优化这些块。在其余的设计中,Simulink块和HDL Coder提供了基于模型的设计功能和HDL优化,例如分布式管道和延迟平衡。

open_system (“hdlcoder_slsysgen”);open_system (“hdlcoder_slsysgen / SLandSysGen”);

为Simulink®组件执行模型级优化

在本例中,求和树由sldutSLandSysGen子系统采用Simulink模块建模。您可以使用分布式管道特性来进行速度优化。

分布式流水线可以在不改变模型函数的情况下,将管道寄存器移动到和树中以减少关键路径。其他优化方法(比如资源共享)也可用,但在本例中没有使用。

open_system (“hdlcoder_slsysgen / SLandSysGen”);

创建Xilinx系统生成器子系统

要创建Xilinx System Generator子系统:

  1. 将Xilinx块放在一个子系统中,并将HDL体系结构设置为默认值模块

  2. 在子系统的顶层放置一个System Generator令牌。在Xilinx系统生成器子系统中可以有子系统层次结构,但在层次结构的顶层必须有一个系统生成器令牌。

open_system (“hdlcoder_slsysgen / SLandSysGen / sysgendut”);

配置Gateway In和Gateway Out块

在每个Xilinx System Generator子系统中,必须将输入和输出端口直接连接到网关In和网关Out块。

网关在块中不能做非平凡的数据类型转换。例如,Gateway In块可以在两者之间进行转换uint8而且UFix_8_0,但不允许更改数据符号、字长或分数长度。

生成HDL代码

你可以用任何一种makehdl在命令行或HDL工作流顾问生成HDL代码。使用makehdl:

makehdl (“hdlcoder_slsysgen / SLandSysGen”);

您还可以生成一个测试平台、模拟和综合设计,就像您对任何其他模型所做的那样。

Baidu
map