首页 > 其他分享 >vivado RLOC

vivado RLOC

时间:2024-08-20 22:25:50浏览次数:13  
标签:wire RLOC clk sr inv vivado FD

相对位置(RLOC)约束定义了逻辑元素的相对位置
分配给一个集合,如H_set、HU_set或U_set。
当RTL源文件中存在RLOC时,H_SET、HU_SET或U_SET属性将得到
转换为合成网表中单元的只读RPM属性。RLOC
属性被保留,但在合成后成为只读属性。了解更多
有关使用这些属性和定义RPM的信息,请参阅Vivado设计套件
用户指南:使用约束(UG903)[参考文献19]。
提示:在构建分层RPM时,使用synth_design-platen_hierarchy none来确保
RLOC属性保留在其预期的层次结构级别上。

您可以定义集合中任何元素相对于其他元素的位置
设置,而不管整个组最终放置在目标设备上。For
例如,如果RLOC约束应用于以某种方式组织的一组八个触发器
列,映射器维护该列并将整个触发器组作为
单个单元。相比之下,LOC约束指定了设计的绝对位置
而不参考其他设计元素。
架构支持
所有架构。
适用对象
•RTL源文件中的实例或模块。
价值观
使用基于SLICE的XY坐标系指定相对位置约束。
RLOC=XmYn
哪里:
•m是一个表示X坐标值的整数。
•n是表示Y坐标值的整数。

提示:因为相对位置(RLOC)约束中的X和Y数字仅定义了顺序和
设计元素之间的关系,而不是它们在目标设备上的绝对位置,它们的
编号可以包括负整数。

Syntax Verilog Syntax The RLOC property is a Verilog attribute defining the relative placement of design elements within a set specified by H_SET, HU_SET, or U_SET in the RTL source files. Place the Verilog attribute immediately before the instantiation of a logic element. (* RLOC = "XmYn", HU_SET = "h0" *) FD sr0 (.C(clk), .D(sr_1n), .Q(sr_0)); Verilog Example The following Verilog module defines RLOC property for the shift register Flops in the ffs hierarchical module. module inv (input a, output z); LUT1 #(.INIT(2'h1)) lut1 (.I0(a), .O(z)); endmodule // inv 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" *) FD sr0 (.C(clk), .D(sr_1n), .Q(sr_0)); (* RLOC = "X0Y1" *) FD sr1 (.C(clk), .D(sr_2n), .Q(sr_1)); (* RLOC = "X0Y2" *) FD sr2 (.C(clk), .D(sr_3n), .Q(sr_2)); (* RLOC = "X0Y3" *) FD sr3 (.C(clk), .D(sr_4n), .Q(sr_3)); (* RLOC = "X0Y4" *) FD sr4 (.C(clk), .D(sr_5n), .Q(sr_4)); (* RLOC = "X0Y5" *) FD sr5 (.C(clk), .D(sr_6n), .Q(sr_5)); (* RLOC = "X0Y6" *) FD sr6 (.C(clk), .D(sr_7n), .Q(sr_6)); (* RLOC = "X0Y7" *) 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 TIP: In the preceding example, the presence of the RLOC property implies the use of the H_SET property on the FD instances in the ffs hierarchical module. When using the modules defined in the preceding example, you will need to specify the KEEP_HIERARCHY property to instances of the ffs module to preserve the hierarchy and define the RPM in the synthesized design: module top ( input clk, input d, output q ); wire c1, c2; (* RLOC_ORIGIN = "X1Y1", KEEP_HIERARCHY = "YES" *) ffs u0 (clk, d, c1); (* RLOC_ORIGIN = "X3Y3", KEEP_HIERARCHY = "YES" *) ffs u1 (clk, c1, c2); (* RLOC_ORIGIN = "X5Y5", KEEP_HIERARCHY = "YES" *) ffs u2 (clk, c2, q); endmodule // top VHDL Syntax Declare the VHDL constraint as follows: attribute RLOC: string; Specify the VHDL constraint as follows: attribute RLOC of {component_name | entity_name | label_name} : {component|entity|label} is “XmYn”; 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. • XmYn defines the RLOC value for the specified design element. XDC Syntax The RLOC property can not be defined using XDC constraints. The RLOC property defines the relative locations of objects in a relatively placed macro (RPM), and results in read-only RPM and RLOC properties in the netlist of synthesized designs.

标签:wire,RLOC,clk,sr,inv,vivado,FD
From: https://blog.csdn.net/cckkppll/article/details/141370007

相关文章

  • vivado无工程生成固件及时序报告
    做IC一般都是使用linux系统进行编写代码,综合仿真等操作。因此没有图像化界面只跑脚本是提高效率的一种方式,笔者以前一直使用图像化界面的方式对Vivado工程进行编译综合,后来学会了windows下也可以使用脚本直接无工程生成bit文件,时序报告等。步骤大致如下,rtl.list在上文有......
  • 四、Ubuntu安装Vivado2019.1
    Windows下Vivado编译比较慢,工程量较小时还体现不出来,当工程很大时Windows下编译比linux下慢很多,因此这里使用一台Ubuntu实体机安装Vivado2019.1进行编译。1.将下载好的Vivado安装包放在Ubuntu中的某一文件夹:2.完成后右键安装包,点击ExtractHere进行解压:3.解压完成后进......
  • (111)vivado综合选项--->(11)Vivado综合策略十一
    1目录(a)IC简介(b)数字IC设计流程(c)Verilog简介(d)Vivado综合策略十一(e)结束1IC简介(a)在IC设计中,设计师使用电路设计工具(如EDA软件)来设计和模拟各种电路,例如逻辑电路、模拟电路、数字信号处理电路等。然后,根据设计电路的规格要求,进行布局设计和布线,确定各个电路元件的位置和连......
  • (112)vivado综合选项--->(12)Vivado综合策略十二
    1目录(a)IC简介(b)数字IC设计流程(c)Verilog简介(d)Vivado综合策略十二(e)结束1IC简介(a)在IC设计中,设计师使用电路设计工具(如EDA软件)来设计和模拟各种电路,例如逻辑电路、模拟电路、数字信号处理电路等。然后,根据设计电路的规格要求,进行布局设计和布线,确定各个电路元件的位置和连......
  • Vivado 12-508错误(即“No pins matched”)如何解决?
     时序约束时,vivado自动能找到的时钟,是IP核最内部的引脚,综合会出现报错,所以需要手动调整XDC文件,写顶层模块名和顶层能看到的引脚名称。 以下是文心一言的回答: 如果引脚是IP核(知识产权核)内部的,并且IP核在综合阶段被当作黑盒子处理,导致vivado12-508错误,如何解决呢? 如果引......
  • Vivado中的Timing 38-316警告
    禁用自带的约束文件:在某些情况下,如果不需要IP核自带的约束文件,可以选择禁用它。这通常涉及到在Vivado的设置中查找并取消选中相关的约束选项。因为RAMIP用的CLK是PLL衍生的CLK,自带约束文件,所以禁用RAM自带约束文件(打开约束文件后只发现约束了时钟)后不需要再额外约束。以下......
  • vivado IS_SOFT
    这是一个Pblock属性,指示是否必须严格遵守Pblock。当IS_SOFT属性设置为TRUE时,从物理开始忽略Pblocks通过实施流程的末尾进行就地综合。这种方法是特别有助于保持整体位置,同时为减少拥堵、使逻辑更接近最佳位置的布局算法,以及提高物理优化的效率。限制:如果Pblock定义了动态......
  • 倒计时2天!免费的 Vivado入门与设计师资课程要开始啦
    你是否也曾为如何将HDL语言(如Verilog)的语法规则灵活应用于实际电路设计而苦恼?你是否渴望有一条清晰的学习路径,能够带你一步步攀登FPGA设计的高峰?你是否希望通过参与实际项目,快速提升自己的设计能力和解决复杂问题的能力?现在,机会来了!免费【FPGA实战训练】Vivado入门与设计......
  • Warning[204-68] 以及 Vivado HLS与Vivado的资源差异
            这篇学习记录起源于项目以ip导出后,在HLS综合(synthesis)资源与Vivado内ip综合(synthesis)存在巨大差异,本文没有数据仅以文字记录。        所有问题均基于VivadoHLS2019.1。目录1、资源差异1.1、首先vivado内的ip综合分为Global和Out-Of-Context两......
  • vivado HLUTNM
    HLUTNMHLUTNM属性允许您将两个特定且兼容的LUT图元分组为通过分配相同的<group_name>将其放入单个物理LUT中。当LUT可用性较低时,Vivadoplacer可以自动组合LUT实例将其配对到单个LUT上,以成功地适应设计。您还可以使用DISABLED值用于特定LUT上的HLUTNM属性,以防止Vivado砂矿......