ชุมชนนักออกแบบฮาร์ดแวร์กำลังมีการอภิปรายอย่างเข้มข้นเกี่ยวกับว่าภาษาอธิบายฮาร์ดแวร์ ( HDL ) ใหม่อย่าง SUS กำลังตอบสนองต่อความท้าทายที่แท้จริงที่นักออกแบบชิปต้องเผชิญในปัจจุบันหรือไม่ แม้ว่า SUS จะสัญญาว่าจะมีฟีเจอร์อย่างการนับ latency อัตโนมัติและการปรับปรุง metaprogramming แต่ผู้เชี่ยวชาญในอุตสาหกรรมกำลังตั้งคำถามว่านวัตกรรมเหล่านี้จัดการกับประเด็นที่เร่งด่วนที่สุดในการพัฒนาฮาร์ดแวร์หรือไม่
คุณสมบัติหลักของ SUS HDL :
- การนับ latency อัตโนมัติสำหรับการจับเวลาและ pipelining
- Compile-time metaprogramming สำหรับการสร้าง LUT
- การออกแบบแบบ synchronous เท่านั้น (ไม่รองรับฮาร์ดแวร์แบบ asynchronous)
- คู่แข่งโดยตรงของ Verilog และ VHDL ที่สามารถ synthesize ได้
- รักษาความเข้ากันได้กับเครื่องมือ synthesis แบบดั้งเดิม
![]() |
---|
โลโก้ของ Paderborn University ที่เน้นย้ำการมีส่วนร่วมในการวิจัยด้านการออกแบบฮาร์ดแวร์ |
ข้อจำกัดที่แท้จริงไม่ได้อยู่ที่ไวยากรณ์ HDL
นักออกแบบฮาร์ดแวร์มืออาชีพโต้แย้งว่า HDL ที่มีอยู่เช่น Verilog และ VHDL มีความเพียงพอสำหรับความต้องการในปัจจุบันแล้ว ความหงุดหงิดหลักอยู่ที่อื่น โดยเฉพาะในความสามารถด้านการตรวจสอบและการทดสอบ การออกแบบ testbench ในปัจจุบันต้องข้ามขอบเขตภาษาหลายภาษา โดยใช้เครื่องมืออย่าง Verilator กับ C++ หรือ cocotb ที่ใช้ Python ซึ่งสร้างเวิร์กโฟลว์ที่ซับซ้อนและเป็นกลไกที่ทำให้การพัฒนาช้าลง
กระบวนการตรวจสอบได้กลายเป็นข้อจำกัดหลักสำหรับความซับซ้อนของการออกแบบ วิศวกรสามารถสร้างฮาร์ดแวร์ที่ซับซ้อนได้เพียงเท่าที่พวกเขาสามารถทดสอบและตรวจสอบได้อย่างมีประสิทธิภาพ ข้อจำกัดนี้ทำให้ฟีเจอร์ HDL ที่หรูหราส่งผลกระทบน้อยกว่าที่อาจดูในตอนแรก
ตัวเลือกเครื่องมือตรวจสอบในปัจจุบัน:
- Verilator + C++: ข้ามขอบเขตภาษา การตั้งค่าแบบกลไก
- Verilator + cocotb: testbench แบบ Python การรวมระบบที่ซับซ้อน
- เครื่องมือเชิงพาณิชย์ + UVM: มีให้ใช้หลักๆ ที่บริษัทออกแบบชิป
- GHDL: ตัวจำลอง VHDL ที่เป็นผู้ใหญ่
- NVC: ใหม่กว่า ตัวจำลอง VHDL ที่อาจมีประสิทธิภาพมากกว่า
เครื่องมือ EDA ยังคงเป็นปัญหาใหญ่ที่ถูกมองข้าม
ชุมชนชี้ไปที่เครื่องมือ Electronic Design Automation ( EDA ) ว่าเป็นปัญหาพื้นฐานที่ขัดขวางการพัฒนาฮาร์ดแวร์ ไม่เหมือนกับการพัฒนาซอฟต์แวร์ที่ได้รับประโยชน์จากเครื่องมือโอเพนซอร์สอย่าง GCC การออกแบบฮาร์ดแวร์ขาดทางเลือกโอเพนซอร์สที่เทียบเท่าสำหรับเครื่องมือที่สำคัญ ระบบนิเวศ EDA ปัจจุบันใช้งานได้แต่สร้างแรงเสียดทานอย่างมากสำหรับวิศวกร
เราถูกจำกัดอย่างโง่เขลาโดยเครื่องมือและโครงสร้างพื้นฐาน EDA ของเรา ฉันหวังว่าความพยายามเหล่านี้จะถูกนำไปใช้ในด้านนั้น
เครื่องมือออกแบบ backend และต้นทุนการผลิตครอบงำงบประมาณของโครงการ ทำให้การปรับปรุง HDL ด้าน frontend รู้สึกเหมือนการปรับแต่งส่วนที่ผิดของไปป์ไลน์ ต้นทุนของการ re-spin ชิปเนื่องจากความล้มเหลวในการตรวจสอบมีมากกว่าผลประโยชน์ด้านผลิตภาพจากการปรับปรุงไวยากรณ์ HDL
![]() |
---|
โลโก้ของ Paderborn Center for Parallel Computing ที่แสดงถึงความจำเป็นของเครื่องมือขั้นสูงในการพัฒนาฮาร์ดแวร์ |
มุมมองของสถาบันการศึกษาเทียบกับอุตสาหกรรม
มีการแบ่งแยกที่ชัดเจนระหว่างทิศทางการวิจัยทางวิชาการและความต้องการของอุตสาหกรรม ในขณะที่นักวิจัยมุ่งเน้นไปที่การสร้าง HDL ที่สง่างามมากขึ้นพร้อมฟีเจอร์ขั้นสูง วิศวกรที่ปฏิบัติงานจริงต้องจัดการกับการทำให้การตรวจสอบเป็นอัตโนมัติ การจัดการความซับซ้อนของการออกแบบ และความท้าทายในการรวมเครื่องมือเป็นประจำ ความไม่เชื่อมโยงนี้หมายความว่าการปรับปรุงภาษาที่มีเจตนาดีอาจไม่ได้แก้ไขจุดเจ็บปวดที่จริงๆ แล้วจำกัดผลิตภาพ
สาขาการออกแบบฮาร์ดแวร์ดูเหมือนจะต้องการการปรับปรุงโครงสร้างพื้นฐานมากกว่านวัตกรรมทางภาษา เครื่องมือจำลองที่ดีกว่า เฟรมเวิร์กการตรวจสอบที่แข็งแกร่งกว่า และเครื่องมือ EDA ที่ปรับปรุงแล้วน่าจะให้ประโยชน์มากกว่าไวยากรณ์ HDL ใหม่ ไม่ว่าภาษาใหม่เหล่านี้จะสง่างามหรือมีฟีเจอร์มากมายแค่ไหนก็ตาม
โครงการ HDL ทางเลือก:
- ROHD (Intel): เฟรมเวิร์กสำหรับการออกแบบฮาร์ดแวร์ที่ใช้ภาษาโปรแกรม Dart
- Spade: มีคุณสมบัติเป็นตัวจัดการแพ็กเกจและเครื่องมือที่รวมเข้ากับภาษา
- SUS: มุ่งเน้นการออกแบบ RTL พร้อมการติดตามเวลาแฝงและเมตาโปรแกรมมิง
บทสรุป
การอภิปราย SUS HDL เน้นย้ำถึงความตึงเครียดที่กว้างขึ้นในการออกแบบฮาร์ดแวร์ระหว่างนวัตกรรมและความต้องการเชิงปฏิบัติ แม้ว่า HDL ใหม่จะเสนอฟีเจอร์ทางเทคนิคที่น่าสนใจ แต่การตอบสนองของชุมชนแสดงให้เห็นว่าการแก้ไขความท้าทายด้านการตรวจสอบ เครื่องมือ และโครงสร้างพื้นฐานจะส่งมอบคุณค่าที่ทันทีมากกว่าให้กับวิศวกรที่ทำงานจริง การถกเถียงสะท้อนถึงความเป็นจริงที่ซับซ้อนของการพัฒนาฮาร์ดแวร์ ที่ปัญหาที่เห็นได้ชัดที่สุดไม่ได้เป็นปัญหาที่สำคัญที่สุดที่ต้องแก้ไขเสมอไป