首页 > 其他分享 >关键属性描述ASYNC_REG

关键属性描述ASYNC_REG

时间:2024-06-21 21:01:15浏览次数:23  
标签:sync 寄存器 ASYNC TRUE REG 属性

关键属性描述
属性信息
本章提供有关Xilinx®Vivado®Design Suite属性的信息。条目
每个属性包含以下信息(如适用):
•物业说明,包括其主要用途。
•支持该特性的Xilinx FPGA体系结构,包括UltraScale™
架构设备,除非特别注明。
•支持该物业的适用对象或设备资源。
•可分配给属性的可能值。
•语法规范,包括Verilog、VHDL和XDC(如适用)。
•设计流程中受影响的步骤,其中财产具有影响。
•另请参阅相关属性的交叉引用。
重要提示:当一个属性在HDL代码和XDC文件中定义为约束时,XDC
属性优先并覆盖HDL属性。
有关在Vivado Design Suite中使用这些属性的更多信息,请参阅
Vivado Design Suite用户指南:使用约束(UG903)[参考文献19]。

重要事项:如果ASYNC_REG和IOB都分配给寄存器,则IOB属性优先
通过ASYNC_REG,并且寄存器被放置在ILOGIC块中而不是SLICE/CLB逻辑中。
ASYNC_REG是一个影响Vivado工具流中许多进程的属性。ASYNC_REG
指定:
•寄存器可以在D输入引脚上接收与其源时钟相关的异步数据。
•寄存器是同步链中的同步寄存器。

在模拟过程中,当发生定时冲突时,默认行为是针对寄存器
元素以输出“X”或未知状态(不是1或0)。当这种情况发生时,任何
元素驱动器将在其输入上看到一个“X”,然后进入未知状态。这
条件可以在设计中传播,在某些情况下会导致
设计变得未知,有时模拟器无法从这种状态中恢复。
ASYNC_REG修改寄存器以输出最后一个已知值,即使定时
发生违规行为。
Vivado合成将ASYNC_REG性质视为DONT_TOUCH性质,并且
在合成网表中将其向前推。这确保了合成不会优化
寄存器或周围的逻辑,并且设计流中的下游工具接收
用于处理的ASYNC_REG属性。
指定ASYNC_REG也会影响优化、布局和布线,以提高平均值
可以变为亚稳的寄存器的故障间隔时间(MTBF)。如果应用ASYNC_ REG,
放置器将确保同步链上的触发器紧密地放置在一起
以便最大化MTBF。直接连接的具有此属性的寄存器将
假设它们具有兼容的SLICE/CLB
控制集,并且寄存器的数量不超过的可用资源
SLICE/CLB。
提示:对于UltraScale设备,可以报告平均故障间隔时间(MTBF)以进行同步
使用report_synchronizer_mtbf命令用ASYNC_REG标识的寄存器。
以下是两级FF或一级同步器的Verilog示例,如中所示
图3-1。寄存器同步来自单独时钟域的信号。这个
ASYNC_REG属性附加到值为TRUE的同步阶段:
(*ASYNC_REG=“TRUE”*)REG sync_0,sync_1;
始终@(posedge clk)开始
sync_1<=sync_0;
sync_0<=en;
. . .
提示:ASYNC_REG属性也可以与SystemVerilog逻辑语法一起使用:
(*ASYNC_REG=“TRUE”*)逻辑sync_0,sync_1;

(*ASYNC_REG=“TRUE”*)输出逻辑sync_0、sync_1,
使用ASYNC_REG属性,对寄存器进行分组,以便将它们放置得尽可能紧密
尽可能地在一起。

体系结构支持
所有架构。
适用对象
•源RTL中声明的信号
•实例化的寄存器单元(get_cell)
°寄存器(FD、FDCE、FDPE、FDRE、FDSE)
价值观
•TRUE:寄存器是同步链的一部分。它将通过
实现,放置在链中其他寄存器附近,用于MTBF
报告。
•FALSE:寄存器可以被优化掉,也可以被吸收到SRL、DSP等块中,
或RAMB。不会对其应用任何特殊的模拟、放置或布线规则
违约
语法
Verilog语法
将Verilog属性放在的实例化或reg声明之前
登记
(*ASYNC_REG=“{TRUE|FALSE}”*)
Verilog语法示例
//将sync_regs指定为接收异步数据
(*ASYNC_REG=“TRUE”*)REG[2:0]sync_regs;
VHDL语法
为推断的逻辑声明并指定VHDL属性,如下所示:
属性ASYNC_REG:字符串;
名称的属性ASYNC_REG:信号为“TRUE”;
或者,为实例化的逻辑指定如下VHDL属性:
名称:标签的属性ASYNC_REG为“TRUE”;
其中名称为:
•将被推断为同步器寄存器的声明信号,或
•实例化寄存器的实例名称
VHDL语法示例
属性ASYNC_REG:字符串;
信号sync_regs:std_logic_vvector(2下降到1);
--将sync_regs指定为接收异步数据
sync_regs的属性ASYNC_REG:信号为“TRUE”;
XDC语法
set_property ASYNC_REG值[get_cells<instance_name>]
哪里
•<instance_name>是一个寄存器单元。
XDC语法示例
#将sync_regs指定为接收异步数据
set_property ASYNC_REG TRUE[get_cells sync_regs*]
受影响的步骤
•launch_xsim
•合成
•场所设计
•路线设计
•Phys Opt设计
•电源选择设计
•report_drc
•write_verilog
•write_vhdl

标签:sync,寄存器,ASYNC,TRUE,REG,属性
From: https://blog.csdn.net/cckkppll/article/details/139869781

相关文章

  • 使用 GCD 实现属性的多读单写
    使用GrandCentralDispatch(GCD)实现多读单写的属性首先需要确保在多线程环境下的线程安全性。可以使用GCD提供的读写锁机制dispatch_rwlock_t或者dispatch_queue_t来实现这个功能。Swift版本的实现怎样创建一个并发队列?//使用Swift来实现的首个好处就是:......
  • Async 注解底层异步线程
    一、前言开发中我们经常会用到异步方法调用,具体到代码层面,异步方法调用的实现方式有很多种,比如最原始的通过实现Runnable接口或者继承Thread类创建异步线程,然后启动异步线程;再如,可以直接用java.util.concurrent包提供的线程池相关API实现异步方法调用。如果说可以用一行......
  • @ComponentScan注解的属性详细使用
    指定包扫描,主要扫描该包下@Controller @Service @Respsitory @Component四个注解@ComponentScan(value="com.songzixian")指定排除要扫描的包@ComponentScan(value="com.songzixian",excludeFilters={@ComponentScan.Filter(type=FilterType.ANNOTATION,classes={Co......
  • JavaScript async await 使用
    你习惯在js代码中使用asyncawait吗?我经常在js代码中写一些异步方法,使用await调用的地方,如果方便修改成异步方法,就修改成异步方法,如下所示:asyncsetPosition(graphic,lng,lat){this.lng=lng;this.lat=lat;if(graphic){letheight=awaitgetHeightByLng......
  • jquery文本操作、样式属性操作、效果学习
    <!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><metaname="viewport"content="width=device-width,initial-scale=1.0"><title>Document</title>......
  • 属性和方法
    classStudent(object):#类属性school='新华小学'definit(self,name):self.name=name#方法defsay(self):print('hahaha')defshow_student_info(self):print(self.school,self.name)classStudent1(Student):definit(self,age,name):super(......
  • CSS新手入门笔记【导入方法、选择器介绍、选择器优先级、属性详细介绍、盒子模型】
    目录一、目的与优势二、CSS导入方式三、语法结构四、选择器类型基本选择器组合选择器伪类与伪元素属性选择器六、选择器优先级总结六、CSS属性1.字体与文本属性2.背景属性3.尺寸与盒模型属性4.布局与定位5.列表样式6.边框与轮廓7.文本装饰与效果8.动画与过渡......
  • Vue 中 v-for 的全方位解读:含案例与 key 属性运用及常用数组方法
    目录v-for介绍v-forkey属性的使用Vue数组方法v-for介绍        v-for能够对数字、数组以及对象进行遍历。值得注意的是,当v-for与v-if一同运用时,v-for的优先级要高于v-if。正因如此,应尽量避免将v-if和v-for共同使用。特别是在嵌套使用的情况下,每一......
  • 【论文阅读】Co-Occ: Coupling Explicit Feature Fusion With Volume Rendering Regul
    论文:https://arxiv.org/pdf/2404.04561v1代码:https://github.com/Rorisis/Co-Occ?tab=readme-ov-fileQ:这篇论文试图解决什么问题?A:这篇论文提出了一个名为Co-Occ的多模态3D语义占据预测框架,旨在解决自动驾驶领域中的3D语义占据预测问题。具体来说,它关注以下几个挑战:......
  • 京东商品详情API接口,jd/item_get(属性规格Sku详情图等)
    京东商品详情API接口是京东开放平台提供的一项重要服务,API接口接入(taobao2024api)它允许第三方开发者通过调用API接口,获取京东平台上商品的详细信息。以下是关于京东商品详情API接口的清晰介绍:1.接口概述功能:用于获取京东商品的详细信息,如商品标题、价格、促销信息、图片、规......