ID บทความ: 000091832 ประเภทข้อมูล: การแก้ไขปัญหา การตรวจสอบครั้งล่าสุด: 23/08/2023

ทําไมซอฟต์แวร์จึงสังเคราะห์ระดับลอจิกจํานวนมากสําหรับ for-loop ในการออกแบบของฉัน เมื่อข้อความ if-statement ซ้อนกันในลูป

สิ่งแวดล้อม

  • Intel® Quartus® Prime Pro Edition
  • BUILT IN - ARTICLE INTRO SECOND COMPONENT
    คำอธิบาย

    หากการออกแบบของคุณมี For-Loop ดังนี้

    จํานวนเต็ม i;

    สําหรับ( i = ... ; ... ; ... ) เริ่ม

    a = นิพจน์ของ i ; 1

    ถ้า... คําแถลงแบบมีเงื่อนไขเกี่ยวกับ

    คำ สั่ง;

    ......

    สิ้น สุด

    สิ้น สุด

    ซอฟต์แวร์ Intel® Quartus® Prime Pro Edition อาจสังเคราะห์ระดับลอจิกจํานวนมากในนี้สําหรับลูป

    ความละเอียด

    หาก for-loop มีเงื่อนไขเหล่านี้ จะไม่สามารถปรับให้เหมาะสมสําหรับความลึกของตรรกะ

    • นิพจน์การมอบหมายที่ขึ้นอยู่กับตัวแปรควบคุมลูป
    • คําสั่ง if ที่ซ้อนกันในลูปซึ่งใช้ผลลัพธ์การกําหนดเป็นเงื่อนไขที่เลือก

    ควรย้ายคําสั่งการมอบหมายที่ขึ้นอยู่กับตัวแปรการควบคุมลูปออกจากบล็อก for-loop เพื่อเปิดใช้งานการเพิ่มประสิทธิภาพเพิ่มเติม เมื่ออยู่นอกลูป คําสั่งมอบหมายสามารถแปลงเป็นงานมอบหมายแบบขนานให้กับเวกเตอร์แต่ละบิตได้ จากนั้นผลลัพธ์การมอบหมายของแต่ละรอบสามารถจัดทําดัชนีโดยตัวแปรควบคุมลูปในเวกเตอร์ที่เพิ่งสร้างใหม่นี้

    แก้ไขรหัสได้ดังนี้:

    เวกเตอร์[ N ] = ... ;

    ......

    เวกเตอร์[ 2 ] = ... ;

    เวกเตอร์[ 1 ] = ... ;

    จํานวนเต็ม i ;

    สําหรับ( i = ... ; ... ; ... ) เริ่ม

    ถ้า... คําแถลงตามเงื่อนไขเกี่ยวกับเวกเตอร์[i] )

    คำ สั่ง;

    ......

    สิ้น สุด

    สิ้น สุด

    การปรับแต่งประสิทธิภาพเหมาะสําหรับกรณีที่จํานวนรอบได้รับการแก้ไขและไม่ใหญ่มาก การปรับแต่งประสิทธิภาพอาจเพิ่มการใช้งาน ALUT ในขณะที่ลดจํานวนระดับลอจิก

    เวอร์ชันในอนาคตของซอฟต์แวร์ Intel® Quartus® Prime Pro Edition มีกําหนดเวลาเพื่อเพิ่มประสิทธิภาพโค้ดดั้งเดิมโดยอัตโนมัติ

    ผลิตภัณฑ์ที่เกี่ยวข้อง

    บทความนี้จะนำไปใช้กับ 1 ผลิตภัณฑ์

    อุปกรณ์ที่ตั้งโปรแกรมได้ Intel®

    เนื้อหาในหน้านี้เป็นการผสมผสานระหว่างการแปลเนื้อหาต้นฉบับภาษาอังกฤษโดยมนุษย์และคอมพิวเตอร์ เนื้อหานี้จัดทำขึ้นเพื่อความสะดวกของคุณและเพื่อเป็นข้อมูลทั่วไปเท่านั้นและไม่ควรอ้างอิงว่าสมบูรณ์หรือถูกต้อง หากมีความขัดแย้งใด ๆ ระหว่างเวอร์ชันภาษาอังกฤษของหน้านี้กับคำแปล เวอร์ชันภาษาอังกฤษจะมีผลเหนือกว่าและควบคุม ดูเวอร์ชันภาษาอังกฤษของหน้านี้