使用延迟和指南转到和从块HDL代码生成
这些指导方针说明建模的推荐设置延迟你的模型。你延迟模型通过使用块中可用离散图书馆。每个指南都有严重性级别,表明合规要求的水平。欲了解更多,请看高密度脂蛋白建模指南严重的水平。
适当的使用延迟块是寄存器
指导ID
2.6.1
严重程度
推荐
描述
块在你的模型推断目标FPGA啪嗒啪嗒地响,使用延迟块。您可以指定一个地方重置和启动信号延迟块。
默认情况下,延迟的长度块的设置2
。在这种情况下,输入块传递到输出后两个步骤。如果延迟的长度被设置为0
,输入传递到输出,没有任何延迟。生成的HDL代码将屏蔽线。来推断一个触发器或注册目标设备,设置源来对话框
并指定一个延迟的长度大于零。
当使用一个延迟块,外部启用端口或内部启用子系统块,推荐使用国家控制在同步模式下。同样,当你使用延迟块,外部复位端口或内部复位子系统块,推荐使用国家控制在同步模式下。欲了解更多,请看HDL代码生成延迟。
不使用单位延迟启用,单位延迟可重调,单位延迟启用复位块HDL代码生成。这些块已被移除。相反,代替这些块单位延迟启用同步,单位延时复位同步,单位推迟启用复位同步块。这些块使用国家控制在同步块硬件模式。要执行该块替代模型中,模型运行检查检查过时单位延迟启用/复位模块。
吸收避免延误时间的差异
指导ID
2.6.2
严重程度
推荐
描述
某些块实现浮点操作和优化设置,如分布式流水线引入延迟生成的HDL代码和生成的模型。额外的延迟导致时间区别原始模型和生成的模型。为了避免这个时间差异,例如当您使用的是与反馈回路控制系统,使用一个建模模式能够吸收延迟。吸收延迟,延迟块后块引入延迟,并设置延迟的长度价值等于块延迟。此外,通过添加延迟块原始模型,可以模拟原始模型与延迟。
这些块可以引入延迟:
√6分,和互惠块定制延迟值大于零。
三角函数块函数设置为
罪
,因为
,要求
,因为+ jsin
,或量化
和HDL架构设置CORDIC
本机浮点操作符LatencyStrategy设置为
马克斯
,最小值
,或一个自定义的值大于零。
了解与定点类型定制延迟块,打开HDLMathLib图书馆。库包含定点块控制信号。
open_system (“HDLMathLib”)
学习如何HDL编码器™吸收延迟,打开模型hdlcoder_absorb_delay_timing
。
open_system (“hdlcoder_absorb_delays”)set_param (“hdlcoder_absorb_delays”,“SimulationCommand”,“更新”)
在HDL_DUT
子系统,你看到一个延迟块延迟的长度等于12
在划分块。这延迟的长度对应的延迟部门定点数据类型的操作。在这种情况下,必需的延迟的长度是进行重构的总和,8
,4
,等于12
。
open_system (“hdlcoder_absorb_delays / HDL_DUT”)
为DUT子系统生成HDL代码,使用makehdl
函数。
makehdl (“hdlcoder_absorb_delays / HDL_DUT”)
在生成的模型中,把旁边的延迟块是块吸收延迟。当你双击这个分
块,你看原来的块划分和延迟块延迟的长度的12
。
的一个例子显示了浮点操作,延迟吸收延迟因素与本机浮点。
优化等分布式流水线可以引入延迟。例如,打开这个模型hdlcoder_absorb_delay_sharing
。的DUT
子系统包含两个子系统sub_scalar
和sub_add
。
open_system (“hdlcoder_absorb_delay_sharing”)set_param (“hdlcoder_absorb_delay_sharing”,“SimulationCommand”,“更新”)
的sub_scalar
子系统包括12
产品块单元延迟在身旁。分享这些产品模块,SharingFactor的12
被指定的sub_scalar
子系统。
open_system (“hdlcoder_absorb_delay_sharing / DUT / sub_scalar”)
生成HDL代码DUT
子系统,使用makehdl
函数。
makehdl (“hdlcoder_absorb_delay_sharing / DUT”)
当你指定一个值大于1
为SharingFactor、反序列化程序块1
样品延迟后插入HDL代码生成。通过添加产品旁边的单位延迟块街区在原始模型中,这些延迟吸收产品块后执行共享优化。
在生成模型,反序列化器的延迟是吸收块。
地图大延迟块RAM
指导ID
2.6.3
严重程度
推荐
描述
保存区,当你设计包含大型设计延误和管道延迟,你可以延迟映射到块RAM和UltraRAM FPGA资源。设计延迟延误你手动插入设计使用延迟块,或其他国家包括街区队列,高密度脂蛋白FIFO,或缓冲块。管道延迟延误所产生的优化设置或块实现设置如牛顿迭代实现。
设计延迟映射到内存:
在高密度脂蛋白块属性对话框延迟块,设置UseRAM来
在
。学习如何设置这个选项延迟块设计中以编程方式,请参阅以编程方式设置高密度脂蛋白块参数为多个块。大大大延迟映射到UltraRAM资源,您可以指定
ram_style
在生成的HDL代码属性。——这个硬件描述语言(VHDL)的代码显示了ramstyle属性设置为超:属性ram_style:字符串;属性ram_style内存:信号是“超”;/ /这个Verilog代码显示了ramstyle属性设置为超:(* ram_style =“超”*)
中描述的流和分布式管道的影响,即使UseRAM是
从
,你可以地图大延迟超过一个阈值使用内存映射阈值(位)参数。你可以改变这个阈值取决于大延迟要映射到内存。当你使用MATLAB函数块,你可以映射持久变量MATLAB®RAM通过设置HDL架构代码
MATLAB Datapath公司
和MapPersistentVarsToRAM
高密度脂蛋白块属性在
。
管道插入的延迟的优化,延迟平衡自动插入匹配并行路径延迟。如果滞关键路径长度和向量元素的数量在并行路径取大值,管道延误也可以变得很大。
这些大延迟映射到块内存:
启用管道延迟映射到内存参数。
调整内存映射阈值(位)参数的值小于所需的内存大小。
RAM大小= DelayLength *字* VectorLength * ComplexLength
看到生成模型和验证模型。
需要高密度脂蛋白设置转到和从块
指导ID
2.6.4
严重程度
强制性的
描述
不要使用从和转到各地块的边界DUT子系统。连接输入和输出端口DUT的使用轮廓尺寸和外港块来代替。
不要使用从和转到块的边界原子子系统。连接输入和输出端口DUT的使用轮廓尺寸和外港块来代替。
使用从和转到块在一个子系统层次会影响模型的可读性。在生成HDL代码之前,建议您使用从和转到在同一块子系统和使用当地的
或作用域
可见性。当你生成HDL代码,在生成的模型,每一个转到和从块成为一对从和转到子系统连接。