Design Compiler:布图规划探索(ICC)

相关阅读

Design Compilerhttps://blog.csdn.net/weixin_45791458/category_12738116.html?spm=1001.2014.3001.5482


简介

        在Design Compiler Graphical中,可以用布图规划探索(Floorplan Exploration)功能,打开IC Compiler进行布图规划的创建、修改与分析。布图规划探索也是以二进制格式向IC Compiler传递物理信息的一种方法,另一种方法是在综合时使用Synopsys Physical Guidance(SPG)技术。

        在进行布图规划探索前,需要读取设计,指定物理库和逻辑库,指定逻辑约束和物理约束(也可以使用默认物理约束),然后在中对设计进行物理综合。综合完成后,可以评估结果质量(QoR),并根据需要使用布图规划探索功能来创建新的布图规划或优化现有的布图规划,最后将其返回给Design Compiler。图1展示了一个典型布图规划探索的流程。

图1 布图规划探索的流程

 

设置布图规划探索

        在使用布图规划探索时,需要满足以下条件:

  • 设计必须是已映射(综合)的,这是因为布图规划探索时,会创建临时的Milkyway设计库供IC Compiler使用,而这是Milkyway设计库创建的前提。
  • 设计中的所有单元必须能够链接到逻辑库和物理库。

        在拥有一个已综合完成并且已链接到逻辑库和物理库的设计之后,接下来需要进行以诶些设置,步骤如下:

1、在Design Compiler中使用gui_start命令打开用户图形界面(GUI)。

2、在用户图形界面中,选择菜单项Window > New Layout Window打开布局窗口,如图2所示。

图2 打开布局视图

3、选择菜单项Floorplan > Set Design Planning Options打开设置对话框,如图3所示。

图3 设置选项框

4、在Work Directory输入框中,输入一个工作目录的路径。该目录用于暂时存储布图规划探索中的所需文件。如果没有指定具体的目录路径,但指定了TMPDIR环境变量,系统会将这些文件存储在$TMPDIR/dcg_unique_string目录中,否则默认存储在/tmp目录下。

5、在ICC Executable输入框中,输入IC Compiler的可执行文件的路径(可相对PATH环境变量)。

6、在File Name Prefix 输入框中,输入希望用于所有生成文件的文件名前缀。默认的文件命名前缀格式为%s_%d,其中%s表示设计名称,%d表示进程ID。

7.(可选)如果希望保留在布图规划探索期间生成的文件,勾选Keep Files选项。该选项默认是未选中的,这意味着当布图规划探索退出时,所有生成的文件将被删除。

8、点击OK确认设置。

        也可以使用set_icc_dp_options命令在dc_shell中完成上面的设置。

启动布图规划探索

        当完成了设置后,在用户图形界面中通过选择菜单项Floorplan > Start Design Planning启动布图规划探索会话,如图4所示。

图4 启动布图规划探索会话

        当进行此操作时,系统将自动完成以下任务:

  • Design Compiler启动布图规划探索功能,并在IC Compiler布局窗口中启用简化的布图规划菜单。

  • Design Compiler会将所有逻辑约束和物理约束(部分不支持)传送到IC Compiler,用于布图规划。

  • 在布图规划退出之前,Design Compiler的所有窗口和命令行都将被禁用。

        也可以使用start_icc_dp命令在dc_shell中启动布图规划探索。

使用布图规划探索

        默认情况下,当启用布图规划探索功能时,Design Compiler会将IC Compiler的布局窗口配置为仅包含执行布图规划所需的菜单,如图5所示。

图5 简化版IC Compiler布局窗口

        该布局窗口经过定制和简化,以便RTL用户使用,需要注意的是:简化的只是菜单,而所有的布图规划命令依然可以在icc_shell中使用。

        有些高级布图规划功能(例如plan groups)在简化版菜单中是不可见的。如果是有经验的IC Compiler用户,或需要使用这些高级功能,可以切换到完整版菜单,如图6所示,只需要选择菜单项File > Task > Design Planning即可;如果用户希望从完整版菜单切换回简化版菜单,选择菜单项File > Task > DCG-DP Link即可。

图6 完整版IC Compiler布局窗口

        当用户在简化版菜单与完整版菜单之间切换时,所有的布图规划更改都会被保留,也就是说:在完整菜单中所做的工作,在切换到简化菜单后仍然可见;反之亦然。

创建与编辑布图规划

        无论你使用的是简化的Design Compiler Graphical布图规划菜单,还是完整的IC Compiler设计规划菜单,IC Compiler的布局窗口都提供了交互式工具和命令,可用于创建或修改布图规划:

  • 使用编辑工具对对象进行:移动、缩放、复制、拆分、变形、对齐、分布、拉开、删除等操作

  • 使用编辑命令执行:旋转对象、扩展对象、或更改单元的朝向

        如需了解更多关于在IC Compiler布局窗口中使用编辑工具与命令的信息,请查阅IC Compiler手册。

保存或放弃布图规划修改

        当完成了布图规划的编修改后,可以将其保存,步骤如下:

1、选择菜单项Floorplan > Update DC Floorplan,打开对话框,如图7所示(需要注意的是,该菜单项只在简化版菜单可见)。

图7 更新对话框

2、选择两项之一:Save current floorplan for DC表示将当前布图规划以DEF文件和TCL文件的格式保存在之前指定的工作目录中,如果之前已经保存过,则会覆盖;Discard DC floorplan updates表示删除之前保存的布图规划。

3、点击OK确认保存或删除。

        也可以使用update_dc_floorplan命令在icc_shell中保存布图规划。

退出布图规划探索

        需要注意的是,即使将布图规划保存了,但要将其返回Design Compiler还需要在退出时进行选择,步骤如下:

1、选择菜单项Floorplan > Update DC Floorplan,打开退出对话框,如图8所示。

图8 退出对话框

2、选择三项之一:Update DC with current floorplan表示将当前的布图规划(即使尚未保存)返回Design Compiler;Discard DC floorplan updates表示放弃当前和已保存的布图规划;Update DC with previously saved floorplan表示将已保存的布图规划返回Design Compiler。

3、点击OK确认退出。

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

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

相关文章

《蓝牙低功耗音频技术架构解析》

《2025GAS声学大讲堂—音频产业创新技术公益讲座》低功耗蓝牙音频系列专题LE Audio & Auracast™专题讲座第1讲将于8月7日周四19点开讲,本次邀请了蓝牙技术联盟 技术与市场经理 鲁公羽 演讲,讲座主题:《蓝牙低功耗音频技术架构解析》。&…

ubuntu apt安装与dpkg安装相互之间的关系

0. 问题解释 在linux系统中,使用neofetch命令可以看到现在系统中使用dpkg, flatpak, snap安装的包的数量,那么使用apt安装的包被统计在什么位置了呢,使用apt的安装流程和使用flatpak的安装流程有什么关系和区别呢?1. apt 安装的包在哪里&…

YooAsset源码阅读-Downloader篇

YooAsset源码阅读-Downloader 继续 YooAsset 的 Downloader ,本文将详细介绍如何创建下载器相关代码 CreateResourceDownloaderByAll 关键类 PlayModeImpl.csResourceDownloaderOperation.csDownloaderOperation.csBundleInfo.cs CreateResourceDownloaderByAll 方法…

豆包新模型与 PromptPilot 实操体验测评,AI 辅助创作的新范式探索

摘要:在 AI 技术飞速发展的当下,各类大模型及辅助工具层出不穷,为开发者和创作者带来了全新的体验。2025 年 7 月 30 日厦门站的火山方舟线下 Meetup,为我们提供了近距离接触豆包新模型与 PromptPilot 的机会。本次重点体验了实验…

深入探讨AI在测试领域的三大核心应用:自动化测试框架、智能缺陷检测和A/B测试优化,并通过代码示例、流程图和图表详细解析其实现原理和应用场景。

引言随着人工智能技术的飞速发展,软件测试领域正在经历一场深刻的变革。AI技术不仅提高了测试效率,还增强了测试的准确性和覆盖范围。本文将深入探讨AI在测试领域的三大核心应用:自动化测试框架、智能缺陷检测和A/B测试优化,并通过…

音视频学习笔记

0.vs应用其他库配置1基础 1.1视频基础 音视频录制原理音视频播放原理图像表示rgb图像表示yuvhttps://blog.51cto.com/u_7335580/2059670 https://blog.51cto.com/cto521/1944224 https://blog.csdn.net/mandagod/article/details/78605586?locationNum7&fps1 视频主要概念…

LLM隐藏层状态: outputs.hidden_states 是 MLP Residual 还是 Layer Norm

outputs.hidden_states 是 MLP Residual 还是 Layer Norm outputs.hidden_states 既不是单纯的 MLP Residual,也不是单纯的 Layer Norm,而是每一层所有组件(包括 Layer Norm、注意力、MLP、残差连接等)处理后的最终隐藏状态。具体需结合 Transformer 层的结构理解: 1. T…

XML 用途

XML 用途 引言 XML(可扩展标记语言)是一种用于存储和传输数据的标记语言。自1998年推出以来,XML因其灵活性和可扩展性,在众多领域得到了广泛应用。本文将详细介绍XML的用途,帮助读者全面了解这一重要技术。 一、数据存…

亚马逊撤离Google购物广告:重构流量生态的战略博弈

战略突变:从渐进收缩到全面退潮的背后逻辑亚马逊在2025年7月突然全面停止Google Shopping广告投放,这场看似 abrupt 的决策实则经历了一年多的战略铺垫,从2024年Q1开始的预算削减,到2025年Q2美国市场支出减半,直至核心…

【QT】常⽤控件详解(三)常用按钮控件PushButton RadioButton CheckButton Tool Button

文章目录前言一、PushButton1.1 QAbstractButton1.2 添加图标的按钮1.3 给按钮添加快捷键1.4 代码⽰例:按钮的重复触发二、 RadioButtion2.1简介2.2 几个槽函数 click,press,release, toggled 的区别2.2 模拟分组点餐三、 CheckBox四、Tool Button🚩总结前言 一、P…

数据结构:反转链表(reverse the linked list)

目录 通过交换元素值实现反转(reverse by swapping elements) 滑动指针(sliding pointers) 使用滑动指针反转链表(Reversing a Linked List using Sliding Pointers) 对比分析 如何用递归(R…

【C#】基于SharpCompress实现压缩包解压功能

1.SharpCompress安装 在vs的nuget下搜索安装SharpCompress&#xff0c;如图所示2.解压缩包功能实现 /// <summary> /// 解压压缩包 /// </summary> /// <param name"filePath">压缩包文件路径</param> /// <param name"directoryPat…

mybatis连接PGSQL中对于json和jsonb的处理方法

pgsql数据库表字段设置了jsonb格式&#xff1b;在java的实体里使用String或者对象转换会一直提示一个错误&#xff1a; Caused by: org.postgresql.util.PSQLException: ERROR: column “xx” is of type jsonb but expression is of type character varying 需要加一个转换方法…

Spring AI Alibaba Graph 深度解析:原理、架构与应用实践

1. 引言概述 1.1 什么是 Spring AI Alibaba Graph Spring AI Alibaba Graph 是阿里云团队基于 Spring AI 生态开发的一个强大的工作流编排框架&#xff0c;专门用于构建复杂的 AI 应用。它采用声明式编程模型&#xff0c;通过图结构来定义和管理 AI 工作流&#xff0c;让开发…

C++少儿编程(二十一)—软件执行流程

让我们将以下程序视为用C编写的示例程序。步骤1&#xff1a;预处理器将源代码转换为扩展代码。当您运行程序时&#xff0c;源代码首先被发送到称为预处理器的工具。预处理器主要做两件事&#xff1a;它会从程序中删除注释。它扩展了预处理器指令&#xff0c;如宏或文件包含。它…

精通Webpack搭建Vue2.0项目脚手架指南

本文还有配套的精品资源&#xff0c;点击获取 简介&#xff1a;在Web应用程序开发中&#xff0c;Vue 2.0因其虚拟DOM、单文件组件、增强的生命周期钩子和Vuex及Vue Router状态管理与路由解决方案&#xff0c;成为了提高开发效率和代码组织性的关键。Webpack作为必不可少的模…

无偿分享120套开源数据可视化大屏H5模板

数据可视化跨越了语言、技术和专业的边界&#xff0c;是能够推动实现跨界沟通&#xff0c;实现国际间跨行业的创新的工具。正如画家用颜料表达自我&#xff0c;作者用文字讲述故事&#xff0c;而统计人员用数字沟通 ...... 同样&#xff0c;数据可视化的核心还是传达信息。而设…

Qt按键响应

信号与槽机制是一个非常强大的事件通信机制&#xff0c;是 Qt 最核心的机制之一&#xff0c;初学者掌握它之后&#xff0c;几乎可以做任何交互操作。信号&#xff08;Signal&#xff09; 是一种“事件”或“通知”&#xff0c;比如按钮被点击、文本改变、窗口关闭等。 槽&#…

【Git】常见命令整理

Git分区与操作关系&#xff1a;Working Directory&#xff08;工作区&#xff0c;对于本地的编辑和修改在此进行&#xff09;->Staging Area&#xff08;暂存区/Index&#xff0c;在工作区进行git add操作后的位置&#xff09;->Git Repository&#xff08;本地仓库&…

Linux-Shell脚本基础用法

1.变量定义变量命名规则&#xff1a;可以包含字母&#xff0c;数字&#xff0c;下划线&#xff0c;首字母不能用数字开头&#xff0c;中间不能又空格&#xff1b;为变量赋值等号之间不能为空格&#xff1b;变量命名不能使用标点符号&#xff0c;不能使用bash的关键字&#xff1…