สาเหตุที่เป็นไปได้ที่การออกแบบไม่ตรงตามเวลาคือมีหนึ่งหรือหลายชิฟเตอร์บาร์เรลในซีรีส์ที่มีตรรกะการรวมอื่น ๆ เมื่อใดก็ตามที่มีการใช้ตัวดําเนินการ Shift กับตัวดําเนินการผันแปร เช่น "a = b << c; " Nios® II C2H สร้างตรรกะ Barrelshift ตรรกะ Barrelshift ที่สร้างขึ้นโดย C2H ใช้ตัวกล้ําสัญญาณแบบ Combinatorial Multiplexers จํานวนมากซึ่งอาจส่งผลต่อการกําหนดเวลาของการออกแบบได้อย่างมาก ตัวอย่างสองตัวอย่างต่อไปนี้แสดงซอร์สโค้ดที่อาจทําให้เกิดการเสื่อมสภาพของเวลาเนื่องจากการเปลี่ยนแปลงแบบ Barrel
อินพุตแบบกะรวม:
ด้านล่างเป็นตัวอย่างของอินพุตการเปลี่ยนแปลงแบบรวมในชิฟเตอร์บาร์เรลที่อาจทําให้เกิดการเสื่อมสภาพของเวลา
int a, b, c, d, result, shift_distance;
result = (a b c d) >> shift_distance;
ผลลัพธ์เพิ่มเติมจะถูกใช้เป็นตัวดําเนินการไปยังตัวดําเนินการกะ ดังนั้นพาธการกําหนดเวลาที่ยาวจึงถูกสร้างขึ้นระหว่างอินพุตเพิ่มเติมและ 'ผลลัพธ์' หากต้องการเพิ่มจํานวนไปป์ไลน์ ให้กําหนดผลลัพธ์เพิ่มเติมให้กับตัวแปรชั่วคราวตามที่แสดงไว้ด้านล่าง:
int a, b, c, d, addition_result, shift_distance;
addition_result = a b c d;
result = addition_result >> shift_distance;
เอาต์พุตแบบชิฟต์เชิงรวม:
ด้านล่างเป็นตัวอย่างของการเปลี่ยนแปลงแบบรวมจากชิฟเตอร์บาร์เรลที่อาจทําให้เกิดการเสื่อมสภาพของเวลา
int a, b, c, d, result, shift_distance;
result = (a >> shift_distance) b c d;
ผลลัพธ์ของกะจะถูกใช้เป็นตัวดําเนินการกับตัวดําเนินการเพิ่มเติม ดังนั้นพาธการกําหนดเวลาแบบยาวจึงถูกสร้างขึ้นระหว่าง 'a' และ 'result' หากต้องการเพิ่มจํานวนไปป์ไลน์ ให้กําหนดผลลัพธ์ของการเปลี่ยนแปลงให้กับตัวแปรตามที่แสดงด้านล่าง:
int a, b, c, d, result, shift_result, shift_distance;
shift_result = a >> shift_distance;
result = shift_result b c d;