Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Synth

[synth] セクションは、簡易的な論理合成を行って面積・タイミング・電力を見積もる veryl synth コマンドの設定を指定します。

[synth]
top          = "TopModule"
library      = "sky130"
clock_freq   = 100.0
activity     = 0.1
timing_paths = 1

設定

設定設定値デフォルト説明
top文字列(自動)デフォルトのトップモジュール名。CLI の --top が指定されると上書きされます。未指定の場合、最初に見つかったユーザーモジュールが使用されます。
librarysky130 / asap7 / gf180mcu / ihp-sg13g2sky130使用する組み込みセルライブラリ/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整数16RAM として推論される配列が持ちうる、異なる読み出しアドレスの最大数。
ram_max_write_ports整数8RAM として推論される配列が持ちうる、異なる書き込み箇所の最大数。
ram_max_ff_bits整数65536推論に失敗した動的インデックス配列がフリップフロップへ展開されうる最大の配列サイズ(ストアドビット単位)。これを超える配列は、メモリを使い果たすのではなく拒否されます。

組み込みライブラリ

library フィールドは面積・タイミング・電力の見積もりに使われる組み込みセルライブラリを指定します。値はすべて公開されている Liberty 特性化データから抽出または派生させたもので、サインオフ精度ではなく自己整合的な「相対コスト」として校正されています。すべてドライブ強度1のセルを用いています。

libraryプロセスセルライブラリ/コーナー電源電圧ソース(ライセンス)
sky130SkyWater 130nm プレーナ CMOSsky130_fd_sc_hd / tt_025C_1v801.8 Vskywater-pdk(Apache 2.0)
asap7ASU 7nm 予測 FinFETasap7sc7p5t RVT / tt_0p7V0.7 Vasap7(BSD 3-Clause)
gf180mcuGlobalFoundries 180nm MCU プレーナ CMOSgf180mcu_fd_sc_mcu7t5v0 / tt_025C_1v801.8 Vgf180mcu-pdk(Apache 2.0)
ihp-sg13g2IHP 130nm SiGe BiCMOSsg13g2_stdcell / typ_1p20V_25C1.2 VIHP-Open-PDK(Apache 2.0)

Veryl はこれらの PDK の Liberty ソース、回路図、レイアウトを再配布していません。参考データとして、ごく少数のセル単位の面積・遅延・漏れ電力・エネルギーの値のみを利用しています。