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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
楼主: chris_li

[求助] 面试小考题, 有图有真相!

[复制链接]
发表于 2011-12-29 10:37:59 | 显示全部楼层
楼主改题了啊,之前那个clkb作为data输入的问题怎么处理的啊?
发表于 2011-12-29 10:46:13 | 显示全部楼层




  A->FF2的setup需要检查的吧,由于A的input delay没有用clk1约束,按照0来计算的话是不是应该slack=-1ns,不满足啊???
发表于 2011-12-29 13:36:37 | 显示全部楼层
A->FF2需要检查timing
1.如果没有input daley ,即clk1好A是对其的。
slack=period 10ns-AOI delay 0.5ns -C1 delay 8.5ns -50ps=950ps
 楼主| 发表于 2011-12-29 14:18:54 | 显示全部楼层


A->FF2需要检查timing
1.如果没有input daley ,即clk1好A是对其的。
slack=period 10ns-AOI delay 0.5ns  ...
laokai 发表于 2011-12-29 13:36



呵呵, 似乎和主考官的答案相距甚远啊

提示: 两个uncertainty的约束不是打酱油的。
发表于 2011-12-29 16:53:51 | 显示全部楼层
回复 14# chris_li


如上图所示,请问 A->FF2 是否需要检查timing,如果需要的话,请计算 A->FF2 的setup是否满足,slack=? 已知条件如下:
create_clock clk1 -period 10n
create_clock clk2 -period 40n
set_clock_uncertainty -setup 50p clk1
set_clock_uncertainty -setup 200p clk2
set_false_path -hold -from clk1 to clk2
set_false_path -hold -from clk2 to clk1
set_input_delay -clock clk2 1n A
library setup (FF1/FF2) = 150p
AOI delay = 0.5n
C1 delay = 8.5n
C2 delay = 5n
一点一点说
1.clk1 10ns 周期
2.clk2 40ns周期
3.50p skew clk1
4.200p skew clk2
5.不关心
6.不关心
7.后边写的A不知道啥意思 前边clk2输入延迟1ns
8.FF1 FF2 setup 150ps
由于只考虑 A-FF2 的路径只用考虑 CLK1时钟域
那么 slack=时钟周期+skew - daley-FF2_setup=10ns +50ps-8.5ns-0.5ns-150ps=900ps
我个人认为clk1 和A的关系都没说清楚......
发表于 2011-12-29 18:26:20 | 显示全部楼层
不算clk1 input delay
slack=10-0.05-8.5-0.5-0.15=0.8ns
发表于 2011-12-29 19:40:22 | 显示全部楼层
需要检查
slack = -0.15ns
发表于 2011-12-30 09:03:49 | 显示全部楼层
set_input_delay -clock clk2 1n A
这个意思是不是说 A落后于CLK2 1ns呢?

我觉得slack是0.8ns
当A1一直保持一个电平的时候 slack = 10 - 8.5 -0.5 -150ps-50ps = 0.8 ns
当A1变化的时候,因为A1的稳定要提前于A0,
所以slack还是不变化的
这时我的理解
发表于 2011-12-30 12:31:36 | 显示全部楼层
本帖最后由 xilinx_zhao 于 2011-12-30 12:45 编辑

1.因为clk1和clk2没有设置false path,则需要检查他们之间的timing,虽然两个时钟是异步的,但是软件默认clk1和clk2的第一个上升沿是对齐的。
2. 因为设置了input delay,即假设到达A端口的数据是由clk2产生的:clk2的上升沿打出A端口的数据,到达A端口耗时1ns. 这个数据继续向内传播耗时8.5ns到达IOA,又经过0.5ns到达FF2的D端口。总耗时1+8.5+0.5=10ns. 即FF2的D端口的数据是由clk2打出来的,经过10ns传播到FF2的D端口。
3. 由以上的1和2,得出结论,如果不考虑uncertainty,则timign slack 是 -0.15ns.即:由于clk1的周期是10ns,setup time是0.15ns, 而D端口的数据在第一个上升沿打出后(其实是clk2打出的D端口的数据,但是有一上面所述的第1点,软件认为两个clk的第一个上升沿是同时的), 经过10ns到达D端口, 所以slack= -0.15ns.
4. 因为设置了两个clk的uncertainty,则软件自动按照最严格的情况ckeck timing。在这个场景下,最严格的情况是,clk1快0.05ns,clk2 慢0.2ns.于是,slack 变得更糟,-0.15-0.05-0.2=-0.4ns.

请问楼主对否?还有题吗,多上几道题,也让我等开心开心
发表于 2011-12-31 11:02:21 | 显示全部楼层
本帖最后由 huxiaokai2005 于 2011-12-31 11:05 编辑

setup slack=data required time  -  data arrival time
data required time=latch edge + latch clock delay - utsu
data arrival time=launch edge + launch clock delay  + input delay + pin to register delay
此题中launch clock是clk2,latch clock是clk1,因此data required time和data arrival time分别可计算得到:
data required time=10ns - 0.05ns - 0.15ns=9.8ns
data arrival time=0ns + 0.2ns + 1ns + (8.5ns + 0.5ns)=10.2ns
因此得到A-FF2对应的setup slack=9.8ns - 10.2ns= -0.4ns,不满足
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

X

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

GMT+8, 2025-6-24 20:41 , Processed in 0.023449 second(s), 7 queries , Gzip On, MemCached On.

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