บอร์ดพัฒนา FPGA Agilex 750856 ของ Intel
ข้อมูลสินค้า
การออกแบบอ้างอิงนี้มีไว้สำหรับบอร์ดพัฒนา FPGA Intel Agilex F-Series โดยใช้ IP ของ Intel FPGA สำหรับ Partial Reconfiguration External Configuration Controller และมีภูมิภาค PR ที่เรียบง่าย การตั้งค่าฮาร์ดแวร์โฮสต์ภายนอกของอุปกรณ์ Intel Agilex ประกอบด้วยอุปกรณ์ภายนอก (Helper FPGA), DUT FPGA และการออกแบบโฮสต์ภายนอกของคุณ การออกแบบโฮสต์ในอุปกรณ์ภายนอกนั้นรับผิดชอบในการโฮสต์กระบวนการ PR พิน PR ใช้เพื่อเชื่อมต่ออุปกรณ์ทั้งสองตัวและสามารถเป็น I/O ของผู้ใช้ที่มีอยู่ใดๆ ก็ได้
คำแนะนำการใช้ผลิตภัณฑ์
การกำหนดค่าโฮสต์ภายนอก
หากต้องการดำเนินการกำหนดค่าโฮสต์ภายนอก ให้ทำตามขั้นตอนเหล่านี้:
- สร้างการออกแบบโฮสต์ในอุปกรณ์ภายนอกเพื่อโฮสต์กระบวนการ PR
- เชื่อมต่อพิน PR จากอุปกรณ์ภายนอกเข้ากับ Partial Reconfiguration External Configuration Controller Intel FPGA IP ใน DUT FPGA
- สตรีมข้อมูลการกำหนดค่าจากการออกแบบโฮสต์ไปยังพินอินเทอร์เฟซสตรีมมิ่ง Intel Agilex Avalon ที่สอดคล้องกับสัญญาณการจับมือ PR จาก IP
การกำหนดค่าใหม่บางส่วนผ่านการทำงานของพินการกำหนดค่า
ลำดับต่อไปนี้จะอธิบายการดำเนินการกำหนดค่าใหม่บางส่วนผ่านพินการกำหนดค่า:
- ยืนยันพิน pr_request ที่เชื่อมต่อกับ IP ของ Intel FPGA External Configuration Controller ที่เป็นการกำหนดค่าใหม่บางส่วน
- IP ยืนยันสัญญาณไม่ว่างเพื่อระบุว่ากระบวนการ PR กำลังดำเนินการอยู่ (ตัวเลือก)
- หากระบบกำหนดค่าพร้อมสำหรับการดำเนินการ PR พิน avst_ready จะถูกยืนยัน ซึ่งบ่งชี้ว่าพร้อมที่จะรับข้อมูล
- สตรีมข้อมูลการกำหนดค่า PR ผ่านพิน avst_data และพิน avst_valid โดยปฏิบัติตามข้อกำหนดการสตรีม Avalon สำหรับการถ่ายโอนข้อมูลด้วยแรงดันย้อนกลับ
- การสตรีมจะหยุดลงเมื่อพิน avst_ready ถูกยกเลิกการยืนยัน
- ยกเลิกการยืนยันพิน avst_ready เพื่อระบุว่าไม่จำเป็นต้องมีข้อมูลอีกต่อไปสำหรับการดำเนินการ PR
- ตัวควบคุมการกำหนดค่าภายนอกสำหรับการกำหนดค่าใหม่บางส่วน Intel FPGA IP จะยกเลิกการยืนยันสัญญาณไม่ว่างเพื่อระบุการสิ้นสุดของกระบวนการ (ตัวเลือก)
การกำหนดค่าใหม่บางส่วนผ่านพินการกำหนดค่า (โฮสต์ภายนอก) การออกแบบอ้างอิง
บันทึกแอปพลิเคชันนี้สาธิตการกำหนดค่าใหม่บางส่วนผ่านพินการกำหนดค่า (โฮสต์ภายนอก) บนบอร์ดพัฒนา FPGA Intel® Agilex® F-Series
อ้างอิงการออกแบบมากกว่าview
คุณสมบัติการกำหนดค่าใหม่บางส่วน (PR) ช่วยให้คุณกำหนดค่าใหม่ของ FPGA บางส่วนแบบไดนามิกในขณะที่การออกแบบ FPGA ที่เหลือยังคงทำงานอยู่ คุณสามารถสร้างบุคลิกหลายตัวสำหรับภูมิภาคเฉพาะในการออกแบบของคุณซึ่งจะไม่ส่งผลกระทบต่อการทำงานในพื้นที่นอกภูมิภาคนี้ วิธีการนี้มีประสิทธิภาพในระบบที่ฟังก์ชันหลายฟังก์ชันแบ่งเวลาใช้ทรัพยากรอุปกรณ์ FPGA เดียวกัน ซอฟต์แวร์ Intel Quartus® Prime Pro Edition เวอร์ชันปัจจุบันแนะนำกระบวนการคอมไพล์ใหม่และเรียบง่ายสำหรับการกำหนดค่าใหม่บางส่วน การออกแบบอ้างอิง Intel Agilex นี้ใช้ตัวควบคุมการกำหนดค่าภายนอก Intel FPGA IP ของ Partial Reconfiguration External Configuration Controller และมีภูมิภาค PR ที่เรียบง่าย
การตั้งค่าฮาร์ดแวร์โฮสต์ภายนอกอุปกรณ์ Intel Agilex
การกำหนดค่าโฮสต์ภายนอก
ในการกำหนดค่าโฮสต์ภายนอก คุณต้องสร้างการออกแบบโฮสต์ในอุปกรณ์ภายนอกก่อนเพื่อโฮสต์กระบวนการ PR ดังที่แสดงในการตั้งค่าฮาร์ดแวร์โฮสต์ภายนอกของอุปกรณ์ Intel Agilex การออกแบบโฮสต์จะสตรีมข้อมูลการกำหนดค่าไปยังพินอินเทอร์เฟซสตรีมมิ่ง Avalon ของ Intel Agilex ซึ่งสอดคล้องกับสัญญาณการจับมือ PR ที่มาจาก IP ของตัวควบคุมการกำหนดค่าภายนอก Intel FPGA ของ Partial Reconfiguration External Configuration Controller พิน PR ที่คุณใช้เชื่อมต่ออุปกรณ์ทั้งสองสามารถเป็น I/O ของผู้ใช้ที่มีอยู่ใดๆ ก็ได้
ลำดับต่อไปนี้อธิบายการกำหนดค่าใหม่บางส่วนผ่านการทำงานของพินการกำหนดค่า:
- ขั้นแรก ให้ยืนยันพิน pr_request ที่เชื่อมต่อกับ IP ของ Intel FPGA External Configuration Controller ที่เป็น Partial Reconfiguration
- IP ยืนยันสัญญาณไม่ว่างเพื่อระบุว่ากระบวนการ PR กำลังดำเนินการอยู่ (ตัวเลือก)
- หากระบบกำหนดค่าพร้อมที่จะดำเนินการ PR พิน avst_ready จะถูกยืนยันว่าพร้อมที่จะรับข้อมูลแล้ว
- เริ่มสตรีมข้อมูลการกำหนดค่า PR ผ่านพิน avst_data และพิน avst_valid ในขณะที่ปฏิบัติตามข้อกำหนดการสตรีม Avalon สำหรับการถ่ายโอนข้อมูลด้วยแรงดันย้อนกลับ
- การสตรีมจะหยุดเมื่อใดก็ตามที่พิน avst_ready ถูกยกเลิกการยืนยัน
- หลังจากสตรีมข้อมูลการกำหนดค่าทั้งหมดแล้ว พิน avst_ready จะถูกยกเลิกการยืนยันเพื่อระบุว่าไม่จำเป็นต้องมีข้อมูลอีกต่อไปสำหรับการดำเนินการ PR
- ตัวควบคุมการกำหนดค่าภายนอกสำหรับการกำหนดค่าใหม่บางส่วน Intel FPGA IP จะปิดกั้นสัญญาณไม่ว่างเพื่อระบุการสิ้นสุดของกระบวนการ (ตัวเลือก)
- คุณสามารถตรวจสอบพิน pr_done และ pr_error เพื่อยืนยันว่าการดำเนินการ PR เสร็จสมบูรณ์หรือไม่ หากเกิดข้อผิดพลาด เช่น ความล้มเหลวในการตรวจสอบเวอร์ชันและการตรวจสอบการอนุญาต การดำเนินการ PR จะสิ้นสุดลง
ข้อมูลที่เกี่ยวข้อง
- ชุดพัฒนา FPGA Intel Agilex F-ซีรี่ส์ Web หน้าหนังสือ
- คู่มือผู้ใช้ชุดพัฒนา FPGA Intel Agilex F-Series
- คู่มือผู้ใช้ Intel Quartus Prime Pro Edition: การกำหนดค่าใหม่บางส่วน
ตัวควบคุมการกำหนดค่าภายนอก Intel FPGA IP การกำหนดค่าใหม่บางส่วน
จำเป็นต้องมี Partial Reconfiguration External Configuration Controller เพื่อใช้พินการกำหนดค่าในการสตรีมข้อมูล PR สำหรับการดำเนินการ PR คุณต้องเชื่อมต่อพอร์ตระดับบนสุดทั้งหมดของ Partial Reconfiguration External Configuration Controller Intel FPGA IP เข้ากับพิน pr_request เพื่อให้สามารถจับมือกับตัวจัดการอุปกรณ์ที่ปลอดภัย (SDM) จากคอร์ได้ SDM จะกำหนดประเภทของพินการกำหนดค่าที่จะใช้ตามการตั้งค่า MSEL ของคุณ
ตัวควบคุมการกำหนดค่าภายนอก Intel FPGA IP การกำหนดค่าใหม่บางส่วน
การตั้งค่าพารามิเตอร์ตัวควบคุมการกำหนดค่าภายนอกสำหรับการกำหนดค่าใหม่บางส่วน
พารามิเตอร์ | ค่า | คำอธิบาย |
เปิดใช้งานอินเทอร์เฟซที่ยุ่ง | เปิดใช้งาน or
ปิดการใช้งาน |
ช่วยให้คุณเปิดใช้งานหรือปิดใช้งานอินเทอร์เฟซ Busy ซึ่งจะส่งสัญญาณเพื่อระบุว่าการประมวลผล PR กำลังดำเนินการอยู่ในระหว่างการกำหนดค่าภายนอก
ค่าเริ่มต้นคือ ปิดการใช้งาน. |
พอร์ตคอนโทรลเลอร์การกำหนดค่าภายนอกสำหรับการกำหนดค่าใหม่บางส่วน
ชื่อพอร์ต | ความกว้าง | ทิศทาง | การทำงาน |
คำขอต่อ | 1 | ป้อนข้อมูล | ระบุว่ากระบวนการ PR พร้อมที่จะเริ่มต้นแล้ว สัญญาณเป็นช่องทางที่ไม่ซิงโครไนซ์กับสัญญาณนาฬิกาใดๆ |
ข้อผิดพลาด pr_error | 2 | เอาท์พุต | ระบุข้อผิดพลาดในการกำหนดค่าใหม่บางส่วน:
• 2'b01—ข้อผิดพลาด PR ทั่วไป • 2'b11—ข้อผิดพลาดบิตสตรีมที่เข้ากันไม่ได้ สัญญาณเหล่านี้เป็นท่อนำสัญญาณที่ไม่ซิงโครไนซ์กับแหล่งสัญญาณนาฬิกาใดๆ |
เสร็จเรียบร้อย | 1 | เอาท์พุต | บ่งชี้ว่ากระบวนการ PR เสร็จสมบูรณ์แล้ว สัญญาณเป็นช่องทางที่ไม่ซิงโครไนซ์กับสัญญาณนาฬิกาใดๆ |
เพิ่มเริ่มต้น | 1 | ป้อนข้อมูล | ระบุที่อยู่เริ่มต้นของข้อมูล PR ใน Active Serial Flash คุณสามารถเปิดใช้งานสัญญาณนี้ได้โดยเลือก อาวาโลน®-เซนต์ or แอ็คทีฟซีเรียล สำหรับ เปิดใช้งานพิน Avalon-ST หรือพินซีเรียลที่ใช้งานอยู่ พารามิเตอร์ สัญญาณเป็นท่อนำสัญญาณที่ไม่ซิงโครนัสกับสัญญาณนาฬิกาใดๆ |
รีเซ็ต | 1 | ป้อนข้อมูล | สัญญาณรีเซ็ตแบบซิงโครนัสระดับสูงที่ใช้งานอยู่ |
เอาท์_คล์ค | 1 | เอาท์พุต | แหล่งสัญญาณนาฬิกาที่สร้างจากออสซิลเลเตอร์ภายใน |
ยุ่ง | 1 | เอาท์พุต | IP ยืนยันสัญญาณนี้เพื่อระบุว่ากำลังมีการถ่ายโอนข้อมูล PR คุณสามารถเปิดใช้งานสัญญาณนี้ได้โดยเลือก เปิดใช้งาน สำหรับ เปิดใช้งานอินเทอร์เฟซที่ยุ่ง พารามิเตอร์. |
ข้อกำหนดการออกแบบอ้างอิง
การใช้การออกแบบอ้างอิงนี้ต้องมีสิ่งต่อไปนี้:
- การติดตั้ง Intel Quartus Prime Pro Edition เวอร์ชัน 22.3 พร้อมรองรับอุปกรณ์ตระกูล Intel Agilex
- การเชื่อมต่อกับบอร์ดพัฒนา FPGA Intel Agilex F-Series บนโต๊ะทำงาน
- ดาวน์โหลดแบบการออกแบบampมีให้เลือกใช้งานในตำแหน่งต่อไปนี้: https://github.com/intel/fpga-partial-reconfig.
เพื่อดาวน์โหลดตัวอย่างการออกแบบampเลอ:
- คลิกโคลนหรือดาวน์โหลด
- คลิกดาวน์โหลดไฟล์ ZIP แตกไฟล์ fpga-partial-reconfig-master.zip file.
- นำทางไปที่โฟลเดอร์ย่อย tutorials/agilex_external_pr_configuration เพื่อเข้าถึงการออกแบบอ้างอิง
คำแนะนำการออกแบบอ้างอิง
ขั้นตอนต่อไปนี้จะอธิบายการใช้งานการกำหนดค่าใหม่บางส่วนผ่านพินการกำหนดค่า (โฮสต์ภายนอก) บนบอร์ดพัฒนา FPGA Intel Agilex F-Series:
- ขั้นตอนที่ 1: เริ่มต้น
- ขั้นตอนที่ 2: การสร้างพาร์ติชั่นการออกแบบ
- ขั้นตอนที่ 3: การจัดสรรพื้นที่การวางตำแหน่งและการกำหนดเส้นทาง
- ขั้นตอนที่ 4: การเพิ่ม IP ตัวควบคุมการกำหนดค่าภายนอกสำหรับการกำหนดค่าใหม่บางส่วน
- ขั้นตอนที่ 5: การกำหนดบุคลิก
- ขั้นตอนที่ 6: การสร้างการแก้ไข
- ขั้นตอนที่ 7:การรวบรวมการแก้ไขฐาน
- ขั้นตอนที่ 8:การเตรียมการแก้ไขการดำเนินการ PR
- ขั้นตอนที่ 9: การเขียนโปรแกรมบอร์ด
ขั้นตอนที่ 1: เริ่มต้นใช้งาน
เพื่อคัดลอกการออกแบบอ้างอิง fileเข้ากับสภาพแวดล้อมการทำงานของคุณและรวบรวมการออกแบบแบนของ blinking_led:
- สร้างไดเร็กทอรีในสภาพแวดล้อมการทำงานของคุณ agilex_pcie_devkit_blinking_led_pr
- คัดลอกโฟลเดอร์ย่อย tutorials/agilex_pcie_devkit_blinking_led/flat ที่ดาวน์โหลดมาไปยังไดเร็กทอรี agilex_pcie_devkit_blinking_led_pr
- ในซอฟต์แวร์ Intel Quartus Prime Pro Edition ให้คลิก File ➤ เปิด Project แล้วเลือก blinking_led.qpf
- หากต้องการขยายลำดับชั้นของการออกแบบแบบแบน ให้คลิก การประมวลผล ➤ เริ่ม ➤ เริ่มการวิเคราะห์และการสังเคราะห์ หรือที่บรรทัดคำสั่ง ให้รันคำสั่งต่อไปนี้: quartus_syn flashing_led -c flashing_led
การสร้างพาร์ติชั่นการออกแบบ
คุณต้องสร้างพาร์ติชันการออกแบบสำหรับแต่ละภูมิภาค PR ที่คุณต้องการกำหนดค่าใหม่บางส่วน ขั้นตอนต่อไปนี้จะสร้างพาร์ติชันการออกแบบสำหรับอินสแตนซ์ u_blinking_led
การสร้างพาร์ติชั่นการออกแบบ
- คลิกขวาที่อินสแตนซ์ u_blinking_led ใน Project Navigator แล้วคลิก Design Partition ➤ Reconfigurable ไอคอน Design Partition จะปรากฏขึ้นถัดจากแต่ละอินสแตนซ์ที่ตั้งค่าเป็นพาร์ติชั่น
- คลิก Assignments ➤ Design Partitions หน้าต่างนี้จะแสดงพาร์ติชั่นการออกแบบทั้งหมดในโครงการ
- แก้ไขชื่อพาร์ติชันในหน้าต่าง Design Partitions โดยดับเบิลคลิกชื่อ สำหรับการอ้างอิงการออกแบบนี้ ให้เปลี่ยนชื่อพาร์ติชันเป็น pr_partition
- บันทึก: เมื่อคุณสร้างพาร์ติชัน ซอฟต์แวร์ Intel Quartus Prime จะสร้างชื่อพาร์ติชันโดยอัตโนมัติ ตามชื่ออินสแตนซ์และพาธลำดับชั้น ชื่อพาร์ติชันเริ่มต้นนี้สามารถแตกต่างกันไปในแต่ละอินสแตนซ์
- หากต้องการส่งออกภูมิภาคคงที่ที่เสร็จสิ้นแล้วจากการคอมไพล์การแก้ไขฐาน ให้ดับเบิลคลิกรายการสำหรับ root_partition ในการส่งออกหลังขั้นสุดท้าย File คอลัมน์และพิมพ์ Blinking_led_static.gdb
การส่งออกภาพสแนปช็อตสุดท้ายของโพสต์ในหน้าต่างพาร์ติชั่นการออกแบบตรวจสอบว่าไฟล์ flashing_led.qsf มีการกำหนดต่อไปนี้ ซึ่งสอดคล้องกับพาร์ติชันการออกแบบที่กำหนดค่าใหม่ของคุณ:
ข้อมูลที่เกี่ยวข้อง
“สร้างพาร์ติชั่นการออกแบบ” ในคู่มือผู้ใช้ Intel Quartus Prime Pro Edition: การกำหนดค่าใหม่บางส่วน
การจัดสรรพื้นที่วางและกำหนดเส้นทางสำหรับพาร์ติชั่น PR
สำหรับการแก้ไขฐานแต่ละครั้งที่คุณสร้าง โฟลว์การออกแบบ PR จะวางแกนของบุคคลที่เกี่ยวข้องไว้ในพื้นที่พาร์ติชั่น PR ของคุณ เพื่อค้นหาและกำหนดพื้นที่ PR ในผังพื้นอุปกรณ์สำหรับการแก้ไขฐานของคุณ:
- คลิกขวาที่อินสแตนซ์ u_blinking_led ใน Project Navigator แล้วคลิก Logic Lock Region ➤ Create New Logic Lock Region ภูมิภาคจะปรากฏบนหน้าต่าง Logic Lock Regions
- พื้นที่การวางตำแหน่งของคุณจะต้องอยู่ในลอจิก Blinking_led เลือกพื้นที่การวางโดยค้นหาโหนดใน Chip Planner คลิกขวาที่ชื่อพื้นที่ u_blinking_led ในหน้าต่าง Logic Lock Regions แล้วคลิก
ค้นหาโหนด ➤ ค้นหาใน Chip Planner ภูมิภาค u_blinking_led มีรหัสสี
ตำแหน่งโหนด Chip Planner สำหรับ Blinking_led
- ในหน้าต่าง Logic Lock Regions ให้ระบุพิกัดของตำแหน่งภูมิภาคในคอลัมน์ Origin แหล่งที่มาจะสอดคล้องกับมุมล่างซ้ายของภูมิภาค ตัวอย่างเช่นampหากต้องการตั้งค่าพื้นที่การวางโดยใช้พิกัด (X1 Y1) เป็น (163 4) ให้ระบุ Origin เป็น X163_Y4 ซอฟต์แวร์ Intel Quartus Prime จะคำนวณพิกัด (X2 Y2) (ด้านบนขวา) สำหรับพื้นที่การวางโดยอัตโนมัติ โดยอิงตามความสูงและความกว้างที่คุณระบุ
- บันทึก: บทช่วยสอนนี้ใช้พิกัด (X1 Y1) – (163 4) และความสูงและความกว้าง 20 สำหรับพื้นที่การวางตำแหน่ง กำหนดค่าใดๆ สำหรับพื้นที่การวางตำแหน่ง ตรวจสอบให้แน่ใจว่าพื้นที่ครอบคลุมตรรกะ Blinking_led
- เปิดใช้งานตัวเลือกที่สงวนไว้และคอร์เท่านั้น
- คลิกสองครั้งที่ตัวเลือกขอบเขตการกำหนดเส้นทาง กล่องโต้ตอบการตั้งค่าภูมิภาคการกำหนดเส้นทาง Logic Lock จะปรากฏขึ้น
- เลือกแก้ไขด้วยการขยายสำหรับประเภทการกำหนดเส้นทาง การเลือกตัวเลือกนี้จะกำหนดความยาวของการขยายเป็น 2 โดยอัตโนมัติ
- บันทึก: พื้นที่กำหนดเส้นทางต้องมีขนาดใหญ่กว่าพื้นที่ตำแหน่ง เพื่อให้ช่างฟิตมีความยืดหยุ่นเป็นพิเศษเมื่อกำหนดเส้นทางเครื่องยนต์ในลักษณะที่แตกต่างกัน
หน้าต่างภูมิภาค Logic Lockตรวจสอบว่า blinking_led.qsf มีการมอบหมายต่อไปนี้ ซึ่งสอดคล้องกับแผนผังชั้นของคุณ:
ข้อมูลที่เกี่ยวข้อง
“การวางผังพื้นสำหรับการออกแบบการกำหนดค่าใหม่บางส่วน” ในคู่มือผู้ใช้ Intel Quartus Prime Pro Edition: การกำหนดค่าใหม่บางส่วน
การเพิ่มตัวควบคุมการกำหนดค่าภายนอกสำหรับการกำหนดค่าใหม่บางส่วน Intel FPGA IP
ตัวควบคุมการกำหนดค่าภายนอกแบบ Partial Reconfiguration ของ Intel FPGA IP เชื่อมต่อกับบล็อคควบคุม Intel Agilex PR เพื่อจัดการแหล่งที่มาของบิตสตรีม คุณต้องเพิ่ม IP นี้ลงในดีไซน์ของคุณเพื่อนำการกำหนดค่าภายนอกไปใช้ ปฏิบัติตามขั้นตอนเหล่านี้เพื่อเพิ่มตัวควบคุมการกำหนดค่าภายนอกแบบ Partial Reconfiguration
Intel FPGA IP สำหรับโครงการของคุณ:
- พิมพ์ Partial Reconfiguration ในช่องค้นหา IP Catalog (เครื่องมือ ➤ IP Catalog)
- คลิกสองครั้งที่ Partial Reconfiguration External Configuration Controller Intel FPGA IP
- ในกล่องโต้ตอบสร้างตัวแปร IP ให้พิมพ์ external_host_pr_ip เป็น File ชื่อ แล้วคลิก สร้าง ตัวแก้ไขพารามิเตอร์จะปรากฏขึ้น
- สำหรับพารามิเตอร์เปิดใช้งานอินเทอร์เฟซไม่ว่าง ให้เลือกปิดใช้งาน (การตั้งค่าเริ่มต้น) เมื่อคุณจำเป็นต้องใช้สัญญาณนี้ คุณสามารถเปลี่ยนการตั้งค่าเป็นเปิดใช้งานได้
เปิดใช้งานพารามิเตอร์อินเทอร์เฟซที่ไม่ว่างในตัวแก้ไขพารามิเตอร์
- คลิก File ➤ บันทึกและออกจากตัวแก้ไขพารามิเตอร์โดยไม่สร้างระบบ ตัวแก้ไขพารามิเตอร์จะสร้างรูปแบบ IP external_host_pr_ip.ip file และเพิ่ม file ไปที่โครงการ Blinking_led AN 991: การกำหนดค่าใหม่บางส่วนผ่านพินการกำหนดค่า (โฮสต์ภายนอก) การออกแบบอ้างอิง 750856 | 2022.11.14 AN 991:
- บันทึก:
- a. หากคุณกำลังคัดลอก external_host_pr_ip.ip file จากไดเร็กทอรี pr แก้ไขไฟล์ flashing_led.qsf ด้วยตนเอง file เพื่อรวมบรรทัดต่อไปนี้: set_global_assignment -name IP_FILE pr_ip.ip
- b. วาง IP_FILE การมอบหมายหลังจาก SDC_FILE การมอบหมายงาน (blinking_led. dc) ในไฟล์ flashing_led.qsf ของคุณ fileการจัดลำดับนี้จะช่วยให้แน่ใจว่ามีการจำกัดแกน IP ของตัวควบคุมการกำหนดค่าบางส่วนอย่างเหมาะสม
- บันทึก: เพื่อตรวจจับนาฬิกา .sdc file สำหรับ PR IP ต้องปฏิบัติตาม .sdc ใดๆ ที่สร้างนาฬิกาที่แกน IP ใช้ คุณอำนวยความสะดวกให้กับคำสั่งนี้โดยให้แน่ใจว่า .ip file สำหรับแกน PR IP ปรากฏหลัง .ip ใดๆ files หรือ .sdc fileที่คุณใช้ในการกำหนดนาฬิกาเหล่านี้ใน .qsf file สำหรับการแก้ไขโครงการ Intel Quartus Prime ของคุณ สำหรับข้อมูลเพิ่มเติม โปรดดูคู่มือผู้ใช้ Partial Reconfiguration IP Solutions
การอัปเดตการออกแบบระดับบนสุด
การอัพเดตไฟล์ top.sv file ด้วยอินสแตนซ์ PR_IP:
- หากต้องการเพิ่มอินสแตนซ์ external_host_pr_ip ลงในการออกแบบระดับสูงสุด ให้ยกเลิกการแสดงความเห็นในบล็อกโค้ดต่อไปนี้ในไฟล์ top.sv file:
การกำหนดบุคลิก
การออกแบบอ้างอิงนี้กำหนดบุคลิกที่แยกจากกันสามบุคลิกสำหรับพาร์ติชั่น PR เดียว ในการกำหนดและรวมบุคลิกในโครงการของคุณ:
- สร้าง SystemVerilog สามตัว files, flashing_led.sv, flashing_led_slow.sv และ flashing_led_empty.sv ในไดเร็กทอรีทำงานของคุณสำหรับบุคลิกทั้งสาม
การออกแบบอ้างอิงบุคคล
บันทึก:
- Blinking_led.sv พร้อมใช้งานแล้วเป็นส่วนหนึ่งของ fileคุณคัดลอกจากไดเร็กทอรีย่อย flat/ คุณสามารถนำสิ่งนี้กลับมาใช้ซ้ำได้อย่างง่ายดาย file.
- หากคุณสร้าง SystemVerilog fileจาก Intel Quartus Prime Text Editor ให้ปิดใช้งาน Add file ไปยังตัวเลือกโครงการปัจจุบัน เมื่อบันทึก files.
การสร้างการแก้ไข
ขั้นตอนการออกแบบ PR ใช้คุณลักษณะการแก้ไขโครงการในซอฟต์แวร์ Intel Quartus Prime การออกแบบเริ่มต้นของคุณคือการแก้ไขพื้นฐาน ซึ่งคุณจะกำหนดขอบเขตของภูมิภาคคงที่และภูมิภาคที่กำหนดค่าใหม่ได้บน FPGA จากการแก้ไขพื้นฐาน คุณจะสร้างการแก้ไขหลายรายการ การแก้ไขเหล่านี้ประกอบด้วยการใช้งานที่แตกต่างกันสำหรับภูมิภาค PR อย่างไรก็ตาม การแก้ไขการใช้งาน PR ทั้งหมดใช้ผลลัพธ์การจัดวางและการกำหนดเส้นทางระดับบนสุดเดียวกันจากการแก้ไขพื้นฐาน ในการคอมไพล์การออกแบบ PR คุณต้องสร้างการแก้ไขการใช้งาน PR สำหรับแต่ละบุคคล นอกจากนี้ คุณต้องกำหนดประเภทการแก้ไขสำหรับแต่ละการแก้ไข ประเภทการแก้ไขที่พร้อมใช้งานคือ:
- การกำหนดค่าใหม่บางส่วน – ฐาน
- การกำหนดค่าใหม่บางส่วน – การใช้งาน Persona
ตารางต่อไปนี้แสดงชื่อการแก้ไขและประเภทการแก้ไขสำหรับการแก้ไขแต่ละรายการ:
ชื่อและประเภทการแก้ไข
ชื่อการแก้ไข | ประเภทการแก้ไข |
กระพริบ_led.qsf | การกำหนดค่าใหม่บางส่วน – ฐาน |
Blinking_led_default.qsf | การกำหนดค่าใหม่บางส่วน – การใช้งาน Persona |
ไฟ LED กระพริบช้า | การกำหนดค่าใหม่บางส่วน – การใช้งาน Persona |
ไฟ LED กะพริบว่างเปล่า.qsf | การกำหนดค่าใหม่บางส่วน – การใช้งาน Persona |
การตั้งค่าประเภทการแก้ไขพื้นฐาน
- คลิก โครงการ ➤ การแก้ไข
- ในชื่อการแก้ไข ให้เลือกการแก้ไขที่กะพริบ_led จากนั้นคลิกตั้งค่าปัจจุบัน
- คลิกนำไปใช้ การแก้ไขที่กระพริบ_นำจะแสดงเป็นการแก้ไขปัจจุบัน
- หากต้องการตั้งค่าประเภทการแก้ไขสำหรับ flashing_led ให้คลิก การกำหนด ➤ การตั้งค่า ➤ ทั่วไป
- สำหรับประเภทการแก้ไข ให้เลือกการกำหนดค่าใหม่บางส่วน – ฐาน แล้วคลิก ตกลง
- ตรวจสอบว่าไฟล์ flashing_led.qsf มีการกำหนดต่อไปนี้: ##blinking_led.qsf set_global_assignment -name REVISION_TYPE PR_BASE
การสร้างการแก้ไขการใช้งาน
- หากต้องการเปิดกล่องโต้ตอบการแก้ไข ให้คลิกโครงการ ➤ การแก้ไข
- หากต้องการสร้างการแก้ไขใหม่ ให้ดับเบิลคลิก < >.
- ในชื่อการแก้ไข ให้ระบุ flashing_led_default และเลือก flashing_led สำหรับตามการแก้ไข
- สำหรับประเภทการแก้ไข ให้เลือกการกำหนดค่าใหม่บางส่วน – การนำ Persona มาใช้
การสร้างการแก้ไข
- ในทำนองเดียวกัน ให้ตั้งค่าประเภทการแก้ไขสำหรับการแก้ไขแบบ flashing_led_slow และ flashing_led_empty
- ตรวจสอบว่าแต่ละ .qsf file ขณะนี้มีการกำหนดดังต่อไปนี้: set_global_assignment -name REVISION_TYPE PR_IMPL set_instance_assignment -name ENTITY_REBINDING \ place_holder -to u_blinking_led โดยที่ place_holder คือชื่อเอนทิตีเริ่มต้นสำหรับการแก้ไขการใช้งาน PR ที่เพิ่งสร้างขึ้นใหม่
การแก้ไขโครงการ
การรวบรวมการแก้ไขฐาน
- หากต้องการคอมไพล์รีวิชันพื้นฐาน ให้คลิก การประมวลผล ➤ เริ่มการคอมไพล์ หรืออีกวิธีหนึ่ง คำสั่งต่อไปนี้จะคอมไพล์รีวิชันพื้นฐาน: quartus_sh –flow compile flashing_led -c flashing_led
- ตรวจสอบบิตสตรีม files ที่สร้างในผลลัพธ์_fileไดเร็กทอรี
สร้างขึ้น Files
ชื่อ | พิมพ์ | คำอธิบาย |
ไฟกระพริบ LED | การเขียนโปรแกรมพื้นฐาน file | ใช้สำหรับการกำหนดค่าฐานชิปแบบเต็ม |
ไฟกระพริบ_ไฟled.pr_partition.rbf | พีอาร์ บิตสตรีม file สำหรับบุคลิกพื้นฐาน | ใช้เพื่อการปรับโครงร่างฐานบางส่วน |
ไฟกระพริบ_ไฟ_คงที่.qdb | ฐานข้อมูล .qdb file | ฐานข้อมูลสำเร็จรูป file ใช้เพื่อนำเข้าภูมิภาคคงที่ |
ข้อมูลที่เกี่ยวข้อง
- “การวางผังพื้นสำหรับการออกแบบการกำหนดค่าใหม่บางส่วน” ในคู่มือผู้ใช้ Intel Quartus Prime Pro Edition: การกำหนดค่าใหม่บางส่วน
- “การใช้ข้อจำกัดของ Floorplan ทีละน้อย” ในคู่มือผู้ใช้ Intel Quartus Prime Pro Edition: การกำหนดค่าใหม่บางส่วน
เตรียมการแก้ไขการดำเนินการ PR
คุณต้องเตรียมการแก้ไขการใช้งาน PR ก่อนจึงจะคอมไพล์และสร้างบิตสตรีม PR สำหรับการเขียนโปรแกรมอุปกรณ์ได้ การตั้งค่านี้รวมถึงการเพิ่มภูมิภาคคงที่ .qdb file เป็นแหล่งที่มา file สำหรับการแก้ไขการใช้งานแต่ละครั้ง นอกจากนี้ คุณต้องระบุเอนทิตีที่เกี่ยวข้องของภูมิภาค PR
- หากต้องการตั้งค่าการแก้ไขปัจจุบัน ให้คลิก โปรเจ็กต์ ➤ การแก้ไข เลือก flashing_led_default เป็นชื่อการแก้ไข จากนั้นคลิก ตั้งค่าการแก้ไขปัจจุบัน
- เพื่อตรวจสอบแหล่งที่มาที่ถูกต้องสำหรับการแก้ไขการใช้งานแต่ละครั้ง ให้คลิก โปรเจ็กต์ ➤ เพิ่ม/ลบ Files ในโครงการ The flashing_led.sv file ปรากฏใน file รายการ.
Files หน้า
- ทำซ้ำขั้นตอนที่ 1 ถึง 2 เพื่อตรวจสอบแหล่งแก้ไขการใช้งานอื่น ๆ files:
ชื่อการแก้ไขการใช้งาน | แหล่งที่มา File |
ไฟกระพริบ_ค่าเริ่มต้น | ไฟกระพริบ_led.sv |
ไฟกระพริบว่างเปล่า | ไฟกระพริบ_ว่างเปล่า.sv |
ไฟ LED กระพริบช้า | Blinking_led_slow.sv |
- เพื่อตรวจสอบ .qdb file ที่เกี่ยวข้องกับพาร์ติชั่นรูท คลิก Assignments ➤ Design Partitions Window ยืนยันว่าฐานข้อมูลพาร์ติชั่น File ระบุไฟล์ flashing_led_static.qdb fileหรือดับเบิลคลิกที่ฐานข้อมูลพาร์ติชั่น File เซลล์เพื่อระบุสิ่งนี้ fileหรืออีกทางหนึ่งคำสั่งต่อไปนี้จะกำหนดสิ่งนี้ file: set_instance_assignment -ชื่อ QDB_FILE_PARTITION \ flashing_led_static.qdb -to |
- ในเซลล์ Entity Re-binding ให้ระบุชื่อเอนทิตีของพาร์ติชั่น PR แต่ละพาร์ติชั่นที่คุณเปลี่ยนแปลงในการแก้ไขการใช้งาน สำหรับการแก้ไขการใช้งานแบบ Blinking_led_default ชื่อเอนทิตีคือ Blinking_led ในบทช่วยสอนนี้ คุณจะเขียนทับอินสแตนซ์ u_blinking_led จากการคอมไพล์การแก้ไขพื้นฐานด้วยเอนทิตี Blinking_led ใหม่
บันทึก: การกำหนดการเชื่อมโยงเอนทิตีตัวแทนจะถูกเพิ่มลงในการแก้ไขการใช้งานโดยอัตโนมัติ อย่างไรก็ตาม คุณต้องเปลี่ยนชื่อเอนทิตีเริ่มต้นในการกำหนดเป็นชื่อเอนทิตีที่เหมาะสมสำหรับการออกแบบของคุณ
ชื่อการแก้ไขการใช้งาน | เอนทิตีผูกพันใหม่ |
ไฟกระพริบ_ค่าเริ่มต้น | ไฟกระพริบ |
ไฟ LED กระพริบช้า | ไฟ LED กระพริบช้า |
ไฟกระพริบว่างเปล่า | ไฟกระพริบว่างเปล่า |
การผูกเอนทิตี้ใหม่
- หากต้องการคอมไพล์ดีไซน์ ให้คลิกที่ Processing ➤ Start Compilation หรืออีกวิธีหนึ่งคือใช้คำสั่งต่อไปนี้เพื่อคอมไพล์โปรเจ็กต์นี้: quartus_sh –flow compile flashing_led –c flashing_led_default
- ทำซ้ำขั้นตอนข้างต้นเพื่อเตรียมการแก้ไข flashing_led_slow และ flashing_led_empty: quartus_sh –flow compile flashing_led –c flashing_led_slow quartus_sh –flow compile flashing_led –c flashing_led_empt
บันทึก: คุณสามารถระบุการตั้งค่าเฉพาะของ Fitter ที่คุณต้องการใช้ระหว่างการรวบรวมการใช้งาน PR ได้ การตั้งค่าเฉพาะของ Fitter จะส่งผลต่อความเหมาะสมของบุคลิกเท่านั้น โดยไม่ส่งผลต่อภูมิภาคคงที่ที่นำเข้า
การเขียนโปรแกรมบอร์ด
บทช่วยสอนนี้ใช้บอร์ดพัฒนา FPGA Intel Agilex F-Series บนโต๊ะทำงาน นอกสล็อต PCIe* ในเครื่องโฮสต์ของคุณ ก่อนที่คุณจะตั้งโปรแกรมบอร์ด โปรดตรวจสอบให้แน่ใจว่าคุณได้ทำตามขั้นตอนต่อไปนี้แล้ว:
- เชื่อมต่อแหล่งจ่ายไฟเข้ากับบอร์ดพัฒนา FPGA Intel Agilex F-Series
- เชื่อมต่อสายดาวน์โหลด Intel FPGA ระหว่างพอร์ต USB พีซีของคุณและพอร์ตสายดาวน์โหลด Intel FPGA บนบอร์ดพัฒนา
ในการเรียกใช้การออกแบบบนบอร์ดพัฒนา FPGA Intel Agilex F-Series ให้ทำดังนี้:
- เปิดซอฟต์แวร์ Intel Quartus Prime และคลิกเครื่องมือ ➤ โปรแกรมเมอร์
- ในโปรแกรมเมอร์ คลิกการตั้งค่าฮาร์ดแวร์ และเลือก USB-Blaster
- คลิกตรวจจับอัตโนมัติและเลือกอุปกรณ์ AGFB014R24AR0
- คลิกตกลง ซอฟต์แวร์ Intel Quartus Prime ตรวจจับและอัปเดตโปรแกรมเมอร์ด้วยอุปกรณ์ FPGA ทั้งสามตัวบนบอร์ด
- เลือกอุปกรณ์ AGFB014R24AR0 คลิกเปลี่ยน File และโหลดไฟล์ Blinking_led_default.sof file.
- เปิดใช้งานโปรแกรม/กำหนดค่าสำหรับ flashing_led_default.sof file.
- คลิกเริ่มและรอให้แถบความคืบหน้าถึง 100%
- สังเกตไฟ LED บนบอร์ดที่กะพริบด้วยความถี่เดียวกับการออกแบบแบนราบดั้งเดิม
- หากต้องการตั้งโปรแกรมเฉพาะภูมิภาค PR ให้คลิกขวาที่ไฟล์ flashing_led_default.sof file ใน Programmer แล้วคลิก Add PR Programming File.
- เลือกไฟล์ flashing_led_slow.pr_partition.rbf file.
- ปิดใช้งานโปรแกรม/กำหนดค่าสำหรับ flashing_led_default.sof file.
- เปิดใช้งานโปรแกรม/กำหนดค่าสำหรับ flashing_led_slow.pr_partition.rbf file และคลิกเริ่ม บนบอร์ด ให้สังเกต LED[0] และ LED[1] กะพริบต่อเนื่อง เมื่อแถบความคืบหน้าถึง 100% LED[2] และ LED[3] จะกะพริบช้าลง
- หากต้องการตั้งโปรแกรมภูมิภาค PR ใหม่ ให้คลิกขวาที่ไฟล์ .rbf file ในโปรแกรมเมอร์ แล้วคลิก Change PR Programing File.
- เลือก .rbf files สำหรับบุคคลอื่นอีกสองคนเพื่อสังเกตพฤติกรรมบนกระดาน กำลังโหลดไฟล์ Blinking_led_default.rbf file ทำให้ไฟ LED กะพริบที่ความถี่ที่กำหนด และโหลดไฟล์ flashing_led_empty.rbf file ทำให้ไฟ LED ยังคงติดสว่าง
การเขียนโปรแกรมบอร์ดพัฒนา FPGA Intel Agilex F-Series
กระแสการทดสอบฮาร์ดแวร์
ลำดับต่อไปนี้อธิบายขั้นตอนการทดสอบฮาร์ดแวร์การออกแบบอ้างอิง
การตั้งค่าฮาร์ดแวร์โฮสต์ภายนอกอุปกรณ์ Intel Agilex
ตั้งโปรแกรมตัวช่วย FPGA (โฮสต์ภายนอก)
ลำดับต่อไปนี้จะอธิบายการเขียนโปรแกรม FPGA ตัวช่วยที่ทำงานเป็นโฮสต์ภายนอกของกระบวนการ PR:
- ระบุการตั้งค่าอินเทอร์เฟซการสตรีมมิ่ง Avalon ที่สอดคล้องกับโหมดที่คุณเลือก (x8, x16 หรือ x32)
- เริ่มการทำงานของแพลตฟอร์มโดยการเขียนโปรแกรม FPGA ตัวช่วยโดยใช้โปรแกรมเมอร์ Intel Quartus Prime และสายเคเบิลกำหนดค่าที่เชื่อมต่อ
- ใช้ FPGA ตัวช่วยในการอ่านสัญญาณ CONF_DONE และ AVST_READY โดย CONF_DONE ควรเป็น 0 และ AVST_READY ควรเป็น 1 ลอจิกสูงบนพินนี้บ่งชี้ว่า SDM พร้อมที่จะรับข้อมูลจากโฮสต์ภายนอก เอาต์พุตนี้เป็นส่วนหนึ่งของ I/O ของ SDM
บันทึก: พิน CONF_DONE ส่งสัญญาณไปยังโฮสต์ภายนอกว่าการถ่ายโอนบิตสตรีมประสบความสำเร็จ ใช้สัญญาณเหล่านี้เพื่อตรวจสอบกระบวนการกำหนดค่าชิปทั้งหมดเท่านั้น โปรดดูคู่มือผู้ใช้การกำหนดค่า Intel Agilex เพื่อดูข้อมูลเพิ่มเติมเกี่ยวกับพินนี้
การเขียนโปรแกรม DUT FPGA ด้วย Full Chip SOF ผ่านโฮสต์ภายนอก ลำดับต่อไปนี้จะอธิบายการเขียนโปรแกรม DUT FPGA ด้วย Full Chip SRAM Object File (.sof) โดยใช้อินเทอร์เฟซสตรีมมิ่งโฮสต์ Avalon:
- เขียนบิตสตรีมของชิปทั้งหมดลงในหน่วยความจำภายนอก DDR4 ของ FPGA ตัวช่วย (โฮสต์ภายนอก)
- กำหนดค่า DUT FPGA ด้วยชิป .sof เต็มรูปแบบโดยใช้อินเทอร์เฟซสตรีมมิ่ง Avalon (x8, x16, x32)
- อ่านสถานะสัญญาณการกำหนดค่า FPGA DUT CONF_DONE ควรเป็น 1 และ AVST_READY ควรเป็น 0
ข้อมูลจำเพาะเวลา: การกำหนดค่าใหม่บางส่วน ตัวควบคุมภายนอก Intel FPGA IP
โปรแกรม DUT FPGA ด้วย First Persona ผ่านทางโฮสต์ภายนอก
- ใช้การแช่แข็งบนพื้นที่ PR เป้าหมายใน DUT FPGA
- ใช้คอนโซลระบบ Intel Quartus Prime เพื่อยืนยัน pr_request เพื่อเริ่มการกำหนดค่าใหม่บางส่วน AVST_READY ควรเป็น 1
- เขียนบิตสตรีมบุคคล PR แรกลงในหน่วยความจำภายนอก DDR4 ของ FPGA ตัวช่วย (โฮสต์ภายนอก)
- การใช้อินเทอร์เฟซสตรีมมิ่ง Avalon (x8, x16, x32) กำหนดค่า FPGA DUT ใหม่ด้วยบิตสตรีมบุคคลแรก
- หากต้องการตรวจสอบสถานะ PR ให้คลิก เครื่องมือ ➤ คอนโซลระบบ เพื่อเปิดคอนโซลระบบ ในคอนโซลระบบ ให้ตรวจสอบสถานะ PR:
- pr_error คือ 2—กำลังดำเนินการกำหนดค่าใหม่
- pr_error คือ 3—การกำหนดค่าใหม่เสร็จสิ้นแล้ว
- ใช้การยกเลิกการแช่แข็งบนบริเวณ PR ใน DUT FPGA
บันทึก: หากเกิดข้อผิดพลาดระหว่างการดำเนินการ PR เช่น ความล้มเหลวในการตรวจสอบเวอร์ชันหรือการตรวจสอบการอนุญาต การดำเนินการ PR จะสิ้นสุดลง
ข้อมูลที่เกี่ยวข้อง
- คู่มือผู้ใช้การกำหนดค่า Intel Agilex
- คู่มือผู้ใช้ Intel Quartus Prime Pro Edition: เครื่องมือดีบัก
ประวัติการแก้ไขเอกสารสำหรับ AN 991: การกำหนดค่าใหม่บางส่วนผ่านพินการกำหนดค่า (โฮสต์ภายนอก) การออกแบบอ้างอิงสำหรับบอร์ดพัฒนา FPGA Intel Agilex F-Series
เวอร์ชันเอกสาร | รุ่น Intel Quartus Prime | การเปลี่ยนแปลง |
2022.11.14 | 22.3 | • การเปิดตัวครั้งแรก |
AN 991: การกำหนดค่าใหม่บางส่วนผ่านพินการกำหนดค่า (โฮสต์ภายนอก) การออกแบบอ้างอิง: สำหรับบอร์ดพัฒนา FPGA Intel Agilex F-Series
คำตอบสำหรับคำถามที่พบบ่อยยอดนิยม:
- Q PR ผ่านพินการกำหนดค่าคืออะไร?
- A การกำหนดค่าโฮสต์ภายนอกในหน้า 3
- Q ฉันต้องมีอะไรบ้างสำหรับการออกแบบอ้างอิงนี้?
- A ข้อกำหนดการออกแบบอ้างอิงในหน้า 6
- Q ฉันสามารถรับการออกแบบอ้างอิงได้จากที่ไหน
- A ข้อกำหนดการออกแบบอ้างอิงในหน้า 6
- Q ฉันจะดำเนินการ PR โดยการกำหนดค่าภายนอกได้อย่างไร
- A แบบทดสอบการออกแบบอ้างอิงในหน้า 6
- Q PR persona คืออะไร?
- A การกำหนดบุคลิกภาพ ในหน้า 11
- Q ฉันจะเขียนโปรแกรมบอร์ดได้อย่างไร?
- A ตั้งโปรแกรมบอร์ดในหน้า 17
- Q ปัญหาและข้อจำกัดที่ทราบเกี่ยวกับ PR มีอะไรบ้าง?
- A ฟอรัมสนับสนุน Intel FPGA: PR
- Q มีการอบรมเรื่อง PR ไหมคะ?
- A แคตตาล็อกการฝึกอบรมทางเทคนิค FPGA ของ Intel
เวอร์ชันออนไลน์ ส่งคำติชม
- รหัสประจำตัว: 750856
- เวอร์ชัน: 2022.11.14
เอกสาร / แหล่งข้อมูล
![]() |
บอร์ดพัฒนา FPGA Agilex 750856 ของ Intel [พีดีเอฟ] คู่มือการใช้งาน 750856, 750857, 750856 บอร์ดพัฒนา FPGA Agilex, บอร์ดพัฒนา FPGA Agilex, บอร์ดพัฒนา FPGA, บอร์ดพัฒนา, บอร์ด |