いくつかの簡単な算術を行い、いくつかのパラメータによって制御されるモジュールを考えてみましょう。 1つのパラメータが最上位レベルの動作を制御します。モジュールはモジュールポートから入力を読み込むか、他のパラメータから読み込みます。したがって、結果は動的に計算されるか、コンパイル(咳、合成)時間に静的に知られます。チゼル/ FIRRTL定数伝搬と階層全体の最適化
Chiselによって生成されたVerilogは、このモジュールのさまざまな味のために、予想通りに異なるモジュール名を持っています。結果が静的にわかっている場合は、出力ポートが1つだけのモジュールと内部配線のセットに定数が割り当てられ、その出力を駆動するための算術演算が実装されます。
ChiselまたはFIRRTLに、これをさらに完全に最適化するよう依頼することは可能ですか?つまり、次の階層レベルでは、インスタンス化されたモジュールを定数および静的に既知の結果に置き換えますか? (これらの定数値は合成中に最適化されるべきだが、複雑なユースケースがあり、この種の精緻化時間最適化が有用であるかもしれない)。