美文网首页
Use Multi-VT library with Design

Use Multi-VT library with Design

作者: airland | 来源:发表于2017-03-16 17:35 被阅读0次

晶圆厂(FAB)提供的library一般有HVT/SVT/LVT,在cell delay方面,HVT>SVT>LVT; 而在power方面, HVT<SVT<LVT

一般出于功耗的考虑,综合时尽量使用HVT,避免使用LVT,甚至完全禁用LVT;如果timing无法满足,则可以考虑使用部分LVT cell。使用LVT cell有两种做法,一种是前端综合时完全禁用LVT,后端在修timing的时候,进行LVT cell的替换;另外一种就是在综合时,放开LVT cell的使用,尽量满足timing的要求。

这篇文章主要讲如何在综合的时候使用Multi-VT library,以及如何查看各个VT library在综合后的gate netlist中的占比(以Synopsis的Design Compiler为例)

1. 在综合时使用Multi-VT library

在target_library中加入相关VT的library

譬如,原来只有HVT的target_library:

set target_library "hvt_wc.db"

现在要加入LVT library,改成下面这样既可:

set target_library "hvt_wc.db lvt_wc.db"

2. 限制LVT or SVT cell的占比

可以使用set_multi_vth_constraint来约束LVT/SVT cell使用的比例,不过从实际应用来看,效果一般。建议不加这个约束,让Design Compiler根据timing driver自主决定使用LVT/SVT的比例

set_multi_vth_constraint -lvth_percentage 10.0 -lvth_groups {lvt} -type soft/hard

-type soft/hard: default是soft,表示timing优先,Design Compiler在满足timing的情况下,尽量满足LVT占比要求;如果改成hard,则以LVT占比为优先,这样timing可能会受到影响

3. 查看各个VT library在综合后gate netlist中的占比

我们比较关心使用LVT library后,LVT cell在整个gate netlist中的占比,如果占比过大,功耗方面可能没法接受。

可以使用report_threshold_voltage_group来查看各个VT library在综合后gate netlist中的占比

在使用这个command之前,要先设置HVT/LVT library,让tool可以清晰的知道要检查和区分的cell的类型

set_attribute [get_libs hvt_wc] -type string default_threshold_voltage_group hvt

set_attribute [get_libs lvt_wc]  -type string default_threshold_voltage_group lvt

report_threshold_voltage_group -lvth_groups {hvt lvt}

相关文章

网友评论

      本文标题:Use Multi-VT library with Design

      本文链接:https://www.haomeiwen.com/subject/zhpjnttx.html