后端设计PG liberty的作用和增量式生成

news2025/2/22 8:58:36

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的有效连接,这个是物理实现的强需求,譬如:
在这里插入图片描述
对于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可以看作会被后面引用的两个变量名
    在这里插入图片描述 - cell scope 的PG pin的定义对应电压,
    在这里插入图片描述
  • pin scope 的 pin对应的PG 信息:这个用于工具判别信号所属的PG网络,从而对UPF flow里的isolation或者LS做合规检查,注意这里的output pin会有一个powerdown_function的描述,这个对于可关断domain的功耗检查有帮助
    在这里插入图片描述
    在这里插入图片描述
    所以,基本上只要完成上述三个scope:libery/cell/pin就可以将一个不带PG的LIB转换为带PG的LIB。所以,当遇到这样一个LIB的时候,笔者就简单开发了一个PY,完成了上述的功能,这个增量式生成就完成了,但是这个方法真的就是一个好方法吗?很遗憾,当看到S家提供的命令后,这个PY直接被丢进了垃圾箱。

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

在DC工具里边,S家提供了一个有好的命令,专门根治各种LIB缺失PG的问题。
在这里插入图片描述
命令的原理是这样:

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

【敲黑板划重点】

在这里插入图片描述
理解PG LIB对UPF的重要性显然是整个问题的关键点,对于如何实现PG LIB的增量式生成,归根结底只是一个技术方法而已。

参考资料

Synopsys Synthesis Tool Commands

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1159922.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

半导体精密划片机在行业中适合切割哪些材料?

在高端精密切割划片领域中,半导体材料需要根据其特性和用途进行选择。划片机适用于多种材料,包括硅片、石英、氧化铝、氧化铁、砷化镓、铌酸锂、蓝宝石和玻璃等。这些材料在半导体行业被广泛使用,包括在集成电路、半导体芯片、QFN、发光二极管…

【R统计】各式各样的插补法解决数据缺失的问题!

💂 个人信息:酷在前行👍 版权: 博文由【酷在前行】原创、需要转载请联系博主👀 如果博文对您有帮助,欢迎点赞、关注、收藏 订阅专栏🔖 本文收录于【R统计】,该专栏主要介绍R语言实现统计分析的…

创新方案|2023如何用5种新形式重塑疫后实体门店体验

在电商盛行的当下,线上购物已成为新零售的重要组成部分,实体零售业正处于两难境地。一方面,实体零售是绝对有必要的:美国约 85% 的销售额来自实体商店。 另一方面,尽管增长放缓,但电商收入占销售总额的比例…

【蓝桥杯 第十届省赛Java B组】真题训练(A - H)H待更新

目录 A、组队 - 看图一眼出答案 B、不同子串 - 字符串模拟 set去重 C、数列求值 - 模拟取余 D、数的分解 - 三重暴力 E、迷宫 - bfs 判断路径 F、特别数的和 - 弱智模拟 G、外卖店优先级 - map 暴力(90%通过率) H、人物相关性分析 - A、组队 -…

Ant Design Vue Table 表格内容高度自适应+固定表头踩坑

前言 对于非专业前端开发者来使用 Ant Design UI 组件来开发企业级后台管理系统来说是非常不错的选择,但这并不意味着我们能够用好这个框架,因为 UI 交互上和有许多细节上的问题对于非专业前端来说并不容易解决,最近在使用 Table 组件时就遇…

实战:基于TC3XX STM模块的时间片程序开发

1. 前言 STM模块,全称为系统定时器模块,可以看作是汽车ECU中的一个计时器。STM模块能够精确地测量和跟踪时间。 在ECU软件中,STM模块通常用于创建定期任务,比如每10毫秒执行一次的任务。这就像是一个闹钟,每隔10毫秒就会响一次,提醒ECU执行某个特定的任务。 这里的10m…

分享3个适合大学生使用的白板笔记软件,学习效率蹭蹭上涨!

现如今许多大学生不在使用纸和笔进行做笔记了,通通改成了各种笔记软件,如何选择一个好用的笔记软件,是当代大学生较为头疼的事,小编今天通过这篇文章,为你推荐3款宝藏级笔记软件,大家一定要收藏好&#xff…

18.自监督视觉`transformer`模型DINO

文章目录 自监督视觉`transformer`模型DINO总体介绍DINO中使用的SSL和KD方法multicrop strategy损失函数定义`teacher`输出的中心化与锐化模型总体结构及应用reference欢迎访问个人网络日志🌹🌹知行空间🌹🌹 自监督视觉transformer模型DINO 总体介绍 论文:1.Emerging …

变融启程 视界已破——“新主流·新未来”四川广播电视台战略分享会在成都举行

2023年11月1日下午,2024年度“新主流新未来”四川广播电视台战略分享会在成都举行。从三年前的“变融”开启融合、转型之路,到两年前以“进化”应对变化探索媒体融合之路,再到去年塑造“新视界”全屏聚合传播矩阵,四川广播电视台不…

MIT6.5830 Lab1-GoDB实验记录(四)

MIT6.5830 Lab1-GoDB实验记录(四) – WhiteNights Site 标签:Golang 读写缓冲区我是一点思路都没有,所以得单独开篇文章记录。 实验补充 了解buffer、序列化与反序列化 这里的序列化,简单来说类似于把一个很长的字符…

C/C++ sizeof

介绍 sizeof 是一个关键字、操作符,也是一个编译时运算符 作用:返回一个对象或者类型所占的内存字节数 使用方法 sizeof(type_name);//sizeof(类型) sizeof(object);//sizeof(对象) 注意: sizeof 操作符不能用于函数类型,不…

爆肝将近 10 万字讲解 Node.Js 详细教程

1. Node.Js 环境概述 Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境,用于在服务器端运行 JavaScript。它使用了一个事件驱动、非阻塞式I/O的模型,使得其轻量且高效。Node.js 的包管理器 npm 是全球最大的开源库生态系统。Node.js 能够响应大…

Java架构师知识产权与标准化

目录 1 导学2 知识产权概述3 保护期限4 知识产权人的确定4 侵权判断5 标准划分想学习架构师构建流程请跳转:Java架构师系统架构设计 1 导学 2 知识产权概述 知识产权是指公民、法人、非法人单位对自己的创造性智力成果和其他科技成果依法享有的民事权。是智力成果的创造人依…

AI“走深向实”,蚂蚁蚁盾在云栖大会发布实体产业「知识交互建模引擎」

数字化起步晚、数据分散稀疏、专业壁垒高、行业知识依赖「老师傅」,是很多传统产业智能化发展面临的难题。2023年云栖大会上,蚂蚁集团安全科技品牌蚁盾发布“知识交互建模引擎”,将实体产业知识与AI模型有机结合,助力企业最快10分…

二进制基础

最近开始入坑系统安全大坑,调转方向开始了解pwn,那就要补一些那少得可怜的底层基础啦 先学几个单词: exploit:用于攻击的脚本与方案payload:攻击载荷,是目标进程被劫持控制流的数据(精心构造的…

Python画图之HelloKitty

Python-turtle画出HelloKitty(有趣小游戏) 一、效果图二、安装库1.常用镜像源2.库下载 三、Python代码 一、效果图 二、安装库 1.常用镜像源 1. 豆瓣http://pypi.douban.com/simple/ 2. 清华大学:https://pypi.tuna.tsinghua.edu.cn/simple…

智能视频监控平台EasyCVR出现偶发通道在线,但是无法播放的情况要怎么解决?

视频云存储/安防监控EasyCVR视频汇聚平台基于云边端智能协同,支持海量视频的轻量化接入与汇聚、转码与处理、全网智能分发、视频集中存储等。流媒体视频平台EasyCVR拓展性强,视频能力丰富,具体可实现视频监控直播、视频轮播、视频录像、云存储…

Scrum of Scrums大规模敏捷管理流程

​​​​​​​Leangoo领歌​​​​​​​是一款永久免费的专业的敏捷开发管理工具,提供端到端敏捷研发管理解决方案,涵盖敏捷需求管理、任务协同、进展跟踪、统计度量等。 Leangoo领歌上手快、实施成本低,可帮助企业快速落地敏捷&#xff0c…

Linux学习之进程二

目录 进程状态 R (running)运行状态与s休眠状态: disk sleep(深度睡眠状态) T (stopped)(暂停状态) t----tracing stop(追踪状态) X死亡状态(dead) Z(zombie)-僵尸进程 孤儿进程 进程优…

Android问题

这里面要加入 ,加入前是点击待君登录直接跳回手机主界面了 加入上述代码即可 Android之Inflate() Inflate()作用就是将xml定义的一个布局找出来,但仅仅是找出来而且隐藏的,没有找到的同时并显示功能。 android上还有一个与Inflate()类似功能的…