日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁(yè) > > 艾思后端實(shí)現(xiàn)

在芯片的GDS數(shù)據(jù)里,使用Calibre對(duì)數(shù)據(jù)進(jìn)行處理是非常常見(jiàn)的操作,但是GDS是一種和常規(guī)設(shè)計(jì)結(jié)構(gòu)不太一樣的一種數(shù)據(jù),這里,通過(guò)這個(gè)小小的科普文章,一起看看怎么樣在GDS里邊做數(shù)據(jù)漫游吧!閑言少敘,ICer GO!


Verilog-like 數(shù)據(jù)結(jié)構(gòu)

在芯片設(shè)計(jì)的世界中常用的數(shù)據(jù)結(jié)構(gòu)就是verilog類型的了,通常是由module(設(shè)計(jì))和instance(例化)組成,這樣通過(guò)對(duì)module的不斷instance,就可以形成一個(gè)層次化(hierarchy)的完整設(shè)計(jì),在EDA工具里邊,不同家對(duì)verilog有自己的獨(dú)特的命名定義

  • S家
    • module:design/ref_name
    • instance:cell/leaf_cell
  • C家
    • module:cell/ref_lib_cell_name
    • instance:insts/Hinsts

基本在工作中,用上述的名詞,就可以完成對(duì)verilog-like的數(shù)據(jù)進(jìn)行準(zhǔn)確的描述。

GDS-like 數(shù)據(jù)結(jié)構(gòu)

對(duì)于GDS數(shù)據(jù),由于其添加了很多的物理信息,所以這個(gè)數(shù)據(jù)結(jié)構(gòu)和verilog-like相比,有其特殊性,基于常用的Calibre系列工具,它的數(shù)據(jù)命名大概類似如下:

基礎(chǔ)元素(base element)

  • top-cell:當(dāng)前GDS的頂層設(shè)計(jì)(top-design),類似verilog里的current_design
  • cell:數(shù)據(jù)庫(kù)所有的設(shè)計(jì),相當(dāng)于verilog里的module,cell本層可以包含下列的實(shí)際結(jié)構(gòu),可以簡(jiǎn)單的理解為leaf-instance
    • poly/wire:指定cell下的metal 類型,可以是任何層的物理圖案,會(huì)出現(xiàn)在最后的wafer上,PS:需要mask的支持
    • text:指定cell下的text,只是字符描述,不會(huì)出現(xiàn)在最后的wafer上,PS:常見(jiàn)的芯片logo等字符,其實(shí)是用某一層的polygon實(shí)現(xiàn)的
    • Via:一個(gè)完整的VIA是包含cut、upper和lower layer的,這個(gè)不是單純的metal/text,所以在GDS里邊,這個(gè)被歸為cell*
  • ref:指定cell所使用的設(shè)計(jì),
    • 如果只有名稱,那么可以理解為verilog里的module
    • 如果具備了名稱和物理信息,那么可以理解為verilog里的instance。
    • 支持嵌套調(diào)用
    • 不支持hierarchy design(ref)

可以看到,整個(gè)GDS的主要結(jié)構(gòu)還是仿效verilog-like,但是由于都是基于實(shí)際的物理設(shè)計(jì),所以對(duì)于instance和hierarchy做了一些簡(jiǎn)化處理。cell/ref可能靈活切換,取決于用戶看數(shù)據(jù)的層級(jí)/角度。

  • Cell/ref
在這里插入圖片描述
  • Poly/text
在這里插入圖片描述在這里插入圖片描述

具備了上述的數(shù)據(jù)定義知識(shí),用戶就可以通過(guò)calibredrv里邊提供的命令完成數(shù)據(jù)的抽取和遍歷了。

注意:calibredrv命令默認(rèn)返回的信息都是去重的(unique ),除非特殊聲明

GDS 數(shù)據(jù)遍歷

Calibre的家族可謂博大精深,根據(jù)用途,一般可以分為兩類

  • 對(duì)GDS的查看(GUI)和數(shù)據(jù)遍歷:calibredrv系統(tǒng),啟動(dòng)命令:calibredrv
  • 對(duì)GDS的進(jìn)行靜態(tài)規(guī)則檢查(DRC/LVS etc.):calibre系統(tǒng),啟動(dòng)命令:calibre

這里,使用calibredrv -shell命令,就可以啟動(dòng)calibredrv的命令行模式了,這個(gè)時(shí)候并不會(huì)彈出calibre的GUI,只有一個(gè)提示符。

這個(gè)也是一個(gè)TCL命令接口(PS:這個(gè)TCL接口比較古早,不支持命令自動(dòng)補(bǔ)全 auto-complete,可能對(duì)于用慣S家/C家的用戶,還是有一些不太習(xí)慣。

加載一個(gè)GDS文件 set L [layout create BIST.gds -dt_expand]  

這里的L是GDS創(chuàng)建后的文件句柄,后面所有的操作,都需要借助這個(gè)句柄。

  1. 獲取當(dāng)前設(shè)計(jì)(top-cell)
$L topcell 
在這里插入圖片描述

這個(gè)GDS的頂層只有一個(gè)就是BIST,當(dāng)然Calibre也支持多個(gè)top-cell的GDS數(shù)據(jù),但是這個(gè)違背了層次化設(shè)計(jì)規(guī)則,建議所有的GDS都有且只有一個(gè)topcell

  1. 羅列出所有的cell(唯一化過(guò)的)
$L cells 
在這里插入圖片描述

這里的返回并沒(méi)有排序,也沒(méi)有上下級(jí)關(guān)系,有點(diǎn)類似于get_designs這類命令。

  1. 羅列出指定cell下的第一層引用(ref)

對(duì)所有當(dāng)前層次(cell)下的所有l(wèi)eaf(包含ref)進(jìn)行羅列,

在這里插入圖片描述

結(jié)合下面的截圖,可以看到,只有第一層的高亮ref被返回,所以,類似verilog下的get_cells命令:

在這里插入圖片描述
  1. 對(duì)于指定ref,查看在當(dāng)前設(shè)計(jì)(top-cell)被引用了多少次

這個(gè)例子表明了nand_4p在整個(gè)BIST設(shè)計(jì)下,被例化的16次,每次例化都有不同的物理坐標(biāo)信息,盡管設(shè)計(jì)內(nèi)容是一樣的:

在這里插入圖片描述

所以類似的,在當(dāng)前top-cell下,top-cell(BIST),并沒(méi)有被例化過(guò)任何一次,這個(gè)和verilog里的current_design的道理是類似的。

在這里插入圖片描述
  1. 獲取指定cell下的所有和具體inst和inst數(shù)量
  • 獲取指定cell下的具體inst
$L iterarot ref $cell 
在這里插入圖片描述

這里返回的是ref以及具體的坐標(biāo)等信息,這個(gè)就是上文說(shuō)GDS里邊例化(instance)了

具體的返回信息解釋如下:

在這里插入圖片描述
  • 獲取指定cell的所有inst數(shù)量

    方法一: $L refcount -parent nand_4p

在這里插入圖片描述

方法二:llength [$L iterarot ref $cell]

在這里插入圖片描述

這個(gè)命令是得到了指定cell下的所有子inst,這個(gè)和比children(只打印第一層)有如下區(qū)別:

- Children只輸出第一層的ref,iterator則包含了所有層次的 ref

- Children的輸出是uniq 后的ref信息

- Iterator 則是inst的信息

  • 獲取指定cell下的所有poly
$L iterator poly $cell $layer_list range 0 n 
在這里插入圖片描述

返回值的說(shuō)明:

在這里插入圖片描述

所以,可以看到,是一個(gè)水平走線的一段metal

  • 獲取指定cell下的所有text
$L iterator text $cell $layer_list range 0 n 
在這里插入圖片描述

返回值的說(shuō)明:

在這里插入圖片描述

【敲黑板劃重點(diǎn)】

通過(guò)上述講解,用戶基本上可以通過(guò)命令模式,遍歷出GDS里邊的所有類型的數(shù)據(jù),這個(gè)對(duì)于GDS的信息抓取或者數(shù)據(jù)比對(duì)有很好的參考作用,如果加以靈活運(yùn)用,對(duì)于一些之前需要在APR里邊生成的信息,可以在完整的GDS里邊實(shí)現(xiàn)了,譬如:?jiǎn)慰椎臋z查,metal的面積/密度統(tǒng)計(jì),layer信息的抽取等等,通過(guò)Calibre,可以給后端工程師提供更多維度的數(shù)據(jù)評(píng)判和比對(duì)。



本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
關(guān)閉