数模混合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的信号槽机制注意事项 信号及其特点 信号:是一种特殊的函数,又称信号函数,俗称信号,…

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

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

项目实战--Message Queue

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

Grafana监控数据可视化

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

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

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

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

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

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;当…

SpringMVC源码解析——DispatcherServlet的逻辑处理

DispatcherServlet类相关的结构图如下&#xff1a; 其中jakarta.servlet.http.HttpServlet的父类是jakarta.servlet.GenericServlet&#xff0c;实现接口jakarta.servlet.Servlet。我们先看一下jakarta.servlet.Servlet接口的源码如下&#xff1a; /*** 定义所有servlet必须实…

【网络安全】网络隔离设备

一、网络和终端隔离产品 网络和终端隔离产品分为终端隔离产品和网络隔离产品两大类。终端隔离产品一般指隔离卡或者隔离计算机。网络隔离产品根据产品形态和功能上的不同&#xff0c;该类产品可以分为协议转换产品、网闸和网络单向导入产品三种。 图1为终端隔离产品的一个典型…

dash 中的模式匹配回调函数Pattern-Matching Callbacks 8

模式匹配 模式匹配回调选择器 MATCH、ALL 和 ALLSMALLER 允许您编写可以响应或更新任意或动态数量组件的回调函数。 此示例呈现任意数量的 dcc. Dropdown 元素&#xff0c;并且只要任何 dcc. Dropdown 元素发生更改&#xff0c;就会触发回调。尝试添加几个下拉菜单并选择它们的…

Grafana增加仪表盘

1.Grafana介绍 grafana 是一款采用Go语言编写的开源应用&#xff0c;主要用于大规模指标数据的可视化展现&#xff0c;是网络架构和应用分析中最流行的时序数据展示工具&#xff0c;目前已经支持绝大部分常用的时序数据库。 Grafana下载地址&#xff1a;https://grafana.com/g…

burpsuite的安装与介绍

安装(挑一个你喜欢的版本安装就行) 编程环境安装指南:Java、Python 和 Burp Suite抓包工具_burpsuite和java-CSDN博客 简介 Burp Suite是一个用于攻击Web应用程序的集成平台。它集成了多种渗透测试组件,能够帮助我们更好地完成对Web应用的渗透测试和攻击,无论是自动化还…

基于CNN神经网络的手写字符识别实验报告

作业要求 具体实验内容根据实际情况自拟&#xff0c;可以是传统的BP神经网络&#xff0c;Hopfield神经网络&#xff0c;也可以是深度学习相关内容。 数据集自选&#xff0c;可以是自建数据集&#xff0c;或MNIST&#xff0c;CIFAR10等公开数据集。 实验报告内容包括但不限于&am…

[C#]opencvsharp进行图像拼接普通拼接stitch算法拼接

介绍&#xff1a; opencvsharp进行图像拼一般有2种方式&#xff1a;一种是传统方法将2个图片上下或者左右拼接&#xff0c;还有一个方法就是融合拼接&#xff0c;stitch拼接就是一种非常好的算法。opencv里面已经有stitch拼接算法因此我们很容易进行拼接。 效果&#xff1a; …

PayPal账户被封是因为什么?如何解决?

Paypal作为跨境出海玩家最常用的付款工具之一&#xff0c;同时也是最容易出现冻结封号现象。保障PP账号安全非常重要&#xff0c;只有支付渠道安全&#xff0c;才不会“白费力气”&#xff0c;那么最重要的就是要了解它的封号原因以做好规避。 一、Paypal账号被封原因 1、账号…

FreeRTOS列表与列表项相关知识总结以及列表项的插入与删除实战

1.列表与列表项概念及结构体介绍 1.1列表项简介 列表相当于链表&#xff0c;列表项相当于节点&#xff0c;FreeRTOS 中的列表是一个双向环形链表 1.2 列表、列表项、迷你列表项结构体 1&#xff09;列表结构体 typedef struct xLIST { listFIRST_LIST_INTEGRITY_CHECK_VAL…

List常见方法和遍历操作

List集合的特点 有序&#xff1a; 存和取的元素顺序一致有索引&#xff1a;可以通过索引操作元素可重复&#xff1a;存储的元素可以重复 List集合的特有方法 Collection的方法List都继承了List集合因为有索引&#xff0c;所以有了很多操作索引的方法 ublic static void main…

挑战 ChatGPT 和 Google Bard 的防御

到目前为止&#xff0c;科学家已经创建了基于人工智能的聊天机器人&#xff0c;可以帮助内容生成。我们还看到人工智能被用来创建像 WormGPT 这样的恶意软件&#xff0c;尽管地下社区对此并不满意。但现在正在创建聊天机器人&#xff0c;可以使用生成人工智能通过即时注入活动来…