Re: [問題] Design Compiler- define_name_rules

看板Electronics作者 (執著)時間14年前 (2009/11/28 15:37), 編輯推噓2(2013)
留言15則, 4人參與, 5年前最新討論串2/2 (看更多)
※ 引述《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

11/28 15:59, , 1F
哭哭,剛才翻了IEEE 1364-2005才知道incomplete net busses
11/28 15:59, 1F

11/28 16:00, , 2F
的命名是follow IEEE 1364-2005 3.7.1 Escaped identifiers。
11/28 16:00, 2F

11/28 16:03, , 3F
才短短的幾行字沒看到,就花費我不少時間研究。
11/28 16:03, 3F

11/28 16:05, , 4F
之前都以為絶不會用奇怪的字元命名,都直接忽略escaped
11/28 16:05, 4F

11/28 16:05, , 5F
identifiers的觀念不看。
11/28 16:05, 5F

11/28 16:25, , 6F
這個name rule更好:
11/28 16:25, 6F

11/28 16:25, , 7F
-remove_irregular_net_bus -restricted "/\[\]"
11/28 16:25, 7F

11/28 16:28, , 8F
不會把busses展開成難閱讀的格式。
11/28 16:28, 8F

11/28 16:29, , 9F
看來-restricted是不能直接處理escaped identifiers。
11/28 16:29, 9F

11/28 17:20, , 10F
推!!
11/28 17:20, 10F

11/28 17:28, , 11F
1
11/28 17:28, 11F

08/13 18:52, , 12F
08/13 18:52, 12F

09/17 22:47, , 13F
不會把busses展開 https://daxiv.com
09/17 22:47, 13F

11/11 15:33, , 14F
11/11 15:33, 14F

01/04 22:05, 5年前 , 15F
//daxiv.com http://yofuk.com
01/04 22:05, 15F
文章代碼(AID): #1B4DCUZN (Electronics)
文章代碼(AID): #1B4DCUZN (Electronics)