Vivado使用心得(五)HDL/XDC中设置综合属性

本文详细介绍了Vivado综合工具中的一些关键属性,包括ASYNC_REG、BLACK_BOX、CASCADE_HEIGHT等,讲解了如何在RTL和XDC文件中设置这些属性以影响综合过程。此外,还提到了自定义属性的使用及其在不同设计阶段的作用,以及在XDC文件中设置综合属性的方法。
摘要由CSDN通过智能技术生成

 

​    Vivado综合工具支持直接在RTL文件或XDC文件中设置综合属性。如果Vivado识别出设置的属性,会创建与之相关的逻辑电路;如果不能识别设置的属性,会将该属性和值存放在生成的网表中。因为某些属性,比如LOC约束适用于布线过程,因此必须保留该属性配置情况。

    本文将介绍Vivado综合工具支持的所有属性设置,并给出Verilog示例。


1.ASYNC_REG

    该属性将reg类型配置为可以在D输入管脚接受异步数据的寄存器,或者带同步链的同步寄存器。该属性默认为FALSE,可设置为TRUE。可在RTL或XDC中设置。示例如下:

(* ASYNC_REG = “TRUE”) reg [2:0] sync_regs;  //Verilog示例

2.BLACK_BOX

    当设置了该属性时,Vivado综合工具会为该模块创建一个黑盒子,模块内部的所有层次结构对外都不可见,该功能多用于调试过程。该属性可以设置在module、entity或component上,只能在RTL中设置。示例如下:

(* black_box *) module test(in1, in2, clk, out);  //Verilog示例,不需要设置值

3.CASCADE_HEIGHT

    该属性只适用于UltraScale架构的FPGA,用于设置将块RAM级联为大型RAM的最大长度。通常工具会根据创建的RAM选择如何级联块RAM,该属性可以用于缩短级联链的长度。需要在RTL中设置,值为0或1时表示禁止任何块RAM的级联。示例如下:

(* cascade_height *) reg [31:0] ram [(2**15)-1:0];  //Verilog示例

 

4.CLOCK_BUFFER_TYPE

    该属性应用于顶层模块的输入时钟端口上,设置使用哪种时钟缓冲器。默认使用BUFG,可以设置为BUFG、BUFH、BUFIO、BUFMR、BUFR或none。该设置只能在RTL设计中,示例如下:

(* clock_buffer_type = “none” *) input clk1;  //Verilog示例

5.DIRECT_ENABLE

    如果希望一个输入或信号直接作为触发器的使能信号(连接到flop的使能线上),可以使用该属性。可以在RTL或XDC中设置,示例如下:

(* direct_enable = “yes” *) input ena1;  //Verilog示例
set_property direct_enable yes [get_nets -of [get_ports ena1]]  #XDC示例

6.DIRECT_RESET

    如果希望一个输入或信号直接作为触发器的复位信号(连接到flop的复位线上),可以使用该属性。可以在RTL或XDC中设置,示例与上一属性类似。注意在XDC中,这两个属性只对网络(net)类型有效,必须使用get_nets命令来获取网络对象。

7.DONT_TOUCH

    该属性与KEEP和KEEP_HIERARCHY属性作用相同,区别在于DONT_TOUCH 在布局布线过程中仍会保持作用。当其他属性与DONT_TOUCH属性发生冲突时,DONT_TOUCH属性有更高的优先级。该属性可用于配置任意信号、module、entity或component。该属性仅可用于RTL中,示例如下:

(* DONT_TOUCH = “yes” *) wire sig1;  //wire示例
assign sig1 = in1 & in2;
assign out = sig1 & in2;     //sig1不会被优化掉
(* DONT_TOUCH = “yes” *) module test (clk… //该层次与接口不会被优化掉
  •  

8.EXTRACT_ENABLE

    设置综合工具对使能信号的管理方式。默认情况下,Vivado会根据设计自动选择是否使用寄存器的使能管脚。当默认表现没有按设计意图进行时,可以使用该属性。比如设计中一个信号没有被视作使能信号,使用该属性可以强制将信号接入到触发器的C

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值