ตัวอย่างการออกแบบ Mandelbrot นี้สาธิตการใช้คอมไพเลอร์การเร่งความเร็วโปรเซสเซอร์แบบฝังตัว Nios® II C-to-Hardware (C2H) ในตัวอย่างนี้ คอมไพเลอร์ C2H จะเปลี่ยนการปรับใช้อัลกอริธึม Mandelbrot ที่ใช้ C เป็นฮาร์ดแวร์ การออกแบบนี้ยังมีตัวควบคุมวิดีโอเพื่อแสดงวิดีโอแบบเคลื่อนไหวเต็มรูปแบบของค่าพิกเซลที่คํานวณได้
รูปแบบ Mandelbrot ได้กลายมาเป็นหนึ่งในส่วนที่รู้จักกันดีเนื่องจากรูปแบบที่ซับซ้อนและการใช้งานที่ใช้โปรเซสเซอร์อย่างหนัก อัลกอริทึมทํางานในระนาบที่ซับซ้อนโดยที่แกน x แสดงถึงส่วนประกอบที่แท้จริง และแกน y แสดงถึงส่วนประกอบจินตนาการ ตัวอย่างนี้ดําเนินการเคลื่อนไหวไปยังภูมิภาคต่างๆ ของระนาบ และซูมเข้าและออกเพื่อสร้างวิดีโอแบบเคลื่อนไหวเต็มรูปแบบ
ตัวอย่างนี้ใช้ประโยชน์จากการทํางานแบบขนานอย่างเต็มรูปแบบโดยดําเนินการคํานวณพิกัดในซอฟต์แวร์ในขณะที่ตัวเร่งฮาร์ดแวร์กําลังใช้งานอยู่ ซึ่งทําได้โดยการบัฟเฟอร์ข้อมูลวิดีโอสามเท่าใน DDR SDRAM และใช้โปรเซสเซอร์แบบฝังNios IIเพื่อประสานการไหลของข้อมูล ทุกครั้งที่มีการเรนเดอร์เฟรมบัฟเฟอร์แบบเต็มจะถูกเรนเดอร์โดยตัวเร่งฮาร์ดแวร์ โปรเซสเซอร์จะจัดการข้อมูลเพื่อวางเกณฑ์มาตรฐานข้อมูล และแจ้งให้คอนโทรลเลอร์วิดีโอทราบว่ามีบัฟเฟอร์ใหม่พร้อมสําหรับการแสดงผลแล้ว
การใช้ตัวอย่างการออกแบบนี้
การออกแบบนี้กําหนดเป้าหมายชุดพัฒนาต่อไปนี้:
- ชุดการประเมินแบบเอ็มเบ็ดเด็ดNios II Cyclone® III FPGA Edition
- ชุดพัฒนาแบบเอ็มเบ็ดเด็ดNios II รุ่น Cyclone III FPGA Edition
ดาวน์โหลด ตัวอย่างการออกแบบ Nios II C2H Mandelbrot (ไฟล์.zip)
ดาวน์โหลด ตัวอย่างการออกแบบ Nios II C2H Mandelbrot README (ไฟล์.txt)
การใช้การออกแบบนี้อยู่ภายใต้และอยู่ภายใต้ข้อกําหนดและเงื่อนไขของข้อตกลงสิทธิ์การใช้งานตัวอย่างการออกแบบของ Intel®
ไฟล์ .zip ประกอบด้วยไฟล์ซอฟต์แวร์ที่จําเป็นทั้งหมดเพื่อทําซ้ําตัวอย่างรวมถึงไฟล์ readme.txt ไฟล์ readme.txt มีคําแนะนําสําหรับการสร้างการออกแบบใหม่ที่มุ่งเป้าไปที่การออกแบบฮาร์ดแวร์ที่มีอยู่
แผนภาพบล็อก
รูปภาพที่ 1 ตัวอย่างการออกแบบของคอมไพเลอร์ C2H Mandelbrot
ผลลัพธ์ที่เร่งความเร็วของคอมไพเลอร์ C2H
อัลกอริทึม Mandelbrot ที่เร่งความเร็วด้วยคอมไพเลอร์ C2H ส่งผลให้ความเร็วเพิ่มขึ้นอย่างน้อย 60 เท่าเมื่อเทียบกับอัลกอริธึมเดียวกันที่ทํางานบนโปรเซสเซอร์ Nios IIที่เร็วที่สุดโดยใช้การเพิ่มประสิทธิภาพคอมไพเลอร์ระดับ 2 (-O2) ความเร็วที่เพิ่มขึ้นนี้เกิดจากความขนานและความเร็วในการวนรอบที่รวดเร็วที่ฮาร์ดแวร์สามารถจัดหาได้ ซึ่งไม่สามารถหาได้จากหน่วยประมวลผลอเนกประสงค์