Alasan yang memungkinkan desain tidak memenuhi waktu adalah bahwa desain berisi satu atau lebih pergeser barel dalam seri dengan logika kombinatorial lainnya. Kapan pun operator shift digunakan dengan variabel operand yaitu "a = b << c;" Nios® II C2H menghasilkan logika barrelshift. Logika barrelshift yang dihasilkan oleh C2H mengimplementasikan multixer kombinatorial dalam jumlah besar yang secara signifikan dapat memengaruhi waktu desain. Dua contoh berikut menunjukkan kode sumber yang dapat menyebabkan degradasi waktu karena peralihan laras.
Input Shift Kombinatorial:
Di bawah ini adalah contoh input peralihan kombinatorial ke shifter barel yang dapat menyebabkan degradasi waktu.
int a, b, c, d, result, shift_distance;
result = (a b c d) >> shift_distance;
Hasil tambahan digunakan sebagai operan ke operator shift, sehingga jalur waktu yang panjang dibuat antara salah satu input tambahan dan 'hasil'. Untuk meningkatkan jumlah pipelining, berikan hasil tambahan ke variabel sementara seperti yang ditunjukkan di bawah ini:
int a, b, c, d, addition_result, shift_distance;
addition_result = a b c d;
result = addition_result >> shift_distance;
Keluaran Shift Kombinatorial:
Di bawah ini adalah contoh keluaran peralihan kombinatorial dari peralihan barel yang dapat menyebabkan degradasi waktu.
int a, b, c, d, result, shift_distance;
result = (a >> shift_distance) b c d;
Hasil peralihan digunakan sebagai operan ke operator tambahan, sehingga jalur waktu yang panjang dibuat antara 'a' dan 'hasil'. Untuk meningkatkan jumlah pipelining, berikan hasil shift ke variabel seperti yang ditunjukkan di bawah ini:
int a, b, c, d, result, shift_result, shift_distance;
shift_result = a >> shift_distance;
result = shift_result b c d;