เครื่องมือสังเคราะห์ FPGA Wildebeest ของ Zero ASIC จุดประกายการถ่าเถียงในชุมชนเรื่องการระบุแหล่งที่มาของโอเพ่นซอร์ส

ทีมชุมชน BigGo
เครื่องมือสังเคราะห์ FPGA Wildebeest ของ Zero ASIC จุดประกายการถ่าเถียงในชุมชนเรื่องการระบุแหล่งที่มาของโอเพ่นซอร์ส

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.