數(shù)字集成電路設(shè)計(jì)流程

數(shù)字 IC top-down 設(shè)計(jì)流程

拿到一個(gè)芯片設(shè)計(jì)項(xiàng)目,首要做的事就是確定好系統(tǒng)功能、性能、物理尺寸、

設(shè)計(jì)模式、制造

工藝、設(shè)計(jì)周期、設(shè)計(jì)費(fèi)用等等。芯片項(xiàng)目的總體規(guī)劃確定好之后,接著就要

從技術(shù)層面上設(shè)計(jì)芯

片,芯片流程一般分為前端設(shè)計(jì)和后端設(shè)計(jì)連個(gè)過程。

前端設(shè)計(jì):

1.設(shè)計(jì)輸入

確定芯片的具體邏輯功能,設(shè)計(jì)合理的算法(如有必要,可將芯片劃分子模

塊),使用 HDL 語言

(常用 VHDL 或 Verilog)描述芯片(模塊)功能,寫出可綜合級(jí)別的代碼。

HDL 語言可以直接用各種

文本編輯器編寫(要注意后綴),也可以用仿真器自帶的文本編輯器編寫。如

果邏輯結(jié)構(gòu)不是很復(fù)

雜,或者電路形式有特定的要求,不宜用 HDL 語言描述,這時(shí)可以考慮用原理

圖編輯器直接畫出原理

圖,或者直接編寫出電路網(wǎng)表。常用的輸入工具有 Cadence 的 Composer,

Synopsys 的 Viewdraw 等。

2.前端仿真( RTL 級(jí))

用仿真工具對(duì) HDL 代碼作前仿真,做理想狀況下的功能驗(yàn)證,觀察 HDL 仿真結(jié)

果是否滿足要求。

仿真工具主要有 Synopsys 公司的 V S S( VHDL)、 V C S( Verilog),

Cadence 公司的 NC-Verilog 和 Verilog-XL

( Verilog), Leapfrog( VHDL) ,Mentor Graphics 公司的 Modelsim

( Verilog&VHDL)。還有些 FPGA

公司的仿真軟件也不錯(cuò),比如 Altera 公司的 Quartus。

3.邏輯綜合

前仿真通過以后,就可以把代碼拿去綜合了,邏輯綜合是指把 HDL 語言描述轉(zhuǎn)

化成電路門級(jí)網(wǎng)表,

并進(jìn)行邏輯和時(shí)序電路的優(yōu)化。綜合需要設(shè)定約束條件,還需要基于特定的綜

合庫。不同的庫中,

門電路基本標(biāo)準(zhǔn)單元( standard cell)的面積,時(shí)序參數(shù)是不一樣的。所以,

選用的綜合庫不一樣,

綜合出來的電路在時(shí)序,面積上是有差異的。輸出文件也可以有多種格式,常

用的有 EDIF 格式

( Electronic Data Interchange Format 電子數(shù)據(jù)交換格式)。綜合工具

Synopsys 公司的比較強(qiáng),

如 DC( Design Compiler), BC( Behavior Compiler), Cadence 的有 Ambit,

PKS。有些 FPGA 用的第

三方綜合工具功能也很強(qiáng)大,如 Cadence 的 Synplify, Synopsys 的 FPGAExpress 和 FPGA-Compiler,

Mentor 的 Leonardo Spectrum。

4. 形式驗(yàn)證

是從功能上對(duì)綜合后的網(wǎng)表進(jìn)行驗(yàn)證。常用的就是等價(jià)性檢查方法,以 HDL 為

參考,對(duì)比綜合生

成的網(wǎng)表功能,驗(yàn)證他們是否在功能上存在等價(jià)性。這樣做是為了保證在邏輯

綜合過程中沒有改變

原先 HDL 描述的電路功能。形式驗(yàn)證工具有 Synopsys 的 Formality, Mentor 的

FormalPro。

這些都沒有問題了就可以進(jìn)入后端設(shè)計(jì)了。

后端設(shè)計(jì):

5.數(shù)據(jù)準(zhǔn)備

后端設(shè)計(jì)需要 foundry 提供的和前端設(shè)計(jì)產(chǎn)生的一些數(shù)據(jù)。

例如對(duì)于 Cadence 的 SE( Silicon Ensemble)而言所需的數(shù)據(jù)主要有 Foundry

廠提供的標(biāo)準(zhǔn)單元

(全定制設(shè)計(jì)也可由自己設(shè)計(jì)標(biāo)準(zhǔn)單元)、宏單元和 I/O Pad 的庫文件,它包括

物理庫、時(shí)序庫及網(wǎng)

表庫,分別以.lef、 .tlf 和.v 的形式給出。前端的芯片設(shè)計(jì)經(jīng)過綜合后生成的

門級(jí)網(wǎng)表,具有時(shí)序約

束和時(shí)鐘定義的腳本文件和由此產(chǎn)生的.gcf 約束文件以及定義電源 Pad 的 DEF

( Design Exchange

Format)文件。對(duì) synopsys 的 Astro 而言, 經(jīng)過綜合后生成的門級(jí)網(wǎng)表,

時(shí)序約束文件 SDC 是一樣

的,Pad 的定義文件--tdf, .tf 文件--technology file,Foundry 廠提供的標(biāo)

準(zhǔn)單元、宏單元和 I/O

Pad 的庫文件就與 FRAM, CELL view, LM view 形式給出(Milkway 參考庫 and

DB, LIB file)

標(biāo)準(zhǔn)單元版圖。標(biāo)準(zhǔn)單元分為單元庫和全定制兩種。單元庫一般是 foundry 給

定的,全定制的話,

版圖是由自己公司專門的版圖工程師畫的, Layout 工具有 Cadence Virtuoso

layout editor,另外

還有 Laker 等使用也很廣泛。版圖畫完后往往要做一下 DRC 驗(yàn)證( Design Rule

Checking 設(shè)計(jì)規(guī)則檢

查,檢查連線間距,連線寬度等幾何規(guī)則是否滿足工藝要求), LVS 驗(yàn)證

( Layout Vs Schematic 版圖

與邏輯綜合后的門級(jí)電路圖的參數(shù)對(duì)比驗(yàn)證),這要借助 Cadence 的 Diva,

Dracula 或者 Mentor 公司

的 Calibre 或者 Synopsys 公司的 Hercules, LVS 上 Hercules 功能尤顯強(qiáng)大。

6.自動(dòng)布局布線( Auto place & route,簡稱 APR)

利用前面做好的網(wǎng)表和單元版圖生成整塊芯片版圖??捎霉ぞ哂?Synopsys 公司

的 Astro( Avant!

的 Apollo), Cadence 的 design framework,Silicon Ensembler, Envisia

place &route DSM,Design

Planner,Gate Ensemble。

( 1)布局規(guī)劃,主要是標(biāo)準(zhǔn)單元、 I/O Pad 和宏單元(如 IP 模塊, RAM 等)的

布局。 I/O Pad 一般

是預(yù)先給定了位置的,而宏單元?jiǎng)t根據(jù)時(shí)序要求進(jìn)行擺放,標(biāo)準(zhǔn)單元?jiǎng)t是給出了

一定的區(qū)域由工具自

動(dòng)擺放。布局規(guī)劃后,芯片的大小,Core 的面積,Row 的形式、電源及地線的

Ring 和 Strip 就都確定下來

了。如果有必要,在自動(dòng)放置標(biāo)準(zhǔn)單元和宏單元之后, 可以先做一次

PNA(power network analysis)

--IR drop(電壓降) and EM(電遷移)。布局規(guī)劃能直接影響芯片最終的面

積。

( 2) Placement(標(biāo)準(zhǔn)單元放置)。布局規(guī)劃后,宏單元、 I/O Pad 的位置和放

置標(biāo)準(zhǔn)單元的區(qū)域

都已確定,這些信息由 SE( Silicon Ensemble)通過 DEF 文件傳遞給

PC(Physical Compiler 物理綜合

工具),PC 根據(jù)由邏輯綜合給出的.DB 文件獲得網(wǎng)表和時(shí)序約束信息進(jìn)行自動(dòng)放

置標(biāo)準(zhǔn)單元,同時(shí)進(jìn)行

時(shí)序檢查和單元放置優(yōu)化。如果是用 PC +Astro,則可用 write_milkway,

read_milkway 傳遞數(shù)據(jù)。

( 3) Routing(布線)是指在滿足工藝規(guī)則和布線層數(shù)限制、線寬、線間距限

制和各線網(wǎng)可靠絕

緣的電性能約束的條件下,根據(jù)電路的連接關(guān)系將各單元和 I/O Pad 用互連線連

接起來,這些是在時(shí)

序驅(qū)動(dòng)(Timing driven ) 的條件下進(jìn)行的,保證關(guān)鍵時(shí)序路徑上的連線長度能

夠最小?;玖鞒淌牵?/p>

Global route-- Track assign --Detail Dummy Metal 的增加(詳見第 10

步)。

( 4)布局布線中需要注意的是 CTS( Clock Tree Synthesis,時(shí)鐘樹綜合),

簡單點(diǎn)說就是時(shí)鐘

的布線。由于時(shí)鐘信號(hào)在數(shù)字芯片的全局指揮作用,它的分布應(yīng)該是對(duì)稱式的

連到各個(gè)時(shí)序單元,

使時(shí)鐘從同一個(gè)時(shí)鐘源到達(dá)各個(gè)時(shí)許單元的延遲差異最小。而且有的時(shí)序單元,

對(duì)時(shí)鐘源來說負(fù)載很

多,其負(fù)載延時(shí)很大也會(huì)造成不平衡,這是就需要插入緩沖器減小負(fù)載和平衡延

時(shí)。從而因此時(shí)鐘信

號(hào)一般需要單獨(dú)布線。這些時(shí)鐘網(wǎng)絡(luò)及其上的緩沖器構(gòu)成了時(shí)鐘樹。一般要反

復(fù)幾次才可以做出一

個(gè)比較理想的時(shí)鐘樹。 CTS 工具常用 Synopsys 的 Physical Compiler。

7.寄生參數(shù)提取及后仿真

( 1)由于芯片里面的導(dǎo)線等本身存在的電阻,相鄰導(dǎo)線之間還有互感,耦合電

容等,他們都會(huì)在

芯片內(nèi)部會(huì)產(chǎn)生信號(hào)噪聲,串?dāng)_和反射。這些效應(yīng)會(huì)產(chǎn)生信號(hào)完整性問題,導(dǎo)

致信號(hào)的電壓波動(dòng)和

變化,如果嚴(yán)重就會(huì)導(dǎo)致信號(hào)失真錯(cuò)誤。因此從 layout 進(jìn)行寄生參數(shù)提取

( extract),反標(biāo)到前面

的網(wǎng)表中,再次分析驗(yàn)證信號(hào)完整性問題是非常重要的。常用的參數(shù)提取工具

有 Synopsys 的 Star-RC

XT, Cadence 的 Nautilus DC,軟件生成的帶有完整的延時(shí)信息的設(shè)計(jì)文件格式

一般有: *.vho,*.sdf

文件。

( 2) STA( Static Timing Analysis 靜態(tài)時(shí)序分析)是采用窮盡分析方法來提

取出整個(gè)電路存在的

所有時(shí)序路徑,計(jì)算信號(hào)在這些路徑上的傳播延時(shí),檢查信號(hào)的建立時(shí)間

( setup time)和保持時(shí)

間( hold time)是否滿足時(shí)序要求,通過對(duì)最大路徑延時(shí)和最小路徑延時(shí)的分

析,找出違背時(shí)序約

束的錯(cuò)誤。因?yàn)闀r(shí)鐘樹插入后,每個(gè)單元的位置都確定下來了,工具可以提出

Global Route 形式的連

線寄生參數(shù),此時(shí)對(duì)延時(shí)參數(shù)的提取就比較準(zhǔn)確了。例如 SE 把.V 和.SDF 文件傳

遞給靜態(tài)時(shí)序驗(yàn)證工具

進(jìn)行分析。而對(duì) Astro 而言,在 detail routing 之后, 用 starRC XT 進(jìn)

行參數(shù)提取,生成的.V 和.SDF

文件傳遞給 PrimeTime 做靜態(tài)時(shí)序分析,那將會(huì)更準(zhǔn)確。時(shí)序驗(yàn)證工具有

Cadence 的 Pearl, Synopsys

的 Prime Time 等。這些流程都沒有問題后,就可以將.v 和.sdf 文件送去前端

人員那里進(jìn)行后仿真,

即 DTA(動(dòng)態(tài)時(shí)序分析),再次驗(yàn)證邏輯功能,后仿真應(yīng)做 SI(信號(hào)完整性)

分析。

8. ECO(Engineering Change Order)

針對(duì)靜態(tài)時(shí)序分析和后仿真中出現(xiàn)的問題,對(duì)電路和單元布局進(jìn)行小范圍的改動(dòng)。

后仿真和前面

的布局布線階段可能需要反復(fù)的循環(huán)進(jìn)行才能達(dá)到設(shè)計(jì)要求,這需要前端人員

和后端人員的良好配

合。

9.芯片功耗分析

實(shí)際的后端流程還包括電路功耗分析,功耗分析常用的工具有 Prime power,

Power Compiler 等。

10.Filler 的插入(pad filler, cell filler)和 Dummy 金屬的添加

Filler 指的是標(biāo)準(zhǔn)單元庫和 I/O Pad 庫中定義的與邏輯無關(guān)的填充物,用來填

充標(biāo)準(zhǔn)單元和標(biāo)準(zhǔn)單元

之間,I/O Pad 和 I/O Pad 之間的間隙,它主要是把擴(kuò)散層連接起來,滿足 DRC 規(guī)

則和設(shè)計(jì)需要。另外還

因?yàn)?Foundry 對(duì)金屬密度一般都有規(guī)定,使其金屬密度不要低于一定的值,以防

在芯片制造過程中的

刻蝕階段對(duì)連線的金屬層過度刻蝕從而降低電路的性能,加入 Dummy Metal 就

是為了增加金屬的密

度。

11.整體物理版圖驗(yàn)證

主要包括 LVS, DRC, ERC( Electrical Rule Checking 電氣規(guī)則檢查,檢查短

路,開路等電氣規(guī)

則違例)。工具前面已經(jīng)介紹,這一步的完成基本上就是是整個(gè)芯片設(shè)計(jì)階段

完成,下面的就是芯

片制造了。物理版圖以 GDSII 的格式交給掩膜版廠做掩膜,然后到芯片代工廠

( Foundry)流片( tape

out),在晶圓硅片上做出實(shí)際的電路。流片出來后要對(duì)樣片進(jìn)行各種測試,滿

足要求后就可以批量

生產(chǎn)了。

附:

DFT( Design For Test 可測性設(shè)計(jì))。 IC 設(shè)計(jì)時(shí)內(nèi)部往往都設(shè)計(jì)為自帶測試電

路的結(jié)構(gòu), DFT 的目

的就是在設(shè)計(jì)的時(shí)候就考慮將來的測試。 DFT 的常見方法就是,在設(shè)計(jì)中插入

掃描鏈,將非掃描單元

(如寄存器)變?yōu)閽呙鑶卧?DFT 工具 Synopsys 的 DFT Compiler, Mentor 的

FastScan 等,需前后端設(shè)

計(jì)員合作,并參與 tapeout 后測試。還有隨著制造工藝不斷進(jìn)步產(chǎn)生的 DFM

(可制造性設(shè)計(jì))問題等

等。

總結(jié):

Specification ->Architecture->RTL->SIM->DC->SIM->PT->DC->ASTRO->PT-

>DRC,LVS, ERC->TAPE OUT

數(shù)字 IC 設(shè)計(jì)中常見文件格式:

.alf: Advanced Library Format describing IC technology, cells and

blocks

.cif: Caltech Intermediate Format,純文本的中間文件,主要用于版圖的導(dǎo)

入輸出,不用于生產(chǎn)

.ctlf: Compiled Timing Library Format

.db: data base

.def:design exchange format

.dspf:寄生參數(shù)交互格式

.edif: Electronic Data Interchange Format

.gcf: General Constraint Format

.GDSII: Graphic Design System II, Foundry 最常用的最終版圖格式

.lef: Layout Exchange Format

.lib: DC 工具用的庫文件格式

.sdf:增量標(biāo)準(zhǔn)延時(shí)格式,用作靜態(tài)時(shí)序分析模塊 Prime Time 的輸入

.spef:標(biāo)準(zhǔn)寄生參數(shù)交換格式

.tdf:工藝庫對(duì) pad 的定義文件

.tf : Technology File format

.tlf: timing library format

.v: Verilog 源代碼

.vhd: VHDL 源代碼

.vho:帶延時(shí)的門級(jí)網(wǎng)表文件,用于 vhdl 代碼在第三方仿真 tools 下運(yùn)行




? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?----本人于網(wǎng)上找的資料,僅用于閱讀

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 1.數(shù)據(jù)準(zhǔn)備。對(duì)于CDN的Silicon Ensemble而言后端設(shè)計(jì)所需的數(shù)據(jù)主要有是Foundry廠提供的標(biāo)準(zhǔn)...
  • FPGA的設(shè)計(jì)流程就是利用EDA開發(fā)軟件和編程工具對(duì)FPGA芯片進(jìn)行開發(fā)的過程。FPGA的開發(fā)流程一般如下圖所示,...
    暗夜望月閱讀 2,184評(píng)論 0 3
  • 以下三個(gè)是最經(jīng)常被問到的,基本上屬于介紹性的題目,無所謂正確答案,在我看來,這些不算真正的問題。 Discuss ...
    蜀湘情緣閱讀 6,553評(píng)論 0 8
  • 再說,我就把你賣了—— (作者:愛看文) 一次跟女友坐電梯,同乘的有個(gè)酷酷的大胡子老外。女友一直唧唧喳喳說老外長得...
    范末末閱讀 354評(píng)論 0 3
  • 賈樟柯在接受采訪時(shí)說:“現(xiàn)代人的生活節(jié)奏越來越快,但大家卻越來越不快樂。”《山河故人》給我們帶來的思考,遠(yuǎn)不止生活...
    迷信美麗傳說閱讀 1,475評(píng)論 0 11

友情鏈接更多精彩內(nèi)容