โดยปกติแล้ว เราจะใช้ภาษา VHDL หรือ Verilog ในการพัฒนาแอพพลิเคชั่นบน FPGA ในส่วนของการประมวลผลสัญญาณในระดับต่ำ ในส่วนของการประมวลผลสัญญาณระดับสูง เช่น การอ่านเขียนไฟล์, ติดต่อกับเครือข่าย หรือ การคำนวณด้วยจุดทศนิยม เราสามารถเลือกใช้ภาษาระดับสูง เช่น C/C++ หรือ Python มาช่วยในการพัฒนาดังแสดงในตารางด้านล่าง
| Digilent Boards | Embedded Processor Structure | Primary OS/Framework | Primary High-Level Programming Language/Tool | Description |
|---|---|---|---|---|
| PYNQ-Z1 | ARM Cortex-A9 | PYNQ Framework/Jupyter Notebooks | Python | การใช้งาน PYNQ framework ช่วยให้สามารถใช้ Python ในการพัฒนาโปรแกรมบนบอร์ด FPGA ด้วย Jupyter Notebooks ได้โดยไม่ต้องการเรียกใช้งาน bit file โดยไม่ต้องคอมไพล์โปรแกรมร่วมกัน ทำให้สามารถแก้ไขโปรแกรมได้อย่างรวดเร็ว เหมาะกับการทำผลิตภัณฑ์ต้นแบบเป็นอย่างยิ่ง ข้อเสียก็คือ สมรรถนะการทำงานจะต่ำกว่าการใช้งาน PetaLinux พอสมควร |
| Cora Z7, Eclypse Z7, Zybo Z7, Arty Z7, Genesys ZU, ZedBoard | ARM Cortex-A9 | PetaLinux | C/C++/Vitis | ระบบปฏิบัติการ PetaLinux ช่วยให้การพัฒนาบนบอร์ด FPGA สามารถรองรับงานที่ซับซ้อน เช่น การใช้งานเครือข่าย หรือ อ่านและเขียนไฟล์ได้ แต่ก็มีข้อเสียก็คือ การโหลดและคอมไพล์ที่ใช้เวลานาน |
| Arty A7, Arty S7, Nexys A7, Basys 3, Nexys Video, Genesys 2, Cmod A7, Cmod S7 | MicroBlaze Soft-Core Processor | Bare-Metal | C/C++/Vitis | เป็นการรันโปรแกรมบน MicroBlaze โดยตรงโดยไม่ใช้ระบบปฏิบัติการ ทำให้สามารถเริ่มทำงานได้รวดเร็วและมีสมรรถนะสูง แต่ขาดการรองรับการทำงานระดับสูง เช่น การใช้งานเครือข่าย หรือ การอ่านและเขียนไฟล์ ซึ่งทำให้การพัฒนามีความซับซ้อนเป็นอย่างมาก |
หวังว่าข้อมูลในตารางข้างต้นจะเป็นประโยชน์ในการเลือกบอร์ดพัฒนา FPGA และภาษาที่จะใช้ในการพัฒนาได้อย่างถูกต้องเหมาะสม ท่านสามารถติดต่อทีมงาน ติดต่อ ทีมงาน เทคสแควร์ เพื่อสอบถามข้อมูลเพิ่มเติมเกี่ยวกับบอร์ดพัฒนา FPGA ของ Digilent หรือผลิตภัณฑ์อื่น ๆ ได้ครับ
บทความที่เกี่ยวข้อง
การใช้ไมโครคอนโทรลเลอร์บนบอร์ดพัฒนา FPGA ของ Digilent
