Zero ASIC เพิ่งประกาศเปิดตัว Wildebeest โดยอ้างว่าเป็นเครื่องมือสังเคราะห์ FPGA ที่มีประสิทธิภาพสูงที่สุดในโลก อย่างไรก็ตาม การตอบรับจากชุมชนมีความหลากหลาย โดยการอภิปรายมุ่งเน้นไปที่วิธีการที่บริษัทนำเสนอการมีส่วนร่วมต่อระบบนิเวศโอเพ่นซอร์สมากกว่าความสำเร็จทางเทคนิค
การอ้างทางการตลาดเทียบกับความเป็นจริงทางเทคนิค
ชุมชนระบุได้อย่างรวดเร็วว่า Wildebeest ไม่ใช่เครื่องมือสังเคราะห์แบบสแตนด์อโลนตามที่การตลาดแนะนำ แต่เป็นปลั๊กอินสำหรับเฟรมเวิร์กสังเคราะห์โอเพ่นซอร์ส Yosys ที่มีอยู่แล้ว ความแตกต่างนี้ได้จุดประกายการถกเถียงเกี่ยวกับการระบุแหล่งที่มาที่เหมาะสมในโครงการโอเพ่นซอร์ส นักวิจารณ์โต้แย้งว่าแม้ Zero ASIC จะปฏิบัติตามข้อกำหนดทางกฎหมายของใบอนุญาตโอเพ่นซอร์สแล้ว แต่การนำเสนอทางการตลาดทำให้ดูเหมือนว่าพวกเขาพัฒนาเอนจินสังเคราะห์ทั้งหมดตั้งแต่เริ่มต้น
การปรับปรุงทางเทคนิคมีจริงแต่เป็นการปรับปรุงแบบค่อยเป็นค่อยไป Wildebeest นำเสนอเทคนิคการเพิ่มประสิทธิภาพที่เป็นแนวปฏิบัติมาตรฐานในเครื่องมือเชิงพาณิชย์ โดยนวัตกรรมหลักคือการเลือกอัลกอริทึมที่เหมาะสมกับขนาดสำหรับความซับซ้อนของวงจรที่แตกต่างกัน เครื่องมือนี้สามารถจัดการกับการออกแบบได้ถึง 1 ล้าน LUT และใช้ประโยชน์จากไลบรารีสังเคราะห์ตรรกะ ABC ที่ขับเคลื่อนฟังก์ชันส่วนใหญ่ของ Yosys ได้ดีขึ้น
การสังเคราะห์ FPGA แปลงโค้ดภาษาบรรยายฮาร์ดแวร์เป็นรูปแบบที่สามารถโปรแกรมลงใน Field-Programmable Gate Array ได้ LUT (Look-Up Table) เป็นหน่วยการสร้างพื้นฐานใน FPGA ที่ใช้ในการดำเนินการฟังก์ชันตรรกะ
การเปรียบเทียบเครื่องมือ FPGA แบบ Open Source กับแบบ Proprietary
คุณสมบัติ | เครื่องมือของผู้ผลิต | Yosys | Wildebeest |
---|---|---|---|
รองรับ FPGA | รองรับ | รองรับจำกัด | ไม่รองรับ (เฉพาะ ASIC เท่านั้น) |
การผูกมัดกับผู้ผลิต | มี | ไม่มี | ไม่มี |
Open Source | ไม่ใช่ | ใช่ | ใช่ |
ขนาดการติดตั้ง | 100+ GB | เล็ก | เล็ก |
ประสิทธิภาพ (QoR) | ดีเยี่ยม | ดี | อ้างว่าเหนือกว่า |
ความแข็งแกร่ง | ดีเยี่ยม | ดี | ไม่ทราบ |
ข้อกังวลเรื่องเบนช์มาร์กและความสับสนทางสถาปัตยกรรม
การอ้างเรื่องประสิทธิภาพได้รับความสงสัยจากชุมชนเทคนิค ผลเบนช์มาร์กเปรียบเทียบสถาปัตยกรรม FPGA ที่แตกต่างกัน ทำให้การเปรียบเทียบประสิทธิภาพโดยตรงเป็นที่น่าสงสัย ที่น่าสังเกตที่สุดคือ อุปกรณ์ z1060 และ z1010 ของ Zero ASIC เองไม่มีอยู่จริงในฐานะผลิตภัณฑ์เชิงพาณิชย์ - พวกมันเป็นส่วนหนึ่งของการพัฒนาสถาปัตยกรรม FPGA ของบริษัทเอง
ไม่เพียงแค่นั้น อุปกรณ์ 'z1060' ของพวกเขาไม่มีอยู่นอกจากโพสต์บล็อกนี้ เราไม่รู้จริงๆ ว่ามันคืออะไร
การเปิดเผยนี้ทำให้บางคนมองการประกาศดังกล่าวเป็นหลักเป็นการแสดงการออกแบบ FPGA ของ Zero ASIC เองมากกว่าการปรับปรุงการสังเคราะห์แบบใช้งานทั่วไป บริษัทยอมรับข้อจำกัดนี้ โดยอธิบายว่าในฐานะผู้จำหน่าย FPGA พวกเขาจะไม่เพิ่มประสิทธิภาพคอมไพเลอร์สำหรับฮาร์ดแวร์ของคู่แข่ง
ประสิทธิภาพของ Wildebeest เทียบกับเครื่องมือคู่แข่ง (CPU picorv32)
อุปกรณ์ | สถาปัตยกรรม | เครื่องมือ | LUTs | ความลึกของตรรกะ |
---|---|---|---|---|
z1060 | LUT6 | Wildebeest | 2,312 | 40 |
z1060 | LUT6 | Wildebeest (ปรับแต่งความล่าช้า) | 2,677 | 6 |
Vendor-1 | LUT6 | Proprietary | 2,870 | 7 |
Vendor-2 | LUT6 | Proprietary | 2,947 | 8 |
xc7 | LUT6 | Yosys 0.56 | 3,072 | 17 |
ความท้าทายของชุดเครื่องมือโอเพ่นซอร์สในวงกว้าง
การอภิปรายได้เน้นย้ำถึงความท้าทายที่ยังคงมีอยู่ในเครื่องมือพัฒนา FPGA ในขณะที่การพัฒนาไมโครคอนโทรลเลอร์ส่วนใหญ่ได้เปลี่ยนไปใช้ชุดเครื่องมือโอเพ่นซอร์สที่มีน้ำหนักเบา แต่เครื่องมือ FPGA ยังคงใหญ่โตและเป็นกรรมสิทธิ์ เครื่องมือของผู้จำหน่ายอาจต้องการการติดตั้งขนาด 100+ GB โดยบางตัวมีขนาดถึงหลายร้อย GB เนื่องจากข้อมูลไทมิ่งเฉพาะอุปกรณ์และไฟล์ใบอนุญาตที่ซ้ำกัน
ชุมชนเห็นแนวโน้มที่ดีในทางเลือกโอเพ่นซอร์ส แต่สังเกตว่ายังมีช่องว่างที่สำคัญอยู่ สำหรับผู้จำหน่าย FPGA รายใหญ่อย่าง Xilinx และ Intel (เดิมคือ Altera) ชุดเครื่องมือโอเพ่นซอร์สแบบสมบูรณ์เผชิญกับอุปสรรคเนื่องจากรูปแบบบิตสตรีมและการกำหนดค่าการเส้นทางที่ไม่มีเอกสาร แม้ว่าจะมีความพยายามในการวิศวกรรมย้อนกลับสำหรับสถาปัตยกรรมเก่าอย่าง Xilinx Series 7 แต่ก็ขาดข้อมูลไทมิ่งที่แข็งแกร่งที่จำเป็นสำหรับความมั่นใจเชิงพาณิชย์
คำตัดสินของชุมชน
แม้จะมีข้อกังวลเรื่องการระบุแหล่งที่มา แต่สมาชิกชุมชนหลายคนชื่นชมการมีส่วนร่วมทางเทคนิคและการเปิดตัวโอเพ่นซอร์สของ Zero ASIC บริษัทได้เปิดเผยซอร์สโค้ดและให้เครดิตผู้เขียนต้นฉบับอย่างเหมาะสม แม้ว่าการนำเสนอทางการตลาดอาจชัดเจนกว่านี้เกี่ยวกับการพึ่งพาพื้นฐาน
การทดสอบที่แท้จริงจะเป็นการดูว่านักพัฒนาคนอื่นจะปรับการเพิ่มประสิทธิภาพของ Wildebeest สำหรับสถาปัตยกรรม FPGA ที่แข่งขันกันหรือไม่ ซึ่งอาจเป็นประโยชน์ต่อระบบนิเวศการสังเคราะห์โอเพ่นซอร์สทั้งหมด ในตอนนี้ มันแสดงถึงอีกก้าวหนึ่งสู่เป้าหมายของชุมชนในการสร้าง LLVM สำหรับการสังเคราะห์ - มาตรฐานเปิดที่มีประสิทธิภาพสูงที่สามารถท้าทายชุดเครื่องมือกรรมสิทธิ์ได้
ABC เป็นไลบรารีสังเคราะห์และการตรวจสอบตรรกะที่พัฒนาที่ UC Berkeley ซึ่งให้อัลกอริทึมการเพิ่มประสิทธิภาพหลักที่ใช้โดยเครื่องมือสังเคราะห์หลายตัว
อ้างอิง: Zero ASIC releases Wildebeest, the world's highest performance FPGA synthesis tool.