ดี ในฐานะบรรณาธิการเทคนิคมืออาชีพ ฉันได้เขียนเนื้อหาต้นฉบับใหม่ตามที่คุณต้องการ ต่อไปนี้คือเนื้อหาในรูปแบบ Markdown ที่ล้างข้อมูลโฆษณา/คิวอาร์โค้ดที่รบกวน และคงตัวยึดตำแหน่ง [[IMAGE_X]] ไว้
คำสำคัญ: AutoPPA, การเพิ่มประสิทธิภาพ PPA, การออกแบบ RTL, โมเดลภาษาขนาดใหญ่, การสรุปกฎ, การเรียนรู้เชิงเปรียบเทียบ, EDA อัตโนมัติ
ในกระบวนการออกแบบชิปที่กว้างใหญ่ไพศาล คุณภาพของโค้ด RTL จะกำหนดชะตากรรมของชิปโดยตรง if-else ที่ซ้ำซ้อน หรือการกำหนดค่าสัญญาณที่ไม่ชาญฉลาด อาจกลายเป็นลอจิกที่เกินความจำเป็นหลายหมื่นเกทในการนำไปใช้งานส่วนหลัง ซึ่งกินพื้นที่และพลังงานอันมีค่า

- AutoPPA: การเพิ่มประสิทธิภาพ PPA วงจรอัตโนมัติผ่านการเรียนรู้ไลบรารีกฎตามโค้ดเชิงเปรียบเทียบ
- https://arxiv.org/pdf/2604.18445
- 14,000 คำ อ่าน 50 นาที, พอดแคสต์ 19 นาที
เมื่อเร็ว ๆ นี้ ทีมวิจัยจากสถาบันเทคโนโลยีคอมพิวเตอร์ สถาบันวิทยาศาสตร์จีน ได้เสนอแนวคิดที่颠覆性 ในบทความ: “เราสามารถสังเคราะห์ความรู้การเพิ่มประสิทธิภาพ PPA ที่สามารถนำกลับมาใช้ใหม่ได้โดยอัตโนมัติจากโค้ด RTL ดั้งเดิม โดยไม่ต้องมีการแทรกแซงของมนุษย์หรือไม่?”
คำถามนี้ชี้ตรงไปยังจุดเจ็บปวดหลักของการออกแบบชิปที่ใช้ LLM ในปัจจุบัน นั่นคือ อุปสรรคด้านขนาดของการได้มาซึ่งความรู้

รูปที่ 2: ภาพรวมสถาปัตยกรรมโดยรวมของ AutoPPA รูปภาพแบ่งออกเป็นสองเฟสอย่างชัดเจน: “เวิร์กโฟลว์การเรียนรู้ไลบรารีกฎ” ด้านบนสอดคล้องกับกระบวนการ E²I ตั้งแต่การสุ่มตัวอย่างโค้ด การประเมินคู่โค้ด ไปจนถึงการสรุปกฎ ก่อให้เกิดวงจรปิดการผลิตความรู้แบบอัตโนมัติ “การเพิ่มประสิทธิภาพ PPA ที่เสริมด้วยกฎแบบปรับตัว” ด้านล่างแสดงให้เห็นว่า ARAO และการค้นหาแบบหลายขั้นตอนทำงานร่วมกันอย่างไรเพื่อนำไลบรารีกฎที่เรียนรู้ไปใช้กับงานเพิ่มประสิทธิภาพวงจรเฉพาะ สถาปัตยกรรมนี้เน้นย้ำถึงความสมบูรณ์ของ AutoPPA ในฐานะกรอบงานอัตโนมัติแบบครบวงจร ซึ่งสามารถทั้ง “เรียนรู้ความรู้การเพิ่มประสิทธิภาพด้วยตนเอง” และ “นำความรู้ไปใช้指導การปฏิบัติ”
กรอบงาน AutoPPA ที่พวกเขาเสนอ ด้วยเวิร์กโฟลว์ “สำรวจ-ประเมิน-สรุป” อันชาญฉลาด สามารถเพิ่มประสิทธิภาพพื้นที่ได้สูงสุด 15.31% และปรับปรุงความหน่วงได้ 11.28% บนวงจร基準 60 วงจร และยัง เหนือกว่าผลลัพธ์การเพิ่มประสิทธิภาพด้วยมือของวิศวกรมนุษย์ผู้มีประสบการณ์ ถึง 19.25% ในวงจรตัวแทน 11 วงจร

ตารางที่ 1: ตารางเปรียบเทียบการเพิ่มประสิทธิภาพด้านพื้นที่ของ AutoPPA, การเพิ่มประสิทธิภาพด้วยมือ, และ RTLRewriter บนวงจรตัวแทน 11 วงจร ส่วนหลักของตารางแสดงข้อมูลพื้นที่ ความหน่วง และพลังงานของแต่ละดีไซน์ในเวอร์ชันดั้งเดิม เวอร์ชันที่ปรับด้วยมือ เวอร์ชันที่ปรับด้วย RTLRewriter และเวอร์ชันที่ปรับด้วย AutoPPA และให้อัตราการปรับปรุงเฉลี่ยในแถวสุดท้าย AutoPPA ได้พื้นที่น้อยที่สุดและพลังงานต่ำที่สุดในดีไซน์ส่วนใหญ่ โดยมีการปรับปรุงพื้นที่เฉลี่ย 20.45% ซึ่งสูงกว่า RTLRewriter ที่ 12.89% และผลลัพธ์เชิงลบจากการปรับด้วยมืออย่างมาก ข้อมูลชุดนี้แสดงให้เห็นอย่างชัดเจนว่า AutoPPA ไม่เพียงแต่เหนือกว่าวิธีการอัตโนมัติเท่านั้น แต่ยังทะลุขีดจำกัดประสิทธิภาพของประสบการณ์มนุษย์ในงานประเภทนี้อีกด้วย สิ่งที่น่าสังเกตเป็นพิเศษคือ ในดีไซน์ m_con_mul1 และ m_con_mul2 ซึ่งเกี่ยวข้องกับลอจิกเลขคณิตที่ซับซ้อน ข้อได้เปรียบของ AutoPPA นั้นโดดเด่นเป็นพิเศษ บ่งบอกถึงความสามารถในการเจาะลึกโอกาสในการนำลอจิกกลับมาใช้ใหม่ ซึ่งเกินกว่าการปรับเปลี่ยนไวยากรณ์ผิวเผิน
นี่ไม่ใช่แค่การก้าวกระโดดของตัวชี้วัดประสิทธิภาพ แต่ยังเป็นจุดเปลี่ยนสำคัญของระบบอัตโนมัติในการออกแบบฮาร์ดแวร์ จาก “การถ่ายทอดประสบการณ์ด้วยมือ” สู่ “การค้นพบความรู้ด้วยเครื่องจักรอย่างอิสระ”
หนึ่ง บทนำ: เมื่อการเพิ่มประสิทธิภาพ RTL พบกับ “คำสาปแห่งขนาด” ของวิศวกรรมความรู้
การออกแบบชิปเข้าสู่ยุคนาโนเมตร ทุกตารางไมโครเมตรของพื้นที่ซิลิคอนและทุกนาโนวินาทีของเส้นทาง时序 ถูกคำนวณอย่างละเอียดถี่ถ้วน โค้ด RTL ซึ่งเป็นสะพานเชื่อมระหว่างแนวคิดอัลกอริทึมและการนำไปใช้งานทางกายภาพ คุณภาพของมันกำหนดขีดจำกัด PPA ของชิปโดยพื้นฐาน อย่างไรก็ตาม การแกะสลักโค้ด Verilog ที่ทำงานได้ถูกต้องให้เป็นรูปแบบที่เหมาะสมที่สุดสำหรับ PPA ยังคงเป็นงานฝีมือที่พึ่งพา “ประสบการณ์ของช่างผู้ชำนาญ” อย่างมาก
เส้นทางการเพิ่มประสิทธิภาพ RTL แบบดั้งเดิมมีเพียงสองทาง:
- หนึ่งคือการพึ่งพาสัญชาตญาณที่วิศวกรสะสมมาหลายปี ลองผิดลองถูกในโค้ดซ้ำแล้วซ้ำเล่า
- สองคือการ查阅คู่มือการเขียนโค้ดที่เผยแพร่โดยผู้ผลิตเครื่องมือ EDA ซึ่งระบุกฎทองเช่น “หลีกเลี่ยงการสร้าง latch โดยไม่ตั้งใจ” หรือ “ใช้ case แทน if-else chain” อย่างไรก็ตาม คู่มืออย่างเป็นทางการของ Synopsys มีเพียงตัวอย่างไม่กี่สิบรายการเท่านั้น
วิธีการได้มาซึ่งความรู้นี้เผชิญกับ “คำสาปแห่งขนาด” ขั้นพื้นฐาน: ความเร็วในการสรุปกฎการเพิ่มประสิทธิภาพด้วยมนุษย์ ไม่สามารถตามทันความหลากหลายของรูปแบบการออกแบบวงจรได้
การเพิ่มขึ้นของโมเดลภาษาขนาดใหญ่เคยนำความหวังมาสู่ภาวะที่กลืนไม่เข้าคายไม่ออกนี้
- ความพยายามในช่วงแรก เช่น ChipGPT และ VeriPPA ป้อนข้อมูล PPA หลังจากสังเคราะห์กลับไปยัง LLM โดยตรง โดยหวังว่าโมเดลจะเข้าใจการ映射ที่ซับซ้อนระหว่างโครงสร้างวงจรและการนำไปใช้งานทางกายภาพได้ด้วยตัวเอง แต่ผู้เขียนบทความชี้ให้เห็นอย่างเฉียบขาดว่า วิธีนี้ได้ผลน้อยมาก เพราะ “LLM ขาดความเข้าใจในความสัมพันธ์ระหว่างโครงสร้างวงจรและตัวชี้วัด PPA”
- อีกแนวทางหนึ่ง เช่น RTLRewriter และ SymRTL0 หันไปสร้างฐานความรู้ของมนุษย์ โดยดึงรูปแบบการเพิ่มประสิทธิภาพที่มนุษย์สรุปไว้มาใช้指導 LLM ในการเขียนใหม่ ดูเหมือนจะแก้ปัญหาได้ แต่กลับ陷入หนองอีกแห่ง: การสร้างฐานความรู้本身就是งานที่ใช้แรงงานมาก ความครอบคลุมและความหลากหลายจึงมีข้อจำกัดโดยธรรมชาติ
ทีมวิจัยของ AutoPPA จับโอกาสในการเปลี่ยนกระบวนทัศน์ที่สำคัญได้อย่าง敏锐 ข้อมูลเชิงลึกหลักของพวกเขาคือ: เนื่องจาก LLM มีความสามารถในการสร้างโค้ดที่แข็งแกร่ง สามารถสร้าง RTL ที่เทียบเท่าเชิงฟังก์ชันแต่มีโครงสร้างแตกต่างกันได้ ดังนั้น “คู่โค้ดเปรียบเทียบ” เหล่านี้จึงมีรหัสของกฎการเพิ่มประสิทธิภาพอยู่ภายใน
ดี ในฐานะบรรณาธิการเทคนิคมืออาชีพ ฉันได้เขียนเนื้อหาต้นฉบับใหม่ตามที่คุณต้องการ โดยเน้นที่การลบภาษาที่เป็นโฆษณา คงข้อมูลเทคโนโลยีหลักและโครงสร้าง Markdown และคงตัวยึดตำแหน่งรูปภาพทั้งหมดไว้
หากเรามีโมดูล Verilog นับพันคู่ที่功能相同แต่ PPA แตกต่างกันอย่างมีนัยสำคัญ เช่น คู่หนึ่งใช้ if ซ้อนกันอย่างงุ่มง่าม ในขณะที่อีกคู่หนึ่งใช้ state machine แบบ one-hot อย่างชาญฉลาด การสรุปกฎเช่น “เมื่อจำนวนสถานะน้อย การเข้ารหัสแบบ one-hot จะประหยัดพื้นที่ลอจิกแบบ combinatorial มากกว่าการเข้ารหัสแบบ binary” จะไม่ต้องอาศัยผู้เชี่ยวชาญมนุษย์อีกต่อไป แต่กลายเป็นปัญหาการค้นหารูปแบบที่สามารถทำอัตโนมัติได้
AutoPPA คือผลผลิตของแนวคิดนี้ ประกอบด้วยองค์ประกอบหลักสองส่วน:
- หนึ่งคือกระบวนการ “การเรียนรู้ไลบรารีกฎที่ขับเคลื่อนด้วยโค้ดเปรียบเทียบ” ซึ่งผ่านวงจรปิดของการสุ่มตัวอย่าง-การตรวจสอบ EDA-การสรุปความแตกต่าง ทำให้สามารถสร้างกฎการเพิ่มประสิทธิภาพได้โดยอัตโนมัติเป็นครั้งแรก สร้างฐานความรู้ขนาดใหญ่ที่มีกฎ 101,987 รายการ
- สองคือกรอบงาน “การค้นหาแบบเสริมด้วยกฎแบบปรับตัว” ซึ่งไม่ได้ใช้กฎอย่าง机械 แต่ผ่านวงจรปิดของ “การคาดเดา-การ检索-การปรับ-การเพิ่มประสิทธิภาพ” ทำให้ LLM เลือกและผสานกลยุทธ์การเพิ่มประสิทธิภาพที่มีประสิทธิภาพสูงสุดแบบไดนามิกตามลักษณะของวงจรปัจจุบัน
ข้อมูลการทดลองแสดงให้เห็น: AutoPPA ไม่เพียงแต่เพิ่มประสิทธิภาพพื้นที่ของ RTLRewriter ขึ้นอีก 7.56% เท่านั้น แต่ที่สำคัญกว่านั้น ไลบรารีกฎที่สร้างขึ้นเองนั้นมีประสิทธิภาพเหนือกว่ากฎที่มนุษย์สร้างขึ้น 12 ข้อ ซึ่งวิศวกรใช้เวลาสรุปอย่างยากลำบากถึง 16 ชั่วโมงอย่างสิ้นเชิง นี่คือการตรวจสอบที่สำคัญของลัทธิ经验主义โดยการได้มาซึ่งความรู้ในวงกว้าง
สอง แกนหลักของวิธีการ: เวิร์กโฟลว์ E²I ทำให้เครื่องจักร “เข้าใจ” หนทางแห่งการเพิ่มประสิทธิภาพได้อย่างไร
หัวใจสำคัญของ AutoPPA อยู่ที่เวิร์กโฟลว์ “สำรวจ-ประเมิน-สรุป”
ปรัชญาการออกแบบของกระบวนการนี้ไม่ใช่การให้ LLM สร้างเวทมนตร์การเพิ่มประสิทธิภาพขึ้นมาจากความว่างเปล่า แต่เป็นการสร้างวงจรปิดอัตโนมัติ ให้โมเดล “สังเกต” และ “นามธรรม” จากการเปรียบเทียบโค้ดจริงจำนวนมหาศาลว่าการเขียนใหม่แบบใดที่นำมาซึ่งประโยชน์ PPA จริงๆ กระบวนการทั้งหมดไม่ต้องการการ标注ของมนุษย์ แต่ใกล้เคียงกับความจริงของการนำไปใช้งานทางกายภาพมากกว่าคู่มือกฎที่เขียนด้วยมือใดๆ
2.1 การสำรวจ: หว่านเมล็ดพันธุ์แห่งความหลากหลายในโค้ดโอเพนซอร์ส 130,000 ชิ้น
ระบบการเรียนรู้ของเครื่องใดๆ ก็ตามต้องพึ่งพาข้อมูลคุณภาพสูง AutoPPA ก็เช่นกัน แต่แตกต่างจากชุดข้อมูลที่ต้อง标注อย่างพิถีพิถัน จุดเริ่มต้นของ AutoPPA คือการรวบรวมข้อมูล GitHub ขนาดใหญ่ ทีมวิจัยได้รวบรวมดีไซน์ RTL Verilog ประมาณ 130,000 ชิ้น โค้ดเหล่านี้มาจากโปรเจกต์จริง มีรูปแบบหลากหลาย คุณภาพแตกต่างกัน ซึ่ง恰好构成了 ความหลากหลาย ซึ่งเป็นแหล่งแร่ธรรมชาติของกฎ
รูปที่ 1: แผนภาพกระบวนการสร้างไลบรารีกฎการเพิ่มประสิทธิภาพ PPA ด้านซ้ายของรูปแสดงการเริ่มต้นจากโค้ด RTL ดั้งเดิม ผ่านการสุ่มตัวอย่างการเขียนใหม่ของ LLM หลายรอบเพื่อสร้างคู่โค้ดที่เทียบเท่าเชิงฟังก์ชัน ด้านขวาแสดงให้เห็นว่าคู่โค้ดเหล่านี้ถูกทำให้เป็นนามธรรมเป็นกฎการเพิ่มประสิทธิภาพในรูปแบบ (ส่วนของโค้ด, เงื่อนไข触发, การดำเนินการเขียนใหม่) ผ่านการวิเคราะห์เปรียบเทียบอย่างไร และ最终รวมเข้าในไลบรารีกฎ กระบวนการนี้คือการแสดงภาพของขั้นตอน “การสำรวจ” และ “การสรุป” ในเวิร์กโฟลว์ E²I ซึ่งเผยให้เห็นอย่างชัดเจนว่าความรู้เกิดขึ้นโดยอัตโนมัติจากการเปรียบเทียบความแตกต่างของโค้ดดั้งเดิมได้อย่างไร สิ่งที่น่าสังเกตคือ กระบวนการนี้จงใจ引入การสุ่มตัวอย่างหลายรอบ เพื่อเพิ่มความหลากหลายของคู่โค้ด และป้องกันไม่ให้กฎที่สรุปได้陷入局部ที่เหมาะสมที่สุดหรือการ overfit กับรูปแบบการเขียนโค้ดเฉพาะ
การรวบรวมเป็นเพียงขั้นตอนแรก โค้ดเหล่านี้ต้องผ่านการตรวจสอบของเครื่องมือสังเคราะห์จึงจะกลายเป็น “ตัวอย่างที่ผ่านการรับรอง” สำหรับการวิเคราะห์ต่อไป ด้วยเหตุนี้ AutoPPA จึงดำเนินการคัดกรองสองขั้นตอน
- ขั้นแรกคือ “การคัดกรองเบื้องต้น” อย่างรวดเร็ว โดยใช้ Yosys ซึ่งเป็นเครื่องมือสังเคราะห์โอเพนซอร์สน้ำหนักเบา คอมไพล์ดีไซน์ทั้งหมดอย่างรวดเร็ว และทิ้งโค้ดที่ไม่สามารถ独立存在หรือสังเคราะห์ไม่ได้อย่างไม่ปรานี
- ผู้รอดชีวิตเข้าสู่รอบที่สอง “การคัดกรองอย่างละเอียด” ซึ่งดำเนินการโดย SiliconCompiler ซึ่งเป็นกระบวนการ EDA โอเพนซอร์สที่สมบูรณ์กว่า โดยรวม Yosys เข้ากับเครื่องมือวิเคราะห์时序 OpenSTA เพื่อสร้างข้อมูลพื้นที่ ความหน่วง และพลังงานที่แม่นยำยิ่งขึ้นภายใต้ไลบรารีกระบวนการ FreePDK 45nm
คุณค่าของสองขั้นตอนนี้ไม่ได้จำกัดอยู่แค่การทำความสะอาดข้อมูลเท่านั้น โดย本质แล้ว พวกเขากำลังสร้าง “ความจริงพื้นฐาน” สำหรับการสรุปกฎในภายหลัง: โค้ด RTL ที่คงไว้ทุกชิ้น จะถูกติดป้ายกำกับต้นทุนการนำไปใช้งานทางกายภาพของมัน ซึ่งเป็นมาตรวัดเชิงปริมาณสำหรับการระบุในภายหลังว่า “อะไรคือการเพิ่มประสิทธิภาพ” ลองนึกภาพดู หากไม่มีขั้นตอนนี้ แม้ว่าการเขียนใหม่ที่ LLM สร้างขึ้นจะเทียบเท่าเชิงตรรกะ เราก็ไม่สามารถ判断ได้ว่ามันปรับปรุงวงจรหรือสร้างความซ้ำซ้อนที่แย่ลงไปอีก
2.2 การประเมิน: การค้นหา “คู่โค้ดทองคำ” ระหว่างความเท่าเทียมเชิงฟังก์ชันและความแตกต่างของ PPA
เมื่อมีไลบรารีโค้ด RTL ที่มีป้ายกำกับแล้ว ความท้าทายต่อไปคือการสร้าง “คู่โค้ด” ที่สามารถใช้สำหรับการเรียนรู้เชิงเปรียบเทียบได้ กลยุทธ์ของ AutoPPA กล้าหาญและตรงไปตรงมา: ให้ LLM “เขียนใหม่โดยอิสระ” หลายครั้งกับดีไซน์ดั้งเดิมเดียวกัน โดยการปรับอุณหภูมิการสร้างและข้อความ提示 LLM จะสร้าง Verilog ที่มีเจตนาเชิงฟังก์ชันเดียวกันแต่วิธีการนำไปใช้งานต่างกัน บางเวอร์ชันอาจ无意中引入โครงสร้างลอจิกที่ดีกว่า ในขณะที่บางเวอร์ชันอาจฝังข้อบกพร่องเชิงฟังก์ชันไว้
ดังนั้น ขั้นตอน “การประเมิน” ที่เข้มงวดจึงกลายเป็นสิ่งจำเป็น โดยต้องตอบคำถามสองข้อพร้อมกัน: โค้ดที่เขียนใหม่ยังคงเทียบเท่าเชิงฟังก์ชันกับดีไซน์ดั้งเดิมหรือไม่? หากเทียบเท่า PPA ของมันดีขึ้นหรือแย่ลง?
การตรวจสอบความเท่าเทียมเชิงฟังก์ชัน เป็นส่วนที่ท้าทายทางเทคนิคที่สุดในกระบวนการทั้งหมด ซึ่งแตกต่างจากซอฟต์แวร์ ความเท่าเทียมของวงจรฮาร์ดแวร์ไม่สามารถ判断ได้ง่ายๆ ด้วยการเปรียบเทียบอินพุตและเอาต์พุต ความเบี่ยงเบนเล็กน้อยในพฤติกรรม时序 ลอจิกการรีเซ็ต หรือการ跳转ของ state machine อาจทำให้ฟังก์ชันล้มเหลว ทีมวิจัยได้พัฒนาเครื่องสร้าง testbench อัตโนมัติสำหรับสิ่งนี้ โดยใช้ Yosys เพื่อแยกชื่อโมดูลระดับบนสุด รายการพอร์ต สัญญาณนาฬิกาและรีเซ็ตของวงจร จากนั้นสร้างสภาพแวดล้อมการตรวจสอบที่ครอบคลุมแบบไดนามิก testbench นี้ไม่เพียงแต่施加ลำดับการกระตุ้นแบบสุ่มที่ยาวนานเท่านั้น แต่ยังตรวจสอบพฤติกรรมขอบนาฬิกาและสถานะการรีเซ็ตที่ถูกต้องโดยเฉพาะ บทความกล่าวว่า testbench ที่สร้างขึ้นมีความครอบคลุมบรรทัด 100% บนวงจรทดสอบ ซึ่งเป็นรากฐานความเชื่อมั่นที่มั่นคงสำหรับคุณภาพของกฎในภายหลัง
เวอร์ชันที่เขียนใหม่ที่ผ่านการตรวจสอบจะถูกส่งไปยัง SiliconCompiler เพื่อสังเคราะห์และสร้างข้อมูล PPA เฉพาะของมัน ในเวลานี้ ลอจิกการคัดกรองที่สำคัญจะเริ่มทำงาน: AutoPPA จะเก็บเฉพาะคู่โค้ดที่เทียบเท่าเชิงฟังก์ชันซึ่งมีความแตกต่างของ PPA สัมพัทธ์เกิน 5% และบันทึกเป็น (C_non, C_opt) โดยที่前者คือเวอร์ชันที่ไม่ได้รับการเพิ่มประสิทธิภาพ และ后者คือเวอร์ชันที่ได้รับการเพิ่มประสิทธิภาพ เพื่อรับประกันคุณภาพและความหลากหลายของไลบรารีกฎ บทความยัง引入การวัดเอนโทรปีแชนนอนที่ชาญฉลาด ค่าเอนโทรปีที่สูงขึ้นหมายความว่าเวอร์ชันที่เทียบเท่าของดีไซน์นั้นมีการกระจายตัวในพื้นที่ PPA มากขึ้น ซึ่งบ่งบอกว่ารูปแบบการเพิ่มประสิทธิภาพที่สามารถสกัดได้นั้นสมบูรณ์ยิ่งขึ้น ในที่สุด เฉพาะดีไซน์และคู่โค้ดที่อยู่ใน 25% แรกของค่าเอนโทรปีเท่านั้นที่มีสิทธิ์เข้าสู่ขั้นตอนการสรุปกฎต่อไป ซึ่งเทียบเท่ากับการ คัดเลือกพันธุ์ที่ดีที่สุดที่ต้นทางข้อมูล เพื่อให้แน่ใจว่าทุกคู่ตัวอย่างที่เข้าสู่กระบวนการกลั่นความรู้มีสัญญาณการเพิ่มประสิทธิภาพที่สำคัญและไม่ใช่โดยบังเอิญ
2.3 การสรุป: การก้าวกระโดดอย่างน่าตื่นเต้นจากความแตกต่างของโค้ดเฉพาะไปสู่กฎการเพิ่มประสิทธิภาพเชิงนามธรรม
แม้จะมีคู่โค้ดที่เทียบเท่าเชิงฟังก์ชันคุณภาพสูง การกลั่นกฎการเพิ่มประสิทธิภาพระดับสูงที่สามารถสรุปทั่วไปได้นั้นยังคงเป็น “การก้าวกระโดดทางปัญญา” จากรูปธรรมไปสู่นามธรรม หากเพียงแค่ส่งความแตกต่างของโค้ดให้ LLM สรุป ผลลัพธ์ที่ได้มักจะเป็น “กฎสัญญาณรบกวน” ที่เต็มไปด้วยรายละเอียดไวยากรณ์ระดับต่ำและชื่อตัวแปรเฉพาะ เช่น “เปลี่ยน reg [7:0] cnt ในบรรทัดที่ 12 เป็น reg [7:0] counter” กฎดังกล่าวไม่มีคุณค่าในการนำกลับมาใช้ใหม่ และอาจทำให้เข้าใจผิดได้
วิธีแก้ปัญหาของ AutoPPA คือ การกำหนดกลไกการแสดงกฎและการตรวจสอบที่แม่นยำ กฎแต่ละข้อถูกทำให้เป็นมาตรฐานในรูปแบบสามส่วน:
- ส่วน: แสดงถึงรูปแบบโค้ด RTL ที่ไม่มีประสิทธิภาพ เป็นจุดเริ่มต้นของการเพิ่มประสิทธิภาพ
- เงื่อนไข: อธิบายข้อจำกัดของบริบทที่กฎการเพิ่มประสิทธิภาพนี้生效
- การดำเนินการ: ระบุการดำเนินการเขียนใหม่เพื่อแปลง “ส่วน” ให้เป็นเวอร์ชันที่มีประสิทธิภาพ
สำหรับแต่ละคู่ (C_non, C_opt) LLM จะถูกขอให้สร้างกฎ候选 n ข้อ (ค่าเริ่มต้นคือ 2) เพื่ออธิบายตรรกะภายในของการเปลี่ยนจากเวอร์ชันที่ไม่ได้รับการเพิ่มประสิทธิภาพไปยังเวอร์ชันที่ได้รับการเพิ่มประสิทธิภาพ แต่การสร้างเป็นเพียงจุดเริ่มต้น การควบคุมคุณภาพที่แท้จริงอยู่ในระบบการให้คะแนนที่อิงตาม “การทดสอบเชิงปฏิบัติ” AutoPPA จะนำกฎ候选แต่ละข้อไปใช้กับวงจรดั้งเดิมอีกครั้ง ให้ LLM พยายามเพิ่มประสิทธิภาพอีกครั้งภายใต้คำแนะนำของกฎ และสร้างเวอร์ชันที่เขียนใหม่หลายเวอร์ชัน จากนั้น PPA ของเวอร์ชันที่เขียนใหม่เหล่านี้จะถูกนำไปเปรียบเทียบกับเวอร์ชันที่ไม่ได้รับการเพิ่มประสิทธิภาพดั้งเดิม C_non และเวอร์ชันที่ได้รับการเพิ่มประสิทธิภาพที่รู้จัก C_opt เพื่อคำนวณคะแนนที่ทำให้เป็นมาตรฐาน:
$$
text{คะแนน} = frac{frac{1}{n} sum_{i=1}^n (PPA(C_{non}) – PPA(C_{opt,i}))}{PPA(C_{non}) – PPA(C_{opt})} cdot mathbb{1}_{text{เทียบเท่าเชิงฟังก์ชัน}}
$$
ความหมายของสูตรนี้ค่อนข้าง直观 ตัวเศษวัดว่าภายใต้คำแนะนำของกฎใหม่ การเขียนใหม่ครั้งที่ i ทำให้เกิดความก้าวหน้าของ PPA เทียบกับดีไซน์ดั้งเดิมเท่าใด ตัวส่วนคือความก้าวหน้าที่เวอร์ชันที่ได้รับการเพิ่มประสิทธิภาพที่รู้จักทำได้ ซึ่งทำหน้าที่เป็นเกณฑ์มาตรฐานที่ทำให้เป็นมาตรฐาน พารามิเตอร์ (ค่าเริ่มต้น 0.25) และ (ค่าเริ่มต้น 0.5) กำหนด “คะแนนเริ่มต้น” และ “คะแนนสูงสุด” ของคะแนน การเขียนใหม่ที่เทียบเท่าเชิงฟังก์ชันแต่ไม่มีประโยชน์ PPA จะได้ 0.25 คะแนน ในขณะที่การเขียนใหม่ที่สามารถสร้างผลการเพิ่มประสิทธิภาพของ C_opt ได้อย่างสมบูรณ์แบบจะได้ 0.75 คะแนน ส่วนการเขียนใหม่ที่ไม่ผ่านการตรวจสอบความเท่าเทียมเชิงฟังก์ชัน จะถูกตัดคะแนนเป็นศูนย์ทันทีเนื่องจากฟังก์ชัน指示
ดี ในฐานะบรรณาธิการเทคนิคมืออาชีพ ฉันได้เขียนเนื้อหาต้นฉบับใหม่ตามที่คุณต้องการ เนื้อหาที่เขียนใหม่ได้ลบโฆษณาและคิวอาร์โค้ด และคงตัวยึดตำแหน่ง [[IMAGE_X]] ไว้ โดยส่งออกเป็นรูปแบบ Markdown โดยตรง
คุณภาพของกฎข้อหนึ่ง ในที่สุดจะถูกตัดสินโดยคะแนนเฉลี่ยจากความพยายามในการเพิ่มประสิทธิภาพอิสระหลายครั้ง เฉพาะกฎที่มีคะแนนเฉลี่ยเกิน 0.7 เท่านั้นที่จะถูกรวมเข้าในฐานความรู้ของ AutoPPA อย่างเป็นทางการ ความชาญฉลาดของกลไกนี้คือการเปลี่ยน “ประสิทธิผล” ของกฎจากปัญหาคำอธิบายข้อความแบบ static ไปเป็นปัญหาการทำนายแบบ dynamic ที่สามารถวัดและตรวจสอบได้ เกณฑ์มาตรฐานสำหรับการตัดสินว่ากฎดีหรือไม่นั้น ไม่ได้ขึ้นอยู่กับว่าคำอธิบายนั้นสวยงามหรือไม่ แต่อยู่ที่ว่ากฎนั้นสามารถนำ LLM ไปสู่การผลิตวงจรที่นำมาซึ่งประโยชน์ PPA จริงได้อย่างเสถียรหรือไม่ ผ่านกระบวนการ E²I ทั้งหมดนี้ AutoPPA ได้คัดเลือกกฎคุณภาพสูงมากกว่าหมื่นข้อจากข้อมูลจำนวนมหาศาล ซึ่งเป็นขนาดที่ฐานความรู้ที่สร้างด้วยมือไม่สามารถเทียบได้
เวิร์กโฟลว์ E²I ของ AutoPPA บรรลุการเปลี่ยนกระบวนทัศน์ที่สำคัญ: มันเปลี่ยนการได้มาซึ่งความรู้การเพิ่มประสิทธิภาพฮาร์ดแวร์ จากวิทยาศาสตร์เชิงประสบการณ์ที่พึ่งพาการไตร่ตรองและการสรุปของผู้เชี่ยวชาญมนุษย์ ไปเป็นวิทยาศาสตร์เชิงประจักษ์ที่ขับเคลื่อนด้วยข้อมูลและสามารถทำซ้ำได้โดยอัตโนมัติ โดยการนำความแตกต่างของการเขียนโค้ดมาอยู่ภายใต้การตรวจสอบอย่างเข้มงวดของห่วงโซ่เครื่องมือ EDA ทำให้กฎทางกายภาพที่ซ่อนอยู่เบื้องหลังโครงสร้างวงจร สามารถปรากฏออกมาในรูปแบบของ “กฎการเพิ่มประสิทธิภาพ” ที่ LLM สามารถเข้าใจและดำเนินการได้
สาม จากกฎสู่การเพิ่มประสิทธิภาพ: การทำงานร่วมกันของการ检索แบบปรับตัวและการค้นหาแบบหลายขั้นตอน
การมีห้องสมุดกฎที่อุดมสมบูรณ์เป็นเพียงครึ่งหนึ่งของความสำเร็จ วิธีการค้นหาหน้าที่เกี่ยวข้องกับวงจรเฉพาะที่อยู่ตรงหน้าได้อย่างแม่นยำจากคลังข้อมูลมหาศาล และการ确保คำแนะนำเชิงนามธรรมเหล่านี้สามารถแปลงเป็นการปรับปรุง PPA ได้จริง เป็นอีกครึ่งหนึ่งที่决定ประสิทธิภาพการรบของ AutoPPA
ทีมวิจัยได้ออกแบบกรอบงานแบบผสมผสานที่รวมการ检索แบบปรับตัวแบบขั้นตอนเดียวและการค้นหาแบบเสริมหลายขั้นตอน ทำให้ไลบรารีกฎเปลี่ยนจาก “พจนานุกรมแบบ static” ไปเป็น “เครื่องมือเพิ่มประสิทธิภาพแบบ dynamic”

รูปที่ 2: ภาพรวมสถาปัตยกรรมโดยรวมของ AutoPPA รูปภาพแบ่งออกเป็นสองเฟสอย่างชัดเจน: “เวิร์กโฟลว์การเรียนรู้ไลบรารีกฎ” ด้านบนสอดคล้องกับกระบวนการ E²I ตั้งแต่การสุ่มตัวอย่างโค้ด การประเมินคู่โค้ด ไปจนถึงการสรุปกฎ ก่อให้เกิดวงจรปิดการผลิตความรู้แบบอัตโนมัติ “การเพิ่มประสิทธิภาพ PPA ที่เสริมด้วยกฎแบบปรับตัว” ด้านล่างแสดงให้เห็นว่า ARAO และการค้นหาแบบหลายขั้นตอนทำงานร่วมกันอย่างไรเพื่อนำไลบรารีกฎที่เรียนรู้ไปใช้กับงานเพิ่มประสิทธิภาพวงจรเฉพาะ สถาปัตยกรรมนี้เน้นย้ำถึงความสมบูรณ์ของ AutoPPA ในฐานะกรอบงานอัตโนมัติแบบครบวงจร ซึ่งสามารถทั้ง “เรียนรู้ความรู้การเพิ่มประสิทธิภาพด้วยตนเอง” และ “นำความรู้ไปใช้指導การปฏิบัติ”
3.1 ARAO: ทำให้กฎเรียนรู้ที่จะ “ปรับตัวตามสภาพท้องถิ่น”
เมื่อเผชิญกับโค้ด RTL ที่ต้องเพิ่มประสิทธิภาพ แนวคิดง่ายๆ คือการจับคู่ความหมายกับ “ส่วน” ในไลบรารีกฎ เพื่อค้นหากฎที่มีความคล้ายคลึงสูงสุดและนำไปใช้โดยตรง แต่บทความชี้ให้เห็นถึงกับดักสองประการของแนวทางนี้อย่าง敏锐
- ประการแรก กฎบางข้อในไลบรารีกฎ不可避免地มีร่องรอยเฉพาะของ “คู่โค้ดดั้งเดิม” เช่น ชื่อโมดูลหรือนิสัยการตั้งชื่อสัญญาณ หาก移植ไปยังวงจรใหม่อย่างแข็งกร้าว จะทำให้เกิดการปนเปื้อนของบริบท
- ประการที่สอง การ检索ด้วยความคล้ายคลึงทางความหมายล้วนๆ มักจะ引入สัญญาณรบกวน อาจผลักดันกฎที่ดูเหมือนเกี่ยวข้องบนพื้นผิว แต่เงื่อนไขการเพิ่มประสิทธิภาพไม่เป็นจริงเลย ให้กับ LLM
เพื่อเอาชนะความท้าทายเหล่านี้ AutoPPA ได้ออกแบบกระบวนการ “การเพิ่มประสิทธิภาพแบบ检索ปรับตัว” สี่ขั้นตอน
- ขั้นตอนแรกคือ “การคาดเดา” LLM ไม่ได้รอผลการ检索อย่าง passive แต่ถูกขอให้ตรวจสอบโค้ดเป้าหมายอย่าง active ก่อน และพยายามสรุปกฎการเพิ่มประสิทธิภาพที่มันคิดว่าอาจมีอยู่ด้วยตนเอง ขั้นตอนนี้เทียบเท่ากับการให้ LLM ทำ “การวินิจฉัยเบื้องต้น” กับวงจร และสร้างสมมติฐานการเพิ่มประสิทธิภาพเบื้องต้น สมมติฐานนี้อาจไม่ถูกต้อง แต่มันให้จุดยึดที่สำคัญ ซึ่งจำกัดขอบเขตการ检索จากพื้นที่กฎที่กว้างใหญ่ ไปยังพื้นที่ท้องถิ่นที่เกี่ยวข้องอย่างสูงกับลักษณะของวงจรปัจจุบัน
- ขั้นตอนที่สองคือ “การ检索” ระบบใช้โมเดล嵌入ข้อความ gte_Qwen2-7B-instruct เพื่อเข้ารหัสส่วน “เงื่อนไข” และ “การดำเนินการ” ของกฎที่ LLM คาดเดาเป็นเวกเตอร์ จากนั้นดำเนินการค้นหาความคล้ายคลึงโคไซน์ในไลบรารีกฎ และเรียกคืนกฎสามข้อที่ตรงกันมากที่สุด
- ขั้นตอนที่สาม “การปรับ” คือจุดเด่นของ ARAO กฎที่เรียกคืนจะถูกส่งกลับไปยัง LLM อีกครั้ง แต่งานในครั้งนี้คือ “การเขียนใหม่” LLM ถูกขอให้ปรับกฎเหล่านี้อาจมีร่องรอยของดีไซน์ดั้งเดิม ตามบริบทจริงของวงจรเป้าหมาย โดยลบรายละเอียดที่ไม่เกี่ยวข้องออกไป เพื่อให้รูปแบบการแสดงออกสอดคล้องกับสถานการณ์การเพิ่มประสิทธิภาพปัจจุบันอย่างแนบเนียน ซึ่งเทียบเท่ากับการดำเนินการ “การปรับให้เข้ากับท้องถิ่น” ที่สำคัญก่อนการถ่ายโอนความรู้
- ขั้นตอนสุดท้าย “การเพิ่มประสิทธิภาพ” คือการป้อนกฎที่ปรับแล้วพร้อมกับโค้ดเป้าหมายให้กับ LLM เพื่อให้ LLM สร้างเวอร์ชันโค้ดที่ได้รับการเพิ่มประสิทธิภาพ เวอร์ชันเหล่านี้ยังต้องผ่านการตรวจสอบความเท่าเทียมเชิงฟังก์ชันและการประเมิน PPA เพื่อยืนยันว่าการเพิ่มประสิทธิภาพนั้นมีประสิทธิผลจริง
กระบวนการทั้งหมดของ ARAO จำลองรูปแบบการคิดของวิศวกรผู้มีประสบการณ์: สร้างการ判断เบื้องต้นจากความเข้าใจในวงจร จากนั้นค้นหาเอกสารอ้างอิงอย่างมีเป้าหมาย แล้วแปลงหลักการทั่วไปในเอกสารเป็นมาตรการเฉพาะที่เหมาะสมกับโปรเจกต์ปัจจุบัน และสุดท้ายลงมือปฏิบัติ วงจรปิด “การคาดเดา-การ检索-การปรับ-การเพิ่มประสิทธิภาพ” นี้ช่วยเพิ่มความแม่นยำและประสิทธิผลของการประยุกต์ใช้กฎได้อย่างมาก
3.2 การค้นหาแบบหลายขั้นตอน: การหาสมดุลระหว่างความลึกของการเพิ่มประสิทธิภาพและความกว้างของการสำรวจ
แม้ว่า ARAO แบบครั้งเดียวจะมีประสิทธิภาพ แต่เมื่อเผชิญกับพื้นที่การเพิ่มประสิทธิภาพ PPA ที่ซับซ้อน มักจะยากที่จะหาคำตอบที่ดีที่สุดโดยรวมในครั้งเดียว การเพิ่มประสิทธิภาพ RTL มีลักษณะ “การระเบิดแบบ combinatorial” ที่ชัดเจน: การเปลี่ยนแปลงที่ชาญฉลาดอาจต้องอาศัยการปรับเปลี่ยน配合อีกจุดหนึ่งเพื่อปลดปล่อยศักยภาพทั้งหมด ในขณะที่เส้นทางการเพิ่มประสิทธิภาพที่แตกต่างกันอาจมีข้อจำกัดซึ่งกันและกัน
ได้รับแรงบันดาลใจจากอัลกอริทึมการค้นหาแบบคลาสสิก AutoPPA ได้引入กรอบงานการค้นหาแบบหลายขั้นตอนที่อิงตามการค้นหาแบบ集束 ในการวนซ้ำแต่ละครั้ง ระบบจะรักษาพูลโค้ด候选ขนาด k (ความกว้างของ集束) ซึ่งเป็น “บุคคลชั้นยอด” ที่มีคะแนนสูงสุดในปัจจุบัน สำหรับโค้ด候选แต่ละตัวในพูล กระบวนการ ARAO จะถูกเรียกใช้แบบขนาน m ครั้ง เพื่อขยายเป็นเวอร์ชันที่ได้รับการเพิ่มประสิทธิภาพใหม่ m เวอร์ชัน จากนั้น เวอร์ชันใหม่และเก่าทั้งหมดจะถูกผสมกัน และจัดลำดับใหม่ตามฟังก์ชันการให้คะแนนที่ออกแบบอย่างพิถีพิถัน โดยมีเพียง k โค้ดที่มีคะแนนสูงสุดเท่านั้นที่สามารถเข้าสู่รอบการวนซ้ำถัดไป กระบวนการ
⚠️ หมายเหตุ: เนื้อหาได้รับการแปลโดย AI และตรวจสอบโดยมนุษย์ หากมีข้อผิดพลาดโปรดแจ้ง
☕ สนับสนุนค่ากาแฟทีมงาน
หากคุณชอบบทความนี้ สามารถสนับสนุนเราได้ผ่าน PromptPay
本文来自网络搜集,不代表คลื่นสร้างอนาคต立场,如有侵权,联系删除。转载请注明出处:https://www.itsolotime.com/th/archives/31364
