• (转)ASIC设计中各个阶段需要注意的问题——节选


           ASIC 的复杂性不断提高,同时工艺在不断地改进,如何在较短的时间内开发一个稳定的可重用的ASIC芯片的设计,并且一次性流片成功,这需要一个成熟的ASIC 的设计方法和开发流程。本文结合NCverilog,DesignCompile,Astro等ASIC设计所用到的EDA软件,从工艺独立性、系统的稳定性、复杂性的角度对比各种ASIC的设计方法,介绍了在编码设计、综合设计、静态时序分析和时序仿真等阶段经常忽视的问题以及避免的办法,从而使得整个设计具有可控性。

    基本的ASIC设计流程

      ASIC设计流程可以粗分为前端设计和后端设计,如果需要更细的划分,可以分成如下几个步骤:

      1.包括系统结构分析设计、RTL编码以及功能验证;

      2.逻辑综合、PreLayoutSTA以及形式验证(RTL代码与逻辑综合生成的Netlist之间);

      3.Floorplan、Placement、ClockTree插入以及全局布线(GlobalRouting)

      4.形式验证(逻辑综合的Netlist与带有CT信息的Netlist之间)、STA;

      5.DetailedRouting,DRC;

      6.PostlayoutSTA,带有反标延迟信息的门级仿真;

      7.Tape-Out

      当然,这还是一个比较粗的流程,其中每个步骤还可以分得更细,通常所说的前端设计主要包括上述流程中的1,2,4,6这几个部分。同时,这个流程是一个迭代的过程。

    典型的ASIC设计流程(详细)

    1. 结构及电气规定。
    2. RTL级代码设计和仿真测试平台文件预备。
    3. 为具有存储单元的模块插进BIST(Design For test 设计)。
    4. 为了验证设计功能,进行完全设计的动态仿真。
    5. 设计环境设置。包括使用的设计库和其他一些环境变量。
    6. 使用 Design Compiler工具,约束和综合设计,并且加进扫描链(或者JTAG)。
    7. 使用 Design Compiler自带静态时序分析器,进行模块级静态时序分析。
    8. 使用 Formality工具,进行 RTL级和综合后门级网表的 Formal Verification。
    9. 版图布局布线之前,使用PrimeTime工具进行整个设计的静态时序分析。
    10. 将时序约束前标注到版图工具。
    11. 时序驱动的单元布局,时钟树插进和全局布线。
    12. 将时钟树插进到DC的原始设计中。
    13. 使用 Formality,对综合后网表和插进时钟树网表进行 Formal Verification。
    14. 从全局布线后的版图中提取出估算的时间延时信息。
    15. 将估算的时间延时信息反标注到Design Compiler或者 Primetime。
    16. 在Primetime中进行静态时序分析。
    17. 在Design Compiler中进行设计优化。
    18. 设计的具体布线。
    19. 从具体布线的设计中提取出实际时间延时信息。
    20. 将提取出的实际时间延时信息反标注到Design Compiler或者Primetime中。
    21. 使用Primetime进行版图后的静态时序分析。
    22. 在 Design Compiler中进行设计优化(假如需要)。
    23. 进行版图后带时间信息的门级仿真。
    24. LVS和DRC验证,然后流片。

    参考文献:

    [1] 转载地址:http://www.eetop.cn/blog/html/83/40783-52928.html

  • 相关阅读:
    [计算机基础]回调函数
    [Android学习笔记]双缓冲绘图技术
    [数据结构和算法]折半插入排序算法笔记
    为Eclipse添加Java和Android SDK源代码
    Eclipse Tips
    Eclipse常用插件
    [数据结构]基本概念2
    Nginx中让 重写后的路径 自动增加斜线 /
    mysql 断电 启动不了 start: Job failed to start
    uglifyjs 压缩js
  • 原文地址:https://www.cnblogs.com/dpc525/p/5158837.html
Copyright © 2020-2023  润新知