Standard cell,標(biāo)準(zhǔn)單元,或者簡稱cell,可以說是數(shù)字芯片后端最基本的概念之一了,甚至可能沒有接觸過后端的同學(xué)也有所耳聞?
那么,它到底是什么呢?我們?yōu)楹我O(shè)定標(biāo)準(zhǔn)單元呢,以及這些cell是怎么應(yīng)用到我們的后端設(shè)計中的呢?我就來以我個人的理解闡述一下這幾個問題。
首先,在芯片設(shè)計最早期,門電路不多,晶體管都靠手畫在圖紙上,所有芯片都是一些邏輯簡單的全定制芯片的時代,是不存在什么標(biāo)準(zhǔn)單元的概念的。那時的工程師們只需要把一個一個的晶體管擺好,電路就可以正常工作了。
但是隨著集成化越來越高,所有的門電路都靠一個個手畫變得非常不現(xiàn)實,一個非常樸素的想法就是把一些用過很多次的電路打包,就比如最基本的與或非門,我們要用的時候直接調(diào)用這個包就行了,就像復(fù)制粘貼一樣,這就非常方便了。
比如一個二輸入與門,我只要設(shè)計好它的電路,畫出它的版圖,提取出來它的各項參數(shù),就可以無限次的在整個芯片上復(fù)制了。
而后,更進(jìn)一步,我們可以把整個芯片所有可重用的部分都打包起來,為了方便我們擺放和連線,我們會制定一些規(guī)范化的rule,比如我們規(guī)定每個包要有固定的高度,稱為row,寬度可以以一個CPP(柵極間距)的距離變化,稱為site。這樣就成為了一個std cell。
Std cell可以大大簡化我們的設(shè)計復(fù)雜度,它的意義,就像蓋樓房的磚頭,構(gòu)成生物的細(xì)胞,畫畫的顏料一樣。
如果對于任何一個邏輯門都要求后端從頭晶體管開始設(shè)計,那是真的無法想象的。目前所有的芯片已經(jīng)全部采用了這種設(shè)計方式。
但是,不可避免地,它會有一些資源的浪費(fèi),因為每一個cell都是有統(tǒng)一的設(shè)計規(guī)則,必然不能針對性的在一些小的方面進(jìn)行優(yōu)化。
舉個例子,在芯片的某個地方可以把pin出在cell左側(cè)比較好route,但是這種cell設(shè)計的都是在右側(cè)。當(dāng)然,類似這樣的影響在大型design中可以忽略了。
設(shè)計std cell是一件非常復(fù)雜的事,我感覺不亞于設(shè)計一款芯片的復(fù)雜程度。首先是電路的設(shè)計,schematic design。有一些具有相對復(fù)雜邏輯功能的cell,它的邏輯電路如何設(shè)計,如何兼顧PPA地進(jìn)行設(shè)計,其實是很難的,設(shè)計結(jié)束后還要進(jìn)行許多的驗證之類。而后layout工程師要設(shè)計畫出cell的版圖。
我們后端設(shè)計一般繞線層十幾層頂天了,版圖工程師要面對的是數(shù)不清的各種各樣的層,有metal,有oxide,有poly,有n區(qū)有p區(qū),應(yīng)有盡有,還要考慮盡可能出pin M1或者M(jìn)2出,低一點(diǎn),給我們APR預(yù)留更多的繞線資源。
而后還要有專門的工程師來進(jìn)行cell 參數(shù)的提取,一般就是指power和timing的提取。Power應(yīng)該主要就是leakage,timing就很麻煩了,需要在各個corner下,每個corner出一套它的各項參數(shù)。
舉個例子,一個cell的delay信息,基本需要在各個PVT條件下,測出各個引腳在各種邏輯狀態(tài)下,input transition和output load各種情形下,cell的delay值。
更別提一些OCV的信息,還有POCV的lvf信息了。最終所有這一切做好后,就可以生成cell的LIB文件了。結(jié)合cell的LEF文件(物理信息),我們后端就可以愉快的用這些cell搭積木啦。
我們后端在用的時候,這些cell就是一個一個的黑匣子,看不見內(nèi)部,只能看到它的大小和出pin的信息。讀入網(wǎng)表文件后,相應(yīng)的cell就出現(xiàn)在我們的GUI界面了。對了,前端在綜合的時候也需要讀cell的lib。
他們拿到的RTL代碼不會指定一個與門要用哪種cell,比如我們目前有兩種不同的與門cell,邏輯功能一樣,但是有一些別的差異,綜合工具就會全面考慮這一塊電路,選用相應(yīng)的cell作為那一段verilog代碼里表示的與門。先寫這么多吧,文中提到的各種名詞之后我可能都會寫一寫,希望對大家有所幫助。
-
晶體管
+關(guān)注
關(guān)注
77文章
9582瀏覽量
137462 -
門電路
+關(guān)注
關(guān)注
7文章
199瀏覽量
40085 -
RTL
+關(guān)注
關(guān)注
1文章
384瀏覽量
59619 -
數(shù)字芯片
+關(guān)注
關(guān)注
1文章
105瀏覽量
18355 -
Layout設(shè)計
+關(guān)注
關(guān)注
1文章
13瀏覽量
1583
發(fā)布評論請先 登錄
相關(guān)推薦
評論