字丑,禁止转载!

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

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

下面是使用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

  ·进行DRC和LVS的检查和修复

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

  verify_zrt_route (DRC)

  verify_lvs (LVS)

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

  route_opt –incremental

  不行的话,就进行:route_zrt_eco

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

--->保存设计

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

ICC_lab总结——ICC_lab5:布线&&数字集成电路物理设计学习总结——布线的更多相关文章

  1. 开关电源PCB设计中的布线技巧

    开关电源PCB设计中的布线技巧关键字:布线 开关电源 走线 一.引言 开关电源是一种电压转换电路,主要的工作内容是升压和降压,广泛应用于现代电子产品.因为开关三极管总是工作在 “开” 和“关” 的状态 ...

  2. Mysql业务设计(物理设计)

    物理设计 根据所选择的关系型数据库的特点对逻辑模型进行存储结构的设计 物理设计: 定义数据库.表及字段的命名规范 选择合适的存储引擎 为表中的字段选择合适的数据类型 建立数据库结构 定义数据库.表及字 ...

  3. MySQL 数据库设计 笔记与总结(3)物理设计

    [物理设计的工作] ① 选择合适的数据库管理系统:Oracle,SQLServe,MySQL,PgSQL ② 定义数据库.表及字段的命名规范 ③ 根据所选的 DBMS 系统选择合适的字段类型 ④ 反范 ...

  4. 数据库设计理论与实践·<三>物理设计

    一.物理设计核心任务与关键细节 二.物理设计经验之谈 1.数据类型的设计:建议字段数据类型定义时结合以下几点(以MYSQL为例) 1)不适用image,而使用varbinary等 2)不使用text和 ...

  5. IC设计学习路线

    一 前言 一直以来都是这也想学那也想学,搞个两三个月又放弃了,开始搞新的,从来没有任何东西超过一年,更不要说坚持三年.现在经历的事情多了,学过各种编程语言明白了要想学会一个专业技能,至少是三年.得到软 ...

  6. DirectX 9 UI三种设计学习笔记:文章4章Introducing DirectInput+文章5章Wrapping Direct3D

           本文从哈利_创.转载请注明出处.有问题欢迎联系本人!        邮箱:2024958085@qq.com 上一期的地址: DX 9 UI设计学习笔记之二 第4章 Introducin ...

  7. UI设计学习路线图

    文章转载自「开发者圆桌」一个关于开发者入门.进阶.踩坑的微信公众号 这里整理的UI设计学习路线图包含初中高三个部分,你可以通过百度云盘下载观看对应的视频 链接: http://pan.baidu.co ...

  8. 【STM32H7教程】第12章 STM32H7的HAL库框架设计学习

    完整教程下载地址:http://forum.armfly.com/forum.php?mod=viewthread&tid=86980 第12章       STM32H7的HAL库框架设计学 ...

  9. loadrunner 场景设计-学习笔记之性能误区

    场景设计-学习笔记之性能误区 by:授客 QQ:1033553122 场景假设: 每个事务仅包含一次请求,执行10000个并发用户数 性能误区: 每秒并发用户数=每秒向服务器提交请求数 详细解答: 每 ...

随机推荐

  1. Python基本知识

    python是一门编程语言,这是我们学习python首先要了解的内容,那么编程语言又是什么,我们为什么需要编程语言 我们讲的话是汉语,英语或者其他语言,计算机也可以讲话,但是他只会说0,1,也只能看懂 ...

  2. css多浏览常见问题

    关于CSS对各个浏览器兼容已经是老生常谈的问题了, 网络上的教程遍地都是.以下内容没有太多新颖, 纯属个人总结, 希望能对初学者有一定的帮助. 一.CSS HACK 以下两种方法几乎能解决现今所有HA ...

  3. mui底部导航栏切换分页

    使用Hbuilder的mui框架开发移动端非常便利.高效: 底部导航栏切换功能也是移动APP开发中必须实现的: 引入mui文件.下面会用到jquery,同时引进 <link href=" ...

  4. 基于JavaMail向邮箱发送邮件

    参考:http://blog.csdn.net/ghsau/article/details/17839983 http://blog.csdn.net/never_cxb/article/detail ...

  5. JQ在光标处插入文字

    内容转载自网络这是一个JQ的扩展方法.在teatarea获得焦点时,往光标处插入文字,扩展代码如下 (function($){ $.fn.extend({ "insert":fun ...

  6. spring Boot+spring Cloud实现微服务详细教程第二篇

    上一篇文章已经说明了一下,关于spring boot创建maven项目的简单步骤,相信很多熟悉Maven+Eclipse作为开发常用工具的朋友们都一目了然,这篇文章主要讲解一下,构建spring bo ...

  7. WinSock 异步I/O模型-2

    事件选择(WSAEventSelect): WSAEventSelect模型是Windows Sockets提供的另外一个有用的异步I/O模型.该模型允许一个或多个套接字上接收以事件为基础的网络事件通 ...

  8. java中的并发工具类

    在jdk的并发包里提供了几个非常有用的并发工具类.CountDownLatdch.CyclicBarrier和Semaphore工具类提供了一种并发流程控制的手段,Exchanger工具类则提供了在线 ...

  9. 一次精疲力尽的改bug经历

    一.介绍 最近一直在做有关JavaScriptCore的技术需求,上周发现一个问题,当在JavaScriptCore在垃圾回收时,项目会有一定几率发生崩溃.崩溃发生时调用堆栈如下: 图1 调用堆栈 先 ...

  10. kvm之十二:虚拟机迁移

    虚拟机迁移该方式要确保虚拟机是关机状态.virsh shutdown snalevirsh dumpxml snale > /etc/libvirt/qemu/snale_qy.xml  // ...