02. pyverilog 使用 lex & yacc 的模式來 parsing Verilog 檔案,當檔案很大時,比如 600 多萬行,建立 AST 就要花 20 幾分鐘;同樣的,當你要把 AST 再還原成 Verilog code 時,也是要花個 10 分鐘以上。
那個 600 多萬行的檔案,純用 Python 讀只要 0.6秒,讀一行寫一行到檔案則是 2.X 秒。
03. vim 要使用 regex 搜尋時,某些符號前要打 "\",或是使用 "/\v" 告訴 vim 要使用 regex。
2024/03/21 更新
簡單使用 re 並只 parse instance 及 port arg 的情況下,同一個檔案大概要花 72 秒。 我猜 pyverilog lex 只考慮 netlist 相關的語法下,應該可以更快沒錯。
沒有留言:
張貼留言