|
发表于 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.
请问楼主对否?还有题吗,多上几道题,也让我等开心开心 |
|