การวิเคราะห์เวลาคงที่: การเจาะลึกยิ่งขึ้น

บทความนี้จะช่วยให้ผู้อ่านเข้าใจและชื่นชมศิลปะแห่งการจับเวลาในวงจรดิจิทัล

การวิเคราะห์เวลาคงที่: การเจาะลึกยิ่งขึ้น

บทความจำนวนมากอธิบายถึงการตรวจสอบข้อจำกัดที่เกี่ยวข้องกับ STA (การตรวจสอบการตั้งค่า การตรวจสอบการคงค่า ความกว้างพัลส์ขั้นต่ำ ฯลฯ) โดยผมจะเน้นอธิบายลักษณะที่แท้จริงของ STA รวมถึงวิธีการและเวลาที่ต้องนำไปใช้ในระหว่างการออกแบบชิป

วงจรดิจิทัลเชิงฟังก์ชันคือวงจรที่ข้อมูลมาถึงและถูกเก็บรวบรวม ณ เวลาที่ต้องการ เทคนิคการตรวจสอบความถูกต้องของเวลาของสัญญาณโดยการวิเคราะห์เส้นทางที่เป็นไปได้ทั้งหมดอย่างครอบคลุม โดยไม่ขึ้นกับเวกเตอร์ทดสอบอินพุตของวงจรดิจิทัล เรียกว่า การวิเคราะห์เวลาแบบคงที่ (Static Timing Analysis: STA)

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

  1. การวิเคราะห์จะดำเนินการแบบคงที่โดยไม่ขึ้นอยู่กับการกระตุ้นอินพุต ทำให้สามารถวิเคราะห์เส้นทางเวลาของวงจรดิจิทัลที่ซับซ้อนซึ่งประกอบด้วยเกต 10–100 ล้านเกตได้รวดเร็วยิ่งขึ้น และสร้างรายงานเวลาได้ทันที
  2. ระบบจะพิจารณาเงื่อนไขกรณีที่เลวร้ายที่สุดที่สอดคล้องกับเส้นทางการกำหนดเวลา โดยคำนึงถึงความล่าช้าที่เกี่ยวข้องกับเซลล์และเครือข่าย รวมถึงรอบสัญญาณนาฬิกา เวลาที่สัญญาณมาถึง และเวลามาถึงที่ต้องการเป็นอินพุตเพื่อตรวจสอบข้อจำกัด
  3. บางครั้ง STA ถือเป็นการมองโลกในแง่ร้าย เนื่องจากพิจารณาถึงระยะเวลาการแพร่กระจายและการเปลี่ยนแปลงในกรณีที่เลวร้ายที่สุด ซึ่งทำให้ผู้ออกแบบทางกายภาพมีเวลาจำนวนหนึ่งในการตรวจสอบวงจร
  4. เครื่องมือ STA คำนวณ Slack = เวลาที่มาถึงคำขอ (RAT) - เวลาที่มาถึงจริง (AAT) โดยการติดตามเส้นทางวิกฤตทั้งหมดที่รับผิดชอบต่อการละเมิดเวลา
  5. STA เป็นเสาหลักใน “การปิดจังหวะเวลา” ซึ่งเป็นหนึ่งในขั้นตอนในการออกแบบทางกายภาพ การปรับจังหวะเวลาให้เหมาะสมที่สุดจะดำเนินการกับวงจรโดยอิงตามรายงานจังหวะเวลาที่สร้างโดยเครื่องมือ STA เส้นทางต่างๆ จะถูกเรียกว่าตอบสนองจังหวะเวลาเมื่อมีช่วงว่างเป็นบวกและการออกแบบมีการปิดจังหวะเวลา
  6. STA ไม่ได้ตรวจสอบการทำงานของวงจรดิจิทัล ดังนั้นอินพุตจึงมีเพียงวงจรที่ถูกต้องตามหลักตรรกะหรือฟังก์ชันเท่านั้น มิฉะนั้น การวิเคราะห์จะซับซ้อนและให้ผลลัพธ์ที่ไม่ถูกต้อง
  7. ตามหลักการแล้ว STA จะทำการคำนวณโดยพิจารณาจากรอบสัญญาณนาฬิกาหนึ่งรอบ สภาพแวดล้อมการทำงานของ STA จะต้องได้รับการกำหนดไว้อย่างแม่นยำเพื่อวิเคราะห์การละเมิดเวลาทั้งหมดได้อย่างแม่นยำ สภาพแวดล้อมนี้ต้องประกอบด้วยคำจำกัดความของสัญญาณนาฬิกา (คาบ, แหล่งสัญญาณนาฬิกา, รอบการทำงาน, ออฟเซ็ต ฯลฯ), เงื่อนไขการทำงาน (PVT: ดีที่สุด, ทั่วไป และแย่ที่สุด), โดเมนสัญญาณนาฬิกาหลายโดเมน, การกำหนดเวลา IO, เส้นทางสัญญาณนาฬิกาแบบเกต, ข้อผิดพลาด, อะซิงโครนัส และหลายรอบ
  8. STA สามารถพิสูจน์ผลลัพธ์ที่ถูกต้องได้ก็ต่อเมื่อเส้นทางนั้นถูกพิจารณาว่า "ถูกต้อง" เท่านั้น เส้นทางในวงจรไม่ได้ถูกต้องตามหลักตรรกะทั้งหมด วงจรอาจมีเส้นทางที่ผิดพลาดและเส้นทางหลายรอบ เส้นทางที่ผิดพลาดตามหลักตรรกะหรือเส้นทางที่ไม่ได้ส่งข้อมูลใดๆ เรียกว่าเส้นทางที่ผิดพลาด ในขณะที่เส้นทางที่ใช้เวลามากกว่าหนึ่งรอบสัญญาณนาฬิกาในการส่งสัญญาณเรียกว่าเส้นทางหลายรอบ STA ไม่ทราบว่าเส้นทางใดไม่ถูกต้อง ดังนั้นนักออกแบบจึงต้องแจ้งให้ STA ทราบอย่างชัดเจนว่าเส้นทางใดผิดพลาดและเส้นทางใดเป็นแบบหลายรอบเพื่อให้ได้ข้อมูลเวลาที่ถูกต้อง

STA จะดำเนินการเมื่อใดในขั้นตอนการออกแบบ?

การดำเนินการนี้เกิดขึ้นเฉพาะในช่วงปิดเวลาของกระบวนการออกแบบทางกายภาพเท่านั้นหรือ? จริงๆ แล้วไม่เลย! การตรวจสอบเวลาได้รับการตรวจสอบในทุกขั้นตอนการออกแบบหรือทุกระดับนามธรรมในขั้นตอนการออกแบบ ข้อมูลทั้งหมดที่จำเป็นสำหรับการประเมินความล่าช้านั้นไม่มีอยู่ในขั้นตอนการออกแบบก่อนหน้า ดังนั้น STA จึงถูกดำเนินการหลังจากแต่ละระดับเพื่อตรวจสอบเวลาและค้นหาเส้นทางวิกฤตที่ทำให้เกิดการละเมิด ผมได้จัดทำภาพโดยละเอียดของขั้นตอนการออกแบบวงจร VLSI และตำแหน่งที่ดำเนินการ STA โดยอ้างอิงจากข้อกำหนดของเน็ตลิสต์

กระบวนการออกแบบวงจร VLSI และการวิเคราะห์ STA
  1. ในการออกแบบ RTL ไม่มีข้อมูลเวลาที่ต้องการ ฟังก์ชันการทำงานของวงจรจะได้รับการตรวจสอบในขั้นตอนนี้
  2. เมื่อสังเคราะห์เน็ตลิสต์ระดับเกตจากการออกแบบ RTL แล้ว STA จะเริ่มทำงาน ณ ที่นี้ เรามีข้อมูลอย่างน้อยเกี่ยวกับความล่าช้าของเซลล์ ช่วงเวลาที่เกี่ยวข้องกับฟลิปฟล็อปและเซลล์มาตรฐาน เช่น การแพร่กระจาย และความล่าช้าจากการปนเปื้อน รวมถึงรอบสัญญาณนาฬิกา ดังนั้นจึงสามารถตั้งค่าพื้นฐานและตรวจสอบการพักสัญญาณได้
  3. ก่อนการเพิ่มประสิทธิภาพเชิงตรรกะ จะต้องดำเนินการ STA เพื่อกำหนดเส้นทางวิกฤตและกรณีที่เลวร้ายที่สุดหรือเวลาแฝงโดยรวม
  4. หลังจากทำการเพิ่มประสิทธิภาพตรรกะแล้ว จะดำเนินการ STA เพื่อค้นหาการละเมิดเวลาแม้หลังจากทำการเพิ่มประสิทธิภาพวงจรแล้ว
  5. จนถึงจุดนี้ ความล่าช้าสุทธิจะถือว่าเป็นศูนย์ หรืออาจใช้แบบจำลองโหลดสายเพื่อประมาณความล่าช้าสุทธิได้ในระดับหนึ่ง
  6. การใช้งานจริงทางกายภาพของวงจรดิจิทัล เซลล์ โมดูล มาโคร ฯลฯ เชื่อมโยงกันด้วยรอยโลหะ การเชื่อมต่อโลหะเหล่านี้ก่อให้เกิดความล่าช้าในการเชื่อมต่อ (ความล่าช้าของตัวต้านทานและตัวเก็บประจุ: ความล่าช้าของ RC) ซึ่งเป็นข้อกังวลหลักในเทคโนโลยีระดับไมโคร ความล่าช้านี้ขึ้นอยู่กับปัจจัยหลายประการในการออกแบบทางกายภาพ ซึ่งรวมถึงความยาวของสาย ประเภทของการเดินสาย ปัจจัยความสำคัญของกริด ตำแหน่งของเซลล์และโมดูล และรูปแบบการเชื่อมต่อที่ใช้
  7. ก่อนการกำหนดเส้นทางสัญญาณ ความล่าช้าในการเชื่อมต่อสามารถประมาณคร่าวๆ ได้จากการกำหนดเส้นทางทั่วโลก อย่างไรก็ตาม เนื่องจากไม่มีข้อมูลการกำหนดเส้นทางโดยละเอียด จึงไม่สามารถระบุเอฟเฟกต์การจับคู่ของสัญญาณใกล้เคียงได้
  8. ยิ่งไปกว่านั้น จนถึงจุดนี้ แหล่งกำเนิดสัญญาณนาฬิกาถือว่าเหมาะสมที่สุด และไม่มีการพิจารณาความเบี่ยงเบน/ความคลาดเคลื่อนของสัญญาณนาฬิกา หลังจากสังเคราะห์โครงสร้างสัญญาณนาฬิกาในการออกแบบทางกายภาพแล้ว จะสามารถหาค่าประมาณที่แท้จริงของความล่าช้าในการแพร่กระจายสัญญาณนาฬิกาได้ STA จะดำเนินการโดยคำนึงถึงความผันแปรเชิงพื้นที่และเวลาของสัญญาณนาฬิกา
  9. สามารถรับค่า RC delay จริงได้หลังจากดำเนินการกำหนดเส้นทางโดยละเอียดแล้วเท่านั้น เครื่องมือสกัดข้อมูล (Extraction Tools) ใช้เพื่อสกัดค่า RC ปรสิตโดยละเอียดจากการออกแบบวงจรกำหนดเส้นทางสัญญาณ กระบวนการนี้เป็นกระบวนการแบบวนซ้ำ ซึ่งสามารถหาค่าที่แม่นยำได้โดยการเพิ่มเวลาทำงาน
  10. ในที่สุด ปัญหาความสมบูรณ์ของสัญญาณ เช่น เอฟเฟกต์การเชื่อมโยงระหว่างสัญญาณและครอสทอล์ค จะถูกจำลองเพื่อนำ STA ไปใช้

ตอนนี้เรารู้แล้วว่าต้องพิจารณาอะไรและเมื่อใดจึงจะดำเนินการ STA เราจะเจาะลึกลงไปว่าจะนำสิ่งเหล่านี้ไปรวมเข้ากับการดำเนินการ STA ได้อย่างไร

STA สามารถรับข้อมูลที่จำเป็นได้อย่างไร?

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

  1. การออกแบบวงจร เช่น เน็ตลิสต์ระดับเกต จะแสดงเป็นสคริปต์ข้อความ Verilog (.v) หรือ VHDL หรือเป็นไฟล์ไลบรารี-ฐานข้อมูล (.db)
  2. ไลบรารีเวลาให้ข้อมูลสำคัญที่ STA ต้องการ โดยทั่วไปจะอยู่ในไฟล์ Free Timing File (.lib) ไลบรารีนี้กำหนดหลายแง่มุม เช่น โดเมนสัญญาณนาฬิกา, สภาวะการทำงาน, แบบจำลองเวลา, การลดอัตราสัญญาณนาฬิกา, เกณฑ์, ความล่าช้าในการแพร่กระจาย, แบบจำลองสัญญาณรบกวน, แบบจำลองการกระจายพลังงาน, คุณสมบัติต่างๆ ที่เกี่ยวข้องกับไลบรารีเซลล์, ปรสิตในการเชื่อมต่อ, แง่มุมความสมบูรณ์ของสัญญาณ เช่น สัญญาณรบกวนข้ามสัญญาณและข้อผิดพลาด, สภาพแวดล้อมการออกแบบ เช่น การกำหนดสัญญาณนาฬิกา, การกำหนดเวลา IO, เส้นทางเท็จ ฯลฯ
  3. ข้อมูลเวลาและความล่าช้าของวงจรแสดงอยู่ในไฟล์ข้อความ ASCII มาตรฐาน IEEE ที่เรียกว่า Standard Delay Format (SDF) และสร้างขึ้นหลังจากคอมไพล์แบบแล้ว ไฟล์นี้ประกอบด้วยข้อมูลเวลาสำหรับคำอธิบายประกอบทั้งแบบเดินหน้าและถอยหลัง รายละเอียดบางส่วนในไฟล์ SDF ได้แก่ ความล่าช้าของเซลล์ การตรวจสอบเวลา การแพร่กระจายพัลส์ ความล่าช้าของการเชื่อมต่อ ฯลฯ
  4. ค่าปรสิตที่แม่นยำและละเอียดสามารถหาได้หลังจากการวางตำแหน่งและกำหนดเส้นทางสัญญาณเท่านั้น เครื่องมือสกัดปรสิตจะแยกค่า R, L และ C บางครั้งเครื่องมือวางตำแหน่งและกำหนดเส้นทางก็ทำเช่นนี้เช่นกัน และจะถูกเก็บไว้ใน Standard Parasitic Exchange Format (SPEF) มีโมเดลต่างๆ ที่ใช้แสดงปรสิตในการเชื่อมต่อ SPEF ส่วนใหญ่จะรองรับโมเดลตัวเก็บประจุแบบรวมศูนย์ โมเดลเครือข่ายแบบกระจาย และโมเดลเครือข่ายแบบลดขนาด นอกจากนี้ ปรสิตยังขึ้นอยู่กับกระบวนการ: กรณีที่ดีที่สุด ปกติ และกรณีที่แย่ที่สุด รูปแบบไฟล์อื่นๆ ได้แก่ SBPF และ RSPF
  5. สุดท้าย ข้อจำกัดด้านเวลาในการออกแบบจะถูกกำหนดเป็นข้อจำกัดด้านการออกแบบ (SDC) ของ Synopsys ซึ่งขยายออกไปเพื่อให้มีกำลังการออกแบบและข้อจำกัดด้านพื้นที่

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

  1. ตำแหน่งไดรฟ์กำหนดเวลา - ลดความล่าช้าของสัญญาณโดยการวางส่วนประกอบวงจร
  2. การกำหนดเส้นทางสัญญาณตามเวลา - ลดเวลาแฝงของสัญญาณโดยการระบุเส้นทางและโครงสร้างการกำหนดเส้นทาง
  3. การสังเคราะห์ทางกายภาพ - ปรับปรุงเวลาแฝงโดยการปรับเปลี่ยนการออกแบบเน็ตลิสต์

บทสรุป:

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

ที่สำคัญยิ่งกว่านั้น STA แบบดั้งเดิมไม่สามารถต้านทานความแปรผันของกระบวนการที่เกิดจากสภาพแวดล้อม แหล่งจ่ายไฟ อุณหภูมิ อายุการใช้งาน ฯลฯ ความแปรผันของกระบวนการทำให้การวิเคราะห์มีความซับซ้อนและยากขึ้นเนื่องจากมีความสุ่มสูง ในการจัดการความแปรผันของกระบวนการ ความล่าช้าของเกตและความล่าช้าสุทธิจะถูกจำลองโดยใช้ความแปรผันแบบสุ่มและแสดงเป็นการแจกแจงความน่าจะเป็น ตัวอย่างเช่น แบบจำลองการแจกแจงความล่าช้าที่ใช้กันอย่างแพร่หลายที่สุดคือการแจกแจงแบบปกติหรือแบบเกาส์เซียน STA ทั่วไปนี้เรียกว่า STA เชิงสถิติ (Statistical STA: SSTA) ซึ่งกำลังได้รับความนิยมเพิ่มขึ้นในการออกแบบขั้นสูงเนื่องจากความแปรผันของโหนดเทคโนโลยีระดับซับไมครอน

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

ผลิตภัณฑ์
September 17, 2025

การวิเคราะห์เวลาคงที่: การเจาะลึกยิ่งขึ้น

บทความนี้จะช่วยให้ผู้อ่านเข้าใจและชื่นชมศิลปะแห่งการจับเวลาในวงจรดิจิทัล

นักเขียนบทความ
by 
นักเขียนบทความ
การวิเคราะห์เวลาคงที่: การเจาะลึกยิ่งขึ้น

การวิเคราะห์เวลาคงที่: การเจาะลึกยิ่งขึ้น

บทความนี้จะช่วยให้ผู้อ่านเข้าใจและชื่นชมศิลปะแห่งการจับเวลาในวงจรดิจิทัล

บทความจำนวนมากอธิบายถึงการตรวจสอบข้อจำกัดที่เกี่ยวข้องกับ STA (การตรวจสอบการตั้งค่า การตรวจสอบการคงค่า ความกว้างพัลส์ขั้นต่ำ ฯลฯ) โดยผมจะเน้นอธิบายลักษณะที่แท้จริงของ STA รวมถึงวิธีการและเวลาที่ต้องนำไปใช้ในระหว่างการออกแบบชิป

วงจรดิจิทัลเชิงฟังก์ชันคือวงจรที่ข้อมูลมาถึงและถูกเก็บรวบรวม ณ เวลาที่ต้องการ เทคนิคการตรวจสอบความถูกต้องของเวลาของสัญญาณโดยการวิเคราะห์เส้นทางที่เป็นไปได้ทั้งหมดอย่างครอบคลุม โดยไม่ขึ้นกับเวกเตอร์ทดสอบอินพุตของวงจรดิจิทัล เรียกว่า การวิเคราะห์เวลาแบบคงที่ (Static Timing Analysis: STA)

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

  1. การวิเคราะห์จะดำเนินการแบบคงที่โดยไม่ขึ้นอยู่กับการกระตุ้นอินพุต ทำให้สามารถวิเคราะห์เส้นทางเวลาของวงจรดิจิทัลที่ซับซ้อนซึ่งประกอบด้วยเกต 10–100 ล้านเกตได้รวดเร็วยิ่งขึ้น และสร้างรายงานเวลาได้ทันที
  2. ระบบจะพิจารณาเงื่อนไขกรณีที่เลวร้ายที่สุดที่สอดคล้องกับเส้นทางการกำหนดเวลา โดยคำนึงถึงความล่าช้าที่เกี่ยวข้องกับเซลล์และเครือข่าย รวมถึงรอบสัญญาณนาฬิกา เวลาที่สัญญาณมาถึง และเวลามาถึงที่ต้องการเป็นอินพุตเพื่อตรวจสอบข้อจำกัด
  3. บางครั้ง STA ถือเป็นการมองโลกในแง่ร้าย เนื่องจากพิจารณาถึงระยะเวลาการแพร่กระจายและการเปลี่ยนแปลงในกรณีที่เลวร้ายที่สุด ซึ่งทำให้ผู้ออกแบบทางกายภาพมีเวลาจำนวนหนึ่งในการตรวจสอบวงจร
  4. เครื่องมือ STA คำนวณ Slack = เวลาที่มาถึงคำขอ (RAT) - เวลาที่มาถึงจริง (AAT) โดยการติดตามเส้นทางวิกฤตทั้งหมดที่รับผิดชอบต่อการละเมิดเวลา
  5. STA เป็นเสาหลักใน “การปิดจังหวะเวลา” ซึ่งเป็นหนึ่งในขั้นตอนในการออกแบบทางกายภาพ การปรับจังหวะเวลาให้เหมาะสมที่สุดจะดำเนินการกับวงจรโดยอิงตามรายงานจังหวะเวลาที่สร้างโดยเครื่องมือ STA เส้นทางต่างๆ จะถูกเรียกว่าตอบสนองจังหวะเวลาเมื่อมีช่วงว่างเป็นบวกและการออกแบบมีการปิดจังหวะเวลา
  6. STA ไม่ได้ตรวจสอบการทำงานของวงจรดิจิทัล ดังนั้นอินพุตจึงมีเพียงวงจรที่ถูกต้องตามหลักตรรกะหรือฟังก์ชันเท่านั้น มิฉะนั้น การวิเคราะห์จะซับซ้อนและให้ผลลัพธ์ที่ไม่ถูกต้อง
  7. ตามหลักการแล้ว STA จะทำการคำนวณโดยพิจารณาจากรอบสัญญาณนาฬิกาหนึ่งรอบ สภาพแวดล้อมการทำงานของ STA จะต้องได้รับการกำหนดไว้อย่างแม่นยำเพื่อวิเคราะห์การละเมิดเวลาทั้งหมดได้อย่างแม่นยำ สภาพแวดล้อมนี้ต้องประกอบด้วยคำจำกัดความของสัญญาณนาฬิกา (คาบ, แหล่งสัญญาณนาฬิกา, รอบการทำงาน, ออฟเซ็ต ฯลฯ), เงื่อนไขการทำงาน (PVT: ดีที่สุด, ทั่วไป และแย่ที่สุด), โดเมนสัญญาณนาฬิกาหลายโดเมน, การกำหนดเวลา IO, เส้นทางสัญญาณนาฬิกาแบบเกต, ข้อผิดพลาด, อะซิงโครนัส และหลายรอบ
  8. STA สามารถพิสูจน์ผลลัพธ์ที่ถูกต้องได้ก็ต่อเมื่อเส้นทางนั้นถูกพิจารณาว่า "ถูกต้อง" เท่านั้น เส้นทางในวงจรไม่ได้ถูกต้องตามหลักตรรกะทั้งหมด วงจรอาจมีเส้นทางที่ผิดพลาดและเส้นทางหลายรอบ เส้นทางที่ผิดพลาดตามหลักตรรกะหรือเส้นทางที่ไม่ได้ส่งข้อมูลใดๆ เรียกว่าเส้นทางที่ผิดพลาด ในขณะที่เส้นทางที่ใช้เวลามากกว่าหนึ่งรอบสัญญาณนาฬิกาในการส่งสัญญาณเรียกว่าเส้นทางหลายรอบ STA ไม่ทราบว่าเส้นทางใดไม่ถูกต้อง ดังนั้นนักออกแบบจึงต้องแจ้งให้ STA ทราบอย่างชัดเจนว่าเส้นทางใดผิดพลาดและเส้นทางใดเป็นแบบหลายรอบเพื่อให้ได้ข้อมูลเวลาที่ถูกต้อง

STA จะดำเนินการเมื่อใดในขั้นตอนการออกแบบ?

การดำเนินการนี้เกิดขึ้นเฉพาะในช่วงปิดเวลาของกระบวนการออกแบบทางกายภาพเท่านั้นหรือ? จริงๆ แล้วไม่เลย! การตรวจสอบเวลาได้รับการตรวจสอบในทุกขั้นตอนการออกแบบหรือทุกระดับนามธรรมในขั้นตอนการออกแบบ ข้อมูลทั้งหมดที่จำเป็นสำหรับการประเมินความล่าช้านั้นไม่มีอยู่ในขั้นตอนการออกแบบก่อนหน้า ดังนั้น STA จึงถูกดำเนินการหลังจากแต่ละระดับเพื่อตรวจสอบเวลาและค้นหาเส้นทางวิกฤตที่ทำให้เกิดการละเมิด ผมได้จัดทำภาพโดยละเอียดของขั้นตอนการออกแบบวงจร VLSI และตำแหน่งที่ดำเนินการ STA โดยอ้างอิงจากข้อกำหนดของเน็ตลิสต์

กระบวนการออกแบบวงจร VLSI และการวิเคราะห์ STA
  1. ในการออกแบบ RTL ไม่มีข้อมูลเวลาที่ต้องการ ฟังก์ชันการทำงานของวงจรจะได้รับการตรวจสอบในขั้นตอนนี้
  2. เมื่อสังเคราะห์เน็ตลิสต์ระดับเกตจากการออกแบบ RTL แล้ว STA จะเริ่มทำงาน ณ ที่นี้ เรามีข้อมูลอย่างน้อยเกี่ยวกับความล่าช้าของเซลล์ ช่วงเวลาที่เกี่ยวข้องกับฟลิปฟล็อปและเซลล์มาตรฐาน เช่น การแพร่กระจาย และความล่าช้าจากการปนเปื้อน รวมถึงรอบสัญญาณนาฬิกา ดังนั้นจึงสามารถตั้งค่าพื้นฐานและตรวจสอบการพักสัญญาณได้
  3. ก่อนการเพิ่มประสิทธิภาพเชิงตรรกะ จะต้องดำเนินการ STA เพื่อกำหนดเส้นทางวิกฤตและกรณีที่เลวร้ายที่สุดหรือเวลาแฝงโดยรวม
  4. หลังจากทำการเพิ่มประสิทธิภาพตรรกะแล้ว จะดำเนินการ STA เพื่อค้นหาการละเมิดเวลาแม้หลังจากทำการเพิ่มประสิทธิภาพวงจรแล้ว
  5. จนถึงจุดนี้ ความล่าช้าสุทธิจะถือว่าเป็นศูนย์ หรืออาจใช้แบบจำลองโหลดสายเพื่อประมาณความล่าช้าสุทธิได้ในระดับหนึ่ง
  6. การใช้งานจริงทางกายภาพของวงจรดิจิทัล เซลล์ โมดูล มาโคร ฯลฯ เชื่อมโยงกันด้วยรอยโลหะ การเชื่อมต่อโลหะเหล่านี้ก่อให้เกิดความล่าช้าในการเชื่อมต่อ (ความล่าช้าของตัวต้านทานและตัวเก็บประจุ: ความล่าช้าของ RC) ซึ่งเป็นข้อกังวลหลักในเทคโนโลยีระดับไมโคร ความล่าช้านี้ขึ้นอยู่กับปัจจัยหลายประการในการออกแบบทางกายภาพ ซึ่งรวมถึงความยาวของสาย ประเภทของการเดินสาย ปัจจัยความสำคัญของกริด ตำแหน่งของเซลล์และโมดูล และรูปแบบการเชื่อมต่อที่ใช้
  7. ก่อนการกำหนดเส้นทางสัญญาณ ความล่าช้าในการเชื่อมต่อสามารถประมาณคร่าวๆ ได้จากการกำหนดเส้นทางทั่วโลก อย่างไรก็ตาม เนื่องจากไม่มีข้อมูลการกำหนดเส้นทางโดยละเอียด จึงไม่สามารถระบุเอฟเฟกต์การจับคู่ของสัญญาณใกล้เคียงได้
  8. ยิ่งไปกว่านั้น จนถึงจุดนี้ แหล่งกำเนิดสัญญาณนาฬิกาถือว่าเหมาะสมที่สุด และไม่มีการพิจารณาความเบี่ยงเบน/ความคลาดเคลื่อนของสัญญาณนาฬิกา หลังจากสังเคราะห์โครงสร้างสัญญาณนาฬิกาในการออกแบบทางกายภาพแล้ว จะสามารถหาค่าประมาณที่แท้จริงของความล่าช้าในการแพร่กระจายสัญญาณนาฬิกาได้ STA จะดำเนินการโดยคำนึงถึงความผันแปรเชิงพื้นที่และเวลาของสัญญาณนาฬิกา
  9. สามารถรับค่า RC delay จริงได้หลังจากดำเนินการกำหนดเส้นทางโดยละเอียดแล้วเท่านั้น เครื่องมือสกัดข้อมูล (Extraction Tools) ใช้เพื่อสกัดค่า RC ปรสิตโดยละเอียดจากการออกแบบวงจรกำหนดเส้นทางสัญญาณ กระบวนการนี้เป็นกระบวนการแบบวนซ้ำ ซึ่งสามารถหาค่าที่แม่นยำได้โดยการเพิ่มเวลาทำงาน
  10. ในที่สุด ปัญหาความสมบูรณ์ของสัญญาณ เช่น เอฟเฟกต์การเชื่อมโยงระหว่างสัญญาณและครอสทอล์ค จะถูกจำลองเพื่อนำ STA ไปใช้

ตอนนี้เรารู้แล้วว่าต้องพิจารณาอะไรและเมื่อใดจึงจะดำเนินการ STA เราจะเจาะลึกลงไปว่าจะนำสิ่งเหล่านี้ไปรวมเข้ากับการดำเนินการ STA ได้อย่างไร

STA สามารถรับข้อมูลที่จำเป็นได้อย่างไร?

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

  1. การออกแบบวงจร เช่น เน็ตลิสต์ระดับเกต จะแสดงเป็นสคริปต์ข้อความ Verilog (.v) หรือ VHDL หรือเป็นไฟล์ไลบรารี-ฐานข้อมูล (.db)
  2. ไลบรารีเวลาให้ข้อมูลสำคัญที่ STA ต้องการ โดยทั่วไปจะอยู่ในไฟล์ Free Timing File (.lib) ไลบรารีนี้กำหนดหลายแง่มุม เช่น โดเมนสัญญาณนาฬิกา, สภาวะการทำงาน, แบบจำลองเวลา, การลดอัตราสัญญาณนาฬิกา, เกณฑ์, ความล่าช้าในการแพร่กระจาย, แบบจำลองสัญญาณรบกวน, แบบจำลองการกระจายพลังงาน, คุณสมบัติต่างๆ ที่เกี่ยวข้องกับไลบรารีเซลล์, ปรสิตในการเชื่อมต่อ, แง่มุมความสมบูรณ์ของสัญญาณ เช่น สัญญาณรบกวนข้ามสัญญาณและข้อผิดพลาด, สภาพแวดล้อมการออกแบบ เช่น การกำหนดสัญญาณนาฬิกา, การกำหนดเวลา IO, เส้นทางเท็จ ฯลฯ
  3. ข้อมูลเวลาและความล่าช้าของวงจรแสดงอยู่ในไฟล์ข้อความ ASCII มาตรฐาน IEEE ที่เรียกว่า Standard Delay Format (SDF) และสร้างขึ้นหลังจากคอมไพล์แบบแล้ว ไฟล์นี้ประกอบด้วยข้อมูลเวลาสำหรับคำอธิบายประกอบทั้งแบบเดินหน้าและถอยหลัง รายละเอียดบางส่วนในไฟล์ SDF ได้แก่ ความล่าช้าของเซลล์ การตรวจสอบเวลา การแพร่กระจายพัลส์ ความล่าช้าของการเชื่อมต่อ ฯลฯ
  4. ค่าปรสิตที่แม่นยำและละเอียดสามารถหาได้หลังจากการวางตำแหน่งและกำหนดเส้นทางสัญญาณเท่านั้น เครื่องมือสกัดปรสิตจะแยกค่า R, L และ C บางครั้งเครื่องมือวางตำแหน่งและกำหนดเส้นทางก็ทำเช่นนี้เช่นกัน และจะถูกเก็บไว้ใน Standard Parasitic Exchange Format (SPEF) มีโมเดลต่างๆ ที่ใช้แสดงปรสิตในการเชื่อมต่อ SPEF ส่วนใหญ่จะรองรับโมเดลตัวเก็บประจุแบบรวมศูนย์ โมเดลเครือข่ายแบบกระจาย และโมเดลเครือข่ายแบบลดขนาด นอกจากนี้ ปรสิตยังขึ้นอยู่กับกระบวนการ: กรณีที่ดีที่สุด ปกติ และกรณีที่แย่ที่สุด รูปแบบไฟล์อื่นๆ ได้แก่ SBPF และ RSPF
  5. สุดท้าย ข้อจำกัดด้านเวลาในการออกแบบจะถูกกำหนดเป็นข้อจำกัดด้านการออกแบบ (SDC) ของ Synopsys ซึ่งขยายออกไปเพื่อให้มีกำลังการออกแบบและข้อจำกัดด้านพื้นที่

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

  1. ตำแหน่งไดรฟ์กำหนดเวลา - ลดความล่าช้าของสัญญาณโดยการวางส่วนประกอบวงจร
  2. การกำหนดเส้นทางสัญญาณตามเวลา - ลดเวลาแฝงของสัญญาณโดยการระบุเส้นทางและโครงสร้างการกำหนดเส้นทาง
  3. การสังเคราะห์ทางกายภาพ - ปรับปรุงเวลาแฝงโดยการปรับเปลี่ยนการออกแบบเน็ตลิสต์

บทสรุป:

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

ที่สำคัญยิ่งกว่านั้น STA แบบดั้งเดิมไม่สามารถต้านทานความแปรผันของกระบวนการที่เกิดจากสภาพแวดล้อม แหล่งจ่ายไฟ อุณหภูมิ อายุการใช้งาน ฯลฯ ความแปรผันของกระบวนการทำให้การวิเคราะห์มีความซับซ้อนและยากขึ้นเนื่องจากมีความสุ่มสูง ในการจัดการความแปรผันของกระบวนการ ความล่าช้าของเกตและความล่าช้าสุทธิจะถูกจำลองโดยใช้ความแปรผันแบบสุ่มและแสดงเป็นการแจกแจงความน่าจะเป็น ตัวอย่างเช่น แบบจำลองการแจกแจงความล่าช้าที่ใช้กันอย่างแพร่หลายที่สุดคือการแจกแจงแบบปกติหรือแบบเกาส์เซียน STA ทั่วไปนี้เรียกว่า STA เชิงสถิติ (Statistical STA: SSTA) ซึ่งกำลังได้รับความนิยมเพิ่มขึ้นในการออกแบบขั้นสูงเนื่องจากความแปรผันของโหนดเทคโนโลยีระดับซับไมครอน

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.

การวิเคราะห์เวลาคงที่: การเจาะลึกยิ่งขึ้น

การวิเคราะห์เวลาคงที่: การเจาะลึกยิ่งขึ้น

บทความนี้จะช่วยให้ผู้อ่านเข้าใจและชื่นชมศิลปะแห่งการจับเวลาในวงจรดิจิทัล

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

บทความจำนวนมากอธิบายถึงการตรวจสอบข้อจำกัดที่เกี่ยวข้องกับ STA (การตรวจสอบการตั้งค่า การตรวจสอบการคงค่า ความกว้างพัลส์ขั้นต่ำ ฯลฯ) โดยผมจะเน้นอธิบายลักษณะที่แท้จริงของ STA รวมถึงวิธีการและเวลาที่ต้องนำไปใช้ในระหว่างการออกแบบชิป

วงจรดิจิทัลเชิงฟังก์ชันคือวงจรที่ข้อมูลมาถึงและถูกเก็บรวบรวม ณ เวลาที่ต้องการ เทคนิคการตรวจสอบความถูกต้องของเวลาของสัญญาณโดยการวิเคราะห์เส้นทางที่เป็นไปได้ทั้งหมดอย่างครอบคลุม โดยไม่ขึ้นกับเวกเตอร์ทดสอบอินพุตของวงจรดิจิทัล เรียกว่า การวิเคราะห์เวลาแบบคงที่ (Static Timing Analysis: STA)

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

  1. การวิเคราะห์จะดำเนินการแบบคงที่โดยไม่ขึ้นอยู่กับการกระตุ้นอินพุต ทำให้สามารถวิเคราะห์เส้นทางเวลาของวงจรดิจิทัลที่ซับซ้อนซึ่งประกอบด้วยเกต 10–100 ล้านเกตได้รวดเร็วยิ่งขึ้น และสร้างรายงานเวลาได้ทันที
  2. ระบบจะพิจารณาเงื่อนไขกรณีที่เลวร้ายที่สุดที่สอดคล้องกับเส้นทางการกำหนดเวลา โดยคำนึงถึงความล่าช้าที่เกี่ยวข้องกับเซลล์และเครือข่าย รวมถึงรอบสัญญาณนาฬิกา เวลาที่สัญญาณมาถึง และเวลามาถึงที่ต้องการเป็นอินพุตเพื่อตรวจสอบข้อจำกัด
  3. บางครั้ง STA ถือเป็นการมองโลกในแง่ร้าย เนื่องจากพิจารณาถึงระยะเวลาการแพร่กระจายและการเปลี่ยนแปลงในกรณีที่เลวร้ายที่สุด ซึ่งทำให้ผู้ออกแบบทางกายภาพมีเวลาจำนวนหนึ่งในการตรวจสอบวงจร
  4. เครื่องมือ STA คำนวณ Slack = เวลาที่มาถึงคำขอ (RAT) - เวลาที่มาถึงจริง (AAT) โดยการติดตามเส้นทางวิกฤตทั้งหมดที่รับผิดชอบต่อการละเมิดเวลา
  5. STA เป็นเสาหลักใน “การปิดจังหวะเวลา” ซึ่งเป็นหนึ่งในขั้นตอนในการออกแบบทางกายภาพ การปรับจังหวะเวลาให้เหมาะสมที่สุดจะดำเนินการกับวงจรโดยอิงตามรายงานจังหวะเวลาที่สร้างโดยเครื่องมือ STA เส้นทางต่างๆ จะถูกเรียกว่าตอบสนองจังหวะเวลาเมื่อมีช่วงว่างเป็นบวกและการออกแบบมีการปิดจังหวะเวลา
  6. STA ไม่ได้ตรวจสอบการทำงานของวงจรดิจิทัล ดังนั้นอินพุตจึงมีเพียงวงจรที่ถูกต้องตามหลักตรรกะหรือฟังก์ชันเท่านั้น มิฉะนั้น การวิเคราะห์จะซับซ้อนและให้ผลลัพธ์ที่ไม่ถูกต้อง
  7. ตามหลักการแล้ว STA จะทำการคำนวณโดยพิจารณาจากรอบสัญญาณนาฬิกาหนึ่งรอบ สภาพแวดล้อมการทำงานของ STA จะต้องได้รับการกำหนดไว้อย่างแม่นยำเพื่อวิเคราะห์การละเมิดเวลาทั้งหมดได้อย่างแม่นยำ สภาพแวดล้อมนี้ต้องประกอบด้วยคำจำกัดความของสัญญาณนาฬิกา (คาบ, แหล่งสัญญาณนาฬิกา, รอบการทำงาน, ออฟเซ็ต ฯลฯ), เงื่อนไขการทำงาน (PVT: ดีที่สุด, ทั่วไป และแย่ที่สุด), โดเมนสัญญาณนาฬิกาหลายโดเมน, การกำหนดเวลา IO, เส้นทางสัญญาณนาฬิกาแบบเกต, ข้อผิดพลาด, อะซิงโครนัส และหลายรอบ
  8. STA สามารถพิสูจน์ผลลัพธ์ที่ถูกต้องได้ก็ต่อเมื่อเส้นทางนั้นถูกพิจารณาว่า "ถูกต้อง" เท่านั้น เส้นทางในวงจรไม่ได้ถูกต้องตามหลักตรรกะทั้งหมด วงจรอาจมีเส้นทางที่ผิดพลาดและเส้นทางหลายรอบ เส้นทางที่ผิดพลาดตามหลักตรรกะหรือเส้นทางที่ไม่ได้ส่งข้อมูลใดๆ เรียกว่าเส้นทางที่ผิดพลาด ในขณะที่เส้นทางที่ใช้เวลามากกว่าหนึ่งรอบสัญญาณนาฬิกาในการส่งสัญญาณเรียกว่าเส้นทางหลายรอบ STA ไม่ทราบว่าเส้นทางใดไม่ถูกต้อง ดังนั้นนักออกแบบจึงต้องแจ้งให้ STA ทราบอย่างชัดเจนว่าเส้นทางใดผิดพลาดและเส้นทางใดเป็นแบบหลายรอบเพื่อให้ได้ข้อมูลเวลาที่ถูกต้อง

STA จะดำเนินการเมื่อใดในขั้นตอนการออกแบบ?

การดำเนินการนี้เกิดขึ้นเฉพาะในช่วงปิดเวลาของกระบวนการออกแบบทางกายภาพเท่านั้นหรือ? จริงๆ แล้วไม่เลย! การตรวจสอบเวลาได้รับการตรวจสอบในทุกขั้นตอนการออกแบบหรือทุกระดับนามธรรมในขั้นตอนการออกแบบ ข้อมูลทั้งหมดที่จำเป็นสำหรับการประเมินความล่าช้านั้นไม่มีอยู่ในขั้นตอนการออกแบบก่อนหน้า ดังนั้น STA จึงถูกดำเนินการหลังจากแต่ละระดับเพื่อตรวจสอบเวลาและค้นหาเส้นทางวิกฤตที่ทำให้เกิดการละเมิด ผมได้จัดทำภาพโดยละเอียดของขั้นตอนการออกแบบวงจร VLSI และตำแหน่งที่ดำเนินการ STA โดยอ้างอิงจากข้อกำหนดของเน็ตลิสต์

กระบวนการออกแบบวงจร VLSI และการวิเคราะห์ STA
  1. ในการออกแบบ RTL ไม่มีข้อมูลเวลาที่ต้องการ ฟังก์ชันการทำงานของวงจรจะได้รับการตรวจสอบในขั้นตอนนี้
  2. เมื่อสังเคราะห์เน็ตลิสต์ระดับเกตจากการออกแบบ RTL แล้ว STA จะเริ่มทำงาน ณ ที่นี้ เรามีข้อมูลอย่างน้อยเกี่ยวกับความล่าช้าของเซลล์ ช่วงเวลาที่เกี่ยวข้องกับฟลิปฟล็อปและเซลล์มาตรฐาน เช่น การแพร่กระจาย และความล่าช้าจากการปนเปื้อน รวมถึงรอบสัญญาณนาฬิกา ดังนั้นจึงสามารถตั้งค่าพื้นฐานและตรวจสอบการพักสัญญาณได้
  3. ก่อนการเพิ่มประสิทธิภาพเชิงตรรกะ จะต้องดำเนินการ STA เพื่อกำหนดเส้นทางวิกฤตและกรณีที่เลวร้ายที่สุดหรือเวลาแฝงโดยรวม
  4. หลังจากทำการเพิ่มประสิทธิภาพตรรกะแล้ว จะดำเนินการ STA เพื่อค้นหาการละเมิดเวลาแม้หลังจากทำการเพิ่มประสิทธิภาพวงจรแล้ว
  5. จนถึงจุดนี้ ความล่าช้าสุทธิจะถือว่าเป็นศูนย์ หรืออาจใช้แบบจำลองโหลดสายเพื่อประมาณความล่าช้าสุทธิได้ในระดับหนึ่ง
  6. การใช้งานจริงทางกายภาพของวงจรดิจิทัล เซลล์ โมดูล มาโคร ฯลฯ เชื่อมโยงกันด้วยรอยโลหะ การเชื่อมต่อโลหะเหล่านี้ก่อให้เกิดความล่าช้าในการเชื่อมต่อ (ความล่าช้าของตัวต้านทานและตัวเก็บประจุ: ความล่าช้าของ RC) ซึ่งเป็นข้อกังวลหลักในเทคโนโลยีระดับไมโคร ความล่าช้านี้ขึ้นอยู่กับปัจจัยหลายประการในการออกแบบทางกายภาพ ซึ่งรวมถึงความยาวของสาย ประเภทของการเดินสาย ปัจจัยความสำคัญของกริด ตำแหน่งของเซลล์และโมดูล และรูปแบบการเชื่อมต่อที่ใช้
  7. ก่อนการกำหนดเส้นทางสัญญาณ ความล่าช้าในการเชื่อมต่อสามารถประมาณคร่าวๆ ได้จากการกำหนดเส้นทางทั่วโลก อย่างไรก็ตาม เนื่องจากไม่มีข้อมูลการกำหนดเส้นทางโดยละเอียด จึงไม่สามารถระบุเอฟเฟกต์การจับคู่ของสัญญาณใกล้เคียงได้
  8. ยิ่งไปกว่านั้น จนถึงจุดนี้ แหล่งกำเนิดสัญญาณนาฬิกาถือว่าเหมาะสมที่สุด และไม่มีการพิจารณาความเบี่ยงเบน/ความคลาดเคลื่อนของสัญญาณนาฬิกา หลังจากสังเคราะห์โครงสร้างสัญญาณนาฬิกาในการออกแบบทางกายภาพแล้ว จะสามารถหาค่าประมาณที่แท้จริงของความล่าช้าในการแพร่กระจายสัญญาณนาฬิกาได้ STA จะดำเนินการโดยคำนึงถึงความผันแปรเชิงพื้นที่และเวลาของสัญญาณนาฬิกา
  9. สามารถรับค่า RC delay จริงได้หลังจากดำเนินการกำหนดเส้นทางโดยละเอียดแล้วเท่านั้น เครื่องมือสกัดข้อมูล (Extraction Tools) ใช้เพื่อสกัดค่า RC ปรสิตโดยละเอียดจากการออกแบบวงจรกำหนดเส้นทางสัญญาณ กระบวนการนี้เป็นกระบวนการแบบวนซ้ำ ซึ่งสามารถหาค่าที่แม่นยำได้โดยการเพิ่มเวลาทำงาน
  10. ในที่สุด ปัญหาความสมบูรณ์ของสัญญาณ เช่น เอฟเฟกต์การเชื่อมโยงระหว่างสัญญาณและครอสทอล์ค จะถูกจำลองเพื่อนำ STA ไปใช้

ตอนนี้เรารู้แล้วว่าต้องพิจารณาอะไรและเมื่อใดจึงจะดำเนินการ STA เราจะเจาะลึกลงไปว่าจะนำสิ่งเหล่านี้ไปรวมเข้ากับการดำเนินการ STA ได้อย่างไร

STA สามารถรับข้อมูลที่จำเป็นได้อย่างไร?

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

  1. การออกแบบวงจร เช่น เน็ตลิสต์ระดับเกต จะแสดงเป็นสคริปต์ข้อความ Verilog (.v) หรือ VHDL หรือเป็นไฟล์ไลบรารี-ฐานข้อมูล (.db)
  2. ไลบรารีเวลาให้ข้อมูลสำคัญที่ STA ต้องการ โดยทั่วไปจะอยู่ในไฟล์ Free Timing File (.lib) ไลบรารีนี้กำหนดหลายแง่มุม เช่น โดเมนสัญญาณนาฬิกา, สภาวะการทำงาน, แบบจำลองเวลา, การลดอัตราสัญญาณนาฬิกา, เกณฑ์, ความล่าช้าในการแพร่กระจาย, แบบจำลองสัญญาณรบกวน, แบบจำลองการกระจายพลังงาน, คุณสมบัติต่างๆ ที่เกี่ยวข้องกับไลบรารีเซลล์, ปรสิตในการเชื่อมต่อ, แง่มุมความสมบูรณ์ของสัญญาณ เช่น สัญญาณรบกวนข้ามสัญญาณและข้อผิดพลาด, สภาพแวดล้อมการออกแบบ เช่น การกำหนดสัญญาณนาฬิกา, การกำหนดเวลา IO, เส้นทางเท็จ ฯลฯ
  3. ข้อมูลเวลาและความล่าช้าของวงจรแสดงอยู่ในไฟล์ข้อความ ASCII มาตรฐาน IEEE ที่เรียกว่า Standard Delay Format (SDF) และสร้างขึ้นหลังจากคอมไพล์แบบแล้ว ไฟล์นี้ประกอบด้วยข้อมูลเวลาสำหรับคำอธิบายประกอบทั้งแบบเดินหน้าและถอยหลัง รายละเอียดบางส่วนในไฟล์ SDF ได้แก่ ความล่าช้าของเซลล์ การตรวจสอบเวลา การแพร่กระจายพัลส์ ความล่าช้าของการเชื่อมต่อ ฯลฯ
  4. ค่าปรสิตที่แม่นยำและละเอียดสามารถหาได้หลังจากการวางตำแหน่งและกำหนดเส้นทางสัญญาณเท่านั้น เครื่องมือสกัดปรสิตจะแยกค่า R, L และ C บางครั้งเครื่องมือวางตำแหน่งและกำหนดเส้นทางก็ทำเช่นนี้เช่นกัน และจะถูกเก็บไว้ใน Standard Parasitic Exchange Format (SPEF) มีโมเดลต่างๆ ที่ใช้แสดงปรสิตในการเชื่อมต่อ SPEF ส่วนใหญ่จะรองรับโมเดลตัวเก็บประจุแบบรวมศูนย์ โมเดลเครือข่ายแบบกระจาย และโมเดลเครือข่ายแบบลดขนาด นอกจากนี้ ปรสิตยังขึ้นอยู่กับกระบวนการ: กรณีที่ดีที่สุด ปกติ และกรณีที่แย่ที่สุด รูปแบบไฟล์อื่นๆ ได้แก่ SBPF และ RSPF
  5. สุดท้าย ข้อจำกัดด้านเวลาในการออกแบบจะถูกกำหนดเป็นข้อจำกัดด้านการออกแบบ (SDC) ของ Synopsys ซึ่งขยายออกไปเพื่อให้มีกำลังการออกแบบและข้อจำกัดด้านพื้นที่

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

  1. ตำแหน่งไดรฟ์กำหนดเวลา - ลดความล่าช้าของสัญญาณโดยการวางส่วนประกอบวงจร
  2. การกำหนดเส้นทางสัญญาณตามเวลา - ลดเวลาแฝงของสัญญาณโดยการระบุเส้นทางและโครงสร้างการกำหนดเส้นทาง
  3. การสังเคราะห์ทางกายภาพ - ปรับปรุงเวลาแฝงโดยการปรับเปลี่ยนการออกแบบเน็ตลิสต์

บทสรุป:

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

ที่สำคัญยิ่งกว่านั้น STA แบบดั้งเดิมไม่สามารถต้านทานความแปรผันของกระบวนการที่เกิดจากสภาพแวดล้อม แหล่งจ่ายไฟ อุณหภูมิ อายุการใช้งาน ฯลฯ ความแปรผันของกระบวนการทำให้การวิเคราะห์มีความซับซ้อนและยากขึ้นเนื่องจากมีความสุ่มสูง ในการจัดการความแปรผันของกระบวนการ ความล่าช้าของเกตและความล่าช้าสุทธิจะถูกจำลองโดยใช้ความแปรผันแบบสุ่มและแสดงเป็นการแจกแจงความน่าจะเป็น ตัวอย่างเช่น แบบจำลองการแจกแจงความล่าช้าที่ใช้กันอย่างแพร่หลายที่สุดคือการแจกแจงแบบปกติหรือแบบเกาส์เซียน STA ทั่วไปนี้เรียกว่า STA เชิงสถิติ (Statistical STA: SSTA) ซึ่งกำลังได้รับความนิยมเพิ่มขึ้นในการออกแบบขั้นสูงเนื่องจากความแปรผันของโหนดเทคโนโลยีระดับซับไมครอน

Related articles