次の例では、Vivado HLS で警告メッセージが表示され、結果が予測される II およびパイプライン結果以下となります。
擬似コード :
If (condition)
R = M[ax] ;
Else
R = M[ay];
@W [SCHED-69] Unable to schedule 'load' operation on array 'M' due to limited resources (II = 1).
@I [SCHED-61] Pipelining result: Target II: 1, Final II: 2, Depth: 3.
Vivado HLS で HDL 出力が確実に最適化されるように、コードを次のように変更します。
If (condition)
A = ax ;
Else
A = ay;
// next do the actual read
R=M[A];
この問題は、Vivado 2012.2 で修正されています。