Synth
[synth] セクションは、簡易的な論理合成を行って面積・タイミング・電力を見積もる veryl synth コマンドの設定を指定します。
[synth]
top = "TopModule"
library = "sky130"
clock_freq = 100.0
activity = 0.1
timing_paths = 1
設定
| 設定 | 設定値 | デフォルト | 説明 |
|---|---|---|---|
| top | 文字列 | (自動) | デフォルトのトップモジュール名。CLI の --top が指定されると上書きされます。未指定の場合、最初に見つかったユーザーモジュールが使用されます。 |
| library | sky130 / asap7 / gf180mcu / ihp-sg13g2 | sky130 | 使用する組み込みセルライブラリ/PDK。 |
| clock_freq | 浮動小数 | 100.0 | 動的消費電力見積もりで仮定するクロック周波数(MHz)。 |
| activity | 浮動小数(0.0–1.0) | 0.1 | 組み合わせネットで仮定するサイクルあたりのトグル率。 |
| timing_paths | 整数 | 1 | タイミングダンプで報告する最悪遅延エンドポイントの数。 |
RAM 推論
veryl synth は、単一の動的アドレスで書き込まれ、動的アドレスで読み出される大きな配列を、depth × width 個のフリップフロップとアドレスデコード/マルチプレクサツリーへ展開する代わりに、RAM マクロとして推論します。以下の閾値によって、これが行われる条件が制御されます。推論に失敗した配列(例えばリセットを持つもの——実際の SRAM にはリセットがありません)はフリップフロップのまま残り、さらに ram_max_ff_bits を超える場合は、合成はメモリを使い果たすのではなくエラーを報告します。
| 設定 | 設定値 | デフォルト | 説明 |
|---|---|---|---|
| ram_min_bits | 整数 | 1024 | フリップフロップではなく RAM として推論する価値がある最小の配列サイズ(ストアドビット単位)。 |
| ram_max_read_ports | 整数 | 16 | RAM として推論される配列が持ちうる、異なる読み出しアドレスの最大数。 |
| ram_max_write_ports | 整数 | 8 | RAM として推論される配列が持ちうる、異なる書き込み箇所の最大数。 |
| ram_max_ff_bits | 整数 | 65536 | 推論に失敗した動的インデックス配列がフリップフロップへ展開されうる最大の配列サイズ(ストアドビット単位)。これを超える配列は、メモリを使い果たすのではなく拒否されます。 |
組み込みライブラリ
library フィールドは面積・タイミング・電力の見積もりに使われる組み込みセルライブラリを指定します。値はすべて公開されている Liberty 特性化データから抽出または派生させたもので、サインオフ精度ではなく自己整合的な「相対コスト」として校正されています。すべてドライブ強度1のセルを用いています。
library | プロセス | セルライブラリ/コーナー | 電源電圧 | ソース(ライセンス) |
|---|---|---|---|---|
sky130 | SkyWater 130nm プレーナ CMOS | sky130_fd_sc_hd / tt_025C_1v80 | 1.8 V | skywater-pdk(Apache 2.0) |
asap7 | ASU 7nm 予測 FinFET | asap7sc7p5t RVT / tt_0p7V | 0.7 V | asap7(BSD 3-Clause) |
gf180mcu | GlobalFoundries 180nm MCU プレーナ CMOS | gf180mcu_fd_sc_mcu7t5v0 / tt_025C_1v80 | 1.8 V | gf180mcu-pdk(Apache 2.0) |
ihp-sg13g2 | IHP 130nm SiGe BiCMOS | sg13g2_stdcell / typ_1p20V_25C | 1.2 V | IHP-Open-PDK(Apache 2.0) |
Veryl はこれらの PDK の Liberty ソース、回路図、レイアウトを再配布していません。参考データとして、ごく少数のセル単位の面積・遅延・漏れ電力・エネルギーの値のみを利用しています。