前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >IC设计中值得了解的小知识(二)

IC设计中值得了解的小知识(二)

作者头像
icsoc
发布于 2025-04-09 06:54:17
发布于 2025-04-09 06:54:17
1080
举报
文章被收录于专栏:ICSOC.TECHICSOC.TECH

对同步数字电路做 STA 的时候,经常会遇到异步复位的相关时序检查。最常见的就是 Recovery 时序检查和 Removal 时序检查。

关于异步复位,首先我们知道有些触发器不支持异步复位;有些触发器支持异步复位(Reset,复位后为0)或者异步置位(Set,复位后为1);有些触发器同时支持异步复位和异步置位,但这种触发器不太常用,因为异步复位和异步置位之间也需要满足一定的时序要求,通常是由于不规范的 HDL 写法造成综合生成的。

下文用异步复位指代异步复位和异步置位,因为二者在时序约束上没有区别。

异步复位涉及的 Recovery 和 Removal 两种时序,容易和异步复位在功能上的复位生效(Reset 或者 Assert)或者复位释放(Release 或者 De-assert)发生混淆。尤其是 Removal 和 Release 字面含义有些接近,更易产生概念上的混淆。

异步复位同步释放

常见的异步复位一般都是采用大家耳熟能详的“异步复位、同步释放”的电路设计,异步复位的复位过程是不依赖于时钟而存在的,这是其称之为“异步”的原因。

但在我们经常打交道的同步电路设计中,异步复位的释放通常是依赖于时钟存在的,异步复位发生后,如果时钟一直不来,异步复位电路产生的复位信号会一直处于复位电平,直到时钟来了,才会产生同步于时钟的翻转电平,即同步释放,从而保证它带的所有触发器同步(即在同一个时钟周期内)退出复位状态,才能保证这部分数字电路的启动具有同步性。

所以说,对于一般数字电路的异步复位信号的复位翻转来说,其完全是异步事件,没有检查时序的必要性。

但是异步复位信号的释放翻转有同步性,所以需要检查它和时钟的时序关系。如果有违例,可能造成这个复位信号驱动的触发器不在同一个时钟周期启动,从而可能产生逻辑错误。

Recovery 和 Removal 就是针对异步复位信号的释放翻转相对于时钟有效沿的时序关系,和异步复位信号的复位翻转没有关系。

Recovery

可以理解为触发器的异步复位端释放时的翻转相对于时钟端的建立时间(setup),只是因为异步复位的异步特性,为了区别于触发器数据端两种翻转(从0到1,从1到0)相对时钟都要检查的建立时间,所以单独起个名字叫做 Recovery。

Removal

类似地,可以理解为触发器的异步复位端释放时的翻转相对于时钟端的保持时间(hold)。

需要强调一下的是,Recovery 不是指发生复位,Removal 也不是复位的撤销。

另外,大家可以打开自己手头的标准单元的 Liberty 文件,找到一个带异步复位的触发器,看看其中异步复位端的时序描述,通常它的 related_pin 是触发器的时钟端;时序类型通常是 recovery_rising 或者 recovery_falling,rising 或者 falling 是指 related_pin 也就是触发器时钟的有效沿;约束部分通常是 rise_constraints (低有效的异步复位,rise 是释放翻转方向)或者 fall_constraints (高有效的异步复位,fall 是释放翻转方向)。

有些早期工艺的 Liberty 文件中,触发器异步复位端的时序描述不那么严谨,可能包含了复位翻转时的检查,这样的场合通常需要在 SDC 中对这些路径设置 false path。比较新的工艺,通常时序描述都很精确,没有必要特意设置复位翻转为 false path。不过在大型芯片设计中,如果涉及到 block 级别的时序模型抽取(ETM),有些抽取工具不能很好的识别 block 内的时序类型,可能会把异步复位的复位翻转相关的时序类型也提取出来,给顶层的时序分析造成困扰,这时候也需要人为设置一些 false path 以避免错误提取。

异步复位异步释放

有些电路的设计确实是真正的异步复位,尤其是模拟电路中的一些触发器的复位控制。它能够保证异步复位信号的复位翻转和释放翻转在完成相当长一段时间后,时钟才会开始翻转。这样的电路,确实就没有做 Recovery 和 Removal 时序检查的必要。

前面提到的同时带有异步复位和异步置位的触发器,如果在功能上能够保证二者在一段时间内不会同时发生,其实也可以拿来使用,它在某些电路实现中有其独特的作用。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2025-04-07,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 icsoc 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
PP-数据建模:既然可以直接用,为什么还自己写度量公式?
大海:实际这个是Power Pivot自动生成的一个隐式度量值。你到数据模型里看看就知道了:
大海Power
2021/08/30
3800
Excel中的数据建模:表间关系一线牵,何须大量公式拼数据
大海:在传统数据透视表里的确是要那么干的,但到了Power Pivot里,当然就不用辣妈麻烦啦。直接拉根线连起来就把表的关系建好了,在数据分析的时候就可以直接用他们的关系了,数据根本不需要接进来。
大海Power
2021/08/30
2K0
pp-同样的数据做透视,“前10(n)项”筛选结果为毛不一样?
小勤:通过Power Pivot生成的数据透视表,里面的“前10项”筛选功能好像有点儿问题啊,你看这个数据:
大海Power
2021/08/30
8420
Power Pivot里的空文本怎么来的?怎么处理?日期也转换不了,怎么办?
假如说,这个文本里就只有空格(1个或多个),添加到Power Pivot数据模型时,空格会被删掉,问题是,删掉空格后的内容,到底是一个空值(blank)呢?还是一个空的文本("")?
大海Power
2021/08/30
9140
为啥用去重构造的单号表,建表间关系时仍然提示多对多,这明显是唯一值啊!|PBI实战
经检查发现,用values函数构建的这个发货单号表,中间存在空白内容,也就是说,原来的事实表里本身就存在空白(没有发货单号)的情况!
大海Power
2023/09/09
3590
为啥用去重构造的单号表,建表间关系时仍然提示多对多,这明显是唯一值啊!|PBI实战
PP-入门前奏:谁说透视表里的各行之和要等于总计的?
大海:这说明有某个客户是属于多个行(网点)里都存在,所以不重复的客户数总计会比各行之和少。
大海Power
2021/08/30
5350
你的DAX学习热情,是怎样一步步被磨掉的?
先说说这两天微信群里一个简单的案例,即根据下面的数据,统计每个人不含“质检”类型的非重复版本数量:
大海Power
2021/08/31
5790
Power Pivot数据建模基础:数据表间的4种基本关系类型
大海:在数据处理的时候,我们经常需要对2张相关的表格建立表间关系,比如订单表和订单明细表,订单明细表里的产品和产品表……那么2张表之间总是要能够找到明确的逻辑关系,才能建立表间关系,比如订单表里的订单编号和订单明细表里的订单编号是对应的。
大海Power
2021/08/30
3.7K0
理解DAX:为什么ALL(表)不去重,ALL(列)去重了?
小勤:ALL函数是清除所有筛选条件并返回表中的不重复值,下面对表的行进行计数应该是3呀,因为有两个大海是重复的,怎么还是4? 大海:没有说all返回的是不重复值啊。 小勤:那么我ALL(表[姓名]),
大海Power
2021/08/30
1.5K0
2.1 PowerBI数据建模-天下大模型必作于小的星型架构
加入 PowerBI自己学 知识星球 可以:下载源文件,边学边练;遇到问题,提问交流,有问必答。
PowerBI自己学_轻松
2025/02/24
1020
2.1 PowerBI数据建模-天下大模型必作于小的星型架构
用POWER BI 做人力资源数据建模是如此简单
人力资源的数据化转型需要HR在日常的工作中对人力资源各模块做落地的数据建模,数据分析是在数据可视化模型的基础上进行数据的交互,通过数据的交互和数据的交叉来进行数据分析,最终发现问题,解决问题。
王佩军
2022/09/28
1.3K0
Excel里没有非重复计数功能?用Power Query轻松解决!
小勤:大海,公司有个关于网点的客户数量统计问题,涉及到非重复计数的问题,这么常用的功能,Excel里居然不支持!
大海Power
2021/08/31
2.3K0
传统数据透视表之不能——非重复计数PowerPivot轻松解
大海:传统的数据透视表功能很强大,但非常奇怪的是——不支持非重复计数!你要用数据透视同时实现其他统计和非重复计数,又不想在原始数据表里增加辅助列的话,得考虑用Power Pivot了。
大海Power
2021/08/30
3.2K0
从工作表函数到DAX!
👆关注“博文视点Broadview”,获取更多书讯 作者:ExcelHome创始人周庆麟 来源:《DAX权威指南》推荐序 在ExcelHome技术论坛上,经常会有这样的讨论话题:你希望下一个版本的Excel增加什么功能? 在2006年以前,很多人都说,希望Excel能提高单表处理数据的数量上限,最好能像Access那样可以建立多表查询。 自Excel 2007问世后,单表处理数据的量,从65,536行增加到了1,048,576行。 于是,很多人表示相当满意,但还是有一些人表示,只是简单增加单表的行数不够
博文视点Broadview
2023/05/06
1.1K0
从工作表函数到DAX!
PP-基础知识:为什么在数据模型里做了数据筛选,图表没有跟着变?
第一,注意不要和Power Query的数据操作混淆,在Power Query里做了数据筛选,最后得到的数据是筛选后的结果,因为Power Query就是针对数据本身进行处理的(PQ其实也不删除数据,只是你习惯性的只使用筛选后的数据结果而已)。
大海Power
2021/08/30
5950
复杂表源的清洗方法
上篇推文《从【中国式复杂报表】谈设计逻辑》中我们提到,中国式复杂报表作为高度复杂化的产物,不适合进一步用作数据源。但实际工作中,难免遇到以类似复杂表格作为数据源的情况。比如从国家统计局下载数据的表单,就是一个初级版的复杂报表。我们可以看到,表头分了两个层级,且子层级含有合计数。列方向上也有合计(全国)。本文将来一步一步介绍,如何清洗复杂报表数据源。
btharp
2021/08/31
2.1K0
Power Query 真经 - 第 7 章 - 常用数据转换
分析师面临的普遍问题是,无论从哪里获得数据,大部分情况都是一种不能立即使用的状态。因此,不仅需要时间把数据加载到文件中,还得花更多的时间来清洗它,改变它的结构,以便后续做分析的时候能更好的使用这个数据。
BI佐罗
2022/05/17
7.7K0
Power Query 真经 - 第 7 章 - 常用数据转换
PBI-基础入门:通过一个简单的案例体会Power BI的数据分析过程
大海:好吧,Power Query你学了那么多,Power Pivot也基本入门了,Power BI也可以同步开始学了,反正PQ和PP的知识除了操作上有一点点儿区别外,都是能在Power BI里直接用的。
大海Power
2021/08/30
3.6K0
Power Query 真经 - 第 8 章 - 纵向追加数据
数据专业人员经常做的工作之一是将多个数据集追加到一起。无论这些数据集是包含在一个 Excel 工作簿中,还是分布在多个文件中,问题是它们需要被纵向【追加】到一个表中。
BI佐罗
2022/05/17
7K0
Power Query 真经 - 第 8 章 - 纵向追加数据
一次性学懂Excel中的Power Query和Power Pivot使用
👆点击“博文视点Broadview”,获取更多书讯 传统的Excel单表虽然可以有100万行数据的承载量,但是在实际分析时,20万行的数据就已经让传统的Excel非常吃力了。 但是,如果使用Excel中的Power Query和Power Pivot商务智能组件,即使是上百万行数据,也可以在短时间内快速完成处理和分析。 Power Query在Excel和Power BI Desktop中都是内置组件,并且管理界面和知识体系保持了高度一致。 其实,Power BI中的Power Query和Power P
博文视点Broadview
2022/10/10
9.6K0
一次性学懂Excel中的Power Query和Power Pivot使用
推荐阅读
相关推荐
PP-数据建模:既然可以直接用,为什么还自己写度量公式?
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档