IC從生產目的上可以分成為通用IC(如CPU,DRAM,接口芯片等)和ASIC(ApplicationSpecificIntegreted Circuit)兩種,ASIC是因應專門用途而生產的IC。
       
       從結構可以分成數字IC,模擬IC,數模混合IC三種,而SOC(systemonchip)則成為發展的方向。從實現方式上講可以分為三種。基于晶體管級,所有器件和互連版圖都采用人工的稱為全定制(full-custom)設計,這種方法比較適合于大批量生產的,要求集成度高、速度快、面積小、功耗低的通用型IC或是ASIC。基于門陣(Gate-Array)和標準單元(Standard-Cell)的半定制設計(Semi-custom)由于其成本低、周期短、芯片利用率低而適合于批量小、要求推出速度快的芯片。基于IC生產廠家已經封裝好的PLD(ProgrammableLogicalDesign)芯片的設計,因為其易用性、“可重寫性”受到對集成電路工藝不太了解的系統集成用戶的歡迎。他的最大特點就是只須懂得硬件描述語言就可以使用特殊EDA工具“寫入”芯片功能。但PLD集成度低、速度慢、芯片利用率低的缺點使他只適合新產品的試制和小批量生產。近年來PLD中發展最活躍的當屬FPGA(FieldProgrammableGate Array)器件。
       
       從采用的工藝可以分成雙極型(bipolar),MOS和其他的特殊工藝。硅(Si)基半導體工藝中的雙極型器件由于功耗大、集成度相對低,在近年隨亞微米深亞微米工藝的的迅速發展,在速度上對MOS管已不具優勢,因而很快被集成度高,功耗低、抗干擾能力強的MOS管所替代。MOS又可分為NMOS、PMOS和CMOS三種;其中CMOS工藝發展已經十分成熟,占據IC市場的絕大部分份額。AsGa器件因為其在高頻領域(可以在0.35um下很輕松作到10GHz)如微波IC中的廣泛應用,其特殊的工藝也得到了深入研究。而應用于視頻采集領域的CCD傳感器雖然也使用IC一樣的平面工藝,但其實現和標準半導體工藝有很大不同。
        
       從設計方法可以分成自頂而下(top-down)和自底而上兩種方法。top-down的設計方法在IC開發中,根據不同的項目要求,根據項目經費和可供利用的EDA工具和人力資源,根據代工廠的工藝實際,采用不同的實現方法是很重要的決策。技術創新和緊跟潮流是IC公司良性循環的根本保證;
IC芯片設計IC芯片設計IC芯片設計IC芯片設計IC芯片設計IC芯片設計
IC設計中所使用的EDA工具;
        
       IC設計中EDA工具的日臻完善已經使工程師完全擺脫了原先手工操作的蒙昧期。IC設計向來就是EDA工具和人腦的結合。隨著IC不斷向高集成度、高速度、低功耗、高性能發展,沒有高可靠性的計算機輔助設計手段,完成設計是不可能的。
       IC設計的EDA工具真正起步于80年代,1983年誕生了第一臺工作站平臺apollo;20年的發展,從硬件描述語言(或是圖形輸入工具)到邏輯仿真工具(LOGICSIMULICATION),從邏輯綜合(logicsynthesis)到自動布局布線(autoplane&route)系統;從物理規則檢測(DRC&ERC)和參數提取(LVS)到芯片的最終測試;現代EDA工具幾乎涵蓋了IC設計的方方面面。
        
       提到IC設計的EDA工具就不能不說cadence公司,隨著compass的倒閉,它成為這個行業名副其實的“老大”cadence提供了ICdesign中所涉及的幾乎所有工具;但它的工具和它的名氣一樣的值錢!現代IC技術的迅猛發展在EDA軟件廠家中掀起并購、重組熱潮。      
除CADENCE公司以外,比較有名的公司包括mentor,avanti,synopsys和INVOEDA;mentor和cadence一樣是一個在設計的各個層次都有開發工具的公司,而AVANTI因其模擬仿真工具HSPICE出名,SYNOPSYS則因為邏輯綜合方面的成就而為市場認可。

下面我們根據設計的不同階段和層次來談談這些工具;
(1)輸入工具(designinput):對自頂而下的(TOP-DOWN)設計方法,往往首先使用VHDL或是VERILOGHDL來完成器件的功能描述,代表性的語言輸入工具有SUMMIT公司的VISUALHDL和MENTOR公司的RENIOR等。雖然很多的廠家(多為FPGA廠商)都提供自己專用的硬件描述語言輸入,如ALTRA公司的AHDL,但所有的公司都提供了對作為IEEE標準的VHDL,VERILOGHDL的支持。
對自下而上的設計,一般從晶體管或基本門的圖形輸入開始,這樣的工具代表性的有cadence公司的composer;viewlogic公司的viewdraw等,均可根據不同的廠家庫而生成和輸入晶體管或門電路相對應的模擬網表。
(2)電路仿真軟件(circuit simulation):(分為數字和模擬兩大類)。
電路仿真工具的關鍵在于對晶體管物理模型的建立,最切和實際工藝中晶體管物理特性的模型必然得到和實際電路更符合的工作波形,隨IC集成度的日益提高,線寬的日趨縮小,晶體管的模型也日趨復雜。任何的電路仿真都是基于一定的廠家庫,在這些庫文件中制造廠為設計者提供了相應的工藝參數;如TSMC0.18umCuCMOS工藝的相關參數高達300個之多;
       可以用于數字仿真的工具有很多,先期邏輯仿真的目的只是為了驗證功能描述是否正確。對于使用verilogHDL生成的網表,cadence公司的verilog-XL是基于UNIX工作站最負盛名的仿真工具;而近年隨PC工作站的出現,viewlogic的VCS和mentor公司的modelsim因其易用性而迅速崛起并成為基于廉價PC工作站的數字仿真工具的后起之秀;對于VHDL網表仿真,cadence公司提供LEAFROG;SYNOPSYS公司有VSS,而mentor公司基于PC的MODELSIM則愈來愈受到新手們的歡迎。
PSPICE最早產生于Berkley大學,經歷數十年的發展,隨晶體管線寬的不斷縮小,PSPICE也引入了更多的參數和更復雜的晶體管模型。使的他在亞微米和深亞微米工藝的今天依舊是模擬電路仿真的主要工具之一。AVANTI是IC設計自動化軟件的“英雄少年”,它的HSPICE因其在亞微米和深亞微米工藝中的出色表現而在近年得到了廣泛的應用。cadence公司的spectre也是模擬仿真軟件,但應用遠不及PSPICE和HSPICE廣泛;
對于特殊工藝設計而言,由于它們使用的不是Si基bipolar或CMOS工藝,因而也有不同的設計方法和仿真軟件;例如基于AsGa工藝的微波器件所使用的工具,較著名的有HP的eesoft等;
(3)綜合工具(synthesistools):用于FPGA和CPLD的綜合工具包括有cadence的synplify;synopsys公司的FPGAexpress和FPGAcompiler;mentor公司的leonardospectrum;一般而言不同的FPGA廠商提供了適用于自己的FPGA電路的專用仿真綜合工具,比如altera公司的MAXPLUS2僅僅適用它自己的MAX系列芯片;而foundation則為XILINX器件量身定做……
最早的IC綜合工具應該是cadence的buildgates;而Cadence最新版本的EnvisiaAmbit(R)則在99年在ASICinternational公司成功用于240萬門的設計。使用較廣泛的還有synopsys的designcompiler和behavialcompiler;基于不同的庫,邏輯綜合工具可以將設計思想轉化成對應一定工藝手段的門級電路;將初級仿真中所沒有考慮的門沿(gatesdelay)反標到生成的門級網表中,返回電路仿真階段進行再仿真。最終仿真結果生成的網表稱為物理網表。
(4)layout工具和自動布局布線(auto plane &route)工具cadence的designframework是常用的基于UNIX工作站的全定制設計的布局布線軟件,和siliconensemble,Envisiaplace &route DSM; (cadence的版圖輸入工具Virtuoso)
(5)物理驗證(physicalvalidate)和參數提取(LVS)工具依然可以分成為ASIC和FPGA兩大類。ASIC設計中最有名、功能最強大的是cadence的DRECULA,可以一次完成版圖從DRC(設計規則檢查),ERC(電氣特性檢查)到LVS(寄生參數提取)的工序;DIVA作為其相對較弱的軟件多提供給教學用途;AVANTI的STAR-RC也是用于物理驗證的強力工具,而hercules則是其LVS的排頭兵。如同綜合工具一樣,FPGA廠商的物理驗證和參數提取多采用專門的軟件、并和其仿真綜合工具集成在一起。ALTERA的MAXPLUS2和XILINX的FOUNDATION是這樣的典型;
(6)由于VLSI尤其是ULSI電路的預投片費用都相當的高(如TSMC0.25umCMOS工藝一次預投片的費用為100萬美圓,而0.18umCuCMOS3.3V工藝的一次預投竟高達300萬美圓)。因而對ASIC芯片,要求芯片設計盡量正確。最好完全消滅錯誤;解決功耗分析;生成用于芯片測試目的的特殊測試電路;因應這一要求,也產生了一些特殊的EDA工具,以完成諸如poweranalysis、故障覆蓋率分析、測試矢量生成等目的。現代VLSI特別是ULSIIC的迅速發展,正是依靠EDA工具在亞微米和深亞微米技術上的進步及其對應工藝水平的提高。應該說沒有EDA工具就沒有IC;

最新文章

  1. Unity 依赖注入之一
  2. CentOS 7中如何安装mysql server
  3. vs发布的程序不依赖运行时库msvcp100.dll
  4. 【转】解决IIS7该问.svc文件的错误问题
  5. oracle启动脚本 .
  6. dede 字符串截取
  7. android studio1.3安装终于成功
  8. Com和DCOM
  9. R基础
  10. Clojure 学习入门(19)—— 数组
  11. C++网络爬虫抓取图片
  12. Delphi @ # $ 特殊字符含义
  13. 使用Canvas制作时钟动画
  14. Mysql 一次性备份导出/导入恢复所有数据库
  15. IF判断条件说明
  16. python时间模块小结
  17. 关于DDS的基础知识
  18. Unity3D中录制和输出wav文件
  19. js获取css样式封装
  20. iOS的block内存管理

热门文章

  1. php动态分页类
  2. Ubuntu中使用终端运行Hadoop程序
  3. MongoDB 聚合
  4. Protocol buffer序列化及其在微信蓝牙协议中的应用
  5. ie11只能用管理员身份打开解决办法
  6. android图片处理方法(转)
  7. 11、SQL Server 视图、数据库快照
  8. css.day05
  9. 触发TreeView的TreeNodeCheckChanged事件
  10. C# 实现文件夹的复制以及删除