在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 7964|回复: 16

[求助] [k库请教] 关于K库,buffer的delay产生负值的问题

[复制链接]
发表于 2017-10-1 20:13:39 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
各位大神,请教一个问题,用S K库的时候,发现在load比较小,transition比较大的时候,cell出来的延时是负值。后面是引用一个范例。
请教各位大神,做库的时候遇到这种问题怎么办?不吝赐教。
是修改hspice仿真的参数?还是怎么做?非常感谢!

----------------

对于cell delay的计算,以inverter为例,

INV是由一个NMOS和一个PMOS串联而成,当输入为“1”时,NMOS打开,构成下拉电路,输出为“0”;输入为“0”时,PMOS打开,构成上拉电路,输出为“1”

如何定义“0”“1”

这是由transition threshold决定的(在时序lib中定义,由半导体公司给出),分为rise transitionfall transition。假设将80%的作为rise_transition_threshold 20%fall_transition_threshold。关键是区分20%80%,和80%20%这段区间,到底认为其为0还是1.

对于rise transition,在(0, 80%)区间为0,(80%1)为1 对于fall transition,在(1,20%)之间为1,在(20%0)之间为0

这样,如何计算celldelay,一个cell有多个delay,对应不同的timing arc。以INV为例,如图(a)所示。

delay警告的解释" title="[转载]关于使用ncsim仿真时出现negative delay警告的解释" action-data="http%3A%2F%2Fs11.sinaimg.cn%2Fmw690%2Fcdd8559agx6DtuDnpaOba%26690" action-type="show-slide" style="margin: 0pt auto; padding: 0px; border-width: 0px; border-style: initial; list-style: none; display: block;">

delay警告的解释" title="[转载]关于使用ncsim仿真时出现negative delay警告的解释" action-data="http%3A%2F%2Fs13.sinaimg.cn%2Fmw690%2Fcdd8559agx6DtuDwibG8c%26690" action-type="show-slide" style="margin: 0pt auto; padding: 0px; border-width: 0px; border-style: initial; list-style: none; display: block;">

delay警告的解释" title="[转载]关于使用ncsim仿真时出现negative delay警告的解释" action-data="http%3A%2F%2Fs11.sinaimg.cn%2Fmw690%2Fcdd8559agx6DtuDFNmq5a%26690" action-type="show-slide" style="margin: 0pt auto; padding: 0px; border-width: 0px; border-style: initial; list-style: none; display: block;">

delay警告的解释" title="[转载]关于使用ncsim仿真时出现negative delay警告的解释" action-data="http%3A%2F%2Fs2.sinaimg.cn%2Fmw690%2Fcdd8559agx6DtuDNyKJc1%26690" action-type="show-slide" style="margin: 0pt auto; padding: 0px; border-width: 0px; border-style: initial; list-style: none; display: block;">

但是,当输入端的驱动较小,导致输入的transition时间较大,而输出端负载较小,导致输出transition较快的时候,就会出现(b)的情况,计算得出的delay为负值。这种情况存在也是合理正常的。

明确两个时间的概念,一个是仿真的时间精度,比如`timescale 1ns/1ps,意思是说,仿真的时间单位是1ns,精度是1ps,在程序中,可以控制的最小时间是1e-3,即1ps

另一个是simulatordelta时间,delta=0.

Delta时间实际上是决定了在某一时间段内,simulator允许的状态变化的最大数,并没有实际的时间概念。模拟器需要为仿真的程序建立一个状态机,每一个状态可以理解为一个模拟器为模拟仿真程序所维持的一个变量,在某一个特定时刻模拟器只允许一定数目的并行的、互相independent的状态,然后经过delta时间之后,模拟器经过计算,决定出下一个状态,因此,下一个状态必定是与之前的某一个状态dependent的。

因此,模拟器的工作过程可以描述为,若假定delta决定的仿真粒度为100个状态变化,初始时刻,所有状态已经建立,然后每当100个状态发生变化,模拟器推进一个delta时间,根据当前系统的当前状态,决定下一步的操作。然后再经过100个状态,模拟器再开始停下来,判断当前状态,决定下一步的操作。因此,如果delta越小,模拟器需要的计算量就越大,因为每隔几个状态就要判断一下;如果delta较大,就会丧失精度,某些dependent的状态会被当成一个状态,中间的状态转换过程就无法得到。

因此,为什么模拟器会报出negative delay的警告,并自动将其设置为0呢?

这是因为,两个事件12,事件2依赖于1,可以理解为状态1的下一个状态。因此,模拟器经过了状态1后,经过delta时间,才能到达状态2。可以,当模拟器到达状态2的时候发现,它的时间为0,意味着实际的电路行为是,先执行2,后执行1,这样,模拟器就会很迷惑。如果没有反馈功能,模拟器就只能将负的delay设置为0

发表于 2018-2-9 15:20:02 | 显示全部楼层
k库中的k是什么的缩写?
发表于 2019-2-23 12:41:23 | 显示全部楼层


k库中的k是什么的缩写?
nudt_xu 发表于 2018-2-9 15:20


菜鸟同关注
发表于 2019-2-27 16:46:27 | 显示全部楼层
回复 1# snakkewang


    正常啊,通常delay的时间,是输入的50%到输出的50%,你输入的transition如果太长,也许还没到50%,输出就翻转了。
所以在k库的时候,input slew不是随便设的。另外siliconsmart里面有个option,默认把负的timing用0替换,可以去查下。
发表于 2022-3-14 14:31:43 | 显示全部楼层


你好,请问下为什么说没到50%,输出就翻转了呢?比如buf,1→1,输出不是应该是输入到高电平阈值后才响应吗?
发表于 2022-3-22 08:53:30 | 显示全部楼层


why222 发表于 2022-3-14 14:31
你好,请问下为什么说没到50%,输出就翻转了呢?比如buf,1→1,输出不是应该是输入到高电平阈值后才响应 ...


阈值只是一个定量而不是定性的概念。
比如说阈值电压0.5v,你说我电压在0.49v的时候,输出会不会有电流?
发表于 2022-3-22 09:43:01 | 显示全部楼层


lightpisces 发表于 2022-3-22 08:53
阈值只是一个定量而不是定性的概念。
比如说阈值电压0.5v,你说我电压在0.49v的时候,输出会不会有电流? ...


谢谢您的回复,我理解了。《Characterization and Modeling of Digital Circuits (2015, CreateSpace Independent Publishing Platform)》这本书里提到了
发表于 2022-12-5 14:27:37 | 显示全部楼层


why222 发表于 2022-3-22 09:43
谢谢您的回复,我理解了。《Characterization and Modeling of Digital Circuits (2015, CreateSpace Inde ...


你好,请问可以分享一下这本书嘛?没有找到相关资源。
谢谢你!
发表于 2022-12-7 09:55:57 | 显示全部楼层


xbuilder 发表于 2022-12-5 14:27
你好,请问可以分享一下这本书嘛?没有找到相关资源。
谢谢你!


https://www.aliyundrive.com/s/6uYBR1ZFC7w
发表于 2022-12-15 17:30:36 | 显示全部楼层
本帖最后由 韩冰蛋 于 2022-12-15 17:32 编辑

蹲一个,看看后续

您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /2 下一条

×

小黑屋| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-4-28 12:12 , Processed in 0.029719 second(s), 6 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表