770 likes | 2.2k Views
Full Custom Design Flow 全客戶設計流程. 朝陽科技大學 資訊與通訊系. Outline. introduction Pre-Layout Simulation ( Hpsice ) Layout ( Laker ) Verification ( Calibre ) Post-Layout Simulation ( Hspice ). interduction. 在不同的製程底下,每套軟體皆有不同的技術檔,因此在設計前必須決定好使用哪個製程,方便我們之後的設計及驗證。 在此我們示範 CIC18 的製程.
E N D
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 namen1 <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後驗證通過了,如圖