インテルのみ表示可能 — GUID: nik1412467940376
Ixiasoft
3.5.1. 一般的な読み出しおよび書き込み転送
エージェントは通常、クロックの立ち上がりエッジ後に address、byteenable、read または write、および writedata を受信します。エージェントでは、waitrequest を立ち上がりクロックエッジ前にアサートし、転送を保留します。エージェントが waitrequest をアサートすると、転送は遅延されます。waitrequest がアサートされている間、アドレスと他のコントロール信号は一定に保たれます。転送は、エージェント・インターフェイスで waitrequest がデアサートされた後の最初の clk の立ち上がりエッジで完了します。
エージェント・インターフェイスでストールを行える時間に制限はありません。そのため、エージェント・インターフェイスが waitrequest を無期限にアサートしないようにする必要があります。次の図は、waitrequest を使用する read および write 転送を表しています。
waitrequest は、read および write 要求信号から切り離すことができます。waitrequest は、アイドルサイクル中にアサートすることが可能です。 Avalon® -MM ホストでは、waitrequest がアサートされている際にトランザクションを開始し、信号がデアサートされるまで待機することが可能です。waitrequest を read および write 要求から切り離すことで、システムのタイミングが改善される場合があります。切り離すことにより、read、write、および waitrequest 信号を含む複合ループが排除されます。さらに切り離す必要がある場合は、waitrequestAllowance プロパティーを使用します。waitrequestAllowance は、 Quartus® Prime Pro v17.1 Stratix® 10 ES エディション のリリースから利用することができます。
このタイミング図内の数字は、次の遷移を示しています。
- address、byteenable、read は、clk の立ち上がりエッジ後にアサートされます。エージェントが waitrequest をアサートしているため、転送はストールします。
- waitrequest がサンプリングされています。waitrequest がアサートされているため、サイクルは待機状態になります。address、read、write、byteenable は一定に保たれます。
- clk の立ち上がりエッジ後に、エージェントは waitrequest をデアサートします。エージェントは、readdata と response をアサートします。
- ホストで readdata、response およびデアサートされた waitrequest をサンプリングしているため、転送は完了します。
- address、writedata、byteenable、write 信号は、clk の立ち上がりエッジ後にアサートされます。エージェントが waitrequest をアサートしているため、転送はストールします。
- clk の立ち上がりエッジ後に、エージェントは waitrequest をデアサートします。
- エージェントで書き込みデータがキャプチャーされ、転送は終了します。