設置、庫和對象
setup 、library、object
Sysnopsys提供了一個例子,在下面的位置:
$synopsys/doc/syn/guidelines
首先,可以在.synopsys_dc.setup里面設置庫的位置和一些環境變量。里面包括所使用庫的位置,DC涉及到幾個庫文件:
1、 工藝庫(target_library):工藝庫是綜合后電路網表要最終映射到的庫,讀入的HDL代碼首先由synopsys自帶的GTECH庫轉換成Design Compiler內部交換的格式,然后經過映射到工藝庫和優化生成門級網表。工藝庫是由Foundary提供的,一般是.db的格式。這種格式是DC認識的一種內部文件格式,不能由文本方式打開。.db格式可以由文本格式的.lib轉化過來,他們包含的信息是一致的。
2、 鏈接庫(link_library):link_library設置模塊或者單元電路的引用,對於所有DC可能用到的庫,我們都需要在link_library中指定,其中也包括要用到的IP。此處還要將search_path加進來,這樣才能找到.db文件,否則只會搜索當前目錄。
3、 符號庫 (symbol_library):symbol_library是定義了單元電路顯示的Schematic的庫。用戶如果想啟動design_analyzer或design_vision來查看、分析電路時需要設置symbol_library。符號庫的后綴是.sdb,加入沒有設置,DC會用默認的符號庫取代。
4、 綜合庫(synthetic_library):在初始化DC的時候,不需要設置標准的DesignWare庫standard.sldb用於實現Verilog描述的運算符,對於擴展的DesignWare,需要在synthetic_library中設置,同時需要在link_library中設置相應的庫以使得在鏈接的時候DC可以搜索到相應運算符的實現。
1 technology library
當DC映射電路時,它如何知道你在使用哪個單元庫?
它如何知道 cells 的時間?您的ASIC供應商必須提供一個dc兼容的技術庫!
例如以下供應商提供的異或門電路的電路庫
2 target library
目標庫是設計編譯器用來構建電路的庫。
在映射過程中,DC將:
1)從這個庫中選擇功能正確的門
2)使用供應商提供的這些門的timing數據計算電路的時間。
目標庫是DC中的保留變量
將其設置為指向silicon硅供應商提供的庫文件
set target_library my_tech.db
3 link library variable
用於解析設計參考設置鏈接庫:
首先搜索memory ,然后搜索鏈接庫變量 link_library variable中指定的庫文件。
第二,DC搜索在搜索路徑變量search_path中定義的所有路徑
4 例子
如何告訴DC在bob中找到DECODE.db ?
設置search_path變量
使用analyze/elaborate