您當前的位置:檢測資訊 > 科研開發
嘉峪檢測網 2024-12-01 11:10
從事芯片行業的朋友對于GDS(Graphic Data System,圖形數據系統)應該不會感到陌生,在半導體設計的多個階段GDS都有著廣泛的應用,比如電路設計、版圖設計和制造工藝等環節。
1. GDS以及GDS merge操作
GDS是一種用于描述和存儲半導體芯片的版圖信息的二進制文件格式,其包含了設計中的各種幾何形狀、層級結構、電路器件和連線信息等。
不同的應用場景下,GDS的應用方式也有所區別,例如,在晶圓廠(Fab)提供的標準單元庫中,每一個標準單元(standard cell)都可以被單獨存儲為一個GDS文件,這便于多人分工合作,分別繪制不同的標準單元,并進行物理驗證以確保每個單元的準確性。而在設計公司(Fabless)中,一個完整芯片的GDS文件通常非常龐大且復雜,為了高效地完成這一大型工程,設計過程往往采用類似流水線的方式,將整個芯片的GDS文件拆分若干個獨立的部分,每個部分由不同的團隊或個人負責完成,最終再通過“合并” (即merge)操作,將所有部分整合成一個可以用于流片的完整GDS文件。
2. GDS merge的場景
GDS merge操作是在特定的設計環境中進行的,通常針對的是幾種特定類型的對象,主要包括:
(1) 芯片設計中包含第三方IP:如果芯片設計中使用了第三方提供的IP,為了確保IP與自定義設計的兼容性和一致性,需要在流片前進行GDS merge。這是因為IP vendor可能會要求到晶圓廠進行merge,以確保IP與主設計準確集成;
(2) 模擬電路和數字電路的合并:在SoC (系統級芯片) 設計中,模擬電路和數字電路通常分別設計,并生成各自的GDS文件。在最終將它們合并為一個完整的SoC芯片版圖時,需要進行GDS merge;
(3) Fab提供的IP:在某些情況下,工藝廠會提供特定的IP,這些IP需要在工藝廠進行merge,以確保與工藝庫的兼容性;
(4) Dummy fill,在實際設計過程中,我們通常會遇到設計chip GDS和dummy GDS進行merge的操作,主要目的是為了避免芯片設計中出現大面積的空白區域,通過填充一些dummy結構,可以保持芯片密度的均勻性,從而確保制造的一致性和可靠性。
3. GDS merge操作方式
在進行GDS merge時,通常需要使用專門的EDA(電子設計自動化) 工具,主要工具包括ICC2、Innovus、Virtuoso、calibredrv、Skipper等。這些工具可以將生成的GDS文件進行拼接和整合,常用的實現方式包括EDA工具的GUI和命令行兩種。考慮到GDS merge的靈活性和實用性,以下主要介紹calibredrv中的merge命令,操作語法如下所示:
(1) 進行少數幾個GDS的merge操作,可以在命令行輸入以下指令:
# terminal input
calibredrv -shell
layout filemerge -in A.gds -in B.gds -out merge_output.gds -createtop topcell_name -mode rename
以上是對A和B兩個GDS進行merge的操作,其中:
-in:是指定輸入GDS (A.gds和B.gds);
-out:是指定輸出GDS (merge_output.gds);
-createtop:是為輸出GDS創建名為topcell_name的topcell,如果不創建新的topcell就會面臨出現兩個topcell的風險,這種hierarchy結構看上去比較混亂;
-mode:是cell的命名模式,包括rename、overwrite、append、forcerename和reportconflictsonly五種模式,是為了避免具有相同名字的cell出現而進行的操作,通常可選擇rename模式。
(2) 進行大量GDS的merge操作
# terminal input
calibredrv -a layout filemerge -in A.gds -indir gds_dir/ -out merge_output.gds
對于數量較多的GDS進行merge操作,比如大量的standard cell需要merge到topcell里,就可以將standard cell放在一個文件夾下,然后進行以上操作,這里:
-indir:指定了存放GDS的路徑。
(3) GDS merge代碼實現
當需要進行大量的GDS merge操作時,上述介紹的GUI和命令行方法的效率可能無法滿足快速設計迭代的需求。此時,通過編寫代碼腳本來實現批量處理不僅能顯著提高效率,還能確保操作的準確性。在實際項目中,這種方式更為常見。
GDS merge在芯片設計流程中的重要性不言而喻,通過在設計初期將模塊化研發的成果進行GDS merge,可以及早發現并解決不同設計之間的兼容性和匹配問題,避免因后期修改而導致的成本增加。高效的GDS merge流程不僅能夠縮短從設計到生產的時間周期,還能加速新產品的市場投放,從而實現芯片的高效研發和設計。
來源:且聽芯說