メタスタビリティを避けるために、これらの入力を使用する前に、すべての入力をFPGAに同期させる必要があることを認識しています。また、単一のFPGA内でクロックドメインをまたぐ信号を同期させる必要性も認識しています。この問題は、クロックドメインを越えることに関するものではありません。すべてのハードウェアコアの入力と出力の両方を登録する必要がありますか?
私の質問は、日常FPGAデザイン内のすべての内部のハードウェアモジュールの入力と出力のすべてを登録することは良い考えであるかどうかです。その理由は、選択されたクロックレートのタイミング制約を満たすことができるように、クロックレートを向上させるために、長い組合せのロジックを分解したいということです。これは、信号が交差しなければならないモジュールの数に比例したレイテンシのサイクルを追加する。これはいいアイデアか悪いアイデアですか? 1つは入力だけを登録し、出力は登録しないのですか?
回答概要
親指のルール:内部FPGAコアのすべての出力レジスタ。入力を登録する必要はありません。ステートマシンのステートレジスタなどのレジスタから出力がすでに来ている場合は、再度登録する必要はありません。
私は、アウトプットの登録だけでも同じアドバイスをした人と話しました。 –
私は一般に、データパス出力がレジスタになるようにモジュールを分割します。これは確かに規則ではありません。 –