FPGA開発日記

FPGAというより、コンピュータアーキテクチャかもね! カテゴリ別記事インデックス https://sites.google.com/site/fpgadevelopindex/

Verilog-Perl の vrename を使って内部の信号線の一覧を作成する

Verilog-Perl には vrename という内部の信号線名を変更するツールがある。 これは重複するモジュールの名前を変更する場合に使うのだが、他にも使い方があって、処理の最中に信号線の名前一覧を作ってくれるので、これを使うと使っている信号線の確認に利用できる。 (この信号何だっけ?とか、重複している意味の信号が無いか確認したりだとか)

$ vrename --list if_unit.v
parse file if_unit.v
Wrote signals.vrename  (Changes list, 227 signals)

結果が signals.vrename に書き込まれている。

$ less signals.vrename
# Generated by vrename on Sun Apr 12 02:02:08 2015
#
# Files read for this analysis:
vfile   "if_unit.v"
#
#       Original Signal Name            Name to change to
#       --------------------            -----------------
#
sigren  "$clog2"                        "$clog2"
sigren  "ADDR_B"                        "ADDR_B"
sigren  "ADDR_W"                        "ADDR_W"
sigren  "AXI_BYTESIZE_16"               "AXI_BYTESIZE_16"
sigren  "BR_JMP_DIR"                    "BR_JMP_DIR"
sigren  "BR_LIKELY"                     "BR_LIKELY"
sigren  "BR_PC"                         "BR_PC"
sigren  "BR_PC_CURR"                    "BR_PC_CURR"
sigren  "BR_PRED_MISS"                  "BR_PRED_MISS"
sigren  "BR_REG_PR"                     "BR_REG_PR"
sigren  "BR_VLD"                        "BR_VLD"
sigren  "CLK"                           "CLK"
sigren  "CMT_NMI_RESET"                 "CMT_NMI_RESET"
sigren  "Disable"                       "Disable"
sigren  "EN_INST_DATA"                  "EN_INST_DATA"
sigren  "Enable"                        "Enable"
sigren  "FL_VLD"                        "FL_VLD"
sigren  "FORMAT_IMM_B"                  "FORMAT_IMM_B"
sigren  "FORMAT_OPCODE_B"               "FORMAT_OPCODE_B"
sigren  "FORMAT_RS_B"                   "FORMAT_RS_B"
sigren  "FORMAT_RT_B"                   "FORMAT_RT_B"
sigren  "ID_READY"                      "ID_READY"
sigren  "IF_INST"                       "IF_INST"
sigren  "IF_INST_0"                     "IF_INST_0"
...

これを使うと、たとえばコメントが記入されていない信号線があったときにgitのコミットを禁止したりだとか(hookを使って←本来はこれがやりたい)、 信号線の一覧で回路のチェックなどが用意になる。