当前位置: 首页 > news >正文

时钟使能、

时钟使能
如果正确使用,时钟使能能够显著地降低系统功耗,同时对面积或性能的影响极小。但是如果不正确地使用时钟使能,
可能会造成下列后果:
面积增大
密度减小
功耗上升
性能下降
在许多使用大量控制集的设计中,低扇出时钟使能可能是导致控制集数量众多的主要原因。
创建时钟使能
如果在同步块中编写不完整条件语句,就能创建时钟使能。推断时钟使能的目的是当前提条件无法满足时,保留最后
一个值。如果这是需要的功能,用这种方式编码就是有效的。但是在有些情况下,虽然前提条件值未得到满足,但输
出无所谓。此时赛灵思建议用设定的常数 (即为信号赋值 1 0 )关闭该条件 (即使用 else 子句)。
在大多数实现方案中,这不会造成额外的逻辑,同时可避免使用时钟使能。不过有个情况例外,即对大型总线而言,
如果推断时钟使能信号,保持上述的最后一个值,有助于降低功耗。基本前提是如果推断的寄存器数量较少,时钟使
能会存在较大弊端,因为它会增加控制集的数量。但是对较大型的群组而言,其利大于弊,所以建议使用。
复位和时钟使能的先后
在赛灵思 FPGA 器件中,所有寄存器的置位 / 复位功能的优先级均高于时钟使能,不论是异步置位 / 复位还是同步置位 /
复位都是如此。为取得最佳结果,赛灵思建议在同步块中的 if/else 结构中,应一直在时钟使能 (如有必要使用)
之前对置位 / 复位进行编码。优先对时钟使能进行编码会强制复位进入数据路径,并导致产生更多逻辑。
如需了解更多有关时钟的信息,请参阅 时钟指南
使用综合属性控制使能 / 复位提取
您可以通过根据需要应用 DIRECT_RESET/DIRECT_ENABLE/EXTRACT_RESET/EXTRACT_ENABLE 属性来强制控制器集映
射,以处理给定结构的控制器集的映射。
当设计包括同步复位 / 使能时,当负载等于或高于由 -control_set_opt_threshold 综合开关设置的阈值时,通过
CE/R/S 引脚映射的综合创建逻辑椎,或如果低于阈值,通过 D 引脚映射创建逻辑椎。默认阈值为:
• 7 系列器件: 4
• UltraScale 器件: 2
使用 DIRECT_ENABLE DIRECT_RESET
要使用控制器集映射,你可以将属性应用于连接启用 / 复位信号的网络,但这将强制综合使用 CE/R 引脚。
在下图中,使能信号 (en) 只连接到一个触发器上。因此,综合引擎将 en 信号连接到逻辑的 FDRE/D 引脚椎。注意, CE
引脚连接到逻辑 1
要覆盖此默认行为,可以使用 DIRECT_ENABLE 属性。例如,下图显示了如何通过将 DIRECT_ENABLE 属性添加到端口 /
信号来将使能信号 (en) 连接到寄存器的 CE 引脚。
下图显示了 RTL 代码,其中 global_rst int_rst 可以复位寄存器。默认情况下,两者都映射到逻辑的复位引脚
椎。
您可以使用 DIRECT_RESET 属性来指定连接到寄存器复位引脚的复位信号。例如,下图显示了如何使用 DIRECT_RESET
属性仅将 global_rst 信号连接到寄存器 FDRE/R 引脚,并将 int_rst 信号连接到逻辑的 FDRE/D 椎形。
将逻辑从控制引脚推到数据引脚
在分析关键路径时,您可能会发现以控制引脚结束的多个路径。您必须分析这些路径,以确定是否有一种方法将逻辑
推入数据路径,而不会产生损失,例如额外的逻辑层。由于存在最后一个 LUT 的输出到 FF D 输入的直接连接,在给
定相同逻辑层的情况下,到 D 引脚路径的延迟比到 CE/R/S 引脚少。以下编码示例说明如何将逻辑从控制引脚推送到寄
存器的数据引脚。
在以下示例中, dout_reg [0] 的使能引脚具有 2 个逻辑层,数据引脚具有 0 个逻辑层。在这种情况下,通过将 RTL 文件
dout 寄存器定义中的 EXTRACT_ENABLE 属性设置为 “no” ,可以将使能逻辑移至 D 引脚,从而提高时序。
以下示例显示如何分离组合和順序逻辑并将完整逻辑映射到数据路径。这将逻辑推入仍然具有 2 个逻辑层的 D 引脚。
您可以通过将 EXTRACT_ENABLE 属性设置为 “no” 来实现相同的结构。如需了解更多有关 EXTRACT_ENABLE 属性的信
息,请参阅 《 Vivado Design Suite 用户指南:综合》 (UG901) [ 参照 18]
http://www.lryc.cn/news/490730.html

相关文章:

  • 1. Autogen官网教程 (Introduction to AutoGen)
  • 开源账目和账单
  • vue2面试题10|[2024-11-24]
  • c语言与c++到底有什么区别?
  • 云计算-华为HCIA-学习笔记
  • 优先算法 —— 双指针系列 - 复写零
  • 初识Linux—— 基本指令(下)
  • esayexcel进行模板下载,数据导入,验证不通过,错误信息标注在excel上进行返回下载
  • 服务器数据恢复—raid5阵列热备盘上线失败导致EXT3文件系统不可用的数据恢复案例
  • 《Qt Creator:人工智能时代的跨平台开发利器》
  • AG32既可以做MCU,也可以仅当CPLD使用
  • 51c自动驾驶~合集31
  • 2023年3月GESPC++一级真题解析
  • linux NFS
  • 查看浏览器的请求头
  • 【JavaEE进阶】 JavaScript
  • 后端接受大写参数(亲测能用)
  • Unity ShaderLab --- 实现局部透明
  • Edify 3D: Scalable High-Quality 3D Asset Generation 论文解读
  • 银河麒麟v10 x86架构二进制方式kubeadm+docker+cri-docker搭建k8s集群(证书有效期100年) —— 筑梦之路
  • Python浪漫之画明亮的月亮
  • 【前端】JavaScript 中的函数嵌套:从基础到深度应用的全面指南
  • 微信小程序条件渲染与列表渲染的全面教程
  • 全面击破工程级复杂缓存难题
  • python安装包中的一些问题(三):加载 matplotlib 的过程中,调用了 Pillow(PIL 库)时发生了错误
  • AWTK-WEB 快速入门(1) - C 语言应用程序
  • 【Spiffo】环境配置:VScode+Windows开发环境
  • 贴代码框架PasteForm特性介绍之file
  • 2024年 数模美赛 B题 潜水艇
  • ChatGPT 与其他 AI 技术在短视频营销中的技术应用与协同策略