setup 修timing
时间: 2023-09-09 20:06:50 浏览: 177
根据引用中提到的,针对setup violation的修复方法有不同的方式。在后端工程师开始工作之前,他们需要尽可能获得一个没有setup violation的门级网表。对于setup violation的修复,可以考虑以下几个方面:
1. DC阶段的修复:在设计约束(Design Constraints)的阶段,可以调整信号的延迟来修复setup violation。可以使用不同的线负载模型,如PS1中提到的三种线负载模型,或者通过retiming和pipelining来调整电路的时序关系。
2. PR阶段的修复:如果在PR阶段出现较大的setup violation,可能是因为floorplan不合理,需要更改block的形状、port的位置、memory和IP的位置等,以重新布局电路。另外,设计本身可能存在问题,可以通过retiming和pipelining进行调整。此外,如果模块的利用率太高,导致拥堵严重,可以通过增加模块的面积或重新排列不同的宏单元来解决。
综上所述,修复setup violation需要在不同的阶段采取相应的措施,包括在DC阶段调整延迟、在PR阶段改进布局或设计,并对模块的利用率进行适当的调整。
相关问题
dmsa 修transition
DMSA修transition是指使用DMSA工具来修复设计中的transition违规问题。通常,在修复hold违规后,DMSA工具可以用来修复transition违规,使得设计达到时序要求。修复transition违规的方法有两种情况。 第一种情况是当存在timing margin时,由于工具的bug导致漏修。在这种情况下,需要人工介入,要么手动插入buffer,要么创造timing margin后再让工具修复。 第二种情况是没有setup margin,这也需要人工介入来修复。
其中,可以使用fix_eco_drc命令来手动修复transition违规。该命令的参数中,可以指定-type为max_transition,-physical_mode为occupied_site,并提供一个buffer_list来指定需要插入的buffer。这样可以手动修复hold违规。
此外,PrimeTime也支持使用physical aware的方法来修复hold违规。在PrimeTime中,可以使用以下几个命令来修复setup,hold和max transition问题。其中,physical_mode可以设置为open_site或occupied_site,前者不允许插入的buffer存在overlap,后者则可以存在overlap。一般建议先使用open_site来进行大规模的hold违规修复。具体使用哪种模式需要根据设计的具体情况来决定。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *2* *3* [soc设计方法与实现_数字IC设计实现之hold violation修复方法汇总](https://blog.csdn.net/weixin_39541767/article/details/111014859)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"]
[ .reference_list ]
阅读全文