zoukankan      html  css  js  c++  java
  • pin access问题 引起的DRC和short

    是一些cell abut在一起或者挨得很近时,局部密度过高,router连接std cell pin的空间不够,容易引起DRC或short。通常发生在std cell密度很高的设计里,或者std cell pin密度很高的区域里。这些DRC通常发生在底层,比如M1~M4。

    为什么placer不能完全预防这个问题?

    placer会跑global route来评估congestion,然后把cell推开,虽然global route现在已经做的很好了,但是它不能完全预估所有的DRC,特别是pin access引起的DRC。所以global route并不能完全解决这类问题。

    placer也是pin density aware的,但pin density aware毕竟是大的颗粒度,在更小的范围内(比如几个std cell摆在一起)作用有限。

    另外foundry提供的cell abutment rule也有作用,它规定了哪些cell不能水平或者垂直方向放在一起。它能预防很多特定的DRC,但还是不能完全解决cell密度高导致congestion的问题.

    如何有效解决pin access问题?

    解决这种问题的方式有多种,今天介绍一个常用而且强大的命令:

    optimize_routability -route

    原理大致如下

    1. 分析DRC类型。找到是pin access引起的DRC的区域

    2. 给这些cell加上keepout margin,或者flip一下

    3. legalize

    4. eco route

    这个过程很快,DRC收敛效果很好。可以在route_auto后使用,也可以在route_opt后调用。

  • 相关阅读:
    P2730 魔板 Magic Squares
    P2124 奶牛美容
    4. Median of Two Sorted Arrays(Array; Divide-and-Conquer)
    3.Longest Substring Without Repeating Characters(string; HashTable)
    2.Add Two Numbers (List)
    1.Two Sum (Array; HashTable)
    C++中的浅拷贝、深拷贝、智能指针
    C++ 静态数据成员和静态成员函数
    C & C++ 宏与const
    C++指针与引用
  • 原文地址:https://www.cnblogs.com/lelin/p/12586414.html
Copyright © 2011-2022 走看看