Synopsys
DC
安裝:基於centos7 / 虛擬機
1. license太舊,LicGen生成synopsys.dat失敗
編輯synopsys.src文件,將第一行的時間改後一點
2. syn.log顯示failed to open the tcp port number in the license
原因是lmgrd已經在運行,佔用了同一端口。解決方法:要麼更換端口(太麻煩),要麼輸入ps查看lmgrd的ID號,然後kill掉它。
3.license打開之後,syn.log裏顯示無有效hostid,如
應該是網卡名不一致,虛擬機配置文件裏如果ethernet0.generatedAddress = "00:0c:29:c8:3d:11"(舉例),centos7裏同樣MAC地址的網卡名應是eth0。解決方法是打開ifconfig查看哪個網卡MAC一樣,修改該網卡名爲eth0。修改後可通過lmhostid查看MAC地址是否爲00:0c:29:c8:3d:11。
4. 終端中輸入dc,no such file or directory
缺少庫,直接安裝就好了 yum install libncurses.so.5;後面可能還會出現類似錯誤,那就缺啥裝啥就好了。
5. intaller中打開安裝軟件路徑一直顯示 is not valid.(即使存在..._linux.tar和..._common.tar)
intaller版本太老,換個新的試試
操作(dc_shell):
- 一些重要命令:
list_designs #顯示verilog設計文件
remove_design -hierarchy #移除工作區的verilog文件
analyse -format verilog [ list top.v file1.v file2.v ] #讀取並編譯三個設計文件
elaborate -architecture verilog top #指定top文件並netlist
check_design #綜合前檢查設計文件的語法錯誤;若返回0,則要檢查設計文件
reset_design #清楚以前所有的約束
create_clock -period 2 [ get_ports CLK ] #創建時鐘線端口CLK,輸入週期爲2ns,佔空比默認爲0.5
set_input_delya -max 0.8 -clock CLK [ get_ports C ] #設置輸入端口C相對於時鐘線CLK端口輸入延遲最大爲0.8ns
remove _input_delay [ get_ports CLK ] #移除CLK端口的輸入延遲
set_output_delay -max 0.5 -clock CLK [ all_outputs ] #設置所有輸出端口相對於時鐘線CLK端口輸出延遲0.5ns
remove_from_collection [ all_port ] [ get_ports CLK ] #設置排除掉CLK端口的所有其他端口
compile -map_effort high -area_effort high -boundary_optimization #綜合
report_constraint -all_violators #檢查有無違規
set_false_path -from [get_clocks CLK1] -to [gets_clocks CLK2] #告訴DC不要在這條路徑進行約束
set_clock_groups -logically_exclusive -group CLK1 -group CLK2 #邏輯互斥,作用上同
set_clock_groups -asynchronous -group CLK1 -group CLK2 #異步時鐘,無需做優化
- timing
check_timing #檢查設計中有無port沒有約束
report_timing #報告時序問題,設計中的最差路徑。寄存器間的時間差要小於路徑時間
report_timing -max_path 2 #報告slack最長的分別指向兩個寄存器的路徑
report_timing -nworst_path 2 #報告slack最長的兩個路徑
report_timing_requirements -ignored #報告set_false_path等異常約束
- retiming優化
修復時序違規
非pipline結構的時序優化可使用adaptive retiming;
pipline結構時序優化可採用register retiming
VCS:
ERROR:
- error-[SFCOR]
打開terminal的位置和放code的位置不對應,將terminal的運行目錄轉至file_list.f的位置即可
Cadence
virtuoso
操作:
1. 仿真後器件顯示的參數疊加在一起,可在CIW窗口中輸入aelPushSignifDigits(x),調整參數有效位數爲x。
ERROR:
- error SFE-23 xx is an instance of undefined model
這是因爲ADE仿真模型找不到,解決:在setup裏的model library裏添加相應的.scs文件或者.lib文件,注意section添加相應的屬性。有的時候仍然會存在有些元件找不到的情況,只要添加該元件相應的庫即可,例如
Altium Designer
error:
1.Net TDO has only one pin (Pin U3-39)
解決:放置網絡標號的時候需要在導線上出現紅色的X字,纔算成功添加,不然的話就是沒有連上