บอร์ด FPGA รุ่น Cmod A7-35T จาก Digilent ใช้ชิป FPGA รุ่น XC7A35T-1CPG236C จาก Xilinx ตัวบอร์ดถูกออกแบบมาให้ใช้งานร่วมกับโปรโตบอร์ดได้อย่างง่ายดาย โดยสามารถใช้ไฟเลี้ยงได้ทั้งจากพอร์ต USB และแบตเตอรี่ 5 โวลต์ ในส่วนของอินพุต/เอาท์พุตนั้นประกอบไปด้วย
- Pmod แบบ 12 ขา
- ช่องสัญญาณดิจิตัล 44 ช่อง
- ช่องสัญญาณอินพุตแบบแอนะล็อก 0-3.3 โวลต์ 1 MSPS (aggregate) 2 ช่อง
โดยการเชื่อมต่อขาสัญญาณต่าง ๆ สามารถอ้างอิงได้จาก Cmod A7 Reference Manual ทั้งนี้ก่อนทำการพัฒนาต้องทำการติดตั้ง Vivado Design Suite และไฟล์บอร์ด Digilent และดาวน์โหลด/แตกไฟล์จากซอร์สโค้ดเก็บไว้เสียก่อนเสียก่อน สำหรับผู้ไม่คุ้นเคยกับการพัฒนาโปรแกรมบน FPGA สามารถศึกษาเพิ่มเติมจาก Getting Started with Vivado สำหรับการพัฒนาด้วยบอร์ด FPGA รุ่น Cmod A7-35T มีขั้นตอนดังต่อไปนี้ ทั้งนี้หน้าตาของซอฟต์แวร์อาจแตกต่างกันไปตามรุ่นของซอฟต์แวร์แต่ขั้นตอนโดยรวมนั้นไม่มีการเปลี่ยนแปลง
1. สร้างโปรเจกต์
1.1 เปิดซอฟต์แวร์ Vivado แล้วเลือก Create New Project

1.2 กด Next แล้วตั้งชื่อโปรเจกต์ (Project name) และเลือกโฟลเดอร์สำหรับบันทึกโปรเจกต์ (Project location)
1.3 เราจะทำการสร้างโปรเจกต์จากศูนย์ แล้วทำการเพิ่มซอร์สโค้ด VHDL ที่พัฒนาไว้แล้วในภายหลัง ดังนั้นเลือก RTL Project

1.4 กด Add Files เลือก btn_led.v ที่แตกมาจากซอร์สโค้ด ติ๊ก Copy sources into project เพื่อคัดลอก btn_led.v ไปยังโปรเจกต์แล้วกด Next
1.5 หากมี IP (intellectual property) ที่ต้องการใช้งานให้กด Add Files แล้วเลือกไฟล์ที่ต้องการใช้งาน เสร็จแล้วกด Next
1.6 กด Add Files เลือก CmodA7_B.xdc ที่แตกมาจากซอร์สโค้ด แล้วกด Next ไฟล์ xdc เป็นไฟล์ที่ใช้บอกการเชื่อมต่อระหว่างขาของบอร์ดกับขาสัญญาณของชิป FPGA
1.7 เลือกแท็บ Boards เลือกบอร์ด Cmod A7-35T แล้วกด Next และ Finish เพื่อสร้างโปรเจกต์

2. สร้างไฟล์โปรแกรม
เราสามารถสร้างไฟล์โปรแกมได้ 2 รูปแบบ .bit ใช้สำหรับโปรแกรมด้วย JTAG และ .bin สำหรับโปรแกรมด้วย Quad SPI ซึ่งชิพ FPGA สามารถเรียกโปรแกรมมาใช้งานได้ทันทีหลังจ่ายไฟเลี้ยง
2.1 เลือก Project Manager>Project Settings ใน Flow Navigator ติ๊ก Bitstream>-bin_file แล้วกด OK

2.2 เลือก Synthesis>Run Synthesis ใน Flow Navigator
2.3 หลัง Synthesis เสร็จให้เลือก Run Implementation เสร็จแล้วเลือก Open Implemented Design แล้วกด OK เพื่อดู Synthesized Design

2.4 เพื่อให้เขียนโปรแกรมได้เร็วขึ้น เลือก Tools>Edit Device Properties ตั้งค่า General>set Enable Bitsream เป็น TRUE, Configuration>Configuration Rate (MHz) เป็น 33 และติ๊ก Configuration Modes>Master SPI x4 กด OK แล้วกด Ctrl+s เพื่อบันทึกโปรเจกต์
2.5 เลือก Program and Debug>Generate Bitstream ใน Flow Navigator
2.6 หลัง Generate Bitstream เสร็จ เราสามารถเลือกดูรายงาน, Open Implemented Design หรือ Open Hardware Manager หรือกด Cancel เพื่อสิ้นสุดการทำงาน
3. โปรแกรมบอร์ด FPGA ด้วย Quad SPI
3.1 หน่วยความจำแฟลช Quad SPI เป็นหน่วยความจำแบบ non-volatile ซึ่งชิป FPGA บนบอร์ด Cmod A7-35T จะเข้ามาอ่านและโหลดโปรแกรมไปทำงานในทุกๆ ครั้งที่มีการจ่ายไฟให้กับบอร์ด สามารถดูขั้นตอนได้จากการโปรแกรมบอร์ด FPGA ของ Digilent ด้วย Quad SPI
หวังว่าบทความนี้จะช่วยให้ท่านสามารถเริ่มต้นใช้งานบอร์ด FPGA รุ่น Cmod A7-35T ได้อย่างเต็มประสิทธิภาพ สำหรับท่านที่ต้องการเริ่มต้นพัฒนาโปรแกรมด้วยภาษา VHDL สามารถศึกษาเพิ่มเติมได้จาก Getting Started with VHDL: Syntax, Programming & Modules ท่านสามารถติดต่อทีมงาน ติดต่อ ทีมงาน เทคสแควร์ เพื่อสอบถามข้อมูลเพิ่มเติมเกี่ยวกับบอร์ด FPGA และอุปกรณ์หรือผลิตภัณฑ์อื่น ๆ ของ NI หรือ Digilent ได้ครับ
บทความที่เกี่ยวข้อง
การติดตั้ง Vivado Design Suite และไฟล์บอร์ด Digilent
การโปรแกรมบอร์ด FPGA ของ Digilent ด้วย Quad SPI
เริ่มต้นการพัฒนาด้วยบอร์ด FPGA รุ่น Basys 3 จาก Digilent
