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

vivado U_SET

将具有附加相对位置(RLOC)约束的设计元素分组,这些约束是
分布在整个设计层次结构中,形成一个集合。
U_SET是HDL设计源文件中的一个属性,不会出现在
综合或实施的设计。U_SET在定义相对放置宏时使用,
或者RTL设计中的RPM。有关使用这些属性和定义的更多信息
RPM,请参阅《Vivado设计套件用户指南:使用约束》(UG903)[参考文献19]。
而H_SET或HU_SET用于根据设计定义逻辑元素集
层次结构,您可以手动创建一组用户定义的逻辑元素或U_set,即
不依赖于设计的层次结构。

当RTL源文件中也存在RLOC时,H_SET、HU_SET和U_SET属性
转换为合成网表中单元格的只读RPM属性。HU_SET
在Vivado Design的文本编辑器中的RTL源文件上可以看到U_SET属性
一套。但是,在单元格对象的“属性”窗口中,会显示RPM属性。
重要提示:当附加到分层模块时,U_SET约束会向下传播
通过层次结构,将RLOC约束分配给任何原始符号。
架构支持
所有架构。
适用对象
U_Set约束可用于以下一个或多个设计元素,或
设计元素的类别。请参阅Vivado Design Suite 7系列FPGA和
Zynq-7000 SoC库指南(UG953)[参考25]或UltraScale体系结构库
关于具体设计元素的更多信息,请参阅指南(UG974)[参考26]:
•登记簿
•宏实例
•公羊*
•RAMD*
•漫步*
•DSP48*

Values
<NAME> : A unique name for the U_SET.
Syntax
Verilog Syntax
This is a Verilog attribute used in combination with the RLOC property to define the set
content of a hierarchical block that will define an RPM in the synthesized netlist. Place the
Verilog attribute immediately before the instantiation of a logic element.
(* RLOC = "X0Y0", HU_SET = "h0" *) FD sr0 (.C(clk), .D(sr_1n), .Q(sr_0));
Verilog Example
The following Verilog module defines RLOC and U_SET properties for the shift register flops
in the module.
module ffs (
input clk,
input d,
output q
);
wire sr_0, sr_0n;
wire sr_1, sr_1n;
wire sr_2, sr_2n;
wire sr_3, sr_3n;
wire sr_4, sr_4n;
wire sr_5, sr_5n;
wire sr_6, sr_6n;
wire sr_7, sr_7n;
wire inr, inrn, outr;
inv i0 (sr_0, sr_0n);
inv i1 (sr_1, sr_1n);
inv i2 (sr_2, sr_2n);
inv i3 (sr_3, sr_3n);
inv i4 (sr_4, sr_4n);
inv i5 (sr_5, sr_5n);
inv i6 (sr_6, sr_6n);
inv i7 (sr_7, sr_7n);
inv i8 (inr, inrn);
(* RLOC = "X0Y0", U_SET = "Uset0" *) FD sr0 (.C(clk), .D(sr_1n), .Q(sr_0));
(* RLOC = "X0Y0", U_SET = "Uset0" *) FD sr1 (.C(clk), .D(sr_2n), .Q(sr_1));
(* RLOC = "X0Y1", U_SET = "Uset0" *) FD sr2 (.C(clk), .D(sr_3n), .Q(sr_2));
(* RLOC = "X0Y1", U_SET = "Uset0" *) FD sr3 (.C(clk), .D(sr_4n), .Q(sr_3));
(* RLOC = "X0Y0", U_SET = "Uset1" *) FD sr4 (.C(clk), .D(sr_5n), .Q(sr_4));
(* RLOC = "X0Y0", U_SET = "Uset1" *) FD sr5 (.C(clk), .D(sr_6n), .Q(sr_5));
(* RLOC = "X0Y1", U_SET = "Uset1" *) FD sr6 (.C(clk), .D(sr_7n), .Q(sr_6));
(* RLOC = "X0Y1", U_SET = "Uset1" *) FD sr7 (.C(clk), .D(inrn), .Q(sr_7));
(* LOC = "SLICE_X0Y0" *) FD inq (.C(clk), .D(d), .Q(inr));
FD outq (.C(clk), .D(sr_0n), .Q(outr));
assign q = outr;
endmodule // ffs
Unlike the HU_SET property, which applies to the level of hierarchy it is defined in, the
U_SET property transcends hierarchy. In this case, the following top-level module defines
three instances of the ffs module, but results in only two U_SETS being created: Uset_0 and
Uset_1, which contain Flops from all three ffs module instances defined below:
module top (
input clk,
input d,
output q
);
wire c1, c2;
ffs u0 (clk, d, c1);
ffs u1 (clk, c1, c2);
ffs u2 (clk, c2, q);
endmodule // top
VHDL Syntax
Declare the VHDL attribute as follows:
attribute U_SET : string;
Specify the VHDL constraint as follows:
attribute U_SET of {component_name | entity_name | label_name} :
{component|entity|label} is "NAME";
Where:
• { component_name | entity_name | label_name } is a choice of one design element.
• { component | entity | label } is the instance ID of the design element.
"NAME" is the unique set name to give to the U_SET.
XDC Syntax
The U_SET property can not be defined using XDC constraints. The U_SET property, when
present on logic elements with the RLOC property, defines relatively placed macros (RPMs),
and results in the read-only RPM property in the netlist of synthesized designs.

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • Zookeeper未授权访问的漏洞处理
  • Linux | 文件系统进阶:Inode与软硬链接艺术剖析
  • 怎么检测电脑的RAM?丨什么是RAM?
  • 【Linux系列】du命令详解
  • 数学基础 -- 线性函数与仿射函数
  • 人生虽累,无路可退;生活虽苦,苦中作乐
  • 本地部署Xinference实现智能体推理工作流(一)
  • GitLab私有代码仓库搭建与使用
  • 【Java设计模式】Balking模式:智能控制Java执行
  • 【Java 设计模式】Bytecode 模式:使用自定义虚拟机解释指令
  • GAMES202——作业1 实时阴影(ShadowMap,PCF,PCSS)
  • windows C++-Lambda表达式(三)
  • 数学基础 -- 微积分之三角恒等式的积分
  • day57-graph theory-part07-8.28
  • 深度强化学习算法(四)(附带MATLAB程序)
  • python3.6+scrapy+mysql 爬虫实战
  • 收藏网友的 源程序下载网
  • 【css3】浏览器内核及其兼容性
  • Codepen 每日精选(2018-3-25)
  • el-input获取焦点 input输入框为空时高亮 el-input值非法时
  • express.js的介绍及使用
  • nodejs实现webservice问题总结
  • SAP云平台运行环境Cloud Foundry和Neo的区别
  • Vue 2.3、2.4 知识点小结
  • 编写高质量JavaScript代码之并发
  • 动手做个聊天室,前端工程师百无聊赖的人生
  • 对象管理器(defineProperty)学习笔记
  • 后端_ThinkPHP5
  • 力扣(LeetCode)56
  • 漂亮刷新控件-iOS
  • 驱动程序原理
  • 深入浅出webpack学习(1)--核心概念
  • 吴恩达Deep Learning课程练习题参考答案——R语言版
  • 小程序01:wepy框架整合iview webapp UI
  • 3月27日云栖精选夜读 | 从 “城市大脑”实践,瞭望未来城市源起 ...
  • ​Base64转换成图片,android studio build乱码,找不到okio.ByteString接腾讯人脸识别
  • ​如何使用ArcGIS Pro制作渐变河流效果
  • ​软考-高级-系统架构设计师教程(清华第2版)【第1章-绪论-思维导图】​
  • #if等命令的学习
  • (1) caustics\
  • (6) 深入探索Python-Pandas库的核心数据结构:DataFrame全面解析
  • (cos^2 X)的定积分,求积分 ∫sin^2(x) dx
  • (function(){})()的分步解析
  • (ISPRS,2021)具有遥感知识图谱的鲁棒深度对齐网络用于零样本和广义零样本遥感图像场景分类
  • (ISPRS,2023)深度语义-视觉对齐用于zero-shot遥感图像场景分类
  • (Java入门)学生管理系统
  • (游戏设计草稿) 《外卖员模拟器》 (3D 科幻 角色扮演 开放世界 AI VR)
  • (最完美)小米手机6X的Usb调试模式在哪里打开的流程
  • .NET LINQ 通常分 Syntax Query 和Syntax Method
  • .net MySql
  • .NET 材料检测系统崩溃分析
  • .NET/ASP.NETMVC 深入剖析 Model元数据、HtmlHelper、自定义模板、模板的装饰者模式(二)...
  • .Net下使用 Geb.Video.FFMPEG 操作视频文件
  • .net用HTML开发怎么调试,如何使用ASP.NET MVC在调试中查看控制器生成的html?
  • .net知识和学习方法系列(二十一)CLR-枚举