การพัฒนา RISC-V ในรูปแบบ VexRiscv ได้ก้าวขึ้นมาเป็นผู้เล่นสำคัญในวงการพัฒนา FPGA โดยได้รับความสนใจจากแนวทางที่เป็นนวัตกรรมในการออกแบบ CPU และการประยุกต์ใช้งานจริงในภาคอุตสาหกรรม เขียนด้วย SpinalHDL การพัฒนาโปรเซสเซอร์นี้แสดงให้เห็นถึงการเปลี่ยนแปลงในวิธีที่นักพัฒนาเข้าถึงการอธิบายฮาร์ดแวร์สำหรับ FPGA
คุณสมบัติหลักของ VexRiscv:
- รองรับชุดคำสั่ง RV32I[M][A][D][J][C]
- การกำหนดค่าไปป์ไลน์ 2-5+ ขั้นตอน
- ประสิทธิภาพ 1.44 DMIPS/MHz (แบบ -no-inline)
- มีตัวเลือกแคชคำสั่งและแคชข้อมูล
- รองรับส่วนขยายการดีบั๊กผ่าน GDB/OpenOCD
- สถาปัตยกรรมแบบปลั๊กอินสำหรับการปรับแต่ง
การพัฒนา HDL สมัยใหม่
SpinalHDL ภาษาที่ใช้ในการสร้าง VexRiscv เป็นส่วนหนึ่งของระบบนิเวศของภาษาอธิบายฮาร์ดแวร์สมัยใหม่ซึ่งรวมถึง Chisel, Amaranth และ Clash ในขณะที่ HDL แบบดั้งเดิมอย่าง Verilog ยังคงครองตลาดอุตสาหกรรม เครื่องมือใหม่เหล่านี้กำลังได้รับความนิยมมากขึ้น โดยเฉพาะในการพัฒนา FPGA และสภาพแวดล้อมการวิจัย ผู้เชี่ยวชาญในอุตสาหกรรมรายงานว่าประสิทธิภาพการทำงานเพิ่มขึ้นอย่างมีนัยสำคัญเมื่อใช้ HDL สมัยใหม่เหล่านี้ โดยนักพัฒนาเชิงพาณิชย์ท่านหนึ่งกล่าวว่า:
ไลบรารีมาตรฐาน การใช้งานที่สะดวก ความสามารถในการทดสอบ และรายละเอียดเล็กๆ น้อยๆ เช่น การมีโดเมนนาฬิกาเป็นส่วนหนึ่งของระบบประเภท ทำให้การพัฒนาเร็วขึ้นและลดข้อผิดพลาดได้มาก จนทำให้การลงทุนในการพัฒนาด้วย Verilog ไม่คุ้มค่าอีกต่อไป
สถาปัตยกรรมที่เหมาะสมกับ FPGA
VexRiscv ได้รับการออกแบบให้เหมาะกับ FPGA จากการเลือกใช้สถาปัตยกรรมอย่างรอบคอบ การพัฒนานี้คำนึงถึงข้อจำกัดของฮาร์ดแวร์ FPGA เช่น การใช้บล็อกตัวคูณขนาด 18 บิตหลายตัวแบบขนานแทนการพยายามทำการคูณขนาดใหญ่ในรอบเดียว วิธีนี้ส่งผลให้ได้ความเร็วนาฬิกาสูงสุด (fmax) ที่ดีขึ้นและใช้ทรัพยากรบนแพลตฟอร์ม FPGA ได้อย่างมีประสิทธิภาพมากขึ้น
การประยุกต์ใช้งานจริง
การอภิปรายแสดงให้เห็นว่า CPU แบบซอฟต์อย่าง VexRiscv มีบทบาทสำคัญในการออกแบบ FPGA สมัยใหม่ แทนที่จะเป็นหน่วยประมวลผลหลัก คอร์เหล่านี้มักจะจัดการอุปกรณ์ต่อพ่วง กระบวนการเริ่มต้นระบบ และงานดีบั๊ก พวกมันมีประโยชน์อย่างยิ่งในการจัดการสเตทแมชชีนที่ซับซ้อนและให้ตรรกะควบคุมที่สามารถโปรแกรมได้โดยไม่ต้องสังเคราะห์ FPGA ใหม่เมื่อต้องการแก้ไข
การใช้งานทั่วไป:
- การควบคุมและจัดการอุปกรณ์ต่อพ่วง
- การประมวลผลสัญญาณแบบเรียลไทม์
- การแก้ไขจุดบกพร่องและวิเคราะห์ฮาร์ดแวร์
- การสร้างระบบสถานะที่ซับซ้อน
- การควบคุมตรรกะแบบโปรแกรมได้
ผลกระทบต่ออุตสาหกรรมและอนาคต
ในขณะที่ HDL แบบดั้งเดิมยังคงครองตลาดในการผลิต ASIC ปริมาณมาก VexRiscv และ SpinalHDL ได้พบพื้นที่เฉพาะของตนในการประยุกต์ใช้ FPGA เฉพาะทางและโครงการที่มีปริมาณการผลิตต่ำ การออกแบบแบบโมดูลาร์และสถาปัตยกรรมแบบปลั๊กอินทำให้เหมาะสำหรับการทดลองไมโครอาร์คิเทคเจอร์และการวิจัยทางวิชาการ โดยผู้ใช้รายงานว่าสามารถอ่านและบำรุงรักษาโค้ดได้ดีกว่าเมื่อเทียบกับการพัฒนาด้วย Verilog แบบดั้งเดิม
ความสำเร็จของ VexRiscv นำไปสู่โครงการต่อยอดอย่าง VexiiRiscv และ NaxRiscv ซึ่งแสดงให้เห็นถึงระบบนิเวศที่กำลังเติบโตรอบแนวทางการออกแบบ CPU นี้ การพัฒนานี้บ่งชี้ถึงวิวัฒนาการอย่างต่อเนื่องในวิธีที่นักพัฒนาเข้าถึงการพัฒนาโปรเซสเซอร์บน FPGA โดยเฉพาะสำหรับการประยุกต์ใช้งานเฉพาะทางที่ต้องการความยืดหยุ่นและรอบการพัฒนาที่รวดเร็ว
อ้างอิง: SpinalHDL VexRiscv: A FPGA friendly 32 bit RISC-V CPU