yuanpin318的个人空间 http://blog.eetop.cn/13812 [收藏] [复制] [RSS]

日志

ICC基础

热度 5已有 1816 次阅读2019-7-3 00:04 |个人分类:physical design|系统分类:芯片设计

1. 基本介绍
   1.1 data setup: 为design plan创建基本设计单元
       a. 载入必须的综合的数据: logic library, 约束, 门级网表
       b. 载入必须的physical design数据: physical library, technology file, RC寄生参数模型文件
       c. ICC1: 创建Milkway设计库和一个后端设计
       d. 使用对时序和优化的控制
       e. 对libraries, RC寄生参数模型, 约束和时序进行检查
   1.2 后端设计: floorplan, placement, CTS, routing
   1.3 在后端设计中, ICC只提供referece script.
       事实上,没有完美的golden script
   1.4 简单的ICC流程
       Data setup -> Design Planning -> Placement -> CTS -> Routing -> Chip Finishing
       a. design plan:
          直接影响到整个后端的收敛性
          对整个design进行设计规划,确定芯片的大小,形状,hard macro的摆放,
                  power,ground的走向,规划,走哪些层,使用多大的线宽才能满足power的设计指标
                  power的设计指标: IR drop, EM
                  hard macro的planning
         会有一个分叉点
              如果design非常大,需要用到hierarchical design,把一个design切成小块,每个小块发给后端进行设计
             如果design比较小,直接采用flattern design
       b.  placement
            把所有的standard cell全部放在design grid上。牵涉到setup的优化,congestion, cell site
                cell site是placement的最小设计单位,所有的standard cell必须全部放在cell site上,placement才可以算完成
       c.  CTS
           设计指标:insertion_delay, skew
            使得clock source到每个DFF的值尽可能一样,这个delay的值尽可能小
       d.  routing
            CTS后的design的cell之间只有逻辑上的连接,没有物理上的连接
            routing一定要满足工艺厂商的DRC的检查规则
       e. chip finishing
           天线的fix, metal fill
           完全是为tapeout服务的
    1.5 Data setup
        a. ICC需要读入的综合数据: (没有physical信息
               logic/timing library files: standard cell.db, macro cell.db, pad cell.db
                       db包含: 逻辑功能,时序库(setup的要求, cell的delay)
               constrAInts file: constraint.sdc (和STA相关)
              gate level netlist: prelayout-gate-level-netlist.v
        b. ICC需要读入的physical data
              physical library directories: standcellls MW, macro cell MW, pad cell MW(IO)
              Milkway:工艺厂直接提供Milkway数据库,有的工艺厂只提供LEF或GDS
                  如果只有LEF, GDS, 就需要用library compiler直接转换成Milkway的库,ICC才能使用
                  Milkway包含了物理信息:多少层metal, pin的位置,size,形状。提供给placement用
                  ICC1使用Milkway数据库
                  ICC2使用NLIB数据库
             technology file: abc_66m.tf,工艺厂商提供给design house的工艺文件。其中包含了每一层metal的线宽,线间距,via的DRC规则...
                 大部分DRC规则是针对routing的
            RC model files: TLU+,包含了RC寄生参数
            做完placement,有一个setup的优化,需要这个文件才可以更精确地计算setup
2. logic library
    为所有的标准单元(and, or, DFF, ...)提供了时序和逻辑功能的信息
    为hard macro(IP, ROM, RAM, ...)提供时序信息
    定义的驱动和负载的logical DRC: max_fanout, max_transition, max/min_capacitance
         影响到cell的delay,从而影响到后面的timing的计算
    和DC使用的logical library是一样的
         DC和ICC用"target_library"和"link_library"这两个变量来定义
    target_library: placement, clock和routing的优化所要使用的cell全部来自target_lirary
    link_library: 其他的就使用link library
   
3. Physical Reference Library
     Reference Library: 是Milkway数据库
            记录了标准单元,macro和pad的physical信息,是placement和routing所必须的
            记录了cell的pin的方向,layer和形状,dimension(bounding box), blockage, symentry(X, Y or 90 degree), reference point(通常是0, 0)