主要内容

使用Xilinx®System Generator for DSP with HDL Coder™

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

介绍

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

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

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

为Simulink®组件执行模型级优化万博1manbetx

在这个例子中,一个求和树由sldut部分内SLandSysGen子系统采用Simulink模块建模。万博1manbetx您可以使用分布式管道特性来处理速度优化。

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

open_system (“hdlcoder_slsysgen / SLandSysGen”);

创建Xilinx系统生成器子系统

要创建Xilinx System Generator子系统:

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

  2. 在子系统的顶层放置System Generator令牌。您可以在Xilinx System Generator子系统中拥有子系统层次结构,但是在层次结构的顶层必须有System Generator令牌。

open_system (“hdlcoder_slsysgen / SLandSysGen / sysgendut”);

配置网关输入和网关输出块

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

在块中不能做非平凡的数据类型转换。例如,一个Gateway In块可以在uint8UFix_8_0,但不允许更改数据符号、字长或分数长度。

生成HDL代码

您可以使用命令行中的makehdl或HDL Workflow Advisor来生成HDL代码。使用makehdl:

makehdl (“hdlcoder_slsysgen / SLandSysGen”);

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