热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

ICC_lab总结——ICC_lab5:布线数字集成电路物理设计学习总结——布线

字丑,禁止转载!这里将理论总结和实践放在一起了。布线的理论总结如下所示:下面是使用ICC进行实践的流程:本次的布线实验主要达

字丑,禁止转载!

这里将理论总结和实践放在一起了。

布线的理论总结如下所示:

 

下面是使用ICC进行实践的流程:

本次的布线实验主要达成的目标是:

  ·对具有时钟树布局后的设计进行可布线性检查

  ·完成布线

  ·完成初始布线和初始布线后的优化

  ·分析设计的 时序、逻辑和物理的DRC、LVS违规

  ·修复LVS错误

  ·使用颜色突出来分析设计的各个方面

具体流程为:

首先准备下面的文件:

 

 

  ·加载设计的设置和公共的设置

--->打开库和相应的设计,启动GUI

--->检查max库是否和min库对应:list_libs

--->加载在设计在布局和CTS阶段期间使用的公共设置,以及布线阶段也

  需要的公共设置(这里需要注意,有些命令在新的版本中):

  source scripts/common_optimization_settings_icc.tcl

  source scripts/common_placement_settings.tcl

  source scripts/common_post_cts_timing_settings.tcl

  source scripts/common_route_si_settings_zrt_icc.tcl

  ·进行布线前的检查,确保已经准备好布线

--->查看是否有建立时间、保持时间以及逻辑上的设计规则违例:

  report_constraint -all

--->没有理想的网络和没有高扇出网络:

  all_ideal_nets

  all_high_fanout -nets -threshold 501(扇出大于501pf的就列出)

--->首选布线方向是否符合预期,并加载TLUPlus文件:

  report_preferred_routing_direction

  report_tlu_plus_files

--->检查所有布局位置是否合法:check_legality

--->检查所有电源和接地引脚是否物理连接到P / G网络(也就是查看是否有悬空):verify_pg_nets

--->如果有,进行移除并且再检查:preroute_standard_cells -remove_floating_pieces

               verify_pg_nets

  ·进行布线和优化设计

--->首先允许插入冗余通孔,使设计中的冗余通孔随布线更改保持最新:

    set_route_zrt_common_options   -post_detail_route_redundant_via_insertion medium

    set_route_zrt_detail_options   -optimize_wire_via_effort_level medium

 

--->检查非默认布线规则和布线设置:

  report_routing_rules; # report routing rules

  report_route_opt_strategy; # report route_opt_stretegy

  report_route_zrt_common_options; # Reports zrt common route options

  report_route_zrt_global_options; # Reports zrt global route options

  report_route_zrt_track_options; # Reports zrt route track assignment options

  report_route_zrt_detail_options; # Reports zrt detail route options

--->进行初始布线(初始布线包括:全局布线,路线分配和详细布线):

  route_opt -initial_route_only

--->初始布线完成后,生成相应的报告:

  view report_clock_tree -summary(总结)

  view report_clock_timing -type skew(偏移)

  view report_qor(质量)

  view report_constraint -all(违例报告)

--->进行优化布线,解决违规(同时优化功耗):

  route_opt -skip_initial_route  -power

--->确认布线之后,电源地的逻辑连接是最新的(即重新进行电源地的逻辑连接):

  derive_pg_connection -power_net VDD -power_pin VDD -ground_net VSS -ground_pin VSS

  derive_pg_connection -power_net VDD -ground_net VSS -tie

  ·进行DRCLVS的检查和修复

--->查看是否有物理上的DRC错误、以及LVS是否通过:

  verify_zrt_route (DRC)

  verify_lvs (LVS)

--->如果有错误,进行修复:

  route_opt –incremental

 

  不行的话,就进行:route_zrt_eco

--->查看冗余通孔插入后的版图报告:report_design_physical -route

--->保存设计

·通过layout GUI窗口查看布线后的各种图形情况,比如布线后的时钟树形状、拥塞情况、slack的分布、层次模块在版图中的各个位置等等



推荐阅读
  • 本文介绍如何在 Android 中自定义加载对话框 CustomProgressDialog,包括自定义 View 类和 XML 布局文件的详细步骤。 ... [详细]
  • 字符串学习时间:1.5W(“W”周,下同)知识点checkliststrlen()函数的返回值是什么类型的?字 ... [详细]
  • 如何在Java中使用DButils类
    这期内容当中小编将会给大家带来有关如何在Java中使用DButils类,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。D ... [详细]
  • MySQL Decimal 类型的最大值解析及其在数据处理中的应用艺术
    在关系型数据库中,表的设计与SQL语句的编写对性能的影响至关重要,甚至可占到90%以上。本文将重点探讨MySQL中Decimal类型的最大值及其在数据处理中的应用技巧,通过实例分析和优化建议,帮助读者深入理解并掌握这一重要知识点。 ... [详细]
  • 在尝试对 QQmlPropertyMap 类进行测试驱动开发时,发现其派生类中无法正常调用槽函数或 Q_INVOKABLE 方法。这可能是由于 QQmlPropertyMap 的内部实现机制导致的,需要进一步研究以找到解决方案。 ... [详细]
  • 本文介绍了一种自定义的Android圆形进度条视图,支持在进度条上显示数字,并在圆心位置展示文字内容。通过自定义绘图和组件组合的方式实现,详细展示了自定义View的开发流程和关键技术点。示例代码和效果展示将在文章末尾提供。 ... [详细]
  • 深入解析Android 4.4中的Fence机制及其应用
    在Android 4.4中,Fence机制是处理缓冲区交换和同步问题的关键技术。该机制广泛应用于生产者-消费者模式中,确保了不同组件之间高效、安全的数据传输。通过深入解析Fence机制的工作原理和应用场景,本文探讨了其在系统性能优化和资源管理中的重要作用。 ... [详细]
  • 使用 ListView 浏览安卓系统中的回收站文件 ... [详细]
  • Keepalived 提供了多种强大且灵活的后端健康检查机制,包括 HTTP_GET、SSL_GET、TCP_CHECK、SMTP_CHECK 和 MISC_CHECK 等多种检测方法。这些健康检查功能确保了高可用性环境中的服务稳定性和可靠性。通过合理配置这些检查方式,可以有效监测后端服务器的状态,及时发现并处理故障,从而提高系统的整体性能和可用性。 ... [详细]
  • 在Android平台中,播放音频的采样率通常固定为44.1kHz,而录音的采样率则固定为8kHz。为了确保音频设备的正常工作,底层驱动必须预先设定这些固定的采样率。当上层应用提供的采样率与这些预设值不匹配时,需要通过重采样(resample)技术来调整采样率,以保证音频数据的正确处理和传输。本文将详细探讨FFMpeg在音频处理中的基础理论及重采样技术的应用。 ... [详细]
  • 在Java项目中,当两个文件进行互相调用时出现了函数错误。具体问题出现在 `MainFrame.java` 文件中,该文件位于 `cn.javass.bookmgr` 包下,并且导入了 `java.awt.BorderLayout` 和 `java.awt.Event` 等相关类。为了确保项目的正常运行,请求提供专业的解决方案,以解决函数调用中的错误。建议从类路径、依赖关系和方法签名等方面入手,进行全面排查和调试。 ... [详细]
  • ButterKnife 是一款用于 Android 开发的注解库,主要用于简化视图和事件绑定。本文详细介绍了 ButterKnife 的基础用法,包括如何通过注解实现字段和方法的绑定,以及在实际项目中的应用示例。此外,文章还提到了截至 2016 年 4 月 29 日,ButterKnife 的最新版本为 8.0.1,为开发者提供了最新的功能和性能优化。 ... [详细]
  • 在Android开发中,实现多点触控功能需要使用`OnTouchListener`监听器来捕获触摸事件,并在`onTouch`方法中进行详细的事件处理。为了优化多点触控的交互体验,开发者可以通过识别不同的触摸手势(如缩放、旋转等)并进行相应的逻辑处理。此外,还可以结合`MotionEvent`类提供的方法,如`getPointerCount()`和`getPointerId()`,来精确控制每个触点的行为,从而提升用户操作的流畅性和响应性。 ... [详细]
  • 本文介绍了如何利用Struts1框架构建一个简易的四则运算计算器。通过采用DispatchAction来处理不同类型的计算请求,并使用动态Form来优化开发流程,确保代码的简洁性和可维护性。同时,系统提供了用户友好的错误提示,以增强用户体验。 ... [详细]
  • 在本文中,我们将探讨如何在Docker环境中高效地管理和利用数据库。首先,需要安装Docker Desktop以确保本地环境准备就绪。接下来,可以从Docker Hub中选择合适的数据库镜像,并通过简单的命令将其拉取到本地。此外,我们还将介绍如何配置和优化这些数据库容器,以实现最佳性能和安全性。 ... [详细]
author-avatar
手机用户2502926947
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有