Build

[build] セクションはコード生成の設定です。

clock_type フィールド

clock_type フィールドはフリップフロップを駆動するクロックエッジを指定します。

  • posedge – 立ち上がりエッジ
  • negedge – 立ち下がりエッジ

reset_type フィールド

reset_type フィールドはリセットの極性と同期性を指定します。

  • async_low – 非同期・負極性
  • async_high – 非同期・正極性
  • sync_low – 同期・負極性
  • sync_high – 同期・正極性

filelist_type フィールド

filelist_type フィールドはファイルリストのフォーマットを指定します。

  • absolute – プレーンテキスト形式の絶対パスのリスト
  • relative – プレーンテキスト形式の相対パスのリスト
  • flgenflgen 形式のファイルリスト

target フィールド

target フィールドはコードの生成先を指定します。

  • source – ソースコードと同じディレクトリ
  • directory – 特定のディレクトリ
  • bundle – 特定のファイル

directory あるいは bundle を指定する場合は、ターゲットパスを path キーで指定します。

[build]
target = {type = "directory", path = "[dst dir]"}

implicit_parameter_types フィールド

implicit_parameter_types フィールドは生成コードの parameter 宣言で省略する型をリストアップします。いくつかのEDAツールでは特定の型(例えば string)を parameter 宣言で使うことができないためです。例えば string を指定する場合は以下のようにします。

[build]
implicit_parameter_types = ["string"]

omit_project_prefix フィールド

omit_project_prefixtrue のとき、モジュール・インターフェース・パッケージ名のプロジェクトプレフィックスは省略されます。この値はデフォルトで false です。

[build]
omit_project_prefix = true

strip_comments フィールド

strip_commentstrue のとき、コメント出力は省略されます。この値はデフォルトで false です。

[build]
strip_comments = true

*_prefix*_suffix フィールド

*_prefix*_suffix はコード生成時の追加のプレフィックスとサフィックスを指定します。指定可能な設定は以下の通りです。

  • clock_posedge_prefix: clock_type = posedge のときの clock 型のプレフィックス
  • clock_posedge_suffix: clock_type = posedge のときの clock 型のサフィックス
  • clock_negedge_prefix: clock_type = negedge のときの clock 型のプレフィックス
  • clock_negedge_suffix: clock_type = negedge のときの clock 型のサフィックス
  • reset_high_prefix: reset_type = *_high のときの reset 型のプレフィックス
  • reset_high_suffix: reset_type = *_high のときの reset 型のサフィックス
  • reset_low_prefix: reset_type = *_low のときの reset 型のプレフィックス
  • reset_low_suffix: reset_type = *_low のときの reset 型のサフィックス

sourcemap_target フィールド

sourcemap_target フィールドはソースマップの生成先を指定します。指定可能な設定は以下の通りです。

  • target – ターゲットコードと同じディレクトリ
  • directory – 特定のディレクトリ
  • none – ソースマップなし

directory を指定する場合は、ターゲットパスを path キーで指定します。

[build]
sourcemap_target = {type = "directory", path = "[dst dir]"}

expand_inside_operation フィールド

expand_inside_operationtrue のとき、inside 演算子を使った演算は==? 演算子を使った論理に展開されます。これはいくつかのEDAツールがinside 演算子をサポートしていないためです。この値はデフォルトで false です。

[build]
expand_inside_operation = true

exclude_std フィールド

exclude_stdtrue のとき、標準ライブラリはインクルードされません。

[build]
exclude_std = true

emit_cond_type フィールド

emit_cond_typetrue のとき、unique unique0 priority といった指定が出力されます。

[build]
emit_cond_type = true