




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、 Henan University of Science and TechnologyVLSI設計基礎實驗指導書河南科技大學電子信息工程學院VLSI設計基礎實驗指導書張雷鳴 主 編齊晶晶 副主編電工電子實驗教學中心2009年9月目 錄 TOC o 1-3 h z u HYPERLINK l _Toc240962452 實驗一 EDA工具的使用 PAGEREF _Toc240962452 h 1 HYPERLINK l _Toc240962453 實驗二 四位加法器電路的設計與SPICE模擬 PAGEREF _Toc240962453 h 14 HYPERLINK l _Toc240962454
2、 實驗三 CMOS反相器的版圖設計及其功能驗證 PAGEREF _Toc240962454 h 27 HYPERLINK l _Toc240962455 附錄一 PAGEREF _Toc240962455 h 38實驗一 EDA工具的使用一、實驗目的1、初步了解VLSI設計過程;2、掌握Linux系統的基本操作;3、了解自動布局布線軟件Astro的基本操作方法。二、實驗環境本指導書中的所有實驗均在Linux系統中完成。三、預習要求 初步了解VLSI設計過程,了解自動布局布線軟件Astro的基本操作流程,對自動布局布線概念有一定的了解。四、實驗內容及步驟1、啟動Astro軟件:輸入指令:Astr
3、o 。打開該軟件的界面(圖1-1)。然后首先要做好載入設計對象前的準備工作,所以先點擊TOOLS選項下面的data prep選項使軟件做好載入數據之前的準備,如圖1-2。圖1-1圖1-2 2、設置工作環境:然后選擇netlist in 下的verilog in to cel 選項選擇需要載入的對象庫。得到如下圖1-3的選項卡,分別選擇library name 、verilog file name、tech file name 以及對應高低電平1和0的電源和地的選項net name for 1b1和net name for 1b0。其中verilog file name是后綴為.v的文件,tec
4、h file的文件后綴是tf(圖1-4)。圖1-3選擇完以上路徑后點擊global net option給整個設計的VDD和GND定義,如圖1-5所示。然后選擇選項reference lib 選擇設計需要的參考工藝庫CZ6H.3AL.tf(圖1-6)。這個庫是除了工藝tech file以外仍然需要的庫CZ6H_3AL_IO和CZ6H_ptf_5V_LIB,該庫的后綴也為tf,位置位于找F/LIB/ps/_astro下面。圖1-4 圖1-5圖1-6完成以上操作后就可以選擇設計所需要的設計庫和單元了,在這里點擊選擇library和CELL選項下面的open就可以得到如圖1-7 所示的簡單版圖布局了
5、。圖1-73、自動布局布線操作流程:(1)、芯片版圖位置布局:接下來可以對布局需要的版圖位置進行設置了,在這里選擇選項design setup下的set up floorplan進行版圖位置的設置了,如圖1-8所示。Row core ratio選項一般選擇1,決定了金屬布線通道在芯片中占的布線通道的大小,當為1時表明金屬布線通道不占用芯片周圍的空間而是在芯片內部電路結構的上方走線。Double back和flip first row一般都要選擇,前者表示芯片內部單元是背靠背的布局方式,后者不確定待查。Core to left和core to right、core to top 、core to
6、 bottom表示芯片內部的核與pad之間的布線距離,一般該距離選擇為電源VDD環和地GND環之和還多一點,因為在內部的核與pad之間有時還要插入一些buffer,因此要為電源環和地環預留足夠的空間。圖1-8 (2)、電源與地環布局:接下來點擊選項卡TOOLS選項下面的astro選項使軟件進入布局布線階段。接下來要建電源環和地環,所以點選PreRoute下的Connect Ports to P/G進行設置如圖1-9所示。根據電源VDD和地GND來選擇不同的選項。這一步完成了對電源和地的pad的設置。圖1-9接下來選擇選項卡PreRoute下的Rectangular Rings來連接VDD 與G
7、ND 環,如圖1-10所示范。在這里要net name選項中輸入所選擇的電源和地。同時還要選擇AREA為絕對類型,以及合適的合適的電源環和地環的寬度,在這里寬度都選擇15,在0.18工藝條件下15的寬度大概可以通過15mA的電流。這個寬度要根據設計和工藝文件來修改和設置。圖1-10(3)、自動布局布線約束設置:接下來導入前面做DC綜合時所使用的約束文件,這樣的目的時保證布局布線和綜合的約束條件是一致的,從而保證后端流程的正確性。為了導入約束文件,需要點選選項卡Timing 下的Timing Setup選擇astro時序工作的環境設置(圖1-11)。在environment選擇三項必選項Enab
8、le Time Borrowing、Ignore Propagated Clock、Enable Ideal Network Delay,剩下的選項根據設計需要進行選擇。圖1-11選擇完environment下的選項后,繼續選擇寄生參數parastics下面的必選項Operating Cond為max和min,Capacitance Model為tlu,接著選擇model下面的必選項Operating Cond為max和min。完成上述環境設置之后要進行PC綜合時所使用的約束文件的載入。點選選項Timing 下的Load SDC選項,輸入PC生成的后綴為sdc的約束文件即可。注意文件路徑一定要
9、正確(圖1-12)。圖1-12為了驗證是否所有的約束都已經載入可以點選Timing 下的Timing Data Check的默認設置來獲取一個報告看是否所有的約束都已經載入。接下來就可以進行芯片的預布局了,在這里點選InPlace下選擇選項 Placement Common Options,選擇選項optimization mode為Congestion, Timing模式,其他的都可以使用默認模式(圖1-13)。圖1-13(4)、預布局:接下來選擇PrePlace 下的Pre-Placement Optimization,使用默認值就可以了。完成上述操作后就會得到芯片布局的一個概貌圖了(圖1
10、-14)。圖1-14接下來選擇Timing下的 Timing Report觀看時序報告,在這里可以通過修改number和slack threshold選項設置報告的路徑數和修改默認的slack大小,如圖1-15。選擇完成以后會自動彈出一個時序報告。圖1-15(5)、自動布局操作:接下來選擇InPlace下的 Design Placement,選擇的選項in_placement optimization,并且設置為5,speed為medium,如圖1-16所示。圖1-16然后選擇InPlace下的Display Congestion Map觀察Congestion報告,在這里使用Display
11、Congestion Map的默認設置點擊apply。如果命令行沒有問題的話,就點擊clear清除報告,然后選擇cancel退出。選擇Timing 下的Timing Report觀察時序報告。然后點選PostPlace 下的Post-Place Optimization Phase 1進行設計優化,設置optimization effort為medium,點選use global routing 、setup fixing、hold fixing、design rule fixing、fix trancap選項。圖1-17完成優化后點選TIME下的TIME REPORT觀察時序報告。沒有問題的
12、話就進行時鐘網絡的布局布線,點選Clock Clock Common Options,使用其默認設置對設計需要的時鐘樹進行環境設置,如圖1-18。圖1-18(6)、時鐘樹插入:選擇Clock 下的Clock Tree Synthesis進行時鐘樹的布局插入,在這里也使用該選項設置的所有默認項。可以通過選擇Clock 下的Skew Analysis來的到關于clock的一個時序報告。(7)、電源環與地環的布線:接下來要進行的工作是對芯片中的單元進行電源和地的布線,點選PreRoute 下的 Connect Ports to P/G選擇電源和地的設置,這和前面做電源環與地環的操作是完全一樣的,接下
13、來點選PreRoute下的Standard Cells使用默認值即可得到與VDD、GND存在連接關系的芯片內部布圖(圖1-19)。單元間的紅色連線就是GND和VDD的連接。圖1-19(8)、其他信號線的自動布線:接下來對其他的信號線進行布線連接,點選Route Setup 下的 Route Common Options,按照圖1-20所示進行選擇,使能global routing的timing driven 、Clock Routing的balanced、Track Assign的Timing Driven、Same Net Notch的check and fix、Wire/Contact E
14、nd-of-line Rule的check and fix,其他的都使用默認設置。圖1-20完成上述操作后,選擇Route 下的 Route Net Group,選擇Net Name(s) From的All clock nets、Phase的global, track assign, detail、Dangling wires 的Discard、使能Optimize routing pattern,其他的使用默認設置(圖1-21)。圖1-21然后選擇Route 下的 Global Route對全局信號線進行布線操作。完成以上操作后將得到布線完成的設計如圖1-22。圖1-22在完成上述操作后選擇
15、Route下的 Auto Route,使用默認設置就可以完成一個完整的布線設計了,得到芯片的布線圖如圖1-23。圖1-23有DRC violations,則需使用Route下的Detail Route Search & Repair 去修正。(9)、導出設計文件:當完成以上操作后,芯片的基本布局布線就完成了,下面需要做的工作就是將版圖文件導出。選擇Tools下的 Data Prep先將工具由Astro切換到Data Prep,然后選擇Output下的Stream Out來將GDSII文件導出。選項的基本設置如下圖1-24所示,需要注意設置完Stream Out data file以后還要點擊p
16、in/net option 進行選擇as text和as geometry,否則轉出的layout 會沒有pin 的形或者Calibre LVS 會有問題。圖1-24還可以使用Astro將該電路的版圖信息導成Verilog或者Edif進行輸出。先選擇Cell下的Repair Hierarchy Information對電路連接關系進行修正,然后選擇Cell下的Hierarchical Verilog Out導出verilog來給caliber block box LVS使用,該選項下的設置如圖1-25所示。務必注意:在對電路進行修正之前一定要將CELL關閉,才能進行修正操作,在修正接受之后要再
17、次在CELL下面打開這個單元進行Verilog網表的導出。圖1-25五、思考題1、 時鐘樹的含義是什么? 2、 本實驗所用Astro軟件的操作流程由哪幾部分構成,作用各是什么? 六、實驗報告要求1、 寫出實驗題目、實驗目的、實驗原理、實驗儀器、實驗內容。2、 寫出利用Astro布局布線所得到集成電路版圖輸出文件中所包含的信息。實驗二 四位加法器電路的設計與SPICE模擬一、實驗目的1、 通過設計,熟悉集成電路前端設計與后端設計。2、 初步掌握半定制集成電路的設計流程。二、預習要求1、 預習使用Synopsys的電路綜合與自動布局布線工具套件。2、 了解Modelsim的基本使用與仿真方法。3、
18、 理解設計工藝庫的基本概念。三、實驗內容及步驟1、實驗內容與設計要求:按鍵處理部分貨幣處理部分貨物選擇部分確認取消部分顯示部分出貨并計算貨存部分退幣處理部分如上圖所示,設計分為以下幾個功能模塊:(1)、按鍵處理部分:每個輸入的按鍵必須進行噪聲消除,否則要影響按鍵的正常計數工作。(2)、貨幣處理部分:投入的貨幣有最大限額20元。當投入的貨幣大于20元,則立即退出多余的貨幣。所有商品分為a類:2元(1號到8號商品)和b類:5元(9號到16號)兩種價格。當投入的貨幣大于2元且a類商品還有存貨時,相應商品的可選指示燈點亮提示該貨物可選。當投入的貨幣大于5且a,b類商品有存貨時,相應商品可選指示燈點亮提
19、示貨物可選。(3)、貨物選擇部分:當某商品的可選指示燈被點亮時,該商品可以通過其選擇按鈕進行選擇并點亮貨物選擇燈。(4)、確認取消部分:在商品已經被選擇的情況下,按確認鍵進行交易。按取消鍵取消交易,退出所有的貨幣。(5)、退幣處理部分:在確定交易以后,計算剩余貨幣并退出相應的貨幣。(6)、出貨并計算存貨部分:在確定交易以后,退出所購商品,并將該商品的存貨減一。(7)、顯示部分:顯示投入貨幣數和退出貨幣數。2、實驗步驟: (1)、代碼設計與功能仿真:按照設計要求,使用Modelsim進行設計代碼的描述與功能仿真。 、在Modelsim中建立設計所需工程,如圖2-1。圖2-1 、在該工程下創建滿足
20、實驗要求的代碼設計文件,在此使用Verilog與VHDL均可,如圖2-2。圖2-2 、在該工程下創建仿真所要求的激勵文件,如圖2-3。圖2-3 、利用Modelsim對所設計的代碼進行功能仿真,根據所得到的仿真波形驗證所設計的代碼正確性,以及是否滿足實驗要求,如圖2-4。圖2-4 附錄一給出了參考代碼。 (2)、電路綜合:使用電路綜合軟件DC對功能正確的設計代碼進行綜合,得到所設計代碼對應的網表文件,如圖2-5所示。圖2-5具體實驗操作步驟如下:、啟動Design Compiler綜合器打開命令輸入窗口。在工作站上登陸,并打開一個Terminal。 進入綜合環境。在命令提示符下輸入 desig
21、n_vision&。圖2-6 啟動DesignCompiler窗口此時會彈出一個如下圖所示的窗口,該窗口為Design Compiler綜合工具的圖形界面。圖2-7 DesignCompiler工作界面、邏輯單元庫加載:邏輯單元庫由工藝廠商提供,庫中包含豐富的邏輯門資源,比如單元電路(cell schematic)和時序模型(timing model)等。其中,單元電路用于電路綜合,以便產生邏輯電路的網表(netlist);時序模型描述各邏輯門精確的時序信息,工藝線的元件工程師會提取各邏輯門內的寄生電阻及電容進行模擬,進而建立各邏輯門的實際延遲參數,包括門延遲(gate delay) 、輸入延
22、遲/輸出延遲(input delay / output delay)及所謂的連線延遲(wire delay)等。邏輯單元庫文件后綴名為.DB。在Design Compiler的主界面菜單中打開File-Setup,如下圖2-8。圖2-8 打開邏輯單元庫加載界面選擇工藝廠商提供的邏輯單元庫,進行設置。圖2-9 加載邏輯單元庫界面設置完畢后,如下圖2-10。圖2-10 加載邏輯單元庫后的界面需要注意的是此處添加工藝庫時,需要添加的工藝庫為進行DC綜合所需要使用的工藝庫,該工藝庫一般由Standard_Cell和IO_Cell兩部分組成。每個部分都包括滿足不同電壓的工藝模型,使用時可以根據設計需要進
23、行選擇。另外,在添加工藝庫時還要將所需要的元件庫與工藝映射庫都添加完全,不要忽略掉type、min和max庫中的任何一個。本次實驗中所使用的工藝庫為:芯片內部邏輯單元所對應的工藝模型Standard_Cell_lib下的ptf_5V庫中的basic、primitive、clockdriver和special四個文件夾下的工藝文件,Standard_Cell_libwire_model下的傳輸線工藝映射模型,以及芯片輸入輸出接口單元所對應的工藝模型IO_Cell_lib下的庫中的工藝映射模型。、用戶設計源文件的加載與分析:首先加載計數器的源文件。需要注意的是由于設計的不同,設計源文件可能有多個,
24、而且可能還有調用關系,所以在加載時需要注意要全部加載進去。通過File-Analyze打開用戶設計分析界面,如下圖2-11。 圖2-11 用戶設計源文件分析界面選擇并加載用戶設計源文件,如圖2-12。圖2-12 加載用戶設計源文件的操作用戶設計源文件加載后,進行實現(Elaborate)。這里的實現和接下來的綜合是有很大區別的,實現只是將設計用Design Compiler自帶的廣義綜合庫進行實現,并未映射到廠商的邏輯單元庫。打開File-Elaborate,如下圖2-13。圖2-13 實現(Elaborate)的工作界面選擇默認庫DEFAULT,Design中選擇設計文件的頂層模塊。圖2-1
25、4 實現(Elaborate)的設置界面點擊OK后,Design Compiler進行初步實現,界面如下圖2-15。圖2-15 實現(Elaborate)的結果界面、頂層設計文件設置 :單擊鼠標選中頂層模塊,打開Hierarchy-Uniquify-hierarchy,如下圖2-16。圖2-16 層次化的工作界面在出現對話框中選擇OK。、時序約束:在執行綜合步驟之前,首先要加入設計的各種時序要求,如時鐘周期,數據初始化達到高電平的時間等各種限制條件,從而使綜合后的時序能夠滿足事先設定的要求。可以反復修改各種約束條件,使綜合后的文件最終通過后端時序仿真。 打開Attributes-Specify
26、 Clock,如下圖2-17。圖2-17 設置時鐘約束的界面設置Clock屬性,如周期、沿上升時間、下降時間等。如下圖2-18。圖2-18 設置時鐘屬性約束的界面、綜合及優化:在設置完時序約束之后,就可開始綜合優化了,打開Design-Compile Design,出現下面的工作界面。圖2-19 綜合優化的工作界面選擇綜合屬性,用戶可根據設計需求進行設置,比如面積優先、時序優先等,在沒有特殊要求的情況下也可以選擇默認設置。圖2-20 綜合優化設置的工作界面單擊OK后,有一個較長的綜合過程,綜合時間的長短取決于設計的大小和時序的約束等情況,請耐心等候。綜合完畢后,出現下面的網表圖2-21。圖2-
27、21 綜合優化后的界面、綜合結果導出:綜合后,一般需要導出綜合后的Verilog網表文件(后綴名為.v)和時序信息文件(后綴名為.SDF,主要用于后續的仿真),導出Verilog網表文件的操作如下。打開File-Save as,如下圖2-22。圖2-22 導出網表文件的工作界面選擇路徑及文件名,如下圖2-23。圖2-23 導出網表文件時選擇路徑及文件名的工作界面導出時序信息文件。操作如下圖2-24,打開File-Save info。圖2-24 導出時延信息文件的界面選擇路徑及文件名,如圖2-25。圖2-25 導出時延文件時選擇路徑及文件名的界面由于在下一步使用Astro進行自動布局布線時需要使
28、用后綴名為sdc的時序文件,因此可在DC的命令操作提示行內輸入write_sdc + 存儲路徑/目標時序文件名來得到該時序文件,如果不輸入存儲路徑則默認將該sdc時序文件存儲在當前啟動DC的操作路徑目錄下。至此,ASIC邏輯綜合完成,并通過綜合獲得了邏輯電路圖、進行自動布局布線所需的邏輯電路網表文件和時延信息文件。需要注意的是,在此處所使用的綜合庫文件一定要和在下一步操作中使用的自動布局布線所使用的工藝庫是同一家工藝廠商提供的綜合庫,否則即使DC綜合所得網表是正確的,也無法正確的進行下一步自動布局布線的操作。使用DC的具體方法可以參考計算機仿真技術課程的實驗指導書。(3)、自動布局布線:利用自
29、動布局布線軟件Astro,采用實驗一的實驗步驟對經過DC綜合得到的電路網表文件和時序文件進行自動布局布線操作,即可得到自動販賣機主控芯片的版圖如圖2-26。圖2-26 最終版圖四、思考題1、指出半定制數字集成電路的設計流程。2、指出半定制設計流程中各個環節的主要作用,以及各個環節所得到的設計文件的特點。五、實驗報告要求1、寫出實驗題目、實驗目的、實驗原理、實驗儀器、實驗內容。2、寫出DC所使用的工藝映射模型中type、min和max的含義。 3、寫出不同的綜合策略與自動布局布線優化方法所得版圖的區別。實驗三 CMOS反相器的版圖設計及其功能驗證一、實驗目的1、 掌握CMOS反相器的版圖設計方法
30、。2、 掌握CMOS反相器的瞬時分析和直流分析的方法。3、 了解集成電路設計當中的LVS。二、預習要求1、 預習集成電路版圖設計規則。2、 掌握運用Cadence進行電路模擬的方法。3、 寫出預習報告。三、實驗內容及步驟1、 CMOS反相器電路設計:利用Cadence的電路圖編輯工具Schematic Editor將PMOS和NMOS組合成反相器邏輯電路并輸出網表文件。反相器輸入輸出端口的關系如表3-1。表3-1 反相器輸入輸出端口輸入輸出0110利用Cadence仿真工具Analog Environment進行反相器瞬時分析,操作流程為:在Library Manager中分別建立非門not(
31、cell)的schematic(view)和symbol(view),如圖3-1(a) 和3-1(b)所示。兩者的PIN的名稱必須一致,這樣才能建立起一一對應的關系。建立symbol(view)的步驟:在Library Manager中新建cell,在窗口的Tool項選擇Composer-symbol,即建立的是symbol(view);圖3-1(a) 圖3-1(b)用子菜單Add/Shape/Line和Add/Shape/Circle的命令畫出如右圖的形狀;用子菜單Add/label的命令添加標簽instanceName;用子菜單Add/Selection Box命令添加選擇框。另一種建立s
32、ymbol(view)的方法是:打開not(cell)的schematic(view),用子菜單Design/Create Cellview/From Cellview命令。出現以下的窗口,如圖3-2。 圖 3-2 從一個view建立另一個view輸入相應的名稱后,單擊OK,就出現如圖3-3的選項窗口。其建立的symbol如圖3-4所示,如果不是建立有常用符號的子模塊,如與門,非門等邏輯門,這種方法是較快的。 圖 3-3 建立symbol的選項窗口圖 3-4 第二種方法建立的symbol圖形這樣就建立了一個最簡單的子模塊非門。在模擬過程中,就可以通過添加元器件(component)來直接將非門
33、加到電路中來,而不用具體畫出其內部的結構,這實際上就是以一個簡單的symbol來代替其內部的復雜結構。以此類推,可以將小模塊一步步的拼湊成大的模塊,直接用于模擬仿真。有一點要注意的是:對于有源器件(如非門)建立symbol,必須在原始電路圖上添加analoglib中的源和地,而且源的電壓值也需要設定好,否則變為symbol搭成電路后會出錯。當然用于模擬時設定的激勵源是不用加在電路圖中的。接著利用所學內容對所建立的反相器非門進行瞬態仿真,得到輸入輸出特性曲線,并根據仿真曲線測量上升延遲和下降延遲時間,將其填入下表3-2。反相器參數上升延遲時間下降延遲時間PMOS管W/L=6u/0.6uNMOS管
34、W/L=3u/0.6uPMOS管W/L=6u/2uNMOS管W/L=3u/2uPMOS管W/L=12u/0.6uNMOS管W/L=3u/0.6u表 3-2圖 3-5 測量輸出下降延遲3、利用Cadence的Layout-Edit進行反相器版圖設計: 本實驗要求先繪制NMOS與PMOS的版圖,然后引用繪制好的單元文件繪制反相器版圖。(1)設計環境設定:使用library manager。首先,建立一個新的庫myLib,關于建立庫的步驟,在前文介紹cdsSpice時已經說得很清楚了,就不再贅述。與前面有些不同的地方是:由于我們要建立的是一個版圖文件,因此我們在technology file選項中必
35、須選擇compile a new techfile,或是attach to an exsiting tech file。這里由于我們要新建一個tech file,因此選擇前者。這時會彈出load techfile的對話框,如圖3-6所示。圖3-6在ASCII Technology File中填入csmc1o0.tf即可。接著就可以建立名為inv的cell了。為了完備起見,讀者可以先建立inv的schematic view和symbol view(具體步驟前面已經介紹,其中pmos長6u,寬為0.6u。nmos長為3u,寬為0.6u。model 仍然選擇hj3p和hj3n)。然后建立其layou
36、t view,其步驟為:在tool中選擇virtuosolayout,然后點擊ok。(2)常用功能與操作方法介紹:首先,在library manager中打開inv這個cell的layout view。即打開了virtuoso editing窗口,如圖3-7所示。圖3-7 virtuoso editing窗口版圖視窗打開后,掩模版圖窗口顯現。視窗由三部分組成:Icon menu , menu banner , status banner。Icon menu (圖標菜單)缺省時位于版圖圖框的左邊,列出了一些最常用的命令的圖標,要查看圖標所代表的指令,只需要將鼠標滑動到想要查看的圖標上,圖標下方即
37、會顯示出相應的指令。menu banner(菜單欄),包含了編輯版圖所需要的各項指令,并按相應的類別分組。幾個常用的指令及相應的快捷鍵列舉如下:Zoom In 放大 (z)Zoom out by 2 縮小2倍(Z)Save 保存編輯(f2) Delete 刪除編輯(Del)Undo 取消編輯(u)Redo 恢復編輯 (U)Move 移動(m)Stretch 伸縮(s)Rectangle 編輯矩形圖形(r)Polygon 編輯多邊形圖形(P) Path 編輯布線路徑(p)Copy 復制編輯 (c)status banner(狀態顯示欄),位于menu banner的上方,顯示的是坐標、當前編輯指
38、令等狀態信息。在版圖視窗外的左側還有一個層選擇窗口(Layer and Selection Window LSW)。LSW視圖的功能:、可選擇所編輯圖形所在的層;、可選擇哪些層可供編輯;、可選擇哪些層可以看到。 由于我們所需的部分版圖層次在初始LSW中并不存在,因此下一步要做的是:建立我們自己的工藝庫所需的版圖層次及其顯示屬性。為了簡單起見,以下僅列出繪制我們這個版圖所需的最少版圖層次。層次名稱說明NwellN阱Active有源區PselectP型注入掩膜NselectN型注入掩膜Contact引線孔,連接金屬與多晶硅/有源區Metal1第一層金屬,用于水平布線,如電源和地Via通孔,連接me
39、tal1和metal2Metal2第二層金屬,用于垂直布線,如信號源的I/O口Text標簽Poly多晶硅,做mos的柵下圖是修改后的LSW。圖3-8 LSW如何來修改LSW中的層次呢?以下就是步驟:、切換至CIW窗口,在technology file的下拉菜單中選擇最后一項edit layers出現如圖窗口。圖3-9 Edit Layers、在technology library中選擇庫mylib,先使用delete 功能去除不需要的層次。然后點擊add添加必需的層次,add打開如下圖的窗口:圖3-10、其中,layer name中填入所需添加的層的名稱。Abbv是層次名稱縮寫。Number是
40、系統給層次的內部編號,系統保留128256的數字作為其默認層次的編號而將1127留給開發者創造新層次。Purpose是所添加層次的功用,如果是繪圖層次,一般選擇drawing。Priority是層次在LSW中的排序位置。其余的選項一般保持默認值。在右邊是圖層的顯示屬性。可以直接套用其中某些層次的顯示屬性。也可以點擊edit resources自己編輯顯示屬性。如圖3-11所示(這個窗口還可以在LSW中調出) 編輯方法很簡單,可以自己推敲,就不再贅述。上述工作完畢后就得到我們所需的層次。接著我們就可以開始繪制版圖了。(3)繪制版圖: A、畫pmos的版圖(新建一個名為pmos的cell) 畫出有
41、源區:在LSW中,點擊active(dg),注意這時LSW頂部顯示active字樣,說明active層為當前所選層次。然后點擊icon menu中的rectangle icon,在vituoso editing窗口中畫一個寬為3.6u,長為6u的矩形。這里我們為了定標,必須得用到標尺。點擊misc/ruler即可得到。清除標尺點擊misc/clear ruler。如果你在繪制時出錯,點擊需要去除的部分,然后點擊delete icon。畫柵:在LSW中,點擊poly(dg),畫矩形。與有源區的位置關系如下圖: 0.6u 0.6u(gate length) 6u(gate width) 1.5u
42、3.6u圖3-11 display resource editor畫整個pmos:為了表明我們畫的是pmos管,我們必須在剛才圖形的基礎上添加一個pselect層,這一層將覆蓋整個有源區0.6u。接著,我們還要在整個管子外圍畫上nwell,它覆蓋有源區1.8u。如下圖所示:pselect 1.8unwell襯底連接:pmos的襯底(nwell)必須連接到vdd。首先,畫一個1.2u乘1.2u的active矩形;然后在這個矩形的邊上包圍一層nselect層(覆蓋active0。6u)。最后將nwell的矩形拉長,完成后如下圖所示:nselectactivepselect這樣一個pmos的版圖就大
43、致完成了。接著我們要給這個管子布線。(4)布線:pmos管必須連接到輸入信號源和電源上,因此我們必須在原圖基礎上布金屬線。、首先我們要完成有源區(源區和漏區)的連接。在源區和漏區上用contact(dg)層分別畫三個矩形,尺寸為0.6乘0.6。注意:contact間距為1.5u。、用metal1(dg)層畫兩個矩形,他們分別覆蓋源區和漏區上的contact,覆蓋長度為0.3u。、為完成襯底連接,我們必須在襯底的有源區中間添加一個contact。這個contact每邊都被active覆蓋0.3u。、畫用于電源的金屬連線,寬度為3u。將其放置在pmos版圖的最上方。布線完畢后的版圖如下圖所示:圖3
44、-12 pmos版圖通過以上步驟我們完成了pmos的版圖繪制。接下來我們將繪制出nmos的版圖。(5)畫nmos的版圖:繪制nmos管的步驟同pmos管基本相同(新建一個名為nmos的cell)。無非是某些參數變化一下。下面給出nmos管的圖形及一些參數,具體繪制步驟就不再贅述。圖3-13 nmos版圖(6)完成整個非門的繪制及繪制輸入、輸出:、新建一個cell(inv)。將上面完成的兩個版圖拷貝到其中,并以多晶硅為基準將兩圖對齊。然后,我們可以將任意一個版圖的多晶硅延長和另外一個的多晶硅相交。、輸入:為了與外部電路連接,我們需要用到metal2。但poly和metal2不能直接相連,因此我們
45、必須得借助metal1完成連接。具體步驟是:A、在兩mos管之間畫一個0.6乘0.6的contact;B、在這個contact上覆蓋poly,過覆蓋0.3u;C、在這個contact的左邊畫一個0.6乘0.6的via,然后在其上覆蓋metal2(dg),過覆蓋0.3u;D、用metal1連接via和contact,過覆蓋為0.3u。從下圖中可以看得更清楚: via contact metal2 metal1 poly、輸出:先將兩版圖右邊的metal1連起來(任意延長一個的metal1,與另一個相交)。然后在其上放置一個via,接著在via上放置metal2。(7)作標簽:1、在LSW中選擇層
46、次text(d3),點擊create/label,在彈出窗口中的label name中填入vdd!并將它放置在版圖中相應的位置上。按同樣的方法創制gnd!、A和Out的標簽。完成后整個的版圖如下:圖3-14 非門的版圖至此,我們已經完成了整個非門的版圖的繪制。四、思考題1、 利用Cadence的電路設計組件Schematic Editor進行電路模擬的方法。2、 能分析電路的SPICE文件。3、 2輸入與非門版圖的設計方法。五、實驗報告要求1、 寫出實驗題目、實驗目的、實驗原理、實驗儀器、實驗內容。2、 附上反相器的電路圖以及版圖。3、 記錄反相器電路的輸入輸出波形和延遲時間。 附錄一vend
47、or.vhd-library and package declaractionlibrary ieee;use ieee.std_logic_1164.all;use ieee.std_logic_arith.all;use ieee.std_logic_unsigned.all;use work.all;-input and output pins declaractionentity vendor isport( reset: in std_logic; -power reset to new buying clk : in std_logic; -system clock 1024hz-
48、Input pinscoin_1:in std_logic;-throw coin 1 coin_5 : in std_logic; -throw coin 5 coin_10 : in std_logic; -throw coin 10select_1 : in std_logic; -button to choose goods 1select_2 : in std_logic; -button to choose goods 2select_3 : in std_logic; -button to choose goods 3select_4 : in std_logic; -butto
49、n to choose goods 4select_5 : in std_logic; -button to choose goods 5select_6 : in std_logic; -button to choose goods 6select_7 : in std_logic; -button to choose goods 7select_8 : in std_logic; -button to choose goods 8select_9 : in std_logic; -button to choose goods 9select_10 : in std_logic; -butt
50、on to choose goods 10select_11 : in std_logic; -button to choose goods 11select_12 : in std_logic; -button to choose goods 12select_13 : in std_logic; -button to choose goods 13select_14 : in std_logic; -button to choose goods 14select_15 : in std_logic; -button to choose goods 15select_16 : in std_
51、logic; -button to choose goods 16select_ok : in std_logic; - button to confirm buying select_cancel : in std_logic; -button to cancel buying-Output pinsselect_1_on:out std_logic; -led for selected goods 1select_2_on:out std_logic; -led for selected goods 2select_3_on:out std_logic; -led for selected
52、 goods 3select_4_on:out std_logic; -led for selected goods 4select_5_on:out std_logic; -led for selected goods 5select_6_on:out std_logic; -led for selected goods 6select_7_on:out std_logic; -led for selected goods 7select_8_on:out std_logic; -led for selected goods 8select_9_on:out std_logic; -led
53、for selected goods 9select_10_on:out std_logic; -led for selected goods 10select_11_on:out std_logic; -led for selected goods 11select_12_on:out std_logic; -led for selected goods 12select_13_on:out std_logic; -led for selected goods 13select_14_on:out std_logic; -led for selected goods 14select_15_
54、on:out std_logic; -led for selected goods 15select_16_on:out std_logic; -led for selected goods 16goods_1_out: out std_logic; -led for goods 1 deliveried goods_2_out: out std_logic; -led for goods 2 deliveried goods_3_out: out std_logic; -led for goods 3 deliveriedgoods_4_out: out std_logic; -led fo
55、r goods 4 deliveriedgoods_5_out: out std_logic; -led for goods 5 deliveriedgoods_6_out: out std_logic; -led for goods 6 deliveriedgoods_7_out: out std_logic; -led for goods 7 deliveriedgoods_8_out: out std_logic; -led for goods 8 deliveriedgoods_9_out: out std_logic; -led for goods 9 deliveriedgoods
56、_10_out: out std_logic; -led for goods 10 deliveriedgoods_11_out: out std_logic; -led for goods 11 deliveriedgoods_12_out: out std_logic; -led for goods 12 deliveriedgoods_13_out: out std_logic; -led for goods 13 deliveriedgoods_14_out: out std_logic; -led for goods 14 deliveriedgoods_15_out: out st
57、d_logic; -led for goods 15 deliveriedgoods_16_out: out std_logic; -led for goods 16 deliveriedled_coin_out:out std_logic; -led for coin outsegout:out std_logic_vector(7 downto 0); -seg displayselout:out std_logic_vector(1 downto 0); -sel for segnumout:out std_logic_vector(3 downto 0) -num for coin);
58、end vendor;architecture arch of vendor iscomponent debounce isport(clk,reset: in std_logic; -basic clock input 1024Hz touch: in std_logic; -push button signal about 100ms period push_out: out std_logic); -cleared push botton signalend component;-global signals flowing among different circuit blockss
59、ignal clk_bin:std_logic;signal clk_seg:std_logic;signal coin1 : std_logic; -debounce signal coin_1signal coin5 : std_logic; -debounce signal coin_5signal coin10 : std_logic; -debounce signal coin_10signal sel_1 : std_logic; -debounce signal select_1signal sel_2 : std_logic; -debounce signal select_2
60、signal sel_3 : std_logic; -debounce signal select_3signal sel_4 : std_logic; -debounce signal select_4signal sel_5 : std_logic; -debounce signal select_5signal sel_6 : std_logic; -debounce signal select_6signal sel_7 : std_logic; -debounce signal select_7signal sel_8 : std_logic; -debounce signal se
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年家居布藝靠墊項目投資可行性研究分析報告
- 2025-2030年中國花樟木家具行業深度研究分析報告
- 2025-2030年中國新板門窗項目投資可行性研究分析報告
- 2025年中國制氫行業技術研究報告
- 2024年全球及中國質量流量測量裝置行業頭部企業市場占有率及排名調研報告
- 挖掘機兼操作工租賃合同(5篇)
- 澤州縣事業單位合同8篇
- 第四章 保險合同6篇
- 網站建設標準合同書10篇
- 加工房租賃合同5篇
- 水運工程重大事故隱患清單
- 安徽省阜陽市2022-2023學年高二下學期期末教學質量統測歷史試題
- 人工智能語言與倫理學習通課后章節答案期末考試題庫2023年
- 銅陵恒達新材料科技有限公司《年產5萬噸鋁錠和5萬噸鋁棒項目(重新報批)》
- 焊接工序首件檢驗記錄表
- 南昌大學論文格式樣板
- “四會”教學基本概述
- 義務教育語文課程標準(2022)測試題帶答案(20套)
- 05G359-3 懸掛運輸設備軌道(適用于一般混凝土梁)
- 《紅樓夢》人名課件完整版
- 工藝美術設計師理論知識考核試題及答案
評論
0/150
提交評論