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
– プレーンテキスト形式の相対パスのリストflgen
– flgen 形式のファイルリスト
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_prefix
が true
のとき、モジュール・インターフェース・パッケージ名のプロジェクトプレフィックスは省略されます。この値はデフォルトで false
です。
[build]
omit_project_prefix = true
strip_comments
フィールド
strip_comments
が true
のとき、コメント出力は省略されます。この値はデフォルトで 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_operation
が true
のとき、inside
演算子を使った演算は==?
演算子を使った論理に展開されます。これはいくつかのEDAツールがinside
演算子をサポートしていないためです。この値はデフォルトで false
です。
[build]
expand_inside_operation = true
exclude_std
フィールド
exclude_std
が true
のとき、標準ライブラリはインクルードされません。
[build]
exclude_std = true