看板 Electronics 關於我們 聯絡資訊
※ 引述《zxvc (執著)》之銘言: : 請問有用Design Compiler 2008.09的人有沒有發現有幾個指令好像不太有效? : 就是: : define_name_rules : change_names : report_names : 我學長發現Design Compiler 2008.09合出來的netlist會有"\"字元。 : 我試著去測試上述指令,與manual戰鬥了一個下午,很失敗。 : 我覺得我應該沒有誤解manual,也搜過google但就是試不出想要的結果。 : 只能推論軟體有bugs。 : 我學長之前舊版的Design Compiler就沒有此問題。 : 我覺得照理來講最簡單的作法拿掉"\"可以用以下指令: : define_name_rules myrule -restricted "\\" : change_names -rules myrule -hierachy : 但DC 2008.09寫出的netlist還是有"\"。 : 有沒有人遇到類似問題? 經過兩天來的戰鬥,終於把反斜線的問題給解決了,得到以下心得。 1. define_name_rules的-map的map string的格式是: {{"pattern", "replacement"}, {"pattern", "replacement"}*} 但在使用-map時map string外部還要再加上一層{}。如: define_name_rules MyRule -map {{{"a", "A"}, {"b", "B"}}} (詳情請看DC manuals) 2. 如果write的Verilog netlist有incomplete net busses (如abc[2], abc[0],卻沒有abc[1]), 或斜線"/"(如A/B, A/B/C), 那麼在用DC寫出Verilog netlist時,DC會在這些nets前加上反斜線"\"字元, 並且在最後面加上一個space character " ", (否則NC-Verilog或ModelSim會compile失敗)。 例如: 合法: wire \abc[2] , \abc[0] , xxx; 不合法:wire abc[2] , xxx; wire \abc[2], xxx; 所以在寫出netlist前必須把"["、"]"、"/"用別的字元替換掉。 但你無法用define_name_rules的-restricted限制這些字元(原因不名)。 似乎只能用-map,如: define_name_rules MyRule -map {{{"[", "_"}, {"]", "_"}, {"/", "_"}}} change_names -rules MyRule -hierarchy -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 220.139.206.104
zxvc:哭哭,剛才翻了IEEE 1364-2005才知道incomplete net busses 11/28 15:59
zxvc:的命名是follow IEEE 1364-2005 3.7.1 Escaped identifiers。 11/28 16:00
zxvc:才短短的幾行字沒看到,就花費我不少時間研究。 11/28 16:03
zxvc:之前都以為絶不會用奇怪的字元命名,都直接忽略escaped 11/28 16:05
zxvc:identifiers的觀念不看。 11/28 16:05
zxvc:這個name rule更好: 11/28 16:25
zxvc:-remove_irregular_net_bus -restricted "/\[\]" 11/28 16:25
zxvc:不會把busses展開成難閱讀的格式。 11/28 16:28
zxvc:看來-restricted是不能直接處理escaped identifiers。 11/28 16:29
UBL:推!! 11/28 17:20
Trai:1 11/28 17:28
sneak: 推!! https://noxiv.com 08/13 18:52
sneak: 不會把busses展開 https://daxiv.com 09/17 22:47
sneak: 1 https://daxiv.com 11/11 15:33
sneak: //daxiv.com http://yofuk.com 01/04 22:05