ハードウェアのビット精度シミュレーションを実行するには、System Generator ブロックがブール値、浮動小数点値、および任意精度の固定小数点値で動作する必要がありますが、 Simulink® の基本的なスカラー信号型は、倍精度浮動小数点です。ザイリンクス ブロックとザイリンクス以外のブロックの間の接続には、Gateway ブロックを使用します。Gateway In ブロックは倍精度の信号をザイリンクス信号に変換し、Gateway Out ブロックはザイリンクス信号を倍精度の信号に変換します。 Simulink® の連続時間信号は、Gateway In ブロックでサンプリングします。
ほとんどのザイリンクス ブロックはポリモーフィックで、入力型に応じて適切な出力型を推測できます。ブロックのパラメーター ダイアログ ボックスで完全精度を指定した場合、System Generator で精度が失われないような出力型が選択されます。符号拡張および 0 パディングは、必要に応じて自動的に実行されます。ユーザー指定の精度も使用できます。この場合、ブロックの出力型と、量子化およびオーバーフローの処理方法を指定できます。量子化のオプションには、正または負の無限大への不偏丸め (符号によって異なる) または切り捨てがあります。オーバーフローのオプションには、正または負の最大値を使用するか、切り捨てるか、オーバーフローをエラーとしてレポートするかのオプションがあります。
Simulink モデルの System Generator 部分では、すべての信号をサンプリングする必要があります。サンプル時間は、Simulink の伝搬ルールにより自動的に設定されるようにするか、ブロックのカスタマイズ ダイアログ ボックスで設定できます。フィードバック ループがあると、System Generator でサンプル周期および信号型を推論できない場合もあり、その場合はエラー メッセージが表示されます。フィードバック ループには Assert ブロックを挿入して、この問題を回避する必要があります。ループ内のすべてのポイントに Assert ブロックを追加する必要はありません。通常、ループの 1 箇所に追加するだけで十分です。