Full Custom Design Flow 全客戶設計流程 朝陽科技大學 資訊與通訊系 Full Custom Design Flow 全客戶設計流程
Outline introduction Pre-Layout Simulation ( Hpsice ) Layout ( Laker ) Verification ( Calibre ) Post-Layout Simulation ( Hspice )
interduction 在不同的製程底下,每套軟體皆有不同的技術檔,因此在設計前必須決定好使用哪個製程,方便我們之後的設計及驗證。 在此我們示範 CIC18的製程
Pre-Layout Simulation 一開始先呼叫 Hspice的軟體出來用,在測試檔參數設定完後Input測試檔產生xxx.lis來查看錯誤,成功的話會顯示hspice job concluded。
Pre-Layout Simulation 新增一個空白檔案,副檔名為sp。
Pre-Layout Simulation 電路檔副檔名為sp,主要是敘述電路每個節點。
Pre-Layout Simulation 為了清楚起見,通常我們會額外建一個測試檔副檔名也是sp,主要是描述電路的工作環境。 Ex:溫度、工作電壓、頻率等
Pre-Layout Simulation 此為測試檔之內容,之後會有詳細的介紹 空一行 內容參數設定
Pre-Layout Simulation Hspice基本語法介紹 C 電容 D 二極體 E,F,G,H 相依電壓與電流源 I 獨立電源: 電流源 J 接面場效應電晶體JFET K 互感或耦合電感Mutual inductor L 電感 M 金屬氧化物半導體場效應電晶體MOSFET Q 雙極性接面電晶體BJT O,T,U 傳輸線 V 獨立電源: 電壓源 X 子電路*
Pre-Layout Simulation Hspice基本語法介紹 Zero (0) is always Ground Ground may be 0, GND, GND!
Pre-Layout Simulation Hspice基本語法介紹 Analysis type . tran(暫態分析) Ex : .tran 0.01n 100n Output parameter . option Ex: option post *是把輸出的結果存成Graph file . Probe *允許儲存輸出變數到圖檔(awaves)
Pre-Layout Simulation Hspice基本語法介紹 Transient source statements Types of independent source function Pulse (pulse function) *週期性的訊號,多利用在數位訊號中的 clock Sinusoidal (sin function) *類比訊號分析 Exponential (exp function) *特殊元件分析 Piecewise linear (pwl function) *適用於不規則的訊號分析 Single-frequency FM (sffm function) *通訊調變分析 Single-frequency AM (am function) *通訊調變分析
Pre-Layout Simulation Hspice基本語法介紹 Pulse function : pluse syntax: pulse(v1 v2 <Tdelay Trise Tfall Pwidth Period>)
Pre-Layout Simulation Hspice基本語法介紹 Ex:Vin 1 0 PULSE ( 0V 5V 10ns 10ns 10ns 40ns 100ns )
Pre-Layout Simulation Hspice基本語法介紹 Piecewise linear function : pwl 語法: pwl(<t1 v1 t2 v2 t3 v3….> <R=repeat><Tdelay=delay>)
Pre-Layout Simulation Ex:vAin Ain 0 PWL(0n 0v 9.9ns 0v 10ns vsupply 19.9ns vsupply 20ns 0v 24.9ns 0v 25ns vsupply 29.9ns vsupply r 0) Ex:vBin Bin 0 PWL(0n 0v 4.9ns 0v 5ns vsupply 14.9ns vsupply 15ns 0v 24.9ns 0v 25ns vsupply 29.9ns vsupply r 0) ain bin
Pre-Layout Simulation Hspice中也有類似C語言副程式的寫法,此寫法為.subckt,可以利用此指令來寫一個程式,以利我們未來在程式主題中的呼叫。 Ex:.subckt name n1 <n2 n3> <param=val…> 描述內容 .ends
Pre-Layout Simulation MOSFET 描述如下所示: MOS元件描述以M為開頭,其隨後的描述為連接之節點、參數等。 Ex:mp0 out ain vdd vdd p_18 w=1.5u l=0.18u
Pre-Layout Simulation MOSFET 描述如下所示: Ex:mn0 out ain gnd gnd n_18 w=0.5u l=0.18u
Pre-Layout Simulation 空一行 Nand閘電路圖 從電路圖轉成 電路描述方式
Pre-Layout Simulation Hspice基本語法介紹 量測delay Syntax:.MEASURE DC|AC|TRAN result_var TRIG ... TARG ... <Optimization Option> Ex :.meas tran delay_1 trig v(ain) val='meas_val' rise=1 + targ v(out) val='meas_val' rise=3
Pre-Layout Simulation Hspice基本語法介紹 量測Power Syntax:.MEASURE DC|AC|TRAN result FUNC out_var <FROM=val1> <TO=val2> + <Optimization Option> Ex:.meas tran Power avg p(xnand2) from'1*t_cycle' to '10*t_cycle'
Pre-Layout Simulation Hspice基本語法介紹 量測功率延遲乘積Power-Delay Product(PDP) Ex:.meas tran sum_PDP_1 param='delay_1*Power'
Pre-Layout Simulation 我們可以在測試檔內撰寫量測delay、power等的程式,如圖為前模擬量測結果,之後可以與後模擬RC萃取完的電路比較其結果,因後模擬是最接近晶片下線出來的數據。
Pre-Layout Simulation 接著我們可以使用CosmosScope來看波形,利用指令來呼叫Scope這套軟體,檢查其波型是否與真值表相符,確定無誤後則可以進行佈局的規劃了。
Pre-Layout Simulation 打開Plotfiles後,檔案類型選擇Hspice
Pre-Layout Simulation 選擇正確的檔案後開啟
Pre-Layout Simulation 此為nand閘輸出波形,只有在ain和bin為1時輸出為0,在後模擬完可自行比較波形圖的不同。 ain bin out
Layout ( Laker ) 再來進入畫layout圖部分,使用spring_soft公司的laker,一開始呼叫laker軟體出來使用,也要順便呼叫calibre來驗證設計規則(DRC)和佈局圖對應電路圖(LVS),這二樣都要過才能進行萃取RC的動作。
Layout ( Laker ) 我們先新增一個library如圖所示
Layout ( Laker ) 輸入Library name後選擇Technology file
Layout ( Laker ) 在以下路徑選擇所需的檔案
Layout ( Laker ) 在cell處新增一個元件
Layout ( Laker ) 選擇剛才建的library後新增一個新的元件
Layout ( Laker ) 進來之後的畫面,左側為常用tool
Layout ( Laker ) 常用tool: Contact Metal Poly Diffussion Nwell PIMP NIMP
Layout ( Laker ) r:矩形 k:尺規 c:複製 Ctrl+m:呼叫mos o:呼叫連接層 Ctrl or shitf+z:放大或縮小 ↑↓←→:移動
Layout ( Laker ) 電晶體結構圖(n-well製程)
Layout ( Laker ) 此為nand閘的layout完成圖。
Layout ( Laker ) 畫完layout後要跑DRC驗證,必須符合它的製程規則去做設計
Verification ( Calibre ) Rule檔放在以下路徑,如圖,之後按Run DRC
Verification ( Calibre ) 左側欄位出現錯誤請修改至正確為止
Verification ( Calibre ) 依照Rule修改後已無錯誤訊息,如圖。
Verification ( Calibre ) 接著跑LVS驗證(Layout Versus Schematic),此步驟為確認所畫的佈局圖與電路圖描述的接腳是否相符。
Verification ( Calibre ) 選擇正確的Rule檔與路徑
Verification ( Calibre ) 接著修改左欄Inputs裡面的Netlist,選擇正確的電路檔 以及格式和元件
Verification ( Calibre ) 調整完後按Run LVS
Verification ( Calibre ) 顯示結果為不符合
Verification ( Calibre ) 左側點看LVS Report找錯誤
Verification ( Calibre ) 經過debug後驗證通過了,如圖
Post-Layout Simulation ( Hspice ) 接著做PEX萃取電路的電阻與電容
Post-Layout Simulation ( Hspice ) 輸入正確的規則檔及路徑
Post-Layout Simulation ( Hspice ) 左側Input的Netlis欄位也要修改
Post-Layout Simulation ( Hspice ) Output也要修改格式及萃取類型
Post-Layout Simulation ( Hspice ) 左側的Rule、Inputs、Outputs皆修改完後按RunPEX
Post-Layout Simulation ( Hspice ) 此為萃取後的電路檔,以此電路檔再做一次波形模擬(scope)及量測各項數據。
Post-Layout Simulation ( Hspice ) 此為後模擬之波形圖,與前模擬相較下波形較差一點。 ain bin out
Post-Layout Simulation ( Hspice ) 如圖為後模擬出來的結果,把RC參數考慮進去後不論在delay或power上均提高了一些。
Post-Layout Simulation ( Hspice ) 以上大致為整個前模擬(Pre-sim)到後模擬(Post-sim)的流程。