Google的開源PDK里面都有啥?嘗鮮版長這樣!
Google在近期搞了個芯片業(yè)的大新聞,也就是和工藝代工廠SKYWATER合作,開源了后者的Sky130 Hybrid 180nm/130nm 的PDK(Process Design Kit)來免費給任何人使用。不僅如此,Google還打算首批征集最多40個設(shè)計來'免費'幫助大家流片。
本文引用地址:http://m.butianyuan.cn/article/202206/435386.htm在這里簡單介紹一下PDK是什么。一般來說芯片在設(shè)計之初就需要從代工廠獲取相關(guān)的工藝信息,包括但不限于:設(shè)計規(guī)則文檔和文件、晶體管spice仿真庫、各種EDA工具所需要的tech文件、standard cell以及IP的各類庫文件(verilog, gds, cdl, lef, lib, spice)等。其中部分可能由第三方IP公司提供,但是絕大部分都可以從代工廠獲得。這些東西的獲取一般都不是無償?shù)?,會花費相當(dāng)大的費用,即使是很老的工藝也可能至少需要幾千刀,對很多小公司、研究機(jī)構(gòu)和個人研究者相當(dāng)不友好。流片費用更不用說,比PDK的費用只多不少,因此整體上的芯片設(shè)計和流片門檻比較高。
本次開源的PDK工藝雖然不先進(jìn),但是個人認(rèn)為對整個行業(yè)來說意義不小,尤其是對研究機(jī)構(gòu)和個人來說,能夠拿到真正可以流片的PDK可以使大家可以把自己的很多想法付諸實踐,更重要的是此PDK支持開源layout工具,進(jìn)一步減輕了開發(fā)者的負(fù)擔(dān)。
那么這次的PDK包含了哪些內(nèi)容呢?首先本工藝的基本信息如下:
我這邊已經(jīng)開始嘗試獲取它。不過由于本次PDK不僅包含工藝文件和文檔,還包含不同類standard cell的各種庫文件,目測文件量不小于20G,目前還沒有完全下載完,不過已經(jīng)可以嘗嘗鮮看看里面有什么東西了。該PDK放在github上托管,任何人都可以下載,其git下來的頂層目錄結(jié)構(gòu)如下:
不過由于庫文件太大,沒法放在一個repository中,因此要獲取全部的文件還要再多花幾步。進(jìn)入到libraries下面,可以看到次級目錄中standard cell庫文件的目錄:
drwxr-xr-x 1 yanfuti 197121 0 7月 10 21:32 libraries/sky130_fd_sc_hd/latest
drwxr-xr-x 1 yanfuti 197121 0 7月 10 21:32 libraries/sky130_fd_sc_hdll/latest
drwxr-xr-x 1 yanfuti 197121 0 7月 10 21:32 libraries/sky130_fd_sc_hs/latest
drwxr-xr-x 1 yanfuti 197121 0 7月 10 21:32 libraries/sky130_fd_sc_ls/latest
drwxr-xr-x 1 yanfuti 197121 0 7月 10 21:32 libraries/sky130_fd_sc_ms/latest
進(jìn)入到每個目錄下的latest后,分別下載下來有以下幾種文件:
cd sky130_fd_sc_hd/latest
ll
drwxr-xr-x 1 yanfuti 197121 0 7月 10 22:09 cells
-rw-r--r-- 1 yanfuti 197121 11560 7月 10 22:09 LICENSE
drwxr-xr-x 1 yanfuti 197121 0 7月 10 22:09 models
-rw-r--r-- 1 yanfuti 197121 221 7月 10 22:09 README.rst
drwxr-xr-x 1 yanfuti 197121 0 7月 10 22:09 tech
drwxr-xr-x 1 yanfuti 197121 0 7月 10 22:09 timing
其中cells包含每個standard cell的各種格式的庫文件,如verilog, lef, gds, cdl, test_model。models目錄下包含了幾種類型的DFF所需要的verilog/system verilog model。tech目錄下面包含的是tech lef。timing目錄下則是各種PVT條件下的.lib.json,至于.lib文件在哪里,這個我還在下載,由于文件過大,需要額外的步驟才能獲取。
除了工藝庫,還有對開源layout工具'Magic'的setup文件和tech文件。這個工具我個人沒聽過也沒用過,不作詳述。除此之外,還有一些IP的庫文件也包含其中。
magic/ magic techfiles, startup file, PDK script, and key binding script.
netgen/ netgen setup file
qflow/ qflow scripts and graywolf setup files.
klayout/ setup files for klayout
openlane/ setup files for openlane
sky130_fd_io/ Standard I/O
sky130_fd_pr_base/ Primitive devices w/fixed layout
sky130_fd_pr_rf/ RF primitive devices w/fixed layout
sky130_fd_pr_rf2/ Additional RF primitive devices w/fixed layout
本來以為rf*類的文件是register file類的memory,但是細(xì)看應(yīng)該是混合信號用到的RF。不過本次PDK的目標(biāo)設(shè)計主要是入門級數(shù)字和混合信號設(shè)計,因此有這些IP也不奇怪。
盡管如此,我翻了一遍沒有在里面發(fā)現(xiàn)memory compiler,PLL等SoC設(shè)計需要的IP,而且也沒有商業(yè)APR工具所需的工藝文件如ICC/ICC2的.tf和.tluplus或者itf, StarRC用的.nxtgrd, QRC用的.qrcTechFile或者ict/cap table等,更沒有IR-Drop和EM分析所需的工藝文件和DRC/LVS/Antenna/ESD分析驗證的rule deck,略微有點失望。整體看下來數(shù)字設(shè)計的話暫時只能跑跑DC綜合,如果帶memory的話只能用register搭,芯片規(guī)模比較受限。
后面我會繼續(xù)深挖PDK的內(nèi)容給大家?guī)砀嘈畔?,同時我也會持續(xù)關(guān)注它的官方更新和后續(xù)消息,畢竟這個只是試試水,如果反應(yīng)好的話Google表示還有可能繼續(xù)開源更多東西。這個PDK完全下載好之后如果大家也有興趣我會想辦法分享給大家,敬請期待。
評論