Cadence使用參考手冊.doc
《Cadence使用參考手冊.doc》由會員分享,可在線閱讀,更多相關(guān)《Cadence使用參考手冊.doc(386頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、Cadence 使用參考手冊 鄧海飛微電子學(xué)研究所設(shè)計室 2000年7月 目錄 概述 1 1.1 Cadence概述 1 1.2 ASIC設(shè)計流程 1 第一章 Cadence 使用基礎(chǔ) 5 2.1 Cadence 軟件的環(huán)境設(shè)置 5 2.2 Cadence軟件的啟動方法 10 2.3庫文件的管理 12 2.4文件格式的轉(zhuǎn)化 13 2.5 怎樣使用在線幫助 13 2.6 本手冊的組成 14 第二章 Verilog-XL 的介紹 15 3. 1 環(huán)境設(shè)置 15 3.2 Verilog-XL的啟動 15 3.3 Verilog-XL的界面 17 3
2、.4 Verilog-XL的使用示例 18 3.5 Verilog-XL的有關(guān)幫助文件 19 第四章 電路圖設(shè)計及電路模擬 21 4.1 電路圖設(shè)計工具Composer 21 4.1.1 設(shè)置 21 4.1.2 啟動 22 4.1.3 用戶界面及使用方法 22 4.1.4 使用示例 24 4.1.5 相關(guān)在線幫助文檔 24 4.2 電路模擬工具Analog Artist 24 4.2.1 設(shè)置 24 4.2.2 啟動 25 4.2.3 用戶界面及使用方法 25 4.2.5 相關(guān)在線幫助文檔 25 第五章 自動布局布線 27 5.1 Cadence中的自動布局布線流
3、程 27 5.2 用AutoAbgen進(jìn)行自動布局布線庫設(shè)計 28 第六章 版圖設(shè)計及其驗證 30 6.1 版圖設(shè)計大師Virtuoso Layout Editor 30 6.1.1 設(shè)置 30 6.1.2 啟動 30 6.1.3 用戶界面及使用方法 31 6.1.4 使用示例 31 6.1.5 相關(guān)在線幫助文檔 32 6.2 版圖驗證工具Dracula 32 6.2.1 Dracula使用介紹 32 6.2.2 相關(guān)在線幫助文檔 33 第七章 skill語言程序設(shè)計 34 7.1 skill語言概述 34 7.2 skill語言的基本語法 34 7.3 Skil
4、l語言的編程環(huán)境 34 7.4面向工具的skill語言編程 35 附錄1 技術(shù)文件及顯示文件示例 60 附錄2 Verilog-XL實例文件 72 1.Test_memory.v 72 2.SRAM256X8.v 73 3.ram_sy1s_8052 79 4.TSMC庫文件 84 附錄3 Dracula 命令文件 359 概述 作為流行的EDA工具之一,Cadence一直以來都受到了廣大EDA工程師的青睞。然而Cadence的使用之繁瑣,又給廣大初學(xué)者帶來了不少麻煩。作為一位過來人,本人對此深有體會。本著為初學(xué)者拋磚引玉的目的,本人特意編寫了這本小冊子,將自己數(shù)年來使
5、用Cadence的經(jīng)驗加以總結(jié),但愿會對各位同行有所幫助。本冊子的本意在于為初學(xué)者指路,故不會對個別工具進(jìn)行很詳細(xì)的介紹,只是對初學(xué)者可能經(jīng)常使用的一些工具加以粗略的介紹。其中可能還請各位同行加以指正。 1.1 Cadence概述 Cadence是一個大型的EDA軟件,它幾乎可以完成電子設(shè)計的方方面面,包括ASIC設(shè)計、FPGA設(shè)計和PCB板設(shè)計。與眾所周知的EDA軟件Synopsys相比,Cadence的綜合工具略為遜色。然而,Cadence在仿真、電路圖設(shè)計、自動布局布線、版圖設(shè)計及驗證等方面卻有著絕對的優(yōu)勢。Cadence與Synopsys的結(jié)合可以說是EDA設(shè)計領(lǐng)域的黃金搭檔。此外
6、,Cadence公司還開發(fā)了自己的編程語言skill,并為其編寫了編譯器。由于skill語言提供編程接口甚至與C語言的接口,所以可以以Cadence為平臺進(jìn)行擴展,用戶還可以開發(fā)自己的基于Cadence的工具。實際上,整個Cadence軟件可以理解為一個搭建在skill語言平臺上的可執(zhí)行文件集。所有的Cadence工具都是用Skill語言編寫的,但同時,由于Cadence的工具太多,使得Cadence顯得有點凌亂。這給初學(xué)者帶來了更多的麻煩。 Cadence包含的工具較多,幾乎包括了EDA設(shè)計的方方面面。本小冊子旨在向初學(xué)者介紹Cadence的入門知識,所以不可能面面具到,只能根據(jù)ASIC設(shè)
7、計流程,介紹一些ASIC設(shè)計者常用的工具,例如仿真工具Verilog-xl,布局布線工具Preview和Silicon Ensemble,電路圖設(shè)計工具Composer,電路模擬工具Analog Artist,版圖設(shè)計工具Virtuoso Layout Editor,版圖驗證工具Dracula,最后介紹一下Skill語言的編程。 1.2 ASIC設(shè)計流程 設(shè)計流程是規(guī)范設(shè)計活動的準(zhǔn)則,好的設(shè)計流程對于產(chǎn)品的成功至關(guān)重要。本節(jié)將通過與具體的EDA工具(Synopsys和Cadence)相結(jié)合,概括出一個實際可行的ASIC設(shè)計的設(shè)計流程。圖1-1是實際設(shè)計過程中較常用的一個流程。
8、 (接下一頁) 圖1-1 ASIC設(shè)計流程圖 N 這是深亞微米設(shè)計中較常用的設(shè)計流程。在該設(shè)計流程中,高層次綜合和底層的布局布線之間沒有明顯的界線,高層設(shè)計時必須考慮底層的物理實現(xiàn)(高層的劃分與布局規(guī)劃)。同時,由于內(nèi)核(Core)的行為級模型有其物理實現(xiàn)的精確的延時信息,使得設(shè)計者可在設(shè)計的早期兼顧芯片的物理實現(xiàn),從而可以較精確的估計互連的延時,以達(dá)到關(guān)鍵路徑的延時要求。同時,布局布線后提取的SDF文件將被反標(biāo)到綜合后的門級網(wǎng)表中以驗證其功能和時序是否正確。 從該流程中可看出,在實際設(shè)計中較常用到的Cadence的工具有Verilog HDL仿真工具Verilog-XL
9、,電路設(shè)計工具Composer,電路模擬工具Analog Artist,版圖設(shè)計工具Virtuoso Layout Editor,版圖驗證工具Dracula和Diva以及自動布局布線工具Preview和Silicon Ensemble。本冊子將對這些工具作一個初步介紹。如果讀者想進(jìn)一步了解某個軟件的使用,可參考本冊子提供的相關(guān)在線文檔以進(jìn)一步熟練。 第一章 Cadence 使用基礎(chǔ) 2.1 Cadence 軟件的環(huán)境設(shè)置 要使用Cadence,必須在自己的計算機上作一些相應(yīng)的設(shè)置,這些設(shè)置包括很多方面,而且不同的工具可能都需要進(jìn)行各自的設(shè)置。讀者如果遇到這方面的問題,可以參考一下open
10、book中的Configuration Guides及各工具的user guide或者reference,其訪問的方法是 main menu-> System Administration-> Configuration Guides。但作為初學(xué)者,只需進(jìn)行以下幾項設(shè)置: 1. .cshrc文件的設(shè)置 首先要在自己的.cshrc文件中設(shè)置Cadence軟件所在的路徑,所使用的licence文件等。下面的代碼為.cshrc中設(shè)置的一個簡單示例,其中Cadence所在的目錄為/EDA04/cds97a/。 ################################
11、 Cadence # ############################### setenv CDS_ROOT /EDA04/cds97a setenv CDS_INST_DIR /EDA04/cds97a set path = ($path $CDS_INST_DIR/tools/dfII/bin $CDS_INST_DIR/tools/bin) setenv LM_LICENSE_FILE /EDA04/cds97a/share/license/ 對于某些Cadence中的工具也必須在.c
12、shrc中進(jìn)行一些設(shè)置。 2. .cdsenv文件設(shè)置 .cdsenv文件中包含了Cadence軟件的一些初始設(shè)置,該文件是用Skill語言寫成的。Cadence可直接執(zhí)行。 3. .cdsinit設(shè)置 與.cdsenv一樣,.cdsinit中也包含了Cadence軟件的一些初始化設(shè)置,該文件是用Skill語言寫成的。在Cadence啟動時,會首先自動調(diào)用這兩個文件并執(zhí)行其中的語句。若僅為初學(xué),可以不編寫這兩個文件,Cadence會自動調(diào)用隱含的設(shè)置。若想更改設(shè)置,可參考一些模板文件進(jìn)行編寫。在install_dir/tools/dfII/cdsuser目錄下有一些隱含的模板文件。下面
13、是一個簡單的.cdsinit文件: ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; Tutorial .cdsinit file ; By: Cris Reeser/Diane Goldberg ; Created: October 10, 1995 ; ; This initialization file contains the settings necessary to ; successfully run the Cell Design tuto
14、rial. Some of these may
; be redundant, if your site uses a site initialization file.
; For further information on initialization files, read the
; comments in the
15、nment Settings hiiSetFont("text" "-adobe-courier-bold-r-*-*-12-*") hiSetFormPosition(603:500) hinestLimit = 5 hiSetUndoLimit(10) hiExpertMode(nil) window(1)->useScrollbars = t window(1)->backingStore = t envSetVal("layout" "xSnapSpacing" float 0.5) envSetVal("layout" "y
16、SnapSpacing" float 0.5) envSetVal("layout" "segSnapMode" string "anyAngle") envSetVal("layout" "stopLevel" int 20) envLoadFile("./.cdsenv") ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; Bindkey Settings load(prependInstallPath("samples/local/")) load(prependInstall
17、Path("samples/local/")) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; RESIZE CIW ; CIW ; Note, hiFlush() is used as a workaround to display problem with ; resizing windows in SKILL. hiFlush() hiResizeWindow(window(1) list(3:3 750:200)) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
18、;;;;;;;;;;;;;;;;;;;;;;;;; ; Tutorial Customization ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; setSkillPath(". techFiles") ; Welcome the user fprintf(poport "************************************************\n") fprintf(poport "Welcome to the SRAM Compiler... %s\n" getShe
19、llEnvVar("USER")) printf( " \n" ) printf( "Done with initialization.\n" ) printf("************************************************\n") printf( " \n" ) printf( " \n" ) 從中可看出,Skill語言的語法與C語言的較為類似。經(jīng)過一定的學(xué)習(xí)后就很容易掌握。 4. 文件的設(shè)置 如果用戶需要加入自己的庫,則可以修改自己的庫管理文件。對于初次使用Cadence的用戶,Cadence會在用戶的當(dāng)前目錄下生成
20、一個文件,用戶通過CIW生成一個庫時,Cadence會自動將其加入文件中。下面是一個簡單的Cadence庫管理文件的示例: DEFINE ourTechLib /EDAHOME01/students/dhf/sram/dual/ourTechLib DEFINE sram /EDAHOME01/students/dhf/sram/dual/sram DEFINE basic ${CDS_INST_DIR}/tools/dfII/etc/cdslib/basic DEFINE sample ${CDS_INST_DIR}/tools/dfII/samples/cdslib/samp
21、le DEFINE analogLib /EDA04/cds97a/tools/dfII/etc/cdslib/artist/analogLib DEFINE pCells /EDAHOME01/students/dhf/sram/dual/pCells DEFINE hhh /EDAHOME01/students/dhf/sram/dual/hhh 其中,DEFINE為庫定義的保留字,ourTechLib、sram等為所定義的庫的名字,最后的字符串為保存庫的實際的物理目錄。 5. 技術(shù)庫的生成 技術(shù)文件庫對于IC設(shè)計而言是非常重要的,其中包含了很多設(shè)計中所必需的信息
22、。對于版圖設(shè)計者而言,技術(shù)庫就顯得更為重要了。要生成技術(shù)文件庫,必須先編寫技術(shù)文件。技術(shù)文件主要包括層的定義,符號化器件的定義,層、物理以及電學(xué)規(guī)則和一些針對特定的Cadence工具的規(guī)則的定義,例如自動布局布線的一些規(guī)則,版圖轉(zhuǎn)換成GDSII時所用到的層號的定義。技術(shù)文件的編寫可參考o(jì)penbook中有關(guān)技術(shù)文件的介紹并參考相應(yīng)的模板來進(jìn)行。其訪問順序為Main Menu->IC Tools->Design FramWork II->Technology File Help。附錄1中有一個簡單的技術(shù)文件示例。技術(shù)文件編好以后,就可以按照以下幾步生成技術(shù)庫: (1) 點擊CIW中的File菜
23、單選擇其中的New項中的Library項(如圖2-1所示),彈出圖2-2所示的表格。 (2) 在Name項中輸入所需的名字如myTecLib。保持如圖所示的設(shè)置,點擊ok。彈出如圖2-3所示的對話框。 (3) 在對話框中輸入編好的技術(shù)文件名如my.tf。這時,技術(shù)文件必須在啟動Cadence的當(dāng)前目錄。點擊ok。 (4) 經(jīng)過一段時間后,在CIW的顯示區(qū)會出現(xiàn)一個提示 Library myTecLib is created successfully. 對于非工藝庫的生成與工藝庫大體相同,只是在2-2中選擇attach to exited technology file,并在接下來
24、的過程中選擇相應(yīng)的工藝庫。 圖2-1 圖2-2 圖2-3 6. 顯示文件的設(shè)置 文件控制Cadence的顯示。其基本語法可參考o(jì)penbook中的相應(yīng)的介紹。附錄1中包含了一個的示例。 2.2 Cadence軟件的啟動方法 完成了一些必要的設(shè)置(對初學(xué)者只需設(shè)置.cshrc文件即可,其他設(shè)置都用隱含設(shè)置,等熟練了一些之后,再進(jìn)一步優(yōu)化自己的使用環(huán)境),就可以啟動Cadence軟件。啟動Cadence軟件的命令有很多,不同的啟動命令可以啟動不同的工具集,常用的啟動命令有icfb,icca等,也可以單獨啟動單個工具,例如啟動Viruoso Layout Editor可以
25、用layoutPlus來啟動,Silicon Ensemble可以用sedsm來啟動。以icfb為例,先在UNIX提示符下輸入icfb&,再按回車,經(jīng)過一段時間,就會出現(xiàn)如圖2-4所示的CIW(Command Interpreter Window)窗口。從CIW窗口就可以調(diào)用許多工具并完成許多任務(wù)。 CIW窗口是使用Cadence時遇到的第一個窗口,是Cadence主要的用戶界面。它主要包括以下幾個部分: 1. Title Bar顯示使用的軟件名及l(fā)og文件目錄。如圖2-4中的最上一行 icfb-log:/ EDAHOME01/students/dhf/。 2. Menu Banner
26、 3. Output Area 輸出Cadence對用戶命令的反應(yīng)。 4. Input Line 可用來輸入Skill命令。 5. Mouse Bindings Line 顯示捆綁在鼠標(biāo)左中右三鍵上的快捷鍵。 6. Scrolling bar to Scroll Through the Log File Cadence將許多常用工具集成在一塊以完成一些典型的任務(wù),圖2-5總結(jié)了一些常用的啟動命令及其可使用的工具。用戶可根據(jù)自己的需要選擇最少的命令集。 圖2-4 CIW窗口 圖2-5 Cadence啟動命令 2.3庫文件的管理 啟動了Cadence后,就可以利用Fi
27、le菜單建立自己的工作庫,點擊CIW窗口上的File菜單,選定其中的New lib項,彈出如圖2-2所示的對話框,輸入庫名并選擇相應(yīng)的工藝庫,然后選擇ok,這時在CIW的顯示區(qū)會出現(xiàn)如下提示: The lib is created successfully! 新建的庫是一個空的庫,里面什么也沒有,用戶可在庫中生成自己所需的單元。例如可以生成一個反相器單元,并為其生成一個電路及一個版圖視圖,其流程如下: 1. 選擇File菜單中的New項,并選擇Cellview項,則彈出如圖2-6所示的對話框,選擇所需的庫并輸入單元名inv,并選擇視圖類型Schematic,再點擊ok按鈕。則彈出如圖2-
28、7所示的窗口。 2. 用Add菜單中的Component命令調(diào)用analogLib中的單元,輸入PMOS和NMOS管以及電源和地。如圖2-8所示。 3. 點擊Check and save 命令保存。 用同樣的流程可生成inv的版圖視圖。利用Tools中的library manager可以對庫進(jìn)行管理。 圖2-6 圖2-7 圖2-8 2.4文件格式的轉(zhuǎn)化 Cadence有自己的內(nèi)部數(shù)據(jù)格式,為了與其他EDA軟件之間進(jìn)行數(shù)據(jù)交換,Cadence提供內(nèi)部數(shù)據(jù)與標(biāo)準(zhǔn)數(shù)據(jù)格式之間的轉(zhuǎn)換。點擊CIW的File菜單中的Import可將各種外部數(shù)據(jù)格式轉(zhuǎn)換成Cadence內(nèi)部數(shù)據(jù)格
29、式,利用CIW的File菜單中的Export可將各種Cadence內(nèi)部數(shù)據(jù)格式轉(zhuǎn)換成外部標(biāo)準(zhǔn)數(shù)據(jù)格式。 2.5 怎樣使用在線幫助 學(xué)習(xí)Cadence的最好教材是使用在線幫助,Cadence的在線幫助是用openbook命令來啟動的。在UNIX提示符下輸入openbook&并回車就可以啟動在線幫助。要拷貝在線幫助中的文件可以先按下control鍵,并用左鍵進(jìn)行選擇,然后用copy進(jìn)行拷貝。如果想要知道一些關(guān)于如何使用openbook的技巧,可在系統(tǒng)提示符下輸入 openbook help & 即可。 2.6 本手冊的組成 在本手冊中將按照ASIC設(shè)計流程分別在第三章介紹高層的
30、HDL工具,例如Verilog仿真工具Verilog-xl。第四章介紹電路圖設(shè)計工具Composer及電路模擬工具Analog Artist。第五章介紹自動布局布線Preview和Silicon Ensemble。第六章介紹版圖設(shè)計工具Virtuoso Layout Editor和驗證工具Dracula和Diva。第七章將介紹Skill語言的編程。 第二章 Verilog-XL 的介紹 人們在進(jìn)行電子設(shè)計時較常用的輸入方法有兩種,一種為硬件描述語言,一種為電路圖輸入。隨著ASIC設(shè)計技術(shù)的發(fā)展,以HDL作為輸入的設(shè)計方法已成為ASIC設(shè)計的主流。目前較常用的硬件描述語言有VHDL和Veri
31、log兩種。相對而言,Verilog在工業(yè)上用的較為平常。故本小冊子的討論集中在Verilog上。作為EDA設(shè)計的主流軟件之一,Cadence提供了對Verilog及VHDL的強大支持。尤其是Verilog,Cadence很早就引入了Verilog,并為其開發(fā)了一整套工具。而其中最出色的當(dāng)數(shù)Verilog的仿真工具Verilog-XL。Verilog-XL一直以其友好的用戶界面及強大的功能而受到廣大Verilog用戶的青睞。本章將分五個方面一一對對其進(jìn)行一個較為詳盡的介紹。 3. 1 環(huán)境設(shè)置 對于一般的Cadence的用戶而言,可能不需要進(jìn)行任何設(shè)置就可啟動Verilog-XL。用戶可
32、輸入下列命令看自己是否可訪問Verilog-XL:
which verilog
如果可以訪問Verilog-XL,會有類似如下的反應(yīng):
/EDA04/cds97a/ tools/bin/verilog
否則,必須在.cshrc中用set path命令加入以上路徑。
3.2 Verilog-XL的啟動
Verilog-XL的啟動命令為verilog,它可以附帶很多可選項,下面是其各選項及其意義:
Valid host command options for verilog:
-f
33、file
-v
34、ame
-k
35、 +turbo+2 +turbo with second level optimizations. +turbo+3 +turbo+2 with third level optimizations. +listcounts generate code for maintaining information for $listcounts +no_turbo dont use a VXL-TURBO license. +noxl disable XL acceleration of gates in all mo
36、dules Special environment invocation options (if licensed): +gui invoke the verilog graphical environment 下面是幾個簡單的使用示例,在UNIX提示符下輸入這些命令即可啟動Verilog-XL: Example host commands to run VERILOG: verilog sio85.v verilog f1 f2 f3 verilog -s sio85.v verilog -r -l -k veril
37、og -r -si verilog -dqcr 一般較常用的啟動方法是: verilog –s +gui –v libname –f scriptFile sourcefilename & 其中,libname為所使用的庫的名字,scriptFile為用可選項編寫的命令文件。 3.3 Verilog-XL的界面 運行以上的啟動命令后,如果未發(fā)生什么錯誤,就會彈出下圖所示的用戶界面,這就是Verilog-XL的SimControl窗口,從該圖形界面中,可控制仿真的執(zhí)行。 圖3-1 Verilog-XL 的圖形界面 Verilog-XL的圖形界面主要有以下幾
38、個窗口: 1. SimControl SimControl窗口是主要的仿真控制窗口,當(dāng)用帶有+gui選項的verilog命令啟動Verilog-XL時,就會彈出這個窗口。通過這個窗口,用戶可以顯示設(shè)計的模塊結(jié)構(gòu),運行Verilog-XL命令,設(shè)置及顯示斷點,強行給變量賦值等等。通過這個窗口可以實現(xiàn)用戶與仿真的交互,從而達(dá)到對仿真的控制。 2. Navigator 通過點擊SimControl窗口右上角的星形圖標(biāo)即可激活Navigator窗口。該窗口可用來圖形化顯示設(shè)計的層次,設(shè)計中的實體及其變量。 3. Signal Flow Browser 4. Watch Objects W
39、indow 5. SimWave SimWave窗口可以用來顯示已經(jīng)選擇并跟蹤了的信號的波形。 3.4 Verilog-XL的使用示例 介紹了Verilog-XL的啟動和用戶界面后,下面我們將通過一個具體的實例來演示Verilog-XL的使用。在附錄2中有本示例所需的文件,在本示例中,將對一個SRAM模塊SRAM256X8.v進(jìn)行仿真。在這個SRAM模塊中又包含了一個子模塊ram_sy1s_8052.v。所調(diào)用的為TSMC的0.35um的庫。test_bench為test_memory.v,在該test_bench中首先對SRAM進(jìn)行寫,然后進(jìn)行讀。下面按照一個簡單的流程來對這個SR
40、AM進(jìn)行模擬: 1. 在UNIX提示符下輸入: verilog -c -v tcb773s.v test_memory.v & 來對源文件進(jìn)行調(diào)試,如果沒有錯誤,會顯示0 Simulation events。 2. 沒有錯誤之后,就可以啟動Verilog-XL的圖形界面: verilog –s +gui –v tcb773s.v test_memory.v & 則會彈出如圖3-2所示的窗口。 3. 跟蹤自己所需要的波形信號。 4. 按運行按鈕或在命令行輸入原點并回車,即可運行,按停止按鈕即可停止。停止后波形會自動更新。 圖3-2 3.5 Verilog-XL的
41、有關(guān)幫助文件 與Verilog-XL有關(guān)的幫助文件主要有以下一些: Verilog-XL Reference Verilog-XL User Guide Verilog-XL Tutorial SimCompare User Guide SimWave User Guide VPI User Guide and Reference (formerly PLI 2.0) PLI 1.0 User Guide and Reference PLI Application Note: Back Annotation and Delay Calculation PLI Ap
42、plication Note: Using the Value Change Link LMC Hardware Modeling Interface Reference and User Guide Graphical Output for the Verilog Product Family Reference SDF Annotator User Guide Central Delay Calculator Algorithm Guide Timing Library Format Reference Verilog Language Sensitive Editor
43、 User Guide 可通過如下順序?qū)@些文檔進(jìn)行訪問:Main menu->HDL Tools->Verilog-XL。 第四章 電路圖設(shè)計及電路模擬 設(shè)計的輸入除了可以用硬件描述語言(如VHDL及Verilog)外,還可以用電路圖輸入。在早期的ASIC設(shè)計中,電路圖起著更為重要的作用,作為流行的EDA軟件,Cadence提供了一個優(yōu)秀的電路圖編輯工具Composer。Composer不但界面友好,操作方便,而且功能非常強大。 電路圖設(shè)計好后,其功能是否正確,性能是否優(yōu)越,必須通過電路模擬才能進(jìn)行驗證。Cadence同樣提供了一個優(yōu)秀的電路模擬軟件,Analo
44、g Artist。由于Analog Artist通過Cadence與Hspice的接口調(diào)用Hspice對電路進(jìn)行模擬。本章將介紹電路圖設(shè)計工具Composer和電路模擬軟件Analog Artist的設(shè)置、啟動、界面及使用方法、簡單的示例以及相關(guān)的輔助文件。以便讀者能對這兩種工具有一個初步的理解。 4.1 電路圖設(shè)計工具Composer Composer是一種設(shè)計輸入的工具,邏輯或者電路設(shè)計工程師,物理設(shè)計工程師甚至PCB板設(shè)計工程師可以用它來支持自己的工作。 4.1.1 設(shè)置 對于一般的Cadence的用戶而言,可能不需要進(jìn)行任何設(shè)置就可啟動Composer。但有時必須設(shè)置快捷鍵,
45、否則所有的快捷鍵就會失靈,給使用帶來一些不便。在設(shè)計時,快捷鍵往往會有很大的作用。 此外,在電路設(shè)計中可能需要用到一些符號庫,例如sample庫,basic庫,analogLib庫,只需在文件中加入以下一段代碼: DEFINE basic ${CDS_INST_DIR}/tools/dfII/etc/cdslib/basic DEFINE sample ${CDS_INST_DIR}/tools/dfII/samples/cdslib/sample DEFINE analogLib /EDA04/cds97a/tools/dfII/etc/cdslib/artist/analo
46、gLib 4.1.2 啟動 Composer的啟動很簡單,在啟動Cadence后,從CIW窗口中打開或新建一個單元的Schematic視圖,就會自動啟動Composer的用戶界面。用戶即可在其中放入單元及連線,以構(gòu)成電路圖。 4.1.3 用戶界面及使用方法 圖4-1是Composer的圖形界面,在該用戶界面中,大部分面積是右下角的顯示區(qū)。左邊的圖標(biāo)是一些常用的工具,讀者可以自己啟動Composer,然后熟悉一下Composer的用戶界面。下面將簡單介紹一下電路圖設(shè)計及符號(Symbol)設(shè)計的簡單流程。 圖4-1 Composer的用戶界面 圖4-2是編輯電路圖的一般流程為:
47、 1. 首先用Component命令調(diào)用符號庫中的元件來添加元件,如圖的nand3。 2. 添加完所有的元件后就可以加入pin,可通過add菜單中的pin項來進(jìn)行添加。 3. 布線及標(biāo)線名,可通過wire命令布線,通過更改其屬性標(biāo)上線名。 4. 添加節(jié)點 5. 加注釋 6. 加整體屬性,如一些自動布局布線屬性。 圖4-2 電路圖設(shè)計的簡單流程 符號是用來代表元件的簡單符號,如反相器用一個三角形代替。在Cadence中,當(dāng)上層調(diào)用下層單元和進(jìn)行上下級映射時通常調(diào)用其符號。所以,符號在電路設(shè)計中起著很重要的作用。與啟動Schematic Editor類似,通過在CIW窗口
48、中新建或打開一個單元的symbol視圖,就可啟動Symbol Editor。圖4-3是編輯符號的一般流程,主要包括以下幾步: 1. 在編輯區(qū)加入一些基本的圖形。 2. 加入符號的pin。 3. 加入連接基本圖形與pin的線。 4. 加入符號的標(biāo)記,如inv。 5. 加入選擇外框。 6. 加入文本注釋 7. 更改整體屬性 圖4-3 符號設(shè)計的簡單流程 4.1.4 使用示例 在openbook中有一個關(guān)于Composer的教程,如果讀者需要經(jīng)常用到電路圖,本人建議你不妨去走一遍那個教程,對你一定會有幫助的。該教程可安如下順序進(jìn)行訪問。Main Menu-> IC Tool
49、s->Tutorials-> Composer。 4.1.5 相關(guān)在線幫助文檔 Composer: Design Entry help 4.2 電路模擬工具Analog Artist Cadence提供進(jìn)行電路模擬的工具Analog Artist。Anglog Artist通過調(diào)用Hspice進(jìn)行電路模擬,然后進(jìn)行各種后續(xù)處理并顯示結(jié)果。 4.2.1 設(shè)置 在運行Analog Artist之前,必須在.cshrc中設(shè)置以下語句: setenv CDS_Netlisting_Mode Analog 此外,最好能從Cadence的安裝目錄的Analog Artist中拷
50、貝與模擬器相應(yīng)的初始化文件。 4.2.2 啟動 Analog Artist的啟動方法有很多種,可以從Composer的Tools菜單中執(zhí)行,也可以從CIW的Tools菜單中執(zhí)行。 4.2.3 用戶界面及使用方法 圖4-4是Analog Artist的用戶界面,關(guān)于具體的使用方法請參考o(jì)penbook中的相應(yīng)手冊。但有一點想提醒大家,大家使用的licence可能不允許使用Analog Artist。如果在微所使用Analog Artist且用Hspice為模擬器,似乎激勵文件用cdsspice格式才可調(diào)通,有興趣的讀者可以一試。 4.2.5 相關(guān)在線幫助文檔 與A
51、nalog artist相關(guān)的在線文檔有: Analog Artist Simulation Help Analog Artist Microwave Design Help Analog Artist Mixed-Signal Simulation Help Analog Artist Parametric Analysis Help Analog Artist Substrate Coupling Analysis (SCA) Help Analog Artist SKILL Functions Reference Analog Expression Language
52、 Reference Cadence SPICE Reference Component Description Format User Guide Functional Block Library Reference HSPICE/SPICE Interface and SPICE 2G.6 Reference Spectre Reference Spectre User Guide SpectreHDL Reference SpectreRF Help Switched Capacitor Design System Help Analog Artist Tut
53、orial: Switched Capacitor Design Verilog-A Reference 通過順序 Main Menu-> IC Tools->Analog and Mixed Signal Simulation可以訪問 第五章 自動布局布線 5.1 Cadence中的自動布局布線流程 從第一章的ASIC設(shè)計流程中可看到,設(shè)計輸入經(jīng)過綜合和優(yōu)化后,就該對所生成的門級網(wǎng)表進(jìn)行自動布局布線。自動布局布線是連接邏輯設(shè)計和物理設(shè)計之間的紐帶。 在自動布局布線前必須進(jìn)行布局規(guī)劃(floorplan),在Cadence中進(jìn)行布局規(guī)劃的工具為Preview,進(jìn)
54、行自動布局布線的引擎有四種:Block Ensemble、Cell Ensemble、Gate Ensemble和Silicon Ensemble。其中,Block Ensemble適用于宏單元的自動布局布線,Cell Ensemble適用于標(biāo)準(zhǔn)單元或標(biāo)準(zhǔn)單元與宏單元相混合的布局布線,Gate Ensemble適合于門陣列的布局布線,Silicon Ensemble主要用在標(biāo)準(zhǔn)單元的布局布線中。將Preview與四種引擎相結(jié)合可產(chǎn)生四種不同的自動布局布線環(huán)境和流程。由于Silicon Ensemble(DSM)的功能很完全,幾乎可以完成所有復(fù)雜的自動布局布線的任務(wù),在考慮自動布局布線引擎時,我
55、們采用了Silicon Ensemble。SRAM編譯器所生成的用于自動布局布線的端口模型為Silicon Ensemble所要求的格式。 圖5-1為采用Preview和Silicon Ensemble進(jìn)行自動布局布線的流程圖。該流程主要由以下幾個主要步驟組成: (1) 準(zhǔn)備自動布局布線庫 在進(jìn)行自動布局布線之前,必須準(zhǔn)備好相應(yīng)的庫。該庫中含有工藝數(shù)據(jù)、自動布局布線用的庫單元及顯示信息。庫的格式必須為Design Framework II的數(shù)據(jù)庫格式,可以由用戶利用版圖生成工具Virtuoso Layout Editor設(shè)計產(chǎn)生,也可以來自一個由芯片制造廠家和EDA公司提供的LEF(Li
56、brary Exchange Format)文件,或者從GDSII生成。 (2) 準(zhǔn)備用來進(jìn)行自動布局布線的網(wǎng)表 用來進(jìn)行布局布線的網(wǎng)表可以由硬件描述語言經(jīng)過綜合優(yōu)化或由電路提取而來。所有網(wǎng)表在進(jìn)行自動布局布線前都必須首先生成對應(yīng)的autoLayout視圖(view)。 (3) 用Preview進(jìn)行布局規(guī)劃 Preview是 Cadence的布局規(guī)劃器。它可以用來規(guī)劃物理設(shè)計,從而在自動布局布線前預(yù)估物理實現(xiàn)的影響。在Cadence中,使用Preview與自動布局布線引擎相結(jié)合來進(jìn)行自動布局布線。 (4) 用Silicon Ensemble進(jìn)行自動布局布線 (5) 對完成布局布線的
57、版圖進(jìn)行驗證 生成的版圖其連接性是否正確,是否符合設(shè)計規(guī)則,是否符合時序要求等等,必須通過驗證才能確定。通過點擊Verify&Report菜單中的相應(yīng)項,可對版圖進(jìn)行連接性、設(shè)計規(guī)則驗證,并可生成SDF(Standard Delay Format)文件。通過反標(biāo)SDF文件可對原來的門級網(wǎng)表進(jìn)行仿真,從而確定其功能和時序是否正確。 圖5-1 用Preview和Silicon Ensemble進(jìn)行自動布局布線的流程 5.2 用AutoAbgen進(jìn)行自動布局布線庫設(shè)計 對于不同的自動布局布線引擎,對應(yīng)的庫的數(shù)據(jù)格式有所不同,用來生成庫的工具也不同。本SRAM編譯器選擇Silicon Ense
58、mble作為布局布線引擎,其對應(yīng)的庫生成工具為AutoAbgen。AutoAbgen可以用來生成與用戶設(shè)計的版圖或版圖庫所對應(yīng)的Abstract(即用于自動布局布線的端口模型)。
可以用AutoAbgen的AutoAbgen Flow Sequencer form來生成Abstract(對于單個版圖)和LEF文件(對于整個物理庫),其基本流程如下:
(1) 首先在局部.cdsinit中設(shè)置好AutoAbgen運行的環(huán)境,即在.cdsinit中加入以下語句:
aabsInstallPath=“
59、 load(buildstring(list(aabsInstallPath “”) “/”))。 (2) 將AutoAbgen的初始化文件.autoAbgen拷入運行目錄。并用icfb&啟動Cadence。 (3) 點擊CIW窗口中的AutoAbgen菜單下的AutoAbgen Flow Sequencer項,打開Flow Sequencer Form。 (4) 選擇合適的流程。 (5) 建立布局布線所需的工藝信息。如果在工藝文件中已經(jīng)包含布局布線的工藝信息,可以忽略這一步。 (6) 建立用來生成Abstract的版圖數(shù)據(jù)。如果所用的版圖數(shù)據(jù)已經(jīng)是DFII 的版圖格式,可以忽
60、略這一步。 (7) 更新單元的屬性及其管腳屬性。由于AutoAbgen對所操作的版圖有些特殊要求,所以在生成Abstract前必須對其屬性進(jìn)行更新,以符合AutoAbgen的要求。 (8) 建立一個庫單元,將所需建立Abstract的所有單元包括到里面。 (9) 填寫環(huán)境設(shè)置表格和運行選項表格。輸入輸出LEF的文件名(如果是對庫進(jìn)行操作)。 (10) 選擇Apply運行AutoAbgen,生成所需的Abstract。 第六章 版圖設(shè)計及其驗證 如果有人問,“Cadence最突出的優(yōu)點在那里?”我想問題的答案應(yīng)當(dāng)就在本章。可以說,Cadence的版圖設(shè)計及驗證工具是任何其他E
61、DA軟件所無法比擬的。Cadence的版圖設(shè)計工具是Vituoso Layout Editor,即為版圖編輯大師,以下簡稱版圖大師。版圖大師不但界面很漂亮,而且操作方便,功能強大??梢酝瓿砂鎴D編輯的所有任務(wù)。 版圖設(shè)計得好壞,其功能是否正確,必須通過驗證才能確定。Cadence中進(jìn)行版圖驗證的工具主要有Dracula和Diva。兩者的主要區(qū)別是,Diva是在線的驗證工具,被集成在Design Frame Work II中,可直接點擊版圖大師上的菜單來啟動。而Dracula是一個單獨的驗證工具,可以獨立運行。相比之下,Dracula的功能比較強大。 6.1 版圖設(shè)計大師Virtuoso La
62、yout Editor 版圖設(shè)計大師是Cadence提供給用戶進(jìn)行版圖設(shè)計的工具。其使用起來十分方便,下面進(jìn)行一個簡單介紹: 6.1.1 設(shè)置 版圖大師的設(shè)置很簡單,對于一般的Cadence的用戶而言,可能不需要進(jìn)行任何設(shè)置就可啟動版圖大師。但有時必須設(shè)置快捷鍵,否則所有的快捷鍵就會失靈,給使用帶來一些不便。在設(shè)計時,快捷鍵往往會有很大的作用。 與電路設(shè)計不同的是,版圖設(shè)計必須考慮具體的工藝實現(xiàn),因此,存放版圖的庫必須是工藝庫或附在別的工藝庫上的庫。否則,用隱含的庫將沒有版層,即LSW窗口只有一個黑框,更無從畫圖了。因此,在設(shè)計版圖前必須先建立自己的工藝庫。 此外,顯示對
63、于版圖設(shè)計也很重要,因此最后有自己的顯示文件。 6.1.2 啟動 有很多種方法自動版圖大師,最簡單的辦法是通過CIW打開或者新建一個單元的版圖視圖,這樣就會自動啟動版圖大師。此外,也可以用layoutPlus或layout命令啟動。 6.1.3 用戶界面及使用方法 圖6-1 Virtuoso Layout Editor 用戶界面 通過上述方法啟動版圖大師后,就會出現(xiàn)如圖6-1所示的用戶界面及一個LSW窗口。從LSW窗口中選擇所需的層,然后在顯示區(qū)畫圖。具體的操作請讀者參考o(jì)penbook中的部分。 6.1.4 使用示例 關(guān)于Virtuoso Layout Editor的具
64、體使用,在此就不再贅述,在openbook中有一個很好的例子cell_design。建議所有學(xué)習(xí)Cadence的人都該走一遍該教程。該教程的訪問順序為: Main Menu->IC Tools->Tutorials and Flow Guides-> Cell Design Tutorial。 6.1.5 相關(guān)在線幫助文檔 與版圖大師有關(guān)的在線文檔有: Virtuoso Layout Editor help Cell Design Tutorial 6.2 版圖驗證工具Dracula 6.2.1 Dracula使用介紹 用Virtuoso Layout Editor編輯生成的版圖
65、是否符合設(shè)計規(guī)則、電學(xué)規(guī)則,其功能是否正確必須通過版圖驗證系統(tǒng)來驗證。Cadence提供的版圖驗證系統(tǒng)有Dracula和Diva。Diva嵌入在Cadence的主體框架之中,使用較方便,但功能較之Dracula稍有遜色。Dracula為獨立的版圖驗證系統(tǒng),可以進(jìn)行DRC(設(shè)計規(guī)則檢查)、ERC(電學(xué)規(guī)則檢查)、LVS(版圖和電路比較)、LPE(版圖寄生參數(shù)提?。?、PRE(寄生電阻提?。?,其運算速度快,功能強大,能驗證和提取較大的電路,本手冊著重介紹Dracula的使用。 使用Dracula和Diva的第一步是編寫與自己的工藝一致的命令文件,包括DRC、ERC、LVS、LPE甚至PRE文件。關(guān)
66、于命令文件的編寫,讀者可參考o(jì)penbook中的手冊,可安以下順序找到。附錄3中有一套0.5um的命令文件,讀者可參考。 假設(shè)要驗證的版圖為mySRAM庫中的sram256x8單元,用來進(jìn)行驗證的當(dāng)前目錄為myver,運行Dracula的命令文件為。執(zhí)行DRC、ERC和LPE的流程如下: (1) 利用Virtuoso Layout Editor生成所需的版圖sram256x8,然后利用CIW窗口中的Export->Stream菜單,將單元sram256x8的版圖轉(zhuǎn)變成GDSII格式文件,并存到運行目錄myver下。 (2) 修改運行Dracula所需的命令文件,將其中的INDISK文件改為,OUTDISK改為任何自己喜歡的文件,例如sram256x8_,將WORK-DIR改為當(dāng)前的運行目錄myver,將PRIMARY改為大寫的單元名,即SRAM256X8。 (3) 在當(dāng)前目錄下運行PDRACULA,即在UNIX操作符下輸入PDRACULA&,然后輸入/GET 并回車,接著輸入/fi即可生成及。 (4) 在當(dāng)前目錄下運行或。 (5) 檢查結(jié)果文件,DRC檢查為pri
- 溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。