数字后端零基础入门系列 | Innovus零基础LAB学习Day2

今天开始更新数字IC后端设计实现中Innovus零基础Lab学习后续内容。

数字后端零基础入门系列 | Innovus零基础LAB学习Day1

####LAB5-2

这个章节的目标也很明确——学习掌握工具的一些常用快捷键。

这里只需要掌握以下几个快捷键即可。其他小编我也不会,也用不着。

调出尺子ruler。按下k键后鼠标左键开始画尺子。

清除自己画的尺子,按下shift+k即可。(这里需要注意跳出画尺子模式,需要按下快捷键A)

缩小按下shift +z即可。

复制某个object ,按下快捷键 c 即可。

查看某个object的属性,按下q (query的意思) 即可。

Innovus GUI查看block属性

数字IC后端设计如何从零基础快速入门?(内附数字IC后端学习视频)

挪动macro,按下shift+r 键进入挪macro的模式,然后鼠标左键挪动我们需要的位置即可。这个在人工做floorplan时都要用到。

在这里插入图片描述

有需要练习数字IC后端PR Floorplan Lab的同学,可以找小编索要下面这套lab data和lab实验手册。都是免费提供的。

####END OF LAB5-2

LAB5-3

这个章节的目的很简单——当有个菜单你需要经常使用它时,可以通过tear off某个菜单,将这个菜单独立显示在我们的显示窗口上(点击其他地方该菜单仍然在当前视图显示)。

方法如下图所示,点击任何一个菜单下方的虚线即可。
在这里插入图片描述
在这里插入图片描述

###END OF LAB5-3

LAB5-4

这个章节是介绍清除floorplan。当你想重新定义一个模块或者芯片的大小尺寸时,可以使用清除floorplan。

GUI操作步骤如下:

在这里插入图片描述

点击Clear Floorplan后,弹出如下对话框,点击OK即可。

在这里插入图片描述

当我们要改芯片尺寸大小时,我的建议是重新打开init design后的database,然后重新initial floorplan就可以了。这个功能大家不一定要用。

###END OF LAB5-4

###LAB5-5

本章节主要学习定义芯片(模块)尺寸大小。

GUI界面操作: Floorplan----> Specify Floorplan

在这里插入图片描述

芯片或模块大小有两种方式来指定。本lab是根据Aspect Ratio,即给定利用率,工具自己来算出H和W(高度和宽度)。因此这里默认是矩形形状,H*W即为面积。

还有一种方式是通过Dimension,即直接指定H和W大小。

在这里插入图片描述

另外,对于本lab是带IO的设计,所以我们还需要指定Core2IO的间距。如果是模块级的,我们就需要指定Core2Die的间距。

在这里插入图片描述

点击OK后,layout显示如下图所示。IO和CORE之间就有了100um的距离。

在这里插入图片描述

###END OF LAB5-5

###LAB5-6

这个章节是介绍如何自定义菜单 ,建议初学者直接跳过,基本上用不到。如果想定制,可以等后续时间多了再研究。

###END OF LAB5-6

###LAB5-7

这个章节介绍设计导入后的基本检查,主要检查设计参考库以及netlist本身的问题。

本节就介绍一个命令——checkDesign -netlist的使用及其意义。

这个命令主要检查以下几个要点:

在这里插入图片描述

总而言之,就是检查设计(netlist)是否导入成功,物理库,比如lef是否正确,是否有缺失,时序库library (lib)是否有缺失等等。

1)物理库缺,比如某个macro或者标准单元的lef缺了。那后面的所有结果都是错的。

2)lib库缺,就会出现cell的unresolved,即无法link成功,这样timing都是不准的,相关的timing大概率都不会做优化。

3)电源和地的连接是否正确,主要是derive pg是否正确。

4)tie cell的定义是否正确等。

我们这个lab执行checkDesign -netlist后结果如下:

在这里插入图片描述

从结果上我们可以看到当前设计有192条 output floating net。当然设计中是允许存在output floating的。

设计中有3条high fanout net,分别是pllclk,ram_128X16A和rom512X16A。

设计中有4种cell有dont use 属性。

在我们的work/checkDesign/目录下会生成一个叫DTMF_CHIP.main.htm.ascii的文件,这里面会有checkDesign的详细信息。比如三条High fanout net分别为macro的时钟端clk和scan_enI。

在这里插入图片描述

数字后端对于命令的掌握都是需要通过项目实战慢慢积累起来的。而命令的学习掌握都是通过man和help来获取命令的使用方法以及各种选项。

比如想要知道checkDesign的相关解释以及用法,可以通过下面两种方式来获取。

man checkDesign

help checkDesign (或checkDesign -help)

在这里插入图片描述

我们还可以通过下面的命令来检查设计导入过程是否有缺物理库和时序库信息的情况,即LEF和LIB文件是否有缺失的情况。

checkDesign -physicalLibrary -timingLibrary

###END OF LAB5-7

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

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

相关文章

MATLAB电车(宝马 i3)卸载电池再利用电气模型分析

🎯要点 特性测试评估卸载电池性能以及不同温度下电池容量和电阻。使用两种电气模型评估和模拟卸载电池可利用性能。从宝马 i3模块中提取三星三元锂方形电池作为评估电池:容量测量、电阻测量,对比新电池性能。使用的等效电路模型以及用于校准…

文心一言 VS 讯飞星火 VS chatgpt (373)-- 算法导论24.4 5题

五、请稍微修改 Bellman-Ford 算法,使其能够在 〇(nm) 时间内解决由 n 个未知变量和 m 个约束条件所构成的差分约束系统问题。如果要写代码,请用go语言。 文心一言: Bellman-Ford 算法本身就是一个用于解决差分约束系统问题的经典算法&…

【途牛旅游网-注册/登录安全分析报告】

前言 由于网站注册入口容易被黑客攻击,存在如下安全问题: 暴力破解密码,造成用户信息泄露短信盗刷的安全问题,影响业务及导致用户投诉带来经济损失,尤其是后付费客户,风险巨大,造成亏损无底洞…

工作日志:vue3各种警告

1、遇见报错,但也没啥影响,不知怎么回事。 可是我没写过这东西啊。 2、一个警告。 它表示在渲染过程中尝试访问组件实例上不存在的属性linkTags。 解决办法:在该属性前,加个v-if判断。 3、 意味着在模板渲染过程中尝试访问了…

LeetCode102. 二叉树的层序遍历(2024秋季每日一题 43)

给你二叉树的根节点 root ,返回其节点值的 层序遍历 。 (即逐层地,从左到右访问所有节点)。 示例 1: 输入:root [3,9,20,null,null,15,7] 输出:[[3],[9,20],[15,7]] 示例 2: 输入…

数据结构 - 队列

队列也是一种操作受限的线性数据结构,与栈很相似。 01定义 栈的操作受限表现为只允许在队列的一端进行元素插入操作,在队列的另一端只允许删除操作。这一特性可以总结为先进先出(First In First Out,简称FIFO)。这意味…

【资料集】项目全周期过程管理资料、各类软件建设方案、源码梳理清单(全原件)

该资源库深度覆盖开发、运维、实施等核心流程,全面囊括项目从立项至结项的各类必需文档,如验收辅助材料、资质审核流程及投标策略方案等,确保项目生命周期的每个阶段都能找到相应的支持与依据。此外,资源库精心整理了研发流程细节…

Docker 容器 数据卷 使用

目录 常用 命令 什么是数据卷以及特点 如何挂载数据卷 数据卷容器 数据覆盖问题 修改已经建立的数据卷关系 博主wx:yuanlai45_csdn 博主qq:2777137742 想要 深入学习 5GC IMS 等通信知识(加入 51学通信),或者想要 cpp 方向修改简历&…

Nuxt.js 应用中的 build:done 事件钩子详解

title: Nuxt.js 应用中的 build:done 事件钩子详解 date: 2024/10/21 updated: 2024/10/21 author: cmdragon excerpt: build:done 是 Nuxt.js 的一个生命周期钩子,它在 Nuxt 应用的打包构建器完成运行后被调用。这个钩子为开发者提供了一个在构建过程结束后执行特定逻辑的…

Java基于SpringBoot微信小程序的跳蚤市场系统设计与实现(lw+数据库+讲解等)

项目运行截图 技术框架 后端采用SpringBoot框架 Spring Boot 是一个用于快速开发基于 Spring 框架的应用程序的开源框架。它采用约定大于配置的理念,提供了一套默认的配置,让开发者可以更专注于业务逻辑而不是配置文件。Spring Boot 通过自动化配置和约…

数据分析和可视化python库orange简单使用方法

Orange 是一个基于 Python 的数据挖掘和机器学习库,它提供了一系列可视化工具和算法,用于数据分析、机器学习和数据可视化等任务。 一、主要特点 可视化界面:Orange 提供了直观的可视化界面,使得用户可以通过拖放操作构建数据分…

学习文档(5)

Redis应用 目录 Redis应用 Redis 除了做缓存,还能做什么? Redis 可以做消息队列么? Redis 可以做搜索引擎么? 如何基于 Redis 实现延时任务? Redis 除了做缓存,还能做什么? 分布式锁&…

AI‘林黛玉发疯文学’火了!40篇笔记涨粉30万,这是怎么做到的?五步教你!

本文背景 最近老刷到林黛玉那种阴阳怪气的“发疯文学”视频呢。在 小红书 搜了搜相关话题,嘿,带“#林黛玉”的话题浏览量有 9.8 亿之多,像“#林黛玉发疯文学”的标签浏览量也有七千多万次,“林黛玉倒拔垂杨柳”都有 1332 万次浏览…

Java--集合(三)之vectorlinkedlisthashset结构

文章目录 0.架构图1.vector解析2.LinkedList分析2.1源码分析2.2迭代器遍历的三种方式 3.set接口的使用方法3.1基本使用说明3.2基本遍历方式3.3HashSet引入3.4数组链表模拟3.5hashset扩容机制3.6hashset源码解读3.7扩容*转成红黑树机制**我的理解 0.架构图 1.vector解析 和之前介…

mysql 10 单表访问方法

01.优化的过程 对于我们这些 MySQL 的使用者来说, MySQL 其实就是一个软件,平时用的最多的就是查询功能。DBA时不时丢过来一些慢查询语句让优化,我们如果连查询是怎么执行的都不清楚还优化个毛线,所以是时候掌握真正的技术了。我…

Jupyter notebook中更改字体大小

文章目录 方法一:局部修改方法二:全局修改 Jupyter notebook提供了一个非常方便的跨平台交互代码编译环境,但是单元格的内的代码字体往往显示较小,不利于观看。本人查了很多方法来调整字体,后来发现既不需要更改jupyte…

HCIP-HarmonyOS Application Developer 习题(十二)

(多选)1、声明式开发范式的转场动画包含以下哪几种类型? A、页面间转场 B、应用间转场 C、共享元素转场 D、组件内转场 答案:ACD 分析: (多选)2、公共事件服务为应用程序提供哪些能力。 A、取消发布公共…

vue day08(vuex)

一、vuex 概述 1. 是什么 vuex 是一个 vue 的状态管理工具,状态就是数据 大白话:vuex 是一个插件,可以帮我们管理 vue 通用的数据(多组件共享的数据) 2. 场景 一份数据在多个组件中使用,并且还可以进行数据…

Facebook的隐私之战:数据保护的挑战与未来

在数字化时代,隐私保护成为了公众关注的焦点,尤其是在社交媒体巨头Facebook身上。随着用户数据泄露事件的频发,Facebook面临着日益严峻的隐私挑战。这些挑战不仅涉及法律法规的遵循,还影响着用户信任、公司声誉以及未来的发展方向…

【智能大数据分析 | 实验四】Spark实验:Spark Streaming

【作者主页】Francek Chen 【专栏介绍】 ⌈ ⌈ ⌈智能大数据分析 ⌋ ⌋ ⌋ 智能大数据分析是指利用先进的技术和算法对大规模数据进行深入分析和挖掘,以提取有价值的信息和洞察。它结合了大数据技术、人工智能(AI)、机器学习(ML&a…