ดักไฟกระชากก่อนชิปไหม้: เขียน Verilog ให้รู้เรื่องพลังงานตั้งแต่ขั้นจำลอง

เรียนรู้วิธีที่ Verilog ซึ่งคำนึงถึงการใช้พลังงาน ช่วยตรวจจับการใช้พลังงานที่พุ่งสูงขึ้นอย่างผิดปกติตั้งแต่เนิ่นๆ

ดักไฟกระชากก่อนชิปไหม้: เขียน Verilog ให้รู้เรื่องพลังงานตั้งแต่ขั้นจำลอง

ภายในชิปคอมพิวเตอร์เต็มไปด้วยสายโลหะขนาดเล็กจิ๋วนับล้านเส้น มีไฟฟ้าวิ่งอยู่ตลอดเวลา ส่วนใหญ่มันก็ไหลไปเรื่อยๆ ไม่มีปัญหาใดๆ ปัญหาจะเกิดตอนที่วงจรเป็นล้านจุดเปลี่ยนสถานะพร้อมกันในชั่วพริบตา ไฟถูกกระชากไปใช้มหาศาลในเวลาแค่เสี้ยววินาที จังหวะสั้นๆ แบบนี้แหละที่ทำลายชิปได้ เรื่องนี้จึงเป็นเรื่องที่สำคัญเพราะถ้าขืนปล่อยให้ชิปผลิตออกมาแล้ว มันไม่สามารถแก้ไขได้ ต้องหล่อใหม่ทั้งแผ่นซึ่งราคาแพงมหาศาลและกินเวลาเป็นเดือน วิศวกรจึงอยากตรวจจับไฟกระชากให้เจอตั้งแต่ตอนที่ชิปยังเป็นแค่แบบในคอมพิวเตอร์

ทำไมชิปถึงพัง 

ไฟฟ้าในชิปต้องวิ่งผ่านสายโลหะที่เล็กกว่าเส้นผมหลายเท่า ถ้าไฟแรงเกินไป ความร้อนจะค่อยๆ ดันอะตอมของโลหะให้หลุดออกแล้วไหลไปตามกระแส นานวันเข้าบางจุดอะตอมพร่องจนเกิดรูโหว่แล้วสายขาด บางจุดอะตอมไปกองพอกจนสายแตะกันเกิดไฟลัด ปรากฏการณ์นี้ชื่อ Electromigration พูดง่ายๆ คือยิ่งกระแสหนาแน่นและยิ่งร้อน สายไฟก็ยิ่งเสียไวหรืออาจจะขาดหรือลัดวงจรได้

แต่จุดที่คนพลาดกันบ่อยคือไปดูแค่ค่าไฟเฉลี่ย ไฟเฉลี่ยทั้งวันอาจต่ำมาก แต่ถ้ามีจุดพีคที่พุ่งแรงแค่ชั่วขณะเดียว โลหะก็หลอมเฉพาะจุดและพังได้ทันที เหมือนท่อน้ำเส้นเล็ก น้ำไหลเอื่อยทั้งวันไม่เป็นไร แต่อัดน้ำแรงสุดเข้าไปแวบเดียวท่อก็แตก

ไฟกระชากมาจากไหน

ลองนึกถึงคนทั้งตึกกดชักโครกพร้อมกัน น้ำอ่อนแรงลงทันที ในชิปก็เป็นแบบนั้น เวลาวงจรเป็นล้านจุด สลับ 0 กับ 1 พร้อมกันในจังหวะเดียว มันดึงไฟก้อนโตแบบฉับพลัน บางทีชิปกำลังพักอยู่เฉยๆ แล้วโดนสั่งให้คำนวณหนักทันที ความต้องการไฟกระโดดขึ้นเป็นร้อยวัตต์ในเวลาราว 1ใน 1,000 ล้านวินาที พอดึงไฟเร็วขนาดนั้น แรงดันก็ตกฮวบตามไม่ทัน อาการนี้เรียกว่า Power Droop พอแรงดันตก วงจรทำงานช้าลงและคำนวณพลาดได้

แต่อาการแบบนี้เกิดแวบเดียวแล้วหาย ตามจับยากจนหลายครั้งดูเหมือนเป็นความผิดพลาดที่เกิดขึ้นมั่วๆ หาสาเหตุไม่เจอ ทั้งที่จริงแล้วเป็นปัญหาในการออกแบบ ดังเช่น ในการวิจัยของนักวิจัยกลุ่มหนึ่ง (Polian กับทีม) คิดวิธีจับมันแบบตรงไปตรงมา จงใจสร้างจังหวะที่ว่านั่นขึ้นมาเอง ทำให้วงจรพักก่อน แล้วสั่งให้ทุกอย่างทำงานพร้อมกันทันที เพื่อบีบไฟกระชากออกมาให้เห็นกับตา ชิปตัวไหนทนไม่ไหวก็สามารถรู้ได้ตรงนั้น ดีกว่าไปพังตอนผู้ใช้เอาไปใช้จริง

มองให้เห็นไฟ ด้วย VCD  

แล้วจะเห็นไฟกระชากได้อย่างไรในเมื่อชิปยังไม่เกิด คำตอบง่ายมากคือ การจำลองมันในคอมพิวเตอร์ก่อน แล้วบันทึกไว้ว่าสายเส้นไหนขยับตอนไหน ไฟล์บันทึกนี้ชื่อ VCD มันเก็บทุกการเปลี่ยนค่าพร้อมมีเวลากำกับ เอาไปป้อนให้โปรแกรมคำนวณไฟฟ้าต่อได้

Gil Shomron วิศวกรคนหนึ่งเล่าประสบการณ์ตอนทำวงจรคูณเลข เครื่องมือที่เขาใช้ในตอนแรกสำหรับการคาดเดาพลังงานจากค่าเฉลี่ยรวมของทั้งวงจร ซึ่งค่อนข้างหยาบ ข้อมูลที่เขาป้อนมีเลข 0 อยู่เยอะ ซึ่งควรกินไฟน้อย แต่ค่าเฉลี่ยมองไม่เห็นความต่างนี้เลย พอเปลี่ยนมาใช้ VCD ที่จดละเอียดทีละสายทีละจังหวะ ภาพจริงจึงโผล่ออกมาว่า ไฟไปกระจุกตรงบริเวณไหน

เขียนกฎดักจับลงในโค้ด Verilog  

ชิปถูกเขียนขึ้นด้วยภาษาชื่อ Verilog เทียบได้กับพิมพ์เขียว ข้อดี คือ เราฝังกฎเตือนเล็กๆ ลงไปในพิมพ์เขียวได้ มันชื่อว่า Assertion ทำงานเหมือนสัญญาณกันขโมย ในขั้นตอนการจำลอง ตั้งกฎไว้ว่าอะไรที่ไม่ควรเกิด พอมันเกิดปุ๊บก็ร้องเตือนปั๊บ 

งานวิจัยจาก IJERT ทดลองกับวงจรส่งข้อมูล TCP/IP กฎของระบบบอกว่า ในหนึ่งจังหวะนาฬิกาต้องมีสัญญาณทำงานได้แค่ตัวเดียว แต่ดีไซน์เก่ากลับมีหลายตัวเด้งขึ้นพร้อมกัน นั่นแหละคือ ฉากที่ไฟถูกกระชาก Assertion จับเหตุการณ์นี้ได้ตั้งแต่ตอนจำลอง วิศวกรเลยตามไปแก้โค้ดให้มันทำงานทีละตัวตามกฎ ผลลัพธ์คือ ไฟที่สิ้นเปลืองในส่วนนี้ลดลงถึง 66% โดยที่ยังไม่ได้หล่อชิปจริงสักตัว

เหตุผลที่ต้องรีบตรวจจับตั้งแต่ตอนนี้ เพราะเมื่อยิ่งปล่อยให้ดีไซน์เดินหน้าไปไกล มันยิ่งซับซ้อนและแก้ยากขึ้นเรื่อยๆ การชี้จุดผิดตั้งแต่ยังเป็นโค้ดจึงมีข้อดี ทั้งถูกและง่ายที่สุด นี่แหละคือจุดมุ่งหมายของการเขียน Verilog ให้จัดการกับไฟฟ้า กล่าวคือ สอนให้พิมพ์เขียวสามารถคอยจับจุดอันตรายด้วยตัวเอง

ผู้ช่วยที่สามารถคาดเดาไฟกระชากได้ล่วงหน้า 

ในอนาคตสำหรับการวัดแรงดันไฟฟ้าไปพร้อมกับสถานภาพจริงของชิปด้วยราคาที่ไม่แพงอาจไม่ไกลเกินเอื้อม และสิ่งที่เข้ามาช่วยตรงนี้ ก็คือ ปัญญาประดิษฐ์ (AI) ที่มีไอเดียสุดเจ๋งตรงที่ไม่มีการใช้เซ็นเซอร์แรงดันไฟฟ้าราคาแพงใดๆเลย

ด้วยชิปทุกวันนี้มีสายไฟเป็นล้านเส้น การที่จะไล่คำนวณไฟทุกเส้นทุกจังหวะคงไม่ไหว จึงมีเครื่องมือที่ชื่อว่า APOLLO โดยการนำ AI มาใช้เลือกดูแค่สายไฟที่สำคัญเท่านั้น ไปพร้อมกับการคาดเดาไฟฟ้าได้อย่างแม่นยำและรวดเร็ว ยิ่งไปกว่านั้นมันยังสามารถคาดคะเนไฟกระชาก (Power Spike)ได้ก่อนที่เหตุการณ์จะเกิดขึ้น ชิปจึงมีเวลาในการเตรียมรับมือได้ทัน ในอนาคตข้างหน้าเครื่องมือเหล่านี้จะคำนวนและประมวลผลด้วย AI ที่จะฉลาดและรวดเร็วขึ้นเรื่อยๆ จนวิศวกรสามารถตรวจจับไฟกระชากได้ตั้งแต่ตอนร่างแบบโดยไม่ต้องรอให้การออกแบบเสร็จสิ้น ซึ่งแนวคิดนี้กำลังแพร่ขยายจากซีพียูไปสู่ชิปแบบอื่นๆ โดยเฉพาะชิป AI ที่กินไฟมากกว่าเมื่อก่อน ในท้ายที่สุดของจุดมุ่งหมายนี้ คือ ชิปที่มีความสามารถในการรับรู้และจัดการพลังงาน ความร้อน ตลอดจนแรงดันของตัวมันเองได้ก่อนที่มันจะสายเกินไป 

บทความที่เกี่ยวข้อง

ดักไฟกระชากก่อนชิปไหม้: เขียน Verilog ให้รู้เรื่องพลังงานตั้งแต่ขั้นจำลอง

เรียนรู้วิธีที่ Verilog ซึ่งคำนึงถึงการใช้พลังงาน ช่วยตรวจจับการใช้พลังงานที่พุ่งสูงขึ้นอย่างผิดปกติตั้งแต่เนิ่นๆ

นักเขียนบทความ
by 
นักเขียนบทความ
ดักไฟกระชากก่อนชิปไหม้: เขียน Verilog ให้รู้เรื่องพลังงานตั้งแต่ขั้นจำลอง

ดักไฟกระชากก่อนชิปไหม้: เขียน Verilog ให้รู้เรื่องพลังงานตั้งแต่ขั้นจำลอง

เรียนรู้วิธีที่ Verilog ซึ่งคำนึงถึงการใช้พลังงาน ช่วยตรวจจับการใช้พลังงานที่พุ่งสูงขึ้นอย่างผิดปกติตั้งแต่เนิ่นๆ

ภายในชิปคอมพิวเตอร์เต็มไปด้วยสายโลหะขนาดเล็กจิ๋วนับล้านเส้น มีไฟฟ้าวิ่งอยู่ตลอดเวลา ส่วนใหญ่มันก็ไหลไปเรื่อยๆ ไม่มีปัญหาใดๆ ปัญหาจะเกิดตอนที่วงจรเป็นล้านจุดเปลี่ยนสถานะพร้อมกันในชั่วพริบตา ไฟถูกกระชากไปใช้มหาศาลในเวลาแค่เสี้ยววินาที จังหวะสั้นๆ แบบนี้แหละที่ทำลายชิปได้ เรื่องนี้จึงเป็นเรื่องที่สำคัญเพราะถ้าขืนปล่อยให้ชิปผลิตออกมาแล้ว มันไม่สามารถแก้ไขได้ ต้องหล่อใหม่ทั้งแผ่นซึ่งราคาแพงมหาศาลและกินเวลาเป็นเดือน วิศวกรจึงอยากตรวจจับไฟกระชากให้เจอตั้งแต่ตอนที่ชิปยังเป็นแค่แบบในคอมพิวเตอร์

ทำไมชิปถึงพัง 

ไฟฟ้าในชิปต้องวิ่งผ่านสายโลหะที่เล็กกว่าเส้นผมหลายเท่า ถ้าไฟแรงเกินไป ความร้อนจะค่อยๆ ดันอะตอมของโลหะให้หลุดออกแล้วไหลไปตามกระแส นานวันเข้าบางจุดอะตอมพร่องจนเกิดรูโหว่แล้วสายขาด บางจุดอะตอมไปกองพอกจนสายแตะกันเกิดไฟลัด ปรากฏการณ์นี้ชื่อ Electromigration พูดง่ายๆ คือยิ่งกระแสหนาแน่นและยิ่งร้อน สายไฟก็ยิ่งเสียไวหรืออาจจะขาดหรือลัดวงจรได้

แต่จุดที่คนพลาดกันบ่อยคือไปดูแค่ค่าไฟเฉลี่ย ไฟเฉลี่ยทั้งวันอาจต่ำมาก แต่ถ้ามีจุดพีคที่พุ่งแรงแค่ชั่วขณะเดียว โลหะก็หลอมเฉพาะจุดและพังได้ทันที เหมือนท่อน้ำเส้นเล็ก น้ำไหลเอื่อยทั้งวันไม่เป็นไร แต่อัดน้ำแรงสุดเข้าไปแวบเดียวท่อก็แตก

ไฟกระชากมาจากไหน

ลองนึกถึงคนทั้งตึกกดชักโครกพร้อมกัน น้ำอ่อนแรงลงทันที ในชิปก็เป็นแบบนั้น เวลาวงจรเป็นล้านจุด สลับ 0 กับ 1 พร้อมกันในจังหวะเดียว มันดึงไฟก้อนโตแบบฉับพลัน บางทีชิปกำลังพักอยู่เฉยๆ แล้วโดนสั่งให้คำนวณหนักทันที ความต้องการไฟกระโดดขึ้นเป็นร้อยวัตต์ในเวลาราว 1ใน 1,000 ล้านวินาที พอดึงไฟเร็วขนาดนั้น แรงดันก็ตกฮวบตามไม่ทัน อาการนี้เรียกว่า Power Droop พอแรงดันตก วงจรทำงานช้าลงและคำนวณพลาดได้

แต่อาการแบบนี้เกิดแวบเดียวแล้วหาย ตามจับยากจนหลายครั้งดูเหมือนเป็นความผิดพลาดที่เกิดขึ้นมั่วๆ หาสาเหตุไม่เจอ ทั้งที่จริงแล้วเป็นปัญหาในการออกแบบ ดังเช่น ในการวิจัยของนักวิจัยกลุ่มหนึ่ง (Polian กับทีม) คิดวิธีจับมันแบบตรงไปตรงมา จงใจสร้างจังหวะที่ว่านั่นขึ้นมาเอง ทำให้วงจรพักก่อน แล้วสั่งให้ทุกอย่างทำงานพร้อมกันทันที เพื่อบีบไฟกระชากออกมาให้เห็นกับตา ชิปตัวไหนทนไม่ไหวก็สามารถรู้ได้ตรงนั้น ดีกว่าไปพังตอนผู้ใช้เอาไปใช้จริง

มองให้เห็นไฟ ด้วย VCD  

แล้วจะเห็นไฟกระชากได้อย่างไรในเมื่อชิปยังไม่เกิด คำตอบง่ายมากคือ การจำลองมันในคอมพิวเตอร์ก่อน แล้วบันทึกไว้ว่าสายเส้นไหนขยับตอนไหน ไฟล์บันทึกนี้ชื่อ VCD มันเก็บทุกการเปลี่ยนค่าพร้อมมีเวลากำกับ เอาไปป้อนให้โปรแกรมคำนวณไฟฟ้าต่อได้

Gil Shomron วิศวกรคนหนึ่งเล่าประสบการณ์ตอนทำวงจรคูณเลข เครื่องมือที่เขาใช้ในตอนแรกสำหรับการคาดเดาพลังงานจากค่าเฉลี่ยรวมของทั้งวงจร ซึ่งค่อนข้างหยาบ ข้อมูลที่เขาป้อนมีเลข 0 อยู่เยอะ ซึ่งควรกินไฟน้อย แต่ค่าเฉลี่ยมองไม่เห็นความต่างนี้เลย พอเปลี่ยนมาใช้ VCD ที่จดละเอียดทีละสายทีละจังหวะ ภาพจริงจึงโผล่ออกมาว่า ไฟไปกระจุกตรงบริเวณไหน

เขียนกฎดักจับลงในโค้ด Verilog  

ชิปถูกเขียนขึ้นด้วยภาษาชื่อ Verilog เทียบได้กับพิมพ์เขียว ข้อดี คือ เราฝังกฎเตือนเล็กๆ ลงไปในพิมพ์เขียวได้ มันชื่อว่า Assertion ทำงานเหมือนสัญญาณกันขโมย ในขั้นตอนการจำลอง ตั้งกฎไว้ว่าอะไรที่ไม่ควรเกิด พอมันเกิดปุ๊บก็ร้องเตือนปั๊บ 

งานวิจัยจาก IJERT ทดลองกับวงจรส่งข้อมูล TCP/IP กฎของระบบบอกว่า ในหนึ่งจังหวะนาฬิกาต้องมีสัญญาณทำงานได้แค่ตัวเดียว แต่ดีไซน์เก่ากลับมีหลายตัวเด้งขึ้นพร้อมกัน นั่นแหละคือ ฉากที่ไฟถูกกระชาก Assertion จับเหตุการณ์นี้ได้ตั้งแต่ตอนจำลอง วิศวกรเลยตามไปแก้โค้ดให้มันทำงานทีละตัวตามกฎ ผลลัพธ์คือ ไฟที่สิ้นเปลืองในส่วนนี้ลดลงถึง 66% โดยที่ยังไม่ได้หล่อชิปจริงสักตัว

เหตุผลที่ต้องรีบตรวจจับตั้งแต่ตอนนี้ เพราะเมื่อยิ่งปล่อยให้ดีไซน์เดินหน้าไปไกล มันยิ่งซับซ้อนและแก้ยากขึ้นเรื่อยๆ การชี้จุดผิดตั้งแต่ยังเป็นโค้ดจึงมีข้อดี ทั้งถูกและง่ายที่สุด นี่แหละคือจุดมุ่งหมายของการเขียน Verilog ให้จัดการกับไฟฟ้า กล่าวคือ สอนให้พิมพ์เขียวสามารถคอยจับจุดอันตรายด้วยตัวเอง

ผู้ช่วยที่สามารถคาดเดาไฟกระชากได้ล่วงหน้า 

ในอนาคตสำหรับการวัดแรงดันไฟฟ้าไปพร้อมกับสถานภาพจริงของชิปด้วยราคาที่ไม่แพงอาจไม่ไกลเกินเอื้อม และสิ่งที่เข้ามาช่วยตรงนี้ ก็คือ ปัญญาประดิษฐ์ (AI) ที่มีไอเดียสุดเจ๋งตรงที่ไม่มีการใช้เซ็นเซอร์แรงดันไฟฟ้าราคาแพงใดๆเลย

ด้วยชิปทุกวันนี้มีสายไฟเป็นล้านเส้น การที่จะไล่คำนวณไฟทุกเส้นทุกจังหวะคงไม่ไหว จึงมีเครื่องมือที่ชื่อว่า APOLLO โดยการนำ AI มาใช้เลือกดูแค่สายไฟที่สำคัญเท่านั้น ไปพร้อมกับการคาดเดาไฟฟ้าได้อย่างแม่นยำและรวดเร็ว ยิ่งไปกว่านั้นมันยังสามารถคาดคะเนไฟกระชาก (Power Spike)ได้ก่อนที่เหตุการณ์จะเกิดขึ้น ชิปจึงมีเวลาในการเตรียมรับมือได้ทัน ในอนาคตข้างหน้าเครื่องมือเหล่านี้จะคำนวนและประมวลผลด้วย AI ที่จะฉลาดและรวดเร็วขึ้นเรื่อยๆ จนวิศวกรสามารถตรวจจับไฟกระชากได้ตั้งแต่ตอนร่างแบบโดยไม่ต้องรอให้การออกแบบเสร็จสิ้น ซึ่งแนวคิดนี้กำลังแพร่ขยายจากซีพียูไปสู่ชิปแบบอื่นๆ โดยเฉพาะชิป AI ที่กินไฟมากกว่าเมื่อก่อน ในท้ายที่สุดของจุดมุ่งหมายนี้ คือ ชิปที่มีความสามารถในการรับรู้และจัดการพลังงาน ความร้อน ตลอดจนแรงดันของตัวมันเองได้ก่อนที่มันจะสายเกินไป 

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse varius enim in eros elementum tristique. Duis cursus, mi quis viverra ornare, eros dolor interdum nulla, ut commodo diam libero vitae erat. Aenean faucibus nibh et justo cursus id rutrum lorem imperdiet. Nunc ut sem vitae risus tristique posuere.

ดักไฟกระชากก่อนชิปไหม้: เขียน Verilog ให้รู้เรื่องพลังงานตั้งแต่ขั้นจำลอง

ดักไฟกระชากก่อนชิปไหม้: เขียน Verilog ให้รู้เรื่องพลังงานตั้งแต่ขั้นจำลอง

เรียนรู้วิธีที่ Verilog ซึ่งคำนึงถึงการใช้พลังงาน ช่วยตรวจจับการใช้พลังงานที่พุ่งสูงขึ้นอย่างผิดปกติตั้งแต่เนิ่นๆ

Lorem ipsum dolor amet consectetur adipiscing elit tortor massa arcu non.

ภายในชิปคอมพิวเตอร์เต็มไปด้วยสายโลหะขนาดเล็กจิ๋วนับล้านเส้น มีไฟฟ้าวิ่งอยู่ตลอดเวลา ส่วนใหญ่มันก็ไหลไปเรื่อยๆ ไม่มีปัญหาใดๆ ปัญหาจะเกิดตอนที่วงจรเป็นล้านจุดเปลี่ยนสถานะพร้อมกันในชั่วพริบตา ไฟถูกกระชากไปใช้มหาศาลในเวลาแค่เสี้ยววินาที จังหวะสั้นๆ แบบนี้แหละที่ทำลายชิปได้ เรื่องนี้จึงเป็นเรื่องที่สำคัญเพราะถ้าขืนปล่อยให้ชิปผลิตออกมาแล้ว มันไม่สามารถแก้ไขได้ ต้องหล่อใหม่ทั้งแผ่นซึ่งราคาแพงมหาศาลและกินเวลาเป็นเดือน วิศวกรจึงอยากตรวจจับไฟกระชากให้เจอตั้งแต่ตอนที่ชิปยังเป็นแค่แบบในคอมพิวเตอร์

ทำไมชิปถึงพัง 

ไฟฟ้าในชิปต้องวิ่งผ่านสายโลหะที่เล็กกว่าเส้นผมหลายเท่า ถ้าไฟแรงเกินไป ความร้อนจะค่อยๆ ดันอะตอมของโลหะให้หลุดออกแล้วไหลไปตามกระแส นานวันเข้าบางจุดอะตอมพร่องจนเกิดรูโหว่แล้วสายขาด บางจุดอะตอมไปกองพอกจนสายแตะกันเกิดไฟลัด ปรากฏการณ์นี้ชื่อ Electromigration พูดง่ายๆ คือยิ่งกระแสหนาแน่นและยิ่งร้อน สายไฟก็ยิ่งเสียไวหรืออาจจะขาดหรือลัดวงจรได้

แต่จุดที่คนพลาดกันบ่อยคือไปดูแค่ค่าไฟเฉลี่ย ไฟเฉลี่ยทั้งวันอาจต่ำมาก แต่ถ้ามีจุดพีคที่พุ่งแรงแค่ชั่วขณะเดียว โลหะก็หลอมเฉพาะจุดและพังได้ทันที เหมือนท่อน้ำเส้นเล็ก น้ำไหลเอื่อยทั้งวันไม่เป็นไร แต่อัดน้ำแรงสุดเข้าไปแวบเดียวท่อก็แตก

ไฟกระชากมาจากไหน

ลองนึกถึงคนทั้งตึกกดชักโครกพร้อมกัน น้ำอ่อนแรงลงทันที ในชิปก็เป็นแบบนั้น เวลาวงจรเป็นล้านจุด สลับ 0 กับ 1 พร้อมกันในจังหวะเดียว มันดึงไฟก้อนโตแบบฉับพลัน บางทีชิปกำลังพักอยู่เฉยๆ แล้วโดนสั่งให้คำนวณหนักทันที ความต้องการไฟกระโดดขึ้นเป็นร้อยวัตต์ในเวลาราว 1ใน 1,000 ล้านวินาที พอดึงไฟเร็วขนาดนั้น แรงดันก็ตกฮวบตามไม่ทัน อาการนี้เรียกว่า Power Droop พอแรงดันตก วงจรทำงานช้าลงและคำนวณพลาดได้

แต่อาการแบบนี้เกิดแวบเดียวแล้วหาย ตามจับยากจนหลายครั้งดูเหมือนเป็นความผิดพลาดที่เกิดขึ้นมั่วๆ หาสาเหตุไม่เจอ ทั้งที่จริงแล้วเป็นปัญหาในการออกแบบ ดังเช่น ในการวิจัยของนักวิจัยกลุ่มหนึ่ง (Polian กับทีม) คิดวิธีจับมันแบบตรงไปตรงมา จงใจสร้างจังหวะที่ว่านั่นขึ้นมาเอง ทำให้วงจรพักก่อน แล้วสั่งให้ทุกอย่างทำงานพร้อมกันทันที เพื่อบีบไฟกระชากออกมาให้เห็นกับตา ชิปตัวไหนทนไม่ไหวก็สามารถรู้ได้ตรงนั้น ดีกว่าไปพังตอนผู้ใช้เอาไปใช้จริง

มองให้เห็นไฟ ด้วย VCD  

แล้วจะเห็นไฟกระชากได้อย่างไรในเมื่อชิปยังไม่เกิด คำตอบง่ายมากคือ การจำลองมันในคอมพิวเตอร์ก่อน แล้วบันทึกไว้ว่าสายเส้นไหนขยับตอนไหน ไฟล์บันทึกนี้ชื่อ VCD มันเก็บทุกการเปลี่ยนค่าพร้อมมีเวลากำกับ เอาไปป้อนให้โปรแกรมคำนวณไฟฟ้าต่อได้

Gil Shomron วิศวกรคนหนึ่งเล่าประสบการณ์ตอนทำวงจรคูณเลข เครื่องมือที่เขาใช้ในตอนแรกสำหรับการคาดเดาพลังงานจากค่าเฉลี่ยรวมของทั้งวงจร ซึ่งค่อนข้างหยาบ ข้อมูลที่เขาป้อนมีเลข 0 อยู่เยอะ ซึ่งควรกินไฟน้อย แต่ค่าเฉลี่ยมองไม่เห็นความต่างนี้เลย พอเปลี่ยนมาใช้ VCD ที่จดละเอียดทีละสายทีละจังหวะ ภาพจริงจึงโผล่ออกมาว่า ไฟไปกระจุกตรงบริเวณไหน

เขียนกฎดักจับลงในโค้ด Verilog  

ชิปถูกเขียนขึ้นด้วยภาษาชื่อ Verilog เทียบได้กับพิมพ์เขียว ข้อดี คือ เราฝังกฎเตือนเล็กๆ ลงไปในพิมพ์เขียวได้ มันชื่อว่า Assertion ทำงานเหมือนสัญญาณกันขโมย ในขั้นตอนการจำลอง ตั้งกฎไว้ว่าอะไรที่ไม่ควรเกิด พอมันเกิดปุ๊บก็ร้องเตือนปั๊บ 

งานวิจัยจาก IJERT ทดลองกับวงจรส่งข้อมูล TCP/IP กฎของระบบบอกว่า ในหนึ่งจังหวะนาฬิกาต้องมีสัญญาณทำงานได้แค่ตัวเดียว แต่ดีไซน์เก่ากลับมีหลายตัวเด้งขึ้นพร้อมกัน นั่นแหละคือ ฉากที่ไฟถูกกระชาก Assertion จับเหตุการณ์นี้ได้ตั้งแต่ตอนจำลอง วิศวกรเลยตามไปแก้โค้ดให้มันทำงานทีละตัวตามกฎ ผลลัพธ์คือ ไฟที่สิ้นเปลืองในส่วนนี้ลดลงถึง 66% โดยที่ยังไม่ได้หล่อชิปจริงสักตัว

เหตุผลที่ต้องรีบตรวจจับตั้งแต่ตอนนี้ เพราะเมื่อยิ่งปล่อยให้ดีไซน์เดินหน้าไปไกล มันยิ่งซับซ้อนและแก้ยากขึ้นเรื่อยๆ การชี้จุดผิดตั้งแต่ยังเป็นโค้ดจึงมีข้อดี ทั้งถูกและง่ายที่สุด นี่แหละคือจุดมุ่งหมายของการเขียน Verilog ให้จัดการกับไฟฟ้า กล่าวคือ สอนให้พิมพ์เขียวสามารถคอยจับจุดอันตรายด้วยตัวเอง

ผู้ช่วยที่สามารถคาดเดาไฟกระชากได้ล่วงหน้า 

ในอนาคตสำหรับการวัดแรงดันไฟฟ้าไปพร้อมกับสถานภาพจริงของชิปด้วยราคาที่ไม่แพงอาจไม่ไกลเกินเอื้อม และสิ่งที่เข้ามาช่วยตรงนี้ ก็คือ ปัญญาประดิษฐ์ (AI) ที่มีไอเดียสุดเจ๋งตรงที่ไม่มีการใช้เซ็นเซอร์แรงดันไฟฟ้าราคาแพงใดๆเลย

ด้วยชิปทุกวันนี้มีสายไฟเป็นล้านเส้น การที่จะไล่คำนวณไฟทุกเส้นทุกจังหวะคงไม่ไหว จึงมีเครื่องมือที่ชื่อว่า APOLLO โดยการนำ AI มาใช้เลือกดูแค่สายไฟที่สำคัญเท่านั้น ไปพร้อมกับการคาดเดาไฟฟ้าได้อย่างแม่นยำและรวดเร็ว ยิ่งไปกว่านั้นมันยังสามารถคาดคะเนไฟกระชาก (Power Spike)ได้ก่อนที่เหตุการณ์จะเกิดขึ้น ชิปจึงมีเวลาในการเตรียมรับมือได้ทัน ในอนาคตข้างหน้าเครื่องมือเหล่านี้จะคำนวนและประมวลผลด้วย AI ที่จะฉลาดและรวดเร็วขึ้นเรื่อยๆ จนวิศวกรสามารถตรวจจับไฟกระชากได้ตั้งแต่ตอนร่างแบบโดยไม่ต้องรอให้การออกแบบเสร็จสิ้น ซึ่งแนวคิดนี้กำลังแพร่ขยายจากซีพียูไปสู่ชิปแบบอื่นๆ โดยเฉพาะชิป AI ที่กินไฟมากกว่าเมื่อก่อน ในท้ายที่สุดของจุดมุ่งหมายนี้ คือ ชิปที่มีความสามารถในการรับรู้และจัดการพลังงาน ความร้อน ตลอดจนแรงดันของตัวมันเองได้ก่อนที่มันจะสายเกินไป 

Related articles