主要内容

延迟因素与本机浮点

高密度脂蛋白编码器™原生浮点技术可以从你的浮点设计生成HDL代码。本机浮点运算符有一个延迟。当您生成HDL代码,代码生成器找出这种延迟和增加了匹配平衡并行路径的延迟。

查看浮点运算符的延迟

打开hdlcoder_nfp_delay_allocation金宝app仿真软件®模型。该模型使用数据类型和计算平方根。模型的并行路径来说明代码生成器平衡延迟。

load_system (“hdlcoder_nfp_delay_allocation”)open_system (“hdlcoder_nfp_delay_allocation / DUT”)

生成HDL代码:

  1. 右键单击DUT子系统和选择HDL代码>为子系统生成高密度脂蛋白

  2. 看到生成的模型HDL代码生成后,在命令行输入gm_hdlcoder_nfp_delay_allocation

NFP√6块相对应的浮点运算符√6块在你的模型中,并有延迟28。代码生成器决定这种延迟和增加了一个匹配的延迟的长度28在并行路径。看到平方根的延迟操作,双击NFP√6块。的延迟的长度Sqrt_pd1块对应于操作符延迟。

你可以定制你的设计的延迟。使用自定义延迟设置设计延迟和吞吐量之间的取舍。然后您可以优化您的设计实现目标FPGA器件面积和速度。定制的延迟通过使用:

  • 延迟策略设置:指定映射你的整个仿真软件模型或模型中单个块最大、最小值,或零延迟的浮点运算符。金宝app

  • 定制延迟:您可以指定一个自定义的延迟对某些块你使用仿真软件模型。金宝app自定义延迟时间设置可以把值从零到最大延迟的浮点运算符。

  • 过采样因素:增加过采样因子经营设计更快的时钟频率和吸收延迟的时钟频率管道的浮点运算符。

  • 延迟块模型中:如果你的仿真软件模型有一个延迟,高密度脂蛋白编码器可以吸金宝app收部分或全部的延迟与本机浮点实现。

延迟策略设置模式

您可以指定的延迟策略设置为整个模型或个别块在你的模型。

指定该设置的模型:

  1. hdlcoder_nfp_delay_allocation模型中,右键单击DUT子系统和选择>高密度脂蛋白HDL代码编码属性

  2. HDL代码生成>浮点中,选择使用浮点数

  3. 延迟策略中,选择马克斯,最小值,或

从命令行指定该设置:

1。创建一个hdlcoder.FloatingPointTargetConfig本地浮点的对象使用hdlcoder.createFloatingPointTargetConfig函数。

nfpconfig = hdlcoder.createFloatingPointTargetConfig (“NativeFloatingPoint”);hdlset_param (“hdlcoder_nfp_delay_allocation”,“FloatingPointTargetConfiguration”,nfpconfig);

2。通过使用指定的延迟策略LatencyStrategy财产nfpconfig对象。

nfpconfig.LibrarySettings。LatencyStrategy =“马克斯”
nfpconfig = FloatingPointTargetConfig属性:库:“NATIVEFLOATINGPOINT”LibrarySettings: [1 x1 fpconfig。NFPLatencyDrivenMode] IPConfig: [1 x1 hdlcoder.FloatingPointTargetConfig。IPConfig] VendorLibrary: [] VendorLibrarySettings: [] VendorIPConfig: []

看到的延迟信息,生成HDL代码,然后打开生成的模型。打开生成的模型,输入命令gm_hdlcoder_nfp_delay_allocation

自定义延迟策略模块

对于块仿真软件模型中,您可以有选择地定金宝app制延迟策略。默认情况下,块继承的延迟策略设置指定的模型。对于某些模块,您可以指定一个自定义的延迟值之间的零和的最大延迟浮点运算符。

通过指定一个自定义的延迟,你可以定制你的设计权衡:

  • 时钟频率和功耗:更高的延迟价值增加的最大时钟频率(Fmax),您可以达到,这就增加了动态功耗。

  • 过采样因子和采样频率:更高的延迟价值和更高的过采样因子的结合增加了Fmax可以实现,但降低了采样频率。

更多地了解这个设置以及如何为一块指定的延迟策略,看到的LatencyStrategy

例如,如果你有一个添加块在并行路径在你的模型中,您可以指定一个自定义延迟的值2通过输入以下命令添加块。

load_system (“hdlcoder_nfp_delay_allocation_custom”)open_system (“hdlcoder_nfp_delay_allocation_custom”)hdlset_param (“hdlcoder_nfp_delay_allocation_custom / DUT /添加”,“LatencyStrategy”,“自定义”)hdlset_param (“hdlcoder_nfp_delay_allocation_custom / DUT /添加”,“NFPCustomLatency”,2)

看到的延迟信息,生成HDL代码,然后打开生成的模型。打开生成的模型,输入命令gm_hdlcoder_nfp_delay_allocation_custom。在生成的模型中,你看到的NFP添加块有延迟2

自定义延迟设置本机浮点IPs

模型,有大量的浮点运算符,您可以自定义本地浮点IPs的延迟通过设置临界多边形求解全球定制延迟操作符。在模型中自定义适用于所有运营商。

例如,如果你有一个模型,有多个产品添加和块,默认情况下,块继承了延迟策略设置指定的模型。通过使用这些命令,您可以定制的延迟NFP添加4和所有的NFP mul3

load_system (“hdlcoder_nfp_delay_allocation_global_custom”)open_system (“hdlcoder_nfp_delay_allocation_global_custom / Sample_DUT”);hdlset_param (“hdlcoder_nfp_delay_allocation_global_custom”,“FloatingPointTargetConfiguration”,hdlcoder.createFloatingPointTargetConfig (“NativeFloatingPoint”,“IPConfig”,{{“ADDSUB”,“单一”,“CustomLatency”4},{“ADDSUB”,“双”,“CustomLatency”4},{“MUL”,“单一”,“CustomLatency”3},{“MUL”,“双”,“CustomLatency”3}}))

看到的延迟信息,生成HDL代码,然后打开生成的模型。打开生成的模型,输入命令gm_hdlcoder_nfp_delay_allocation_global_custom。在生成的模型中,你看到的所有NFP添加块有延迟4和所有的NFP mul块有延迟3

为关键字的列表使用本机API中的浮点IPs的命令,参考表延迟的浮点值操作符

过采样因子

当你在仿真软件设计块模型在数据率,指定一个金宝app过采样因子大于1。的过采样因子插入管道寄存器以更快的时钟频率,提高时钟频率,减少区域使用。了解更多关于时钟频率流水线,看到时钟频率流水线

看到的效果过采样因子在模型中,hdlcoder_nfp_delay_allocation模型:

  1. 添加一个延迟块了延迟的长度1的输出√6块。

  2. 右键单击DUT并选择>高密度脂蛋白HDL代码编码属性

  3. HDL代码生成>全局设置面板中,输入一个值40过采样因子

HDL代码生成后,生成的模型显示了NFP√6块操作时钟速度超过了40倍√6阻止在您的模型中。的NFP√6块吸收延迟块在你的仿真软件模型。金宝app现在延迟块在时钟频率运行。这个实现节省面积通过吸收额外的延迟,并改善了操作时间的时钟频率越快。

在模型中延迟吸收

如果你的仿真软件金宝app模型有一个延迟块足够了延迟的长度毗邻一个操作员或分开只有一个组件不采取零输入和输出一个非零值,如不是逻辑操作符块,高密度脂蛋白编码器吸收延迟的操作延迟。

如果延迟的长度等于浮点运算符的延迟,高密度脂蛋白编码器吸收延迟和不引入任何额外的延迟。

hdlcoder_nfp_delay_allocation模型:

  1. 双击延迟块12块的输出和改变延迟的长度28

  2. 生成HDL代码DUT子系统。

  3. HDL代码生成后,在命令行输入gm_hdlcoder_nfp_delay_allocation打开生成的模型。

在生成的模型中,你看到的NFP√6块吸收延迟块毗邻√6块在你的原始模型。这种延迟吸收是因为操作员延迟等于延迟的长度。代码生成器因此避免了额外的延迟你的模型。

如果延迟的长度小于操作符延迟,高密度脂蛋白编码器吸收可用的延迟和平衡并行路径通过添加匹配的延迟。

hdlcoder_nfp_delay_allocation模型:

  1. 双击延迟块12块的输出和改变延迟的长度21

  2. 生成HDL代码DUT子系统。

  3. HDL代码生成后,在命令行输入gm_hdlcoder_nfp_delay_allocation打开生成的模型。

你看到NFP√6块吸收延迟的长度21并添加一个匹配长度延迟7在并行路径因为平方根的操作要求28延迟。

如果延迟的长度大于操作员延迟,代码生成器吸收一定数量的延迟等于运算符外的延迟和延迟出现过剩。

hdlcoder_nfp_delay_allocation模型:

  1. 双击延迟块12块的输出和改变延迟的长度34

  2. 生成HDL代码DUT子系统。

  3. HDL代码生成后,在命令行模式下,输入gm_hdlcoder_nfp_delay_allocation打开生成的模型。

NFP√628块吸收延迟,因为根操作的延迟28。的过度延迟6超出了算子。

另请参阅

建模指南

功能

相关的例子

更多关于