รายละเอียดเพิ่มเติม
ประกอบด้วย
1. บอร์ด Tang Nano 4K ที่บัดกรีคอนเน็กเตอร์ IDC ตัวผู้แล้ว
2. สาย USB-C
3. กล่องบรรจุ
ในวิชาการออกแบบวงจรดิจิตอล ภาคปฏิบัติมักจะใช้ไอซีดิจิทัล TTL หรือ CMOS เป็นตัวๆ (74xx หรือ 4xxx) มาต่อวงจรบนเบรดบอร์ดหรือแผงต่อวงจร หรือประกอบลงบนแผ่นวงจรพิมพ์อเนกประสงค์ แล้วเชื่อมต่อสายเพื่อสร้างเป็นวงจรดิจิทัลสำหรับประยุกต์ใช้ในงานต่างๆ ตามที่ต้องการ การต่อวงจรในลักษณะนี้เหมาะกับวงจรขนาดเล็ก ถ้าเป็นวงจรขนาดใหญ่จะมีความยุ่งยากและซับซ้อนมากขึ้น รวมถึงอาจพบกับปัญหาเมื่อไอซีดิจิทัลเสีย ไม่สามารถหาไอซีมาทดแทนได้เนื่องจากบริษัทได้ยุติการผลิตไป
อีกหนทางหนึ่งของการออกแบบวงจรดิจิทัลที่เลือกใช้คือ นำไอซีดิจิทัลแบบโปรแกรมได้ หรือ Programable Logic Device (PLD) ที่ภายในมีอุปกรณ์ลอจิกเกตดิจิทัลพื้นฐาน และ ฟลิปฟลอป ซึ่งสามารถโปรแกรมให้เกิดการต่อวงจรได้ตามที่ต้องการ อุปกรณ์ในกลุ่มนี้คือ PAL (Programmable Array Logic) และ GAL (Generic Array Logic) ต่อมามีการพัฒนามาเป็น CPLD (Complex Programmable Logic Device) ซึ่งบรรจุอุปกรณ์ลอจิกโปรแกรมไว้ภายในตัวมากกว่า PLD และมีความซับซ้อนกว่า ทำงานได้หลากหลายมากกว่า จากนั้นมีการพัฒนาต่อเป็น FPGA (Field Programmable Gate Array) ที่ยิ่งมีความจุของอุปกรณ์ลอจิกโปรแกรมได้มากขึ้นอย่างมาก จนนำไปสร้างเป็นไมโครโปรเซสเซอร์หรือไมโครคอนโทรลเลอร์ขึ้นมาได้เลย
ในการเรียนการการสอนวิชาการออกแบบวงจรดิจิทัลโดยใช้อุปกรณ์ลอจิกโปรแกรมได้ไม่ว่าจะเป็น PLD, CPLD หรือ FPGA ย้อนหลังไปสัก 10 กว่าปีที่แล้ว ไม่ได้รับความนิยมมากนัก เนื่องจากตัวอุปกรณ์มีราคาแพง เครื่องมือพัฒนาก็มีราคาสูง ซอฟต์แวร์ที่ใช้ประกอบมีขนาดใหญ่ต้องใช้คอมพิวเตอร์ที่มีสมรรนะสูงในการพัฒนา
ทว่า ในวันนี้ ข้อจำกัดที่ผ่านมาได้ถูกทลายลงเมื่อ GOWIN Semiconductor Corporation (https://www.gowinsemi.com) บริษัทผู้ผลิตชิป FPGA เบอร์ GW1NSR จากสาธารณรัฐประชาชนจีน ได้ผลิตชิป FPGA ออกจำหน่ายในราคาถูก จากนั้นทาง Sipeed (https://sipeed.com) อีกหนึ่งบริษัทผู้ผลิตอุปกรณ์ด้านระบบสมองกลฝังตัวจากสาธารณรัฐประชาชนจีนเช่นกันได้นำไอซี FPGA เบอร์นี้มาต่อยอดเป็นบอร์ด Tang Nano 4K สำหรับทดลองใช้งาน FPGA ภายใต้งบประมาณที่ไม่สูง ด้านซอฟต์แวร์สำหรับการพัฒนาหรือ IDE ก็เลือกใช้ IDE ในรุ่น Education ของ Gowin จึงใช้งานได้ฟรีโดยไม่ต้องลงทะเบียน ทำให้ประตูของการเรียนรู้ FPGA เปิดกว้างขึ้นอย่างที่ไม่เคยมีมาก่อน
คุณสมบัติทางเทคนิคที่สำคัญของบอร์ด Tang Nano 4K
๐ ลอจิกยูนิต 4 อินพุต (LUT4) จำนวน 4,608 ตัว
๐ รีจิสเตอร์หรือฟลิปฟลอป จำนวน 3,456 ตัว
๐ บล็อกหน่วยความจำ SRAM 180 กิโลบิต (Kb)
๐ หน่วยความจำแฟลชสำหรับผู้ใช้งาน (User Flash) 256 กิโลบิต (Kb)
๐ หน่วยความจำ PSRAM 64 เมกะบิต (Mb)
๐ มีวงจรเฟสล็อกลูป หรือ PLL (Phase Lock Loop) 2 วงจร
๐ มีส่วนจัดการพอร์ตอินพุตเอาต์พุตหรือ I/O Bank 4 ชุด
๐ มีขาพอร์ตอินพุตเอาต์พุตสำหรับต่อใช้งาน 44 ขา
๐ แกนสมองไมโครคอนโทรลเลอร์เป็น ARM Cortex-M3
รูปที่ 1 ไดอะแกรมส่วนประกอบของชิป FPGA เบอร์ GW1NSR ที่ใช้บนบอร์ด Tang Nano 4K
รูปที่ 2 ลักษณะทางกายภาพและการจัดขาพอร์ตอินพุตเอาต์พุตของบอร์ด Tang Nano 4K
บอร์ด Tang Nano 4K มีขนาด 23 x 60 มม. มีขาต่อด้านบนและล่างรวม 44 ขา (ด้านบน 22 ขา ด้านล่าง 22 ขา) ระยะห่างของขาด้านบนและด้านล่าง 20.32 มม. หรือ 0.8 นิ้ว หรือ 800 มิล ด้านซ้ายมือเป็นขั้วต่อ USB-C สำหรับต่อกับคอมพิวเตอร์เพื่อโปรแกรม FPGA และใช้จ่ายไฟให้กับบอร์ด ส่วนด้านขวามือเป็นขั้วต่อ HDMI เพื่อต่อกับจอ TV หรือจอมอนิเตอร์ (จะต้องเขียนโปรแกรมเพื่อส่งสัญญาณภาพออกทางพอร์ต HDMI ซึ่งจะใช้ความรู้มาก ไม่ได้อธิบายในที่นี้) ขั้วต่อสีขาวตรงกลางบอร์ดเป็นขั้วต่อกล้องวิดีโอแบบ DVP
การนำบอร์ด Tang Nano 4K ไปใช้งานจะต้องทำการบัดกรีคอนเน็กเตอร์ IDC ตัวผู้แถวเดี่ยวที่มีระยะห่างขา 2.54 มม. หรือ 100 มิล จำนวน 22 ขา รวม 2 ตัว โดยคอนเน็กเตอร์ที่แนะนำให้ใช้เป็นแบบขนาดขา 0.9 มม. เพื่อป้องกันไม่ให้หน้าสัมผัสของรูต่อวงจรบนเบรดบอร์ดหลวมได้ง่าย (หากซื้อ Tang Nano 4K จาก INEX – www.inex.co.th ทางผู้จำหน่ายจะบัดกรีให้เรียบร้อยพร้อมใช้งาน)
รูปที่ 3 บอร์ด Tang Nano 4K ที่บัดกรีคอนเน็กเตอร์ IDC ตัวผู้ขนาด 0.9 มม. เรียบร้อยพร้อมใช้งาน
เมื่อบัดกรีขาต่อทั้งสองด้านเรียบร้อย นำไปเสียบบนแผงต่อวงจรหรือเบรดบอร์ด จะเหลือรูต่อด้านบน 1 แถว ด้านล่าง 2 แถว ทำให้สะดวกต่อการต่อทดลอง ดังแสดงในรูปที่ 4
รูปที่ 4 แสดงการติดตั้งบอร์ด Tang Nano 4K บนเบรดบอร์ดหรือแผงต่อวงจรขนาด 390 ถึง 400 รู
ไดอะแกรมการทำงานและส่วนประกอบหลักๆ ของบอร์ด Tang Nano 4K แสดงในรูปที่ 5 จะเห็นว่า หัวใจหลักของบอร์ดนี้มีด้วยกัน 4 ส่วนคือ
1. ส่วนวงจรโปรแกรมชิป FPGA ผ่านพอร์ต JTAG ในส่วนนี้จะติดต่อกับคอมพิวเตอร์ปผ่านทางพอร์ต USB-C เพื่อรับสัญญาณและข้อมูลจากซอฟต์แวร์ที่ใช้ในการโปรแกรมเพื่อเขียนลงในหน่วยความจำของชิป FPGA
2. วงจรภาคจ่ายไฟแบบ DC-DC ที่ต้องแปลงไฟเลี้ยงจาก 5V มาเป็น 3.3V, 2.5V และ 1.8V เพื่อเลี้ยงระบบบัสและตัวชิป FPGA
3. ชิป FPGA เบอร์ GW1SNR ที่บรรจุโมดูลอุปกรณ์ลอจิกโปรแกรมได้และไมโครคอนโทรลเลอร์ ARM Cortex M3 อยู่ภายใน
4. ส่วนติดต่ออุปกรณ์ภายนอก ซึง่มีทั้งพอร์ตอินพุตเอาต์พุตอเนกประสงค์ GPIO, ส่วนติดต่อโมดูลกล้องผ่านจุดต่อ DVP และส่วนติดต่ออุปกรณ์แสดงผลภาพและเสียงผ่านจุดต่อ HDMI
รูปที่ 5 แสดงไดอะแกรมการทำงานและส่วนประกอบหลักๆ ของบอร์ด Tang Nano 4K
ในการพัฒนาโปรแกรมสำหรับชิป FPGA ของ Gowin ตัวนี้ทำได้หลายวิธี โดยเขียนเป็นภาษาอธิบายฮาร์ดแวร์ (HDL : hardware description language) ที่เขียนบรรยายการทำงานของวงจรดิจิทัลที่ออกแบบ มีทั้งภาษา Verilog หรือ VHDL เมื่อเขียนโปรแกรมเสร็จจะเข้าสู่โปรแกรมแปลภาษาได้เป็นไฟล์สำหรับโปรแกรมไปยังชิป FPGA ให้ทำงานตามที่ต้องการ โดยจะอธิบายในหัวข้อถัดไป
ในที่นี้จะใช้การวาดวงจรดิจิทัลและจำลองการทำงานของวงจรผ่านเว็บไซต์ www.circuitverse.org เมื่อจำลองการทำงานวงจรทำงานถูกต้องแล้ว จะสั่งให้เว็บแปลงวงจรเป็นภาษา Verilog เพื่อนำไปแปลโปรแกรมและเขียนลงในหน่วยความจำของ FPGA ต่อไป
ดาวน์โหลด
๐ เอกสารแนะนำการใช้งานบอร์ด Tang Nano 4K เบื้องต้น
๐ ดาต้าชีตของชิป FPGA เบอร์ GW1NSR
๐ เอกสารการโปรแกรมและตั้งค่าการใช้งานชิป FPGA เบอร์ GW1NSR (ภาษาอังกฤษ)
๐ เอกสารบอร์ด Tang Nano 4K จาก SiPeed
๐ ดาวน์โหลดโปรแกรมพัฒนาชิป FPGA : https://www.gowinsemi.com/en/support/download_eda
๐ เว็บเพจสำหรับวาดวงจรเพื่อพัฒนาชิป FPGA https://circuitverse.org