当前位置: 首页 > news >正文

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

相关阅读

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


简介

        在拓扑模式的Design Compiler Graphical中,可以用布图规划探索(Floorplan Exploration)功能,打开IC Compiler II进行布图规划的创建、修改与分析。布图规划探索也是以二进制格式向IC Compiler II传递物理信息的一种方法。

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

图1 布图规划探索的流程

        在阅读本文之前,首先需要先学习如何在IC Compiler中启动布图规划探索,本文只会说明与IC Compiler相比,在IC Compiler II中启动布图规划探索的区别。

Design Compiler:布图规划探索(ICC)https://blog.csdn.net/weixin_45791458/article/details/149919096?spm=1001.2014.3001.5501

设置布图规划探索

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

  • 设计必须是已映射(综合)的,这是因为布图规划探索时,会创建临时的NDM设计库供IC Compiler II使用,而这是NDM设计库创建的前提。
  • 设计中的所有单元必须能够链接到逻辑库和物理库。
  • 如果使用Design Compiler Graphical或Milkyway模式下的Design Compiler NXT,则需要使用Library Manager将Milkyway参考库转化为NDM参考库,因为IC Compiler II必须使用NDM库;如果使用NDM模式下的Design Compiler NXT,则无需这个过程。

        与使用IC Compiler可以在用户图形界面(GUI)进行设置不同,对于IC Compiler II,只能使用set_icc2_options命令设置IC Compiler II可执行文件的路径、NDM参考库以及暂时存储布图规划探索中所需文件的工作目录(默认情况下,如果设置了TMPDIR环境变量,则保存在$TMPDIR/dcg_unique_string目录下,否则保存在/tmp/dcg_unique_string目录下)等信息,

        如果使用NDM模式下的Design Compiler NXT,不仅无需使用set_icc2_options命令进行设置,甚至无需单独安装IC Compiler II,因为Design Compiler NXT内嵌了一个简化版的IC Compiler II。

启动布图规划探索

        使用start_icc2或start_icc2_dp命令即可启动布图规划探索会话,当进行此操作时,系统将自动完成以下任务:

  • Design Compiler会将所有逻辑约束和物理约束(部分不支持)传送到IC Compiler II,用于布图规划。
  • 在布图规划退出之前,Design Compiler的所有窗口和命令行都将被禁用。
  • 对于Design Compiler Graphical,至少需要使用set_icc2_options命令指定IC Compiler II可执行文件的路径和NDM参考库,其他信息例如技术文件会从当前的Milkyway设计库中获取(如果没有指定的话)。

使用布图规划探索

        当启用布图规划探索功能时,Design Compiler会将IC Compiler II的任务设置为Design Planning如图2所示。

图2 布图规划界面

保存布图规划修改

        使用update_dc_floorplan命令可以将当前布图规划以DEF文件和TCL文件的格式保存在之前指定的工作目录中,如果不使用该命令,则所有修改将丢失。

退出布图规划探索

        当使用quit或exit命令退出IC Compiler II后,保存的保存的布图规划将自动被Design Compiler应用。

http://www.lryc.cn/news/616160.html

相关文章:

  • 【FPGA】初识FPGA
  • Jotai:React轻量级状态管理新选择
  • 密码学的数学基础2-Paillier为什么产生密钥对比RSA慢
  • 重学React(四):状态管理二
  • 机器学习第八课之K-means聚类算法
  • 编程基础之多维数组——计算鞍点
  • 【Docker实战】将Django应用容器化的完整指南
  • 【代码随想录day 15】 力扣 257. 二叉树的所有路径
  • [FOC电机控制] 电压频谱图
  • 如何解决pip安装报错ModuleNotFoundError: No module named ‘ray’问题
  • Redis一站式指南一:从MySQL事务到Redis持久化及事务实现
  • 【每天一个知识点】深度领域对抗神经网络
  • MACBOOK M1安装达梦8数据库
  • nginx-主配置文件
  • 异步问题的概念和消除问题技巧
  • 【Tomcat】企业级web应用服务器
  • ATF(TF-A)安全通告 TFV-12(CVE-2024-5660)
  • nestjs官网推荐typeorm而不是prisma的原因
  • 实现MATLAB2024b和M文件关联(防止运行多个MATLAB)
  • 【0基础3ds Max】主工具栏介绍(下)
  • 金融机构在元宇宙中的业务开展与创新路径
  • ATF(TF-A)安全通告 TFV-13(CVE-2024-7881)
  • vue3项目中在一个组件中点击了该组件中的一个按钮,那么如何去触发另一个组件中的事件?
  • RAG (Retrieval-Augmented Generation) 原理详解与实例
  • Stream流应用
  • 工业相机选择规则
  • Java数据结构——LinkedList
  • MariaDB 数据库管理与web服务器
  • JUC学习笔记-----ReentrantLock
  • 通过trae开发你的第一个Chrome扩展插件