IC设计流程及工具

一. IC设计流程及工具

     IC设计分为前端和后端。 前端设计(也称逻辑设计)和后端设计(也称物理设计)并没有统一严格的界限,涉及到与工艺有关的设计就是后端设计。
  1>前端设计
     1.    规格制定
            芯片规格,也就像功能列表一样,是客户向芯片设计公司(称为Fabless,无晶圆设计公司)提出的设计要求,包括芯片需要达到的具体功能和性能方面的要求。
      2.    详细设计
            Fabless根据客户提出的规格要求,拿出设计解决方案和具体实现架构,划分模块功能。
      3.    HDL编码
            使用硬件描述语言(VHDL,Verilog HDL,业界公司一般都是使用后者)将模块功能以代码来描述实现,也就是将实际的硬件电路功能通过HDL语言描述出来,形成RTL(寄存器传输级)代码。
      4.    仿真验证             
           仿真验证就是检验编码设计的正确性,检验的标准就是第一步制定的规格。看设计是否精确地满足了规格中的所有要求。规格是设计正确与否的黄金标准,一切违反,不符合规格要求的,就需要重新修改设计和编码。
           设计和仿真验证是反复迭代的过程,直到验证结果显示完全符合规格标准。
           仿真验证工具Synopsys的VCS,还有Cadence的NC-Verilog。
      5.   逻辑综合――Design Compiler             
           仿真验证通过,进行逻辑综合。逻辑综合的结果就是把设计实现的HDL代码翻译成门级网表netlist。综合需要设定约束条件,就是你希望综合出来的电路在面积,时序等目标参数上达到的标准。逻辑综合需要基于特定的综合库,不同的库中,门电路基本标准单元(standard    cell)的面积,时序参数是不一样的。所以,选用的综合库不一样,综合出来的电路在时序,面积上是有差异的。
           一般来说,综合完成后需要再次做仿真验证(这个也称为后仿真,之前的称为前仿真)
           逻辑综合工具Synopsys的Design Compiler。
      6.   STA
           Static Timing Analysis(STA),静态时序分析,这也属于验证范畴,它主要是在时序上对电路进行验证,检查电路是否存在建立时间(setup time)和保持时间(hold time)的违例(violation)。这个是数字电路基础知识,一个寄存器出现这两个时序违例时,是没有办法正确采样数据和输出数据的,所以以寄存器为基础的数字芯片功能肯定会出现问题。
           STA工具有Synopsys的Prime Time。
      7.  形式验证
          这也是验证范畴,它是从功能上(STA是时序上)对综合后的网表进行验证。常用的就是等价性检查方法,以功能验证后的HDL设计为参考,对比综合后的网表功能,他们是否在功能上存在等价性。这样做是为了保证在逻辑综合过程中没有改变原先HDL描述的电路功能。
          形式验证工具有Synopsys的Formality。
    前端设计的流程暂时写到这里。从设计程度上来讲,前端设计的结果就是得到了芯片的门级网表电路。

     

     2>后端设计 
         1. DFT
       Design For Test,可测性设计。芯片内部往往都自带测试电路,DFT的目的就是在设计的时候就考虑将来的测试。DFT的常见方法就是,在设计中插入扫描链,将非扫描单元(如寄存器)变为扫描单元。关于DFT,有些书上有详细介绍,对照图片就好理解一点。
       DFT工具Synopsys的DFT Compiler
    2. 布局规划(FloorPlan)
      布局规划就是放置芯片的宏单元模块,在总体上确定各种功能电路的摆放位置,如IP模块,RAM,I/O引脚等等。布局规划能直接影响芯片最终的面积。
      工具为Synopsys的Astro
    3. CTS
       Clock Tree Synthesis,时钟树综合,简单点说就是时钟的布线。由于时钟信号在数字芯片的全局指挥作用,它的分布应该是对称式的连到各个寄存器单元,从而使时钟从同一个时钟源到达各个寄存器时,时钟延迟差异最小。这也是为什么时钟信号需要单独布线的原因。
       CTS工具,Synopsys的Physical Compiler
    4. 布线(Place & Route)          
      这里的布线就是普通信号布线了,包括各种标准单元(基本逻辑门电路)之间的走线。比如我们平常听到的0.13um工艺,或者说90nm工艺,实际上就是这里金属布线可以达到的最小宽度,从微观上看就是MOS管的沟道长度。
      工具Synopsys的Astro
    5. 寄生参数提取
      由于导线本身存在的电阻,相邻导线之间的互感,耦合电容在芯片内部会产生信号噪声,串扰和反射。这些效应会产生信号完整性问题,导致信号电压波动和变化,如果严重就会导致信号失真错误。提取寄生参数进行再次的分析验证,分析信号完整性问题是非常重要的。
      工具Synopsys的Star-RCXT
    6. 版图物理验证
      对完成布线的物理版图进行功能和时序上的验证,验证项目很多,如LVS(Layout Vs Schematic)验证,简单说,就是版图与逻辑综合后的门级电路图的对比验证; DRC(Design Rule Checking):设计规则检查,检查连线间距,连线宽度等是否满足工艺要求,ERC(Electrical Rule Checking):电气规则检查,检查短路和开路等电气 规则违例;等等。
      工具为Synopsys的Hercules
   实际的后端流程还包括电路功耗分析,以及随着制造工艺不断进步产生的DFM(可制造性设计)问题,在此不说了。
   物理版图验证完成也就是整个芯片设计阶段完成,下面的就是芯片制造了。物理版图以GDSII的文件格式交给芯片代工厂(称为Foundry)在晶圆硅片上做出实际的电路,再进行封装和测试,就得到了我们实际看见的芯片。

二. 实现方法;
      1>IC从生产目的上可以分成为通用IC(如CPU,DRAM,接口芯片等)和ASIC(Application Specific Integreted Circuit)两种,ASIC是因应专门用途而生产的IC。

      1>IC从生产目的上可以分成为通用IC(如CPU,DRAM,接口芯片等)和ASIC(Application Specific Integreted Circuit)两种,ASIC是因应专门用途而生产的IC。
      2>从结构可以分成数字IC,模拟IC,数模混合IC三种,而SOC(system on chip)则成为发展的方向。
      3>从实现方式上讲可以分为三种。
            1.基于晶体管级,所有器件和互连版图都采用人工的称为全定制(full-custom)设计,这种方法比较适合于大批量生产 的,要求集成度高、速度快、面积小、功耗低的通用型IC或是ASIC。
            2.基于门阵(Gate-Array)和标准单元(Standard-Cell)的半定 制设计(Semi-custom)由于其成本低、周期短、芯片利用率低而适合于批量小、要求推出速度快的芯片 。
            3.基于IC生产厂家已经封装好的PLD(Programmable Logical Design)芯片的设计,因为其易用性、“可重写性”受到对集成电路工艺不太了解的系统集成用户的欢迎。他的最大特点就是只须懂得硬件描述语言就可以使 用特殊EDA工具“写入”芯片功能。但PLD集成度低、速度慢、芯片利用率低的缺点使他只适合新产品的试制和小批量生产。近年来PLD中发展最活跃的当属 FPGA(Field Programmable Gate Array)器件.

      4>从采用的工艺可以分成双极型(bipolar),MOS和其他的特殊工艺。硅(Si)基半导体工艺中的双极型器件由于功耗大、集成度相对低,在近年随亚微 米深亚微米工艺的的迅速发展,在速度上对MOS管已不具优势,因而很快被集成度高,功耗低、抗干扰能力强的MOS管所替代。MOS又可分为NMOS、 PMOS和CMOS三种;其中CMOS工艺发展已经十分成熟,占据IC市场的绝大部分份额。AsGa器件因为其在高频领域(可以在0.35um下很轻松作 到10GHz)如微波IC中的广泛应用,其特殊的工艺也得到了深入研究。而应用于视频采集领域的CCD传感器虽然也使用IC一样的平面工艺,但其实现和标 准半导体工艺有很大不同。
      5>从设计方法可以分成自顶而下(top-down)和自底而上两种方法。top-down的设计方法
      在IC开发中,根据不同的项目要求,根据项目经费和可供利用的EDA工具和人力资源,根据代工厂的工艺实际,采用不同的实现方法是很重要的决策.
参考资料:http://blog.sina.com.cn/s/blog_5f6108e80100cybp.html
              http://bbs.eetop.cn/thread-254218-1-1.html

你可能感兴趣的:(SoC)