但我的問題是要修掉 EDA 報出 Nonequivalent 的地方,感覺 EDA 好像告訴了你什麼,但是好像也沒個屁用,想要比照文件儲存 checkpoint 方便之後 debug 不用重跑,但文件就是沒講到如何在載入 checkpoint 後,重回 GUI 的方法,有稍微在 Command Reference 那份文件瀏覽一下指令,但那個貌似進入 GUI 的指令居然是在已進入 GUI mode 的情況下使用?
今天早上終於在循序閱讀文件的別地方看到進入 GUI mode 的指令(set gui on),也看到 EDA Status Code 的地方,終於知道 make Error 24 是如何來的,原來是 status flag bit3 和 bit4 為 1 的緣故(16 + 8 = 24)。
快中午時,試著詢問部門非常有經驗很厲害的一位資深同事,嚴格來說應該是我的直屬主管,最近組織架構多了這層級後,我以後有人罩了XD
雖然前輩也沒用過這套軟體,但在跟他聊了快 10 分鐘的過程中,還是學到了不少東西。
下午不知道為什麼突然心血來潮去看之前 DC 的 log,確定了這 4 個暫存器確實在 DC 合成的過程中被優化,也用我之前寫的 split_rtl 小工具從 netlist 中複製出這 4 個暫存器的 module code,也確定確實被優化了。
但不知為什麼這套 EDA 卻只報出其中一個 2_2 register 無法 mapping?難怪網路上有看到某人提到,如果要用這套 Formality Tool,最好 Synthesis Tool 也用同一家的比較好 debug 問題,畢竟同一家的工具彼此間資訊比較容易互通有無。
最後又多加了第 5 個暫存器的 Constraint 後,終於解決 Nonequivalent 的問題,剩下的就是 Unmapped 裡面的 Extra 和 Unreachable 到底需不需要解決?我個人稍微閱讀文件的結論是不用。
對一個新手來說,這樣還算可以吧?放假回去後要來整理這幾天資料寫文件了。
沒有留言:
張貼留言