您的位置 首页 解答

xilinx Vivado东西运用技巧

xilinx Vivado工具使用技巧-在Vivado Design Suite中,Vivado综合能够合成多种类型的属性。在大多数情况下,这些属性具有相同的语法和相同的行为。

归纳特点

在Vivado Design Suite中,Vivado归纳能够组成多种类型的特点。在大多数情况下,这些特点具有相同的语法和相同的行为。

•假如Vivado归纳支撑该特点,它将运用该特点,并创立反映已运用特点的逻辑。

•假如东西无法辨认指定的特点,则Vivado归纳会将特点及其值传递给生成的网表。

xilinx Vivado东西运用技巧

1.ASYNC_REG

ASYNC_REG是影响Vivado东西流中许多进程的特点。此特点的意图是告诉东西寄存器能够在D输入引脚中接纳相对于源时钟的异步数据,或许该寄存器是同步链中的同步寄存器。

当遇到此特点时,Vivado归纳会将其视为DONT_TOUCH特点,并在网表中向前推送ASYNC_REG特点。此进程可保证具有ASYNC_REG特点的目标未进行优化,而且流程中稍后的东西会接纳特点以正确处理它。

您能够将此特点放在任何寄存器上; 值为FALSE(默许值)和TRUE。能够在RTL或XDC中设置此特点。

ASYNC_REG Verilog Example:

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

2.CLOCK_BUFFER_TYPE

在输入时钟上运用CLOCK_BUFFER_TYPE以描绘要运用的时钟缓冲器类型。

默许情况下,Vivado归纳运用BUFG作为时钟缓冲器。支撑的值是“BUFG”,“BUFH”,“BUFIO”,“BUFMR”,“BUFR”或“无”。 CLOCK_BUFFER_TYPE特点能够放在任何尖端时钟端口上。它能够在RTL和XDC中设置。

CLOCK_BUFFER_TYPE Verilog Example

(* clock_buffer_type = “none”*) input clk1;

CLOCK_BUFFER_TYPE XDC Example

set_property CLOCK_BUFFER_TYPEBUFG [get_ports clk]

3. FSM_ENCODING

FSM_ENCODING操控状况机上的编码。一般,Vivado东西会依据最适合大多数规划的启发式办法为状况机挑选编码协议。某些规划类型运用特定的编码协议能够更好地作业

FSM_ENCODING能够放在状况机寄存器上。其合法价值是“one_hot”,“sequential”,“johnson”,“grey”,“auto”和“none”。 “auto”值是默许值,答应东西确认最佳编码。能够在RTL或XDC中设置此特点。

FSM_ENCODING Example (Verilog)

(* fsm_encoding = “one_hot” *)reg [7:0] my_state;

4. KEEP

运用KEEP特点可避免信号优化或被吸收到逻辑块中的优化。此特点指示归纳东西坚持其所在的信号,并将该信号放入网表中。

例如,假如信号是2位AND门的输出,而且它驱动另一个AND门,则KEEP特点可用于避免该信号合并到包括两个AND门的较大LUT中。

KEEP也常用于时序束缚。假如对一般会优化的信号存在时序束缚,KEEP会阻挠该操作,并答应运用正确的时序规矩

KEEP Example (Verilog)

(* keep = “true” *) wire sig1;

assign sig1 = in1 & in2;

assign out1 = sig1 & in2;

5 RAM_STYLE

RAM_STYLE指示Vivado归纳东西怎么揣度内存。可接受的值是:

•block:指示东西揣度RAMB类型组件。

•distributed:指示东西揣度LUT RAM。

•寄存器:指示东西揣度寄存器而不是RAM。

•ultra:指示东西运用UltraScale +™URAM原语。

默许情况下,该东西依据启发式挑选要揣度的RAM,以便为大多数规划供给最佳成果。将此特点放在为RAM声明的数组或层次结构等级上。

•假如设置了信号,该特点将影响该特定信号。

•假如设置在层次结构等级上,则会影响该层次结构等级中的一切RAM。

层次结构的子等级不受影响。

这能够在RTL或XDC中设置。

RAM_STYLE Example (Verilog)

(* ram_style = “distributed” *)reg [data_size-1:0] myram [2**addr_size-1:0];

6 ROM_STYLE

ROM_STYLE指示归纳东西怎么揣度ROM存储器。可接受的值是:

•block:指示东西揣度RAMB类型组件

•distributed:指示东西揣度LUT ROM。默许情况下,该东西依据启发式挑选要揣度的ROM,以便为大多数规划供给最佳成果。

这能够在RTL和XDC中设置。

ROM_STYLE Example (Verilog)

(* rom_style = “distributed” *)reg [data_size-1:0] myrom [2**addr_size-1:0];

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/changshang/jieda/338483.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部