数模混合SoC芯片中LEF2Milkyway的golden flow

在数模混合芯片中的项目中,特别是数字模块很少甚至只有一个简单的数字控制逻辑时,我们要做数字模块的后端实现时,通常模拟那边会问我们实现需要他们提供哪些数据。

通常来说,我们可以让模拟设计提供数字模块的GDS或LEF文件即可。
在这里插入图片描述

因为我们的这个数字模块是芯片中的一个子模块,它跟芯片中的很多模拟模块和IO接口是有交互的。所以这个数字模块的IO port(IO Pin)是不能随意摆放的,而是必须根据顶层提供的形状和出pin信息来做实现。

如下图所示为某个以模拟为主的芯片,其中数字模块的出pin分成五大块。其实这个数字模块的切分和摆放pin是不是就是我们数字后端hierarchical flow中所讲的block partition和pin assignment。只不过我们PR工具做partition后是写出子模块block的floorplan def,而模拟不太会写这个文件,而是提供通用的GDS或LEF文件。

那有了模拟设计提供的GDS文件后,我们还是不能直接提供给PR工具来使用。

如果模拟那边提供的是GDS,我们可以通过GDS转LEF的golden脚本来生成对应的LEF文件。

在这里插入图片描述

那是不是有lef后,我们就可以开始做子模块block的后端实现了呢?

显然不可以。如果这个子模块block是我们数字顶层的一个子模块,那么我们直接读入它的LEF就可以实现调用,注意是调用。

而我们今天这个案例是要去做这个数字模块的后端实现,所以需要有这个数字模块的boundary和io pin信息。而这个信息的呈现形式不可能是LEF,因为PR工具initial boundary不支持读入LEF文件。

所以,我们还需要进一步把LEF文件转换成Milkyway数据格式,最后再通过Milkyway database来输出对应的floorplan def或io file。

下面分享LEF转Milkyway的具体步骤。

1、启动Milkyway
直接终端输入:Milkyway & (后台运行)

2、创建库
Library——>Create…
Library 中填入想要新建的库的名字,
Technology File Name 里输入工艺文件tf

值得注意的是 Set Case Sensitive 要打勾,其他保持不变,点击 OK 即可创建 Milkyway 库。

3、打开库
Library -----> Open…
点 Browse,选中 XXX(前一步新建的库的名字),点 Hide;
输入 Library Path(一般在当前目录输入.就可以) ;
点击 OK 即可。

4、导入 LEF
Cell Library-----> LEF In…
Library Name:点 Browse,选中之前新建的 Library;
Tech LEF File:点 Browse,选中工艺 tech lef 文件;
Cell LEF Files:点 Browse,选中 cell lef 文件夹下需要转的 cell 的 lef 文件,可以选多个。注意, 如果你第二次操作,上一次选中的并不会清除,所以你需要先清空;
Layer Mapping:选中.map 文件;
此时点击 OK 就会生成相应的 FRAM view。

有了Milkyway数据后,我们利用ICC打开它,注意打开FRAM View的cell。然后就可以在ICC中通过write_def写出floorplan文件了。

对应上面操作的脚本如下所示,直接照抄即可实现。

set tech_lef_file “”
set tech_file “”
set lib_name “”
set lef_file “”

cmCreateLib
setFormField “Create Library” “Technology File Name” $tech_file
setFormField “Create Library” “Library Name” $lib_name
setFormField “Create Library” “Set Case Sensitive” “1”
formOK “Create Library”

geOpenLib
setFormField “Open Library” “Library Name” $lib_name
formOK “Open Library”

read_lef
-lib_name $lib_name
-tech_lef_files $tech_lef_file
-cell_lef_files $lef_file
-advanced_lib_prep_mode
-cell_version overwrite

auExtractBlockagePinVia
formDefault “Extract Blockage”
setFormField “Extract Blockage” “Library Name” “$lib_name”
setFormField “Extract Blockage” “Routing Blockage Output Layer” “metBlk”
setFormField “Extract Blockage” “Metal1 Blockage As Thin” “1”
setFormField “Extract Blockage” “Metal2 Blockage As Thin” “1”
setFormField “Extract Blockage” “Metal3 Blockage As Thin” “1”
formButton “Extract Blockage” “extractPin”
setFormField “Extract Blockage” “extract connectivity” “1”
formButton “Extract Blockage” “extractVia”
setFormField “Extract Blockage” “Extract Via Region Up To Metal” “3”
formOK “Extract Blockage”

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

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

相关文章

QT中的信号与槽的讲解

文章目录 信号及其特点槽及其特点代码演示标准信号与标准槽函数方式一方式二 自定义信号和槽connect()函数信号和槽函数存在函数重载的情况下Qt的信号槽机制注意事项 信号及其特点 信号:是一种特殊的函数,又称信号函数,俗称信号,…

了解CPU架构

uname -m # Linux查看CPU硬件架构 CPU 的指令集架构(Instruction Set Architecture)(ISA) CPU 的指令集架构,定义了 CPU 如何解析二进制代码中的 1 和 0。 ISA 主要根据 内存总线的宽度 分为至少两个子集。内存总线的宽度指的是 CPU 和 RAM …

java常见面试题:请解释一下Java中的常用安全框架,如Spring Security、Shiro等。

下面我将详细介绍Java中的两个常用安全框架:Spring Security和Shiro。 1. Spring Security Spring Security是一个强大的安全框架,它为基于Spring的应用程序提供了全面的安全解决方案。以下是Spring Security的一些主要特点: 主要特点&…

《妙趣横生的算法》(C语言实现)-第10章算法设计与数据结构面试题精粹

【10-1】输入一个字符串并将它输出&#xff0c;以ctrlz组合键表示输入完毕&#xff0c;要求将输入的字符串中多于1个的连续空格符合并为1个。 //10-1 2023年12月30日17点11分-17点18分 # include <stdio.h> int main() {char c;c getchar();//scanf("%c", &a…

【数据库设计和SQL基础语法】--用户权限管理--数据备份和恢复策略

一、引言 数据备份和恢复是数据库管理中至关重要的任务&#xff0c;对于确保数据安全性和业务连续性具有重大的意义。以下是一些关键的重要性方面&#xff1a; 防止数据丢失&#xff1a; 数据备份是防止因硬件故障、人为错误、恶意攻击或其他意外事件导致数据丢失的主要手段。…

<软考高项备考>《论文专题 - 37 采购管理(1) 》

1 成本管理基础 1.1 写作要点 过程定义、作用写作要点、思路规划采购管理规划采购管理是记录项目采购决策、明确采购方法&#xff0c;及识别潜在卖方的过程。作用:确定是否从项目外部获取货物和服务&#xff0c;如果是&#xff0c;则还要确定将在什么时间、以什么方式获取什么…

16. Mysql 自定义函数

文章目录 概述常见操作创建自定义函数自定义函数局部变量定义和赋值查看自定义函数删除自定义函数使用自定义函数 扩展-流程控制精选示例总结参考资料 概述 自定义函数&#xff0c;顾名思义就是是MySQL中用户自定义的函数&#xff0c;用于执行特定的操作或计算&#xff0c;并返…

项目实战--Message Queue

一. 概念篇 我们在学习多线程的时候,学习过生产者-消费者模型,为了实现解耦合和削峰填谷,引入了阻塞队列. 在实际的后端开发中,跨主机之间使用生产者消费者模型,也是非常普遍的需求,因此,阻塞队列会被封装成一个独立的服务器程序,实现更丰富的功能.这样的程序称为"消息队列…

GTK4 环境配置

1 安装gtk4包裹: # sudo yum install gtk4 gtk4-devel gtk4-devel-docs devhelp glib2 glib2-devel glib2-doc 2 安装 glade 4 git clone https://github.com/ag-python/cambalache.git 记住 把软件目录 复制到 一个你不会移动删除的地方(千万别删除这个软件文件夹 因为运行…

面试要点,算法,数据结构等练习大全

有趣的算法&#xff0c;面试常常碰到&#xff0c;多种语言实现~ 1 从数组中找出两个数字使得他们的和是给定的数字 tags: #hash 使用一个散列&#xff0c;存储数字和他对应的索引。然后遍历数组&#xff0c;如果另一半在散列当中&#xff0c;那么返回 这两个数的索引&#x…

Grafana监控数据可视化

Grafana 是一个可视化面板&#xff0c;有着非常漂亮的图表和布局展示&#xff0c;功能齐全的度量仪表盘和图形编辑器&#xff0c;支持 Graphite、zabbix、InfluxDB、Prometheus、OpenTSDB、Elasticsearch 等作为数据源&#xff0c;比 Prometheus 自带的图表展示功能强大太多&am…

LeetCode第69题 - x 的平方根

题目 解答 方案一 class Solution {public int mySqrt(int x) {if (x 0) {return 0;}if (x < 4) {return 1;}for (int i 2, length Math.min(46342, x / 2 2); i < length; i) {int value i * i;if (value x) {return i;}if (value > x || value < 0) {re…

MySQL中常用的数据类型

整型 int 有符号范围: -2147483648 ~ 2147483647 int unsigned 无符号范围: 0 ~ 4294967295 int(5) zerofill 仅用于显示&#xff0c;当不满足5位时&#xff0c;按照左边补0&#xff0c;例如: 00002满足时&#xff0c;正常显示 tinyint[(m)] [unsigned] [zerofill] 有符号&a…

运行时错误‘53’文件未找到:MathPage.WLL,安装MathType后Word不能复制粘贴问题的解决

两步解决&#xff1a; 1. 打开Word-->文件-->选项-->信任中心-->信任中心设置-->受信任位置&#xff0c;解决宏问题 添加如下受信任位置&#xff0c; 我的路径&#xff1a;C:\Program Files\Microsoft Office\root\Office16\STARTUP\ 2. 找到MathType下的MathT…

Unity关于动画混合树(Blend Tree)的使用

在动画与动画的切换过程中&#xff0c;常因为两个动画之间的差距过大&#xff0c;而显得动画的切换很不自然。 这时候就需要动画混合树Blend Tree这个功能。使用混合树可以将多个动画混合在一起&#xff0c;例如在处理角色的移动中&#xff0c;走动画与跑动画切换的时候&#x…

数据结构算法-穷举搜索算法

引言 穷举搜索是一种基本的搜索策略&#xff0c;其基本思想是逐一检查所有可能的解&#xff0c;直到找到一个有效的解或确定不存在解为止。在现实生活中&#xff0c;穷举搜索的应用非常广泛&#xff0c;以下是一些例子&#xff1a; 密码破解&#xff1a;在密码学中&#xff0…

vue3引入百度地图(两种方法)

首先要有百度开放平台并进行注册&#xff0c;不懂看这里 ### 第一种方法 地图引入流程 安装vue-baidu-map-3x插件 参考官网地址&#xff1a;快速上手 | vue-baidu-map-3x npm install vue-baidu-map-3x --save 在public/index.html文件中引入 <!-- 百度地图 --> &…

pytorch03:transforms常见数据增强操作

目录 一、数据增强二、transforms--Crop裁剪2.1 transforms.CenterCrop2.2 transforms.RandomCrop2.3 RandomResizedCrop2.4 FiveCrop和TenCrop 三、transforms—Flip翻转、旋转3.1RandomHorizontalFlip和RandomVerticalFlip3.2 RandomRotation 四、transforms —图像变换4.1 t…

HarmonyOS4.0系统性深入开发09卡片使用动效能力

卡片使用动效能力 ArkTS卡片开放了使用动画效果的能力&#xff0c;支持显式动画、属性动画、组件内转场能力。需要注意的是&#xff0c;ArkTS卡片使用动画效果时具有以下限制&#xff1a; 名称参数说明限制描述duration动画播放时长限制最长的动效播放时长为1秒&#xff0c;当…

【华为数据之道学习笔记】8-3异常数据监控

质量控制是通过监控质量形成过程&#xff0c;消除全过程中引起不合格或不满意效果的因素&#xff0c;以达到质量要求而采用的各种质量作业技术和活动。要保证最终交付质量&#xff0c;必须对过程进行质量控制&#xff0c;通常是在过程中设置关键质量控制点。例如&#xff0c;可…