思考题

placement阶段:

1、row有方向吗?Stdcel放到row上,为什么和方向有关系?

答:row有方向。coarse placement时,给每个stdcel找到一个最近的合法(legal)的位置,即让所有的stdcel到放到row上,并和site对齐,包括方向和位置。通常相邻的row会相互abut并flip,这样相邻的site就可以共用power线,节省power绕线资源。

2、解释一下1P9M_6x2r的含义。

答:1P9M代表1层poly,9层metal。

3、为什么CTS之前只需对func进行约束?而scan可以在CTS之后再打开对其进行优化?

func mode最为重要,影响较大。scan mode相对来说较容易满足,影响较小。

4、为什么place阶段只需要对func+wc进行优化?

针对最worst的情况进行优化。

5、为什么逻辑综合不设置mode?

逻辑综合将数字电路的寄存器传输级描述(RTL,Register Transfer Level)结合根据设计需求编写的约束文件“综合”成门级网表(Gate-level Netlist)。后端PR利用工具将门级网表作为输入生成GDSII文件用于芯片制造。逻辑综合=翻译+优化+映射。其中,read_verilog将RTL翻译成GTECH,compiler进行综合,即优化和映射成工艺相关的门级网表。

6、结合oc8051项目的signoff sta要求,考虑scan+func两个mode,signoff sta阶段共有多少个scenario要检查时序要求?

func mode :WC+Cmax、Wc+Cmin、Wcl+Cmax、Wcl+Cmin、Ml+Cmax、Ml+Cmin、Lt+Cmax、Lt+Cmin。

Scan mode:Wc+Cmax、Wc+Cmin、Wcl+Cmin、Wcl+Cmax、Ml+Cmax、Ml+Cmin、Lt+Cmax、Lt+Cmin。

7、CTS/Opt和route/Opt阶段是否需要对所有的mode x delay corner进行优化?

不需要,只需要选取典型的scenario就可以。比如,wc时,latency处于不同的corner下,setup的capture采用1latency,launch采用1.1latency(具体数值根据要求)。hold的capture采用1.1latency,launch采用1latency。

8、Memory/Macro周围设置hard or soft的keepouts值合理?

9、SACN reorder有什么好处?单方向的scan reorder(horizontal/vertical)会有什么坏处?

10、Placement的基本过程?

coarse placement,detail placement,placement optimization

11、Placement阶段会进行哪些优化?分别用什么命令控制?

timing optimization,Area&Power optimization,Congestion optimization

12、由于stdcel库的设计不完善,有些个别的cell abut(挨在一起)的时候,pin之间会产生spacing的violation。如果不能更换stdcel库,如何避免此类问题?

设置placement guide

13、group_path命令的-weight给path group设置优先级/权重,它在时序收敛/优化中有什么实用价值?

critical的path优先进行优化

14、可以通俗的说,critical range用于设置待优化的critical path的范围(即slack在什么区间的path才会进行优化)。它有什么意义?因为最critical path都满足不了,即使准critical path的slack优化到0又有什么意义?

15、Sparcel插入之后,请查看input和output pin是如何连接的?为什么要相对均匀的分布在core的区域?

preCTS阶段:

1、打开placed mw,report_timing确认ideal latency,同样尝试使用useful skew的情况

2、global skew和local skew,谁更重要?

3、如果两个clock之间存在path,他们的相对latency有什么影响?

4、理解inter-clock balance,如何事项?

5、假设当前为block level,仔细思考,TOP中PLL到Clock1和Clock2 的latency对图示timing path的影响

6、什么是Global skew?什么时Local skew?

7、假设CTS结束后发现存在0.5ns的Global Skew,它对timing的影响有多大?

8、假设CTS结束后发现存在0.5ns的Local skew,它对timing的影响有多大?是否一定不利于timing?Setup/Hold?

9、Clock exception是怎样影响CTS的?

10、Clock Net Shielding除了占用绕线资源外,还什么不良影响?

11、Clock的latency为什么越短越好?

12、通常情况下,ICG输出的subtree的latency的长短怎样影响从reg/CK到ICG/E的setup timing?怎样减小这种不利情况?

13、一个BUF等价于两个INV串起来,这两种情况有什么区别?

post CTS阶段:

1、oc8051项目使用的stdcel库有哪些pvt/corner的lib或db?如何查看个lib的pvt参数?

2、tt/ff/ss的电压分别是?比tt高/低的百分比?

3、你在创建一个scenario时,是如何指定cell的delay corner的?

4、如果要创建两个scenario,分别是:

scenario1:func+wcl+rcmax

scenario2:func+ml+rcmin

ICC中,怎么设置link_library和target_library?

ICC中,wcl和ml的db会同时被读进icc,那么是通过什么机制/命令把wcl的db库设置给scenario1,以及如何把ml的db库设置给scenario2?

5、通过timing report查看:

如何report setup/hold的timing path?对比report和slack公式中的各项?

a、wcl/wc下,ocv是如何体现在setup/hold的timing report的;

b、lt/ml下呢?

c、crpr是如何体现现在timing report的;

d、改变report_timing -to reg/D -path的值,查看report有什么变化

e、对比preCTS和postCTS的timing report有什么区别

f、查看timing report中start point和endpoint分别是谁?它们的clock是谁?是什么沿触发的?

g、clock network latency是多少?

h、在timing report中查看setup timing check的周期是多少?

i、在timing report中证明,周期对hold check是否有影响?

j、找一个icg,然后报告到icg/E的setup timing,查看skew是多少?

k、通过size_cell改变某timing path中的某个单元驱动强度,检查slack的变化?该cell的delay的变化?该cell的输出端的transition的变化?

l、通过current_scenario命令切换到scan的某个scenario下,report_timing到某个reg/SI的path的setup/hold check?观察path穿过的cell的特点?观察slack的大小(找多条对比看看)?clock path的起点从谁来?

m、current_scenario切换到func的某个scenario下,report上面到reg/SI的path,得到什么结果?

n、找一条到reg/D的path,分别在func和scan的某个scenario下report,对比结果?他们的时钟?它们的clock path的起点?

o、改变set_scenario_options -setup/hold的值,查看对report_timing -delay min/max的影响?

6、随便找个clock tree上的cell和net,查看它们的属性及属性的值?

7、clock_opt -only_psyn那条命令执行之前,report_constraint -all -scenario查看结果

8、前面的flow中,如果set_propagated_clock不执行,post CTS的某timing path的report_timing结果如何?latency多少?

9、如果set_fix_hold不指定,report——constraint -all -scenario的结果如何?

10、对于同一条path,改变timing_remove_clock_reconvergence_pessimism的值true/false,查看同意timing path的report在改变该变量前后的变化?Slack变化?

11、preCTS和post CTS使用的sdc有什么区别?

12、TCL练习:get_cell/get_flat_cells等命令,抓出CTS阶段加入的cell,并按ref_name统计个数;计算它们的总面积?总数目?

13、TCL练习:通过命令/脚本得到clk net,计算它们的总线长。

route阶段:

1、在GR后,net shape是否存在?

2、what does global routing do in congested areas?

3、assignment of nets to metal layers is done during the Track Assignment stage。T or F?

4、when does IC Compiler use SBoxes?Are they always the same size?

5、Dose IC Compiler find all the DRC violation,making a Herclues or other sign-off level DRC extraction run unnecessary?

6、Will IC Compiler route a metal trace in the “non preferred” direction?

7、Bunp/glitch有什么影响?某个net的Logic failure是否一定会导致功能错误?

8、Sta报出来有Delta delay的net,正常工作时一定会有这个delta delay吗?

9、Antenna_rules.tcl为什么不是fab给的?

10、使用“report_timing -cross -...”查看在timing report中的delta delay

  • 0
    点赞
  • 35
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值