0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

后端设计PG liberty增量式生成实现方案

sanyue7758 来源:处芯积律 2023-11-03 15:21 次阅读

Liberty(俗称LIB和DB),是后端设计中重要的库逻辑描述文件,这里边包含了除过physical(当然也有一点点涉及)以外所有的信息,对整个后端设计实现有非常大的作用。借此机会,一起LIB做一个简单的理解和使用,闲话少叙,ICer Go!

LIB的简单描述

liberty是S家创立并定义的文件格式,主要用于描述各种IP,std-cell等类别的逻辑信息,包括到不限于下列要素

area

cell delay timing: delay

transtion timing

noise

pin cap/trantion threshold

power: leakage, internal

PG info

可以看到,这里的要素很多,随着工艺和timing model的演进,关于时序分析方面的扩展和追加信息会越来越多,这里不是讨论的重点,这里不再赘述。

UPF flow的需求

当下的后端实现大部分都是UPF flow(PS:就算设计中只有一个pwer domain,也可以应用UPF flow),UPF flow 从RTL设计开始,到综合mapping,再到后端实现都需要统一规划。从RTL到GDS的每一步设计都需要使用“外挂”UPF的方式对设计进行干预和指引。通常而言,需要有以下的注意事项

设计:实例化不能带有PG信息

仿真:带入UPF,确保上下电的功能可以被准确捕捉和验证

综合:带入UPF和支持PG的LIB,完成低功耗设计实现和基于UPF的PG 连接

自动布局布线:带入UPF和支持PG的LIB和LEF,完成低功耗物理实现。包括PG连接和布通

后仿真:带入物理实现后的数据和UPF,关注power-domain的开关和低功耗器件(LS,isolaion,retention-cell)的功能正确性

通常而言,LEF都是带PG信息的,否则,物理实现的时候,无法完成cell PG和power rail/mesh的有效连接,这个是物理实现的强需求,譬如:

ca33bb4a-7992-11ee-939d-92fbcf53809c.png

对于liberty LIB,PG信息并非必选项,特别是在用户不选择UPF 设计流程的时候,或者只是要单一power domain的UPF设计的时候,不带PG的LIB确实不会引起问题,所以对于一个比较老的工艺可能确实没有提供带PG信息的LIB。但当用户采用了多power-doamin UPF flow是,原有的liberty就不能满足设计需求了。

但是,这个问题确实不是硬伤(hard-problem):因为GDS都是支持PG的,LIB只是对于GDS的抽取时,没有带入而已,所以从TO角度而言,这个确实是修正的,用户只需要在原有的LIB里边添加PG信息,就可以让现在的设计完美支持UPF flow,这样的方案,对于IP vendor不能很快的响应提供了非常不错的解决之道

LIB中PG 信息的存在方式

既然LIB里边对于设计的逻辑描述已经很清晰了,那么只要了解了PG在LIB里的存在方式,完全可以将一个不带PG的LIB,转换成一个带PG的LIB。通常而言PG会对下列类目产生影响:

liberay scope 的PG 电压定义:通常使用voltage_map 声明,定义的电压值,这里VDD和VSS可以看作会被后面引用的两个变量名

ca8e8412-7992-11ee-939d-92fbcf53809c.png

- cell scope 的PG pin的定义对应电压,

ca984e0c-7992-11ee-939d-92fbcf53809c.png

pin scope 的 pin对应的PG 信息:这个用于工具判别信号所属的PG网络,从而对UPF flow里的isolation或者LS做合规检查,注意这里的output pin会有一个powerdown_function的描述,这个对于可关断domain的功耗检查有帮助

caa36e40-7992-11ee-939d-92fbcf53809c.png

caa6fbf0-7992-11ee-939d-92fbcf53809c.png

所以,基本上只要完成上述三个scope:libery/cell/pin就可以将一个不带PG的LIB转换为带PG的LIB。所以,当遇到这样一个LIB的时候,笔者就简单开发了一个PY,完成了上述的功能,这个增量式生成就完成了,但是这个方法真的就是一个好方法吗?很遗憾,当看到S家提供的命令后,这个PY直接被丢进了垃圾箱。

巧用命令实现PG LIB的增量式生成

DC工具里边,S家提供了一个有好的命令,专门根治各种LIB缺失PG的问题。

cabfde9a-7992-11ee-939d-92fbcf53809c.png

命令的原理是这样:

cacdcc94-7992-11ee-939d-92fbcf53809c.png

是不是很简单,通过LEF里边的PG,反标到LIB里边而已。简单理解:PG 信息在LIB不是必选项,但一定是加分项。

编辑:黄飞

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 命令
    +关注

    关注

    5

    文章

    684

    浏览量

    22027
  • 时序分析
    +关注

    关注

    2

    文章

    127

    浏览量

    22566
  • UPF
    UPF
    +关注

    关注

    0

    文章

    50

    浏览量

    13515
  • GDS
    GDS
    +关注

    关注

    0

    文章

    28

    浏览量

    6255

原文标题:后端设计PG liberty的作用和增量式生成

文章出处:【微信号:处芯积律,微信公众号:处芯积律】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    巧用命令实现PG LIB的增量生成

    Liberty(俗称LIB和DB),是后端设计中重要的库逻辑描述文件,这里边包含了除过physical(当然也有一点点涉及)以外所有的信息,对整个后端设计实现有非常大的作用。
    的头像 发表于 11-03 12:56 867次阅读
    巧用命令<b class='flag-5'>实现</b><b class='flag-5'>PG</b> LIB的<b class='flag-5'>增量</b><b class='flag-5'>式</b><b class='flag-5'>生成</b>

    浅析位置PID与增量PID算法

    位置PID与增量PID算法通常依据控制器输出与执行机构的对应关系,将基本数字PID算法分为位置PID和增量
    发表于 01-15 18:35

    在STM32如何去实现增量PID算法

    增量 PID 算法的 STM32 实现宋人梁2018-07-20 22:17:2935366收藏369分类专栏:32文章标签:PID虽然PID不是什么牛逼的东西,但是真心希望以后刚刚接触这块的人能
    发表于 09-13 06:54

    如何实现增量PID

    虽然PID不是什么牛逼的东西,但是真心希望以后刚刚接触这块的人能尽快进入状态。特地分享一些自己如何实现的过程。首先说说增量PID的公式,这个关系到MCU算法公式的书写,实际上两个公式的写法是同一个
    发表于 09-13 08:19

    什么是增量PID

    目录:一、什么是增量PID二、硬件部分三、软件部
    发表于 09-13 09:05

    增量PID的stm32实现及其整定过程 

    源:增量PID的stm32实现,整定过程  首先说说增量PID的公式,这个关系到MCU算法公式的书写,实际上两个公式的写法是同一个公式变
    发表于 09-13 07:35

    增量编码器如何使用外部中断实现测速?

    增量编码器如何使用外部中断实现测速?
    发表于 11-16 08:25

    如何去实现基于stm32的PID算法增量程序呢

    PID算法可分为哪几类?PID算法的参数有哪些呢?如何去实现基于stm32的PID算法增量程序呢?
    发表于 12-02 07:48

    位置PID与增量PID简介

    位置PID公式增量PID公式位置增量区别两者参数调节好之后,可以达到相同的效果
    发表于 01-20 07:40

    请问如何调节增量pid?

    增量pid中的kpkikd对应位置的中的pi d 的值吗,调节增量pid遇到的问题,请问如何调节
    发表于 11-09 07:27

    基于增量编码器的去毛刺算法实现

    分析机械增量型编码器的毛刺产生机理,结合编码器有效旋转波形和几种毛刺波形的特点,提出一种新的去毛刺算法,在编码器的相位超前输出端的下降沿,判断一次相位滞后端的输
    发表于 09-07 14:59 80次下载
    基于<b class='flag-5'>增量</b><b class='flag-5'>式</b>编码器的去毛刺算法<b class='flag-5'>实现</b>

    如何使用免疫粒子群优化算法实现增量的PID控制

    基于粒子群优化算法的收敛速度快简单易实现的特点和免疫算法的免疫记忆、免疫自我调节和多峰值收敛的特点,本文设计出免疫粒子群算法,并将其应用于PID 控制器中。仿真结果表明,免疫粒子群优化算法适用于增量
    发表于 11-01 15:41 7次下载
    如何使用免疫粒子群优化算法<b class='flag-5'>实现</b><b class='flag-5'>增量</b><b class='flag-5'>式</b>的PID控制

    使用单片机和Arduino实现增量PID位置PID算法和PID库免费下载

    本文档的主要内容详细介绍的是使用单片机和Arduino实现增量PID位置PID算法和PID库免费下载。
    发表于 05-28 16:30 69次下载
    使用单片机和Arduino<b class='flag-5'>实现</b><b class='flag-5'>增量</b><b class='flag-5'>式</b>PID位置<b class='flag-5'>式</b>PID算法和PID库免费下载

    增量PID控制算法程序设计方案下载

    增量PID控制算法程序设计方案下载
    发表于 03-29 09:48 7次下载
    <b class='flag-5'>增量</b><b class='flag-5'>式</b>PID控制算法程序设计<b class='flag-5'>方案</b>下载

    增量拉线编码器:精准测量与位移控制的优选解决方案

    在自动化与精密制造领域,精确测量与控制是提升生产效率与产品质量的基石。随着技术的不断进步,增量拉线编码器作为一种高效、可靠的位移测量工具,正逐渐成为众多工业应用中的优选解决方案。本文将深入探讨
    的头像 发表于 12-02 08:47 218次阅读
    <b class='flag-5'>增量</b><b class='flag-5'>式</b>拉线编码器:精准测量与位移控制的优选解决<b class='flag-5'>方案</b>