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

Defining Constraints with ObjectProperties

步骤4:使用对象定义约束
物业
您可以创建时间和放置约束,如本教程所示。你也可以
更改单元格的属性以控制Vivado实现如何处理它们。许多
物理约束被定义为单元对象的属性。
例如,如果您在设计中发现RAM存在时序问题,为了避免重新合成,您
可以更改RAM单元的属性以添加流水线寄存器。与确认后
设计师和验证团队认为这是一种可接受的方法,您可以更改设计。

设置单元格属性
因为在合成后返回RTL可能太耗时且成本太高,所以您可以
按如下方式更改网表。
1.选择编辑→查找,打开查找对话框,如下图所示。
a.从查找下拉列表中选择单元格。
b.在“属性”下,将PRIMITIVE_TYPE设置为BMEM。布拉姆。
c.确保选择了“搜索层次结构”,如下图所示。
d.单击“确定”。

“查找结果”窗口打开。
2.选择“查找结果”窗口工具栏菜单上的“显示搜索”按钮。
3.搜索ingressLoop,然后选择以下单元格:fftEngine/fftInst/
ingressLoop[7].ingressFifo/
在“单元属性”窗口的“属性”选项卡中,您可以看到DOA_REG和
DOB_REG设置为零,表示输出寄存器已禁用。
4.直接从Tcl控制台从该单元格生成自定义计时报告。Tcl
要输入的命令是:

report_timing -from [get_cells fftEngine/fftInst/
ingressLoop[7].ingressFifo/
buffer_fifo/infer_fifo.block_ram_performance.fifo_ram_reg]
提示:您可以将单元格名称从“单元格属性”窗口的“常规”选项卡复制并粘贴到
Tcl控制台。
5.在Tcl控制台的右上角,单击最大化按钮以最大化
窗口,更好地查看计时报告。
6.在报告的数据路径部分,此RAMB添加了1.800ns。
7.将Tcl控制台恢复到正常大小。
8.在“单元属性”窗口的“属性”选项卡中,选择DOA_REG和DOB_REG
此单元格的属性,并将其值从“0”更改为“1”
您可以在Tcl控制台中看到两个set_property命令正在运行。
set_property DOA_REG {1} [get_cells {fftEngine/fftInst/
ingressLoop[7].ingressFifo/
buffer_fifo/infer_fifo.block_ram_performance.fifo_ram_reg}]
set_property DOB_REG {1} [get_cells {fftEngine/fftInst/
ingressLoop[7].ingressFifo
/buffer_fifo/infer_fifo.block_ram_performance.fifo_ram_reg}]
9. Run the timing report from the selected cell. The Tcl command to enter is:
report_timing -from [get_cells fftEngine/fftInst/
ingressLoop[7].ingressFifo
/buffer_fifo/infer_fifo.block_ram_performance.fifo_ram_reg]
10. Notice that the data path delay for the RAM is now 0.622 ns.

http://www.mrgr.cn/news/28718.html

相关文章:

  • 【含开题报告+文档+PPT+源码】基于SpringBoot+Vue的到家护理服务平台的设计与实现
  • Django 2024全栈开发指南(二):Django项目配置详解
  • ESLint 使用教程(四):ESLint 有哪些执行时机?
  • 七牛云上传图片成功,但是无法访问显示{error : document not found}
  • Aippyy如何写论文?ai人工智能写作哪家好?
  • 深入探讨 MySQL 配置与优化:从零到生产环境的最佳实践20241112
  • 【C++】—— list 模拟实现
  • golang学习笔记19——golang做服务发现与注册的深度剖析
  • 信奥学习规划(CSP-J/S)
  • 南京信息工程大学《2020年+2021年817自动控制原理真题》 (完整版)
  • javascript中==和===的区别以及使用场景
  • Openal o1初探
  • nodejs 009: 使用nvm进行node版本管理(包括Could not retrieve的手动处理办法)
  • 基于Springboot的演唱会购票系统
  • 深入探索C/C++中的字符串处理:strcmp与strcat的奥秘
  • linux-网络管理-防火墙配置
  • 硬件工程师笔试面试——变压器
  • Linux内核(Kernel)启动过程分析
  • C++基础部分代码
  • 开源AI应用安全指导框架 — OWASP AI Exchange
  • 【路径规划】WDM网络中RWA问题的教育网络规划工具(基于MILP和启发式)
  • 实用调试技巧
  • 二叉搜索树(Java实现)
  • 鸿蒙开发入门day19-使用NDK接口构建UI(二)
  • MySQL之表内容的增删改查(含oracel 9i经典测试雇佣表下载)
  • 后门账号从入门到应急响应