สิงหาคม 27, 2026

การพัฒนาโปรแกรมบน FPGA ด้วย IP และ Block Design

โดยปกติแล้ว เราจะใช้ภาษา VHDL หรือ Verilog ในการพัฒนาแอพพลิเคชั่นบน FPGA ซึ่งค่อนข้างมีความซับซ้อนในการพัฒนา เพื่อให้การพัฒนาแอพพลิเคชั่นบน FPGA มีความสะดวกรวดเร็วมากขึ้น เราสามารถใช้ IP และ Block Design ในการพัฒนาแอพพลิเคชั่นบน FPGA ด้วย Vivado

โดย IP (intellectual property) นั้นจะเป็นไลบรารี่บน FPGA ที่ถูกพัฒนาไว้แล้วโดยเราสามารถเอามาใช้ได้ทันทีโดยทำการเชื่อมต่อกับโมดูลหลัก ทั้งนี้ IP บางตัวมีค่าใช้จ่ายในการใช้งาน โดยเราสามารถดูข้อมูลของ IP แต่ละตัวได้จาก IP Catalog ใน Vivado

สำหรับ block design คือ การพัฒนาโปรแกรมโดยการเชื่อมต่อ IP ซึ่งมีลักษณะเป็นบล็อก แต่ละบล็อกจะมีจุดเชื่อมต่อซึ่งสามารถต่อกับจุดเชื่อมต่อบนบล็อกอื่น ๆ เพื่อทำการส่งข้อมูลหากันได้ โดยขั้นตอนในการพัฒนาโดยใช้ IP และ block design มีดังต่อไปนี้

1. เปิด Vivado และสร้างโปรเจกต์ตามปกติ หากมีไฟล์ xdc และซอร์สโค้ด verilog และ vhdl อยู่แล้วสามารถเพิ่มเข้าไปในโปรเจกต์ได้ทันที โดยซอร์สโค้ด verilog และ vhdl ต้องทำการระบุอินพุตและเอาท์พุตให้เรียบร้อย

2. เลือก Flow Navigator>IP INTEGRATOR>Create Block Design เพื่อสร้างบล็อก

3. กด + และค้นหา IP ต่าง ๆ ที่ต้องการใช้งาน ใช้ Block Automation และ Connection Automation ในการเชื่อมต่อและตั้งค่า

4. ดับเบิ้ลคลิก IP เพื่อทำการตั้งค่าเพิ่มเติม

5. หากต้องการใช้ซอร์สโค้ด vhdl และ verilog ให้ลากจาก Sources มาวางในบล็อก

6. ทำการเชื่อมต่อพอร์ตที่เหลือเข้าด้วยกันหากต้องการ

7. กด Validate Design เพื่อตรวจสอบข้อผิดพลาดและแก้ไขก่อนบันทึกบล็อก รูปด้านล่างแสดงตัวอย่างบล็อกที่แก้ไขเสร็จแล้ว

8. คลิกขวาที่บล็อก (*.bd) เลือก Generate Output Products เมื่อเสร็จเรียบร้อยแล้วให้คลิกขวาอีกทีแล้วเลือก Create HDL Wrapper เพื่อสร้างโมดูลหลัก

9. แก้ไขไฟล์ XDC เพื่อเชื่อมต่อกับโมดูลหลัก

10. Generate bitstream ตามปกติ โดยให้ทำการตรวจสอบ Metrodology เพื่อแก้ไข Critical Warning ก่อนไปยังขั้นตอนถัดไป

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

บทความที่เกี่ยวข้อง

การติดตั้ง Vivado Design Suite และไฟล์บอร์ด Digilent

การใช้ไมโครคอนโทรลเลอร์บนบอร์ดพัฒนา FPGA ของ Digilent

การใช้งานบอร์ดเสริม Pmod I2S2 ร่วมกับบอร์ด FPGA ของ Digilent

การใช้งานบอร์ดเสริม Pmod USBUART ร่วมกับบอร์ด FPGA ของ Digilent

error: Content is protected...