อ่าน 7 นาที
เวลาปิดทำการ
การปิดวงจรเวลา ใน งานออกแบบ VLSI และ วิศวกรรมอิเล็กทรอนิกส์ คือ กระบวนการ ออกแบบแบบวนซ้ำ เพื่อให้แน่ใจว่าสัญญาณทั้งหมดเป็นไปตามข้อกำหนดด้านเวลาใน วงจรซิงโครนัสแบบมี สัญญาณนาฬิกา...
เวลาปิดทำการ

การปิดวงจรเวลาในงานออกแบบ VLSIและวิศวกรรมอิเล็กทรอนิกส์คือ กระบวนการ ออกแบบแบบวนซ้ำเพื่อให้แน่ใจว่าสัญญาณทั้งหมดเป็นไปตามข้อกำหนดด้านเวลาในวงจรซิงโครนัสแบบมีสัญญาณนาฬิกา เป้าหมายคือการรับประกันการถ่ายโอนข้อมูลที่ถูกต้องและการทำงานที่เชื่อถือได้ที่ความถี่สัญญาณนาฬิกาเป้าหมาย
วงจรซิงโครนัสประกอบด้วยองค์ประกอบพื้นฐานสองประเภท ได้แก่เกตตรรกะเชิง ผสม ( NOT, AND, OR, NAND, NOR, XORเป็นต้น) ซึ่งประมวลผลฟังก์ชันตรรกะโดยไม่มีหน่วยความจำ และองค์ประกอบเชิงลำดับ ( ฟลิปฟลอปแลตช์ หรือรีจิสเตอร์) ซึ่งสามารถจัดเก็บข้อมูลและถูกกระตุ้นด้วยสัญญาณนาฬิกา โดยการปิดวงจรเวลา วงจรสามารถปรับได้โดยการปรับปรุงเลย์เอาต์และการจัดโครงสร้างเน็ตลิสต์ใหม่[ 1 ]เพื่อแก้ไขความล่าช้าของเส้นทางเพื่อให้แน่ใจว่าเอาต์พุตของเกตตรรกะมาถึงในเวลาที่ถูกต้องเมื่อเทียบกับสัญญาณ นาฬิกา
การออกแบบ วงจรรวม (IC) มีความซับซ้อนมากขึ้นเรื่อยๆ โดยชิปสมัยใหม่ประกอบด้วยทรานซิสเตอร์หลายพันล้านตัวและวงจรตรรกะที่เชื่อมต่อกันอย่างหนาแน่น ทุกเส้นทางในการออกแบบต้องเป็นไปตามข้อจำกัดด้านเวลา มิฉะนั้นการออกแบบอาจประสบกับข้อผิดพลาดในการทำงาน ผลกระทบที่คาดเดาไม่ได้ หรือความล้มเหลวในระดับระบบ
การปิดวงจรด้านเวลาไม่ใช่เพียงแค่ขั้นตอนการตรวจสอบความถูกต้องขั้นสุดท้าย แต่เป็นกระบวนการเพิ่มประสิทธิภาพแบบวนซ้ำและครอบคลุม ซึ่งเกี่ยวข้องกับการปรับปรุงอย่างต่อเนื่องทั้งโครงสร้างเชิงตรรกะของการออกแบบและการนำไปใช้งานจริง เช่น การปรับโครงสร้างเชิงตรรกะของเกต และการปรับปรุงตำแหน่งและการเดินสาย เพื่อให้สามารถตอบสนองข้อจำกัดด้านเวลาทั้งหมดได้อย่างน่าเชื่อถือทั่วทั้งชิป
ภาพรวม
วงจรดิจิทัลที่มีสัญญาณนาฬิกาต้องเป็นไปตามข้อจำกัดบางประการเพื่อให้การทำงานเป็นไปอย่างถูกต้อง ตัวอย่างเช่น ความล่าช้าของเวลาในแต่ละเส้นทางจากเอาต์พุตของฟลิปฟลอป Dผ่านเกตตรรกะแบบผสม แล้วไปยังอินพุตของฟลิปฟลอป D ตัวถัดไป จะต้องเป็นไปตาม (น้อยกว่า) ช่วงเวลาระหว่างพัลส์นาฬิกาซิงโครไนซ์ไปยังฟลิปฟลอปทั้งสอง หากไม่เป็นไปตามข้อจำกัดนี้ กล่าวคือความล่าช้าผ่านองค์ประกอบต่างๆ มากกว่าช่วงเวลาของนาฬิกาวงจรจะไม่ทำงานอย่างถูกต้อง ดังนั้น การปรับเปลี่ยนวงจรเพื่อขจัดความผิดพลาดด้านเวลาจึงเป็นส่วนสำคัญของงานของวิศวกรออกแบบตรรกะ
เส้นทางวิกฤต (Critical path ) หมายถึงเส้นทางที่ยาวที่สุด (ในแง่ของความล่าช้า) ระหว่างองค์ประกอบสองตัวที่อยู่ติดกันในวงจร มันกำหนดความล่าช้าสูงสุดของเส้นทางระหว่างรีจิสเตอร์ทั้งหมด และกำหนดเวลาของรอบสัญญาณนาฬิกาขั้นต่ำที่เป็นไปได้ ซึ่งจะจำกัดความเร็วสูงสุดของชิป ในการออกแบบที่เรียบง่าย ผู้ใช้สามารถคำนวณความล่าช้าของเส้นทางที่เป็นไปได้ทั้งหมดระหว่างองค์ประกอบต่างๆ ด้วยตนเอง และปรับเปลี่ยนจนกว่าจะตรงตามข้อกำหนด แต่ในการออกแบบสมัยใหม่ที่มีองค์ประกอบหลายพันถึงหลายล้านตัว วิธีนี้ทำได้ยาก และจำเป็นต้องใช้ระบบอัตโนมัติ
ข้อจำกัดด้านเวลา

ในกระบวนการออกแบบ IC เลย์เอาต์ IC ควรเป็นไปตามข้อจำกัดทางเรขาคณิตและข้อจำกัดด้านเวลา ข้อจำกัดทางเรขาคณิตหมายถึงข้อกำหนดและกฎเกณฑ์การออกแบบทางกายภาพที่กำหนดโดยกระบวนการประกอบ เช่น การจัดเรียงเซลล์ที่ถูกต้องและระยะห่างของสายไฟขั้นต่ำ ข้อจำกัดด้านเวลาหมายถึงข้อกำหนดด้านเวลาที่เส้นทางสัญญาณทั้งหมดควรเป็นไปตามนั้น โดยปกติ ก่อนที่สัญญาณจะออกจากฟลิปฟลอปที่ขอบสัญญาณนาฬิกา สัญญาณอินพุตควรคงที่ในช่วงเวลาหนึ่งที่เรียกว่าเวลาตั้งค่า [ 1 ] หลังจากที่สัญญาณแม่เหล็กไฟฟ้าไปถึงฟลิปฟลอปตัวถัดไปที่ขอบสัญญาณนาฬิกา สัญญาณควรคงที่ในองค์ประกอบจัดเก็บข้อมูลเป็นระยะเวลาหนึ่ง ซึ่งเรียกว่าเวลาคงค่าสิ่งนี้ทำให้เกิดข้อจำกัดด้านเวลาสองประเภท:
ตั้งค่าข้อจำกัด (ข้อจำกัดเส้นทางยาว):
ข้อจำกัดเหล่านี้ระบุความยาวของเวลาก่อนขอบสัญญาณนาฬิกาของฟลิปฟลอป ซึ่งสัญญาณอินพุตข้อมูลควรคงที่ เพื่อให้ข้อมูลมีเวลาเพียงพอที่จะแพร่กระจายผ่านเส้นทางตรรกะและไปถึงฟลิปฟลอปถัดไปก่อนขอบสัญญาณนาฬิกาครั้งถัดไป หากความล่าช้าของเส้นทางนานเกินไป อาจละเมิดข้อจำกัดของเวลาตั้งค่าและทำให้ข้อมูลที่มีปัญหาถูกบันทึกไว้
ยึดข้อจำกัด (ข้อจำกัดเส้นทางสั้น) :
ข้อจำกัดเหล่านี้ระบุระยะเวลาหลังจากขอบสัญญาณนาฬิกาของฟลิปฟลอปที่สัญญาณอินพุตข้อมูลควรคงที่ การละเมิดข้อจำกัดการคงค่าอาจส่งผลให้เกิดภาวะไม่เสถียรหรือพฤติกรรมที่ไม่พึงประสงค์
ข้อจำกัดด้านระยะเวลาการถือครอง:
ข้อจำกัดด้านเวลาในการติดตั้ง:
ที่ไหน:
- = ความล่าช้าของตรรกะเชิงผสม
- = ช่วงเวลาของนาฬิกา
- = เวลาในการตั้งค่า
- = ระยะเวลาการถือครอง
- = ความล่าช้าของสัญญาณนาฬิกาไปยัง Q ของฟลิปฟลอป[ 3 ]
กระบวนการวนซ้ำการปิดเวลา
การปิดวงจรเวลาเป็นขั้นตอนสำคัญที่ช่วยให้มั่นใจได้ว่าสัญญาณทั้งหมดจะไปถึงปลายทางภายในเวลาที่กำหนด และระยะเวลาการคงค่าทั้งหมดเป็นไปตามเงื่อนไข ทำให้วงจรทำงานได้อย่างน่าเชื่อถือ นักออกแบบเริ่มต้นด้วย นามธรรม ระดับการถ่ายโอนรีจิสเตอร์ (RTL) และ โค้ด VerilogหรือVHDLที่อธิบายวงจร จากนั้นจะแปลงเป็นเน็ตลิสต์ ซึ่งเป็นชุดของเกตตรรกะและการเชื่อมต่อ และใช้เพื่อสร้างตำแหน่งและการกำหนดเส้นทางของICหรือเพื่อกำหนดค่าฮาร์ดแวร์FPGA [ 4 ]
ทั้งใน IC ทั่วไปและ FPGA ทั้งความล่าช้าของเกตและความล่าช้าของการเดินสายอาจแตกต่างกันอย่างมาก หากสัญญาณมาถึงช้าเกินไปหรือเร็วเกินไป การออกแบบอาจล้มเหลวในเรื่องการกำหนดเวลา นักออกแบบเริ่มกำหนดข้อจำกัดด้านเวลาที่แม่นยำและสมจริงซึ่งสะท้อนถึงเป้าหมายด้านประสิทธิภาพของระบบ โดยมักอยู่ใน รูปแบบ Synopsys Design Constraint (SDC) [ 5 ]ข้อจำกัดเหล่านี้อาจรวมถึง คาบเวลา ของนาฬิกาความล่าช้าของอินพุต/เอาต์พุต เส้นทางหลายรอบ และข้อกำหนดการตั้งค่า/การคงค่า การวิเคราะห์ว่าสามารถทำได้หรือไม่นั้นมีความสำคัญอย่างยิ่ง โดยพิจารณาจากสถาปัตยกรรมลอจิกและความล่าช้าของเส้นทางภายในงานออกแบบ ข้อจำกัดเหล่านี้เป็นแนวทางในการวิเคราะห์เวลาและกระบวนการเพิ่มประสิทธิภาพทั้งหมดในขั้นตอนถัดไป
ปัญหาในการปิดวงจรเวลาและการวิเคราะห์เวลาแบบคงที่
ในวงจรซิงโครนัสแบบใช้สัญญาณนาฬิกา มีความล่าช้าหลักๆ อยู่ 3 ประการที่มักถูกพิจารณา:
ความล่าช้าของเกตคือระยะเวลาที่ใช้เพื่อให้การเปลี่ยนแปลงในอินพุตของเกตแพร่กระจายไปยังเอาต์พุต โดยทั่วไปจะคำนวณจากเวลาที่อยู่ระหว่างการเปลี่ยนแปลงที่อินพุตและการเปลี่ยนแปลงที่เกิดขึ้นที่เอาต์พุต[ 6 ]
ความล่าช้าของสายไฟยังเรียกอีกอย่างว่าความล่าช้าของการเชื่อมต่อ หมายถึงเวลาที่ใช้ในการส่งสัญญาณข้อมูลผ่านสายโลหะ (การเชื่อมต่อ) ระหว่างองค์ประกอบวงจรในวงจรซิงโครนัส ความล่าช้าส่วนใหญ่เกิดจากความต้านทานและความจุของสายไฟ[ 7 ]
ความคลาดเคลื่อนของสัญญาณ นาฬิกา (Clock skew)คือความแตกต่างของเวลาที่สัญญาณนาฬิกาจากแหล่งกำเนิดเดียวกันมาถึงส่วนต่างๆ ของวงจรซิงโครนัส เมื่อสัญญาณนาฬิกาแพร่กระจายจากแหล่งกำเนิด เช่น ออสซิลเลเตอร์หรือตัวสร้างสัญญาณนาฬิกาผ่านเส้นทางต่างๆ มากมายในวงจร สัญญาณจะเกิดความล่าช้าในการแพร่กระจาย ซึ่งทำให้เกิดความคลาดเคลื่อนของสัญญาณนาฬิกา ในกราฟด้านล่าง แสดงความคลาดเคลื่อนของสัญญาณนาฬิการะหว่างจุด i และ j บนชิปโดยที่ตำแหน่ง i และ j สามารถเปลี่ยนแปลงได้ แผนภาพนี้แสดงให้เห็นถึงแนวคิดของความคลาดเคลื่อนของสัญญาณนาฬิกา ซึ่งหมายถึงความแตกต่างของเวลาที่สัญญาณนาฬิกามาถึงฟลิปฟลอปต่างๆ บนชิป ในอุดมคติแล้ว สัญญาณนาฬิกาทั้งหมดควรมาถึงปลายทางพร้อมกัน อย่างไรก็ตาม เนื่องจากความแปรผันในการกำหนดเส้นทาง โหลด และตำแหน่งทางกายภาพ จึงแทบจะไม่สามารถบรรลุสิ่งนี้ได้

หลังจากสังเคราะห์ตรรกะและการวิเคราะห์ข้อจำกัดแล้ว การออกแบบจะได้รับการวิเคราะห์เวลาแบบคงที่ (STA) [ 3 ]ซึ่งเป็นกระบวนการที่ออกแบบมาโดยเฉพาะเพื่อประเมินว่าวงจรตรงตามข้อจำกัดเวลาที่กำหนดไว้หรือไม่ เครื่องมือเหล่านี้ (เช่น Cadence Tempus, Synopsys PrimeTime และ Intel Timing Analyzer) สามารถประเมินเส้นทางเวลาทั้งหมดในการออกแบบโดยไม่จำเป็นต้องจำลอง ทำให้เหมาะสำหรับการวิเคราะห์ที่ปรับขนาดได้และครอบคลุม ใน STA วงจรเชิงผสมสามารถแสดงเป็นกราฟแบบไม่มีวงจรทิศทาง (DAG) โดยที่โหนดแทนเกตและลิงก์แทนการเชื่อมต่อ ทั้งสองส่วนจะถูกระบุด้วยค่าหน่วงเวลาที่สอดคล้องกัน โดยทั่วไปแล้วในขั้นต้นจะถือว่าความคลาดเคลื่อนของสัญญาณนาฬิกามีค่าเล็กน้อย ซึ่งจะได้รับการตรวจสอบอีกครั้งหลังจากขั้นตอนการจัดวาง การกำหนดเส้นทาง และการสังเคราะห์โครงสร้างสัญญาณนาฬิกา
ในระหว่างกระบวนการนี้ เอ็นจิ้น STA จะคำนวณ:
- ความล่าช้าของเส้นทาง : ความล่าช้าทั้งหมดจากรีจิสเตอร์หนึ่งไปยังอีกรีจิสเตอร์หนึ่งผ่านวงจรลอจิกแบบผสมผสาน
- Slack : ความแตกต่างระหว่างเวลาที่ต้องมาถึงตามกำหนดกับเวลามาถึงจริง
- เส้นทางวิกฤต : เส้นทางที่ยาวที่สุดที่มีระยะเวลาเผื่อ (slack) น้อยที่สุด (หรือเป็นศูนย์)
- การละเมิด : เส้นทางที่มีความล่าช้าติดลบ หมายความว่าไม่ตรงตามกำหนดเวลา[ 8 ]


โดยเฉพาะอย่างยิ่งสำหรับค่าความหย่อน (slack) นั้น STA จะสมมติสถานการณ์ที่เลวร้ายที่สุดซึ่งทุกเกตมีการเปลี่ยนสถานะ และคำนวณค่าความหย่อนสำหรับแต่ละโหนด
ที่ไหน:
- RAT = เวลาที่ต้องมาถึง
- AAT = เวลาที่มาถึงจริง
RAT คือเวลามาถึงที่ต้องการ หมายถึงเวลาล่าสุดที่สามารถผ่านช่วงเวลาที่กำหนดไว้ได้ AAT คือเวลามาถึงจริง หมายถึงเวลาเปลี่ยนผ่านจริงล่าสุด และถูกกำหนดไว้ที่เอาต์พุตของแต่ละโหนด ค่า slack ติดลบที่อินพุตใดๆ หมายความว่าวงจรไม่ตรงตามกำหนดเวลา ในขณะที่ค่า slack เป็นบวกที่อินพุตทั้งหมดหมายความว่าวงจรตรงตามกำหนดเวลา
การออกแบบทางกายภาพ
เมื่อสร้างรายงาน STA แล้ว วิศวกรสามารถใช้เทคนิคการเพิ่มประสิทธิภาพเวลา หรือเครื่องมือออกแบบอัตโนมัติ เพื่อตรวจสอบรายงานเหล่านั้นและระบุเส้นทางที่สำคัญหรือล้มเหลวที่ต้องได้รับการแก้ไข นอกจากนี้ยังเพิ่มประสิทธิภาพเค้าโครงทางกายภาพโดยการปรับตำแหน่งและการเดินสาย กระบวนการนี้จะวนซ้ำไปเรื่อยๆ จนกว่าจะตรงตามข้อจำกัดด้านเวลาทั้งหมด
ผ่านการสังเคราะห์ตรรกะและการเพิ่มประสิทธิภาพเวลาเบื้องต้น ควรทำการแมปเค้าโครงทางกายภาพของชิป ผ่านการจัดวาง การสังเคราะห์ต้นไม้สัญญาณนาฬิกา และการกำหนดเส้นทางของขั้นตอนสำคัญเหล่านี้ การออกแบบทางกายภาพจะถูกเปลี่ยนแปลงเพื่อให้พฤติกรรมเวลาสามารถเปลี่ยนแปลงได้อย่างมีนัยสำคัญ และด้วยเหตุนี้จึงลดความล่าช้าของเส้นทางและปรับปรุงเวลาในวงจร[ 9 ]
1. การจัดวาง
เครื่องมือ EDA จะกำหนดตำแหน่งทางกายภาพให้กับเซลล์มาตรฐานแต่ละเซลล์ (เกตตรรกะ ฟลิปฟลอป ฯลฯ) บนไอซี การจัดวางสามารถลดความล่าช้าของเส้นทางได้โดยการวางเซลล์ที่เชื่อมต่อกันไว้ใกล้กัน การเดินสายไฟในขั้นตอนนี้เป็นเพียงการประมาณการเท่านั้น
2. การสังเคราะห์โครงสร้างนาฬิกา (Clock Tree Synthesis: CTS)
วงจรจ่ายสัญญาณนาฬิกาแบบสมดุลถูกสร้างขึ้นเพื่อส่งสัญญาณนาฬิกาไปยังองค์ประกอบลำดับทั้งหมด (ฟลิปฟลอป) อย่างสม่ำเสมอและพร้อมกัน วงจร CTS พยายามลดความคลาดเคลื่อนของสัญญาณนาฬิกา (ความแตกต่างของเวลาที่สัญญาณนาฬิกามาถึง ณ จุดต่างๆ) ในขณะที่ควบคุมความหน่วงของสัญญาณนาฬิกา (เวลาในการส่งสัญญาณนาฬิกาไปยังองค์ประกอบลำดับทั้งหมด) นอกจากนี้ยังพยายามให้เป็นไปตามเวลาการเปลี่ยนสถานะสูงสุดและความจุสูงสุดที่อนุญาต เพื่อให้แน่ใจว่าวงจรนาฬิกาเป็นไปตามข้อจำกัดในการออกแบบ ความคลาดเคลื่อนของสัญญาณนาฬิกาจะส่งผลต่อเวลาคงค่าและเวลาตั้งค่า โดยปกติแล้วความคลาดเคลื่อนของสัญญาณนาฬิกาจะประกอบด้วยความคลาดเคลื่อนของสัญญาณนาฬิกาเฉพาะที่และความคลาดเคลื่อนของสัญญาณนาฬิกาโดยรวม
โดยทั่วไป CTS มีอยู่ 3 ประเภท:
2.1. การตรวจ CT scan จุดเดียว

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

วงจรส่งสัญญาณนาฬิกาแบบตาข่าย (clock mesh) ส่งสัญญาณนาฬิกาผ่านโครงสร้างคล้ายตาราง ทำให้ได้สัญญาณนาฬิกาที่สมดุลมากขึ้นและมีความคลาดเคลื่อนน้อยลง ซึ่งเหมาะสำหรับการออกแบบความถี่สูง อย่างไรก็ตาม การสร้างวงจรส่งสัญญาณนาฬิกาแบบตาข่ายหมายถึงการใช้พลังงานและพื้นที่มากขึ้น และความซับซ้อนในการออกแบบก็จะเพิ่มขึ้นด้วย
2.3. CTS หลายแหล่งสัญญาณ

โครงสร้างนาฬิกาแบบหลายแหล่งรวมข้อดีของโครงสร้างนาฬิกาแบบจุดเดียวและโครงข่ายนาฬิกาเข้าด้วยกัน การออกแบบนี้แบ่งออกเป็นส่วนประกอบหลายส่วน โดยแต่ละส่วนมีแหล่งนาฬิกาเฉพาะที่ของตัวเอง โครงสร้างนาฬิกานี้ช่วยลดความคลาดเคลื่อนในขณะที่ลดการใช้พลังงานและพื้นที่ ทำให้เหมาะสำหรับการออกแบบขนาดใหญ่[ 9 ]
3. การกำหนดเส้นทาง

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

การกำหนดขนาดประตู:
การกำหนดขนาดเกตเกี่ยวข้องกับการแทนที่เกตตรรกะด้วยเกตที่มีขนาดเทียบเท่ากันแต่มีกำลังขับต่างกัน เกตขนาดใหญ่สามารถขับโหลดขนาดใหญ่ได้เร็วกว่า ช่วยลดความล่าช้าในเส้นทางวิกฤต เทคนิคนี้สร้างสมดุลระหว่างความเร็ว พื้นที่ และพลังงาน
สมมติว่าเกตตรรกะมีสามขนาด คือa , bและcโดยที่เกตที่มีขนาดใหญ่กว่าจะมีค่าความต้านทานเอาต์พุตน้อยกว่า ดังนั้นตามการประมาณค่าหน่วงเวลา RC จะได้ โดยที่tแทนเวลาหน่วงการแพร่กระจายแทนค่าความต้านทานเอาต์พุตและแทนค่าความจุโหลดดังนั้นเมื่อค่าความจุโหลดมีขนาดใหญ่ เกตตรรกะขนาดใหญ่สามารถขับค่าความจุโหลดขนาดใหญ่ได้ง่ายกว่า:
อย่างไรก็ตาม ข้อเสียของเกตขนาดใหญ่โดยทั่วไป ได้แก่ ความจุไฟฟ้าที่อินพุตสูงขึ้น ความล่าช้าในการแทรกมากขึ้น และการใช้พลังงานสูงขึ้น ดังนั้น เมื่อความจุไฟฟ้าที่โหลดมีขนาดเล็ก เกตตรรกะขนาดเล็กจึงเป็นที่นิยมมากกว่า ตราบใดที่สามารถตอบสนองข้อจำกัดด้านเวลาได้

การแทรกบัฟเฟอร์ :
บัฟเฟอร์ ใช้สำหรับแบ่งสายไฟยาวๆ และลดความล่าช้าของ RC ( ความต้านทาน-ความจุ ) โดยเฉพาะอย่างยิ่งในการเชื่อมต่อที่มีจำนวนเอาต์พุตสูงหรืออยู่ห่างไกลกัน บัฟเฟอร์ยังช่วยปรับจังหวะเวลาของเส้นทางเพื่อแก้ไขข้อผิดพลาดในการคงค่า (hold violation) การใส่บัฟเฟอร์ต้องไม่เปลี่ยนแปลงฟังก์ชันลอจิก โดยทั่วไปจะทำได้โดยการใส่บัฟเฟอร์แบบกลับเฟสจำนวนคู่ หรือใช้บัฟเฟอร์แบบไม่กลับเฟสที่ประกอบด้วยอินเวอร์เตอร์ สองตัวที่ต่ออนุกรม กัน
การปรับปรุง:
1: เร่งความเร็ววงจรหรือทำหน้าที่เป็นองค์ประกอบหน่วงเวลา
บัฟเฟอร์สามารถลดความล่าช้าของเส้นทางสัญญาณได้โดยการส่งสัญญาณผ่านสายไฟยาวๆ และตัวเก็บประจุขนาดใหญ่ได้อย่างง่ายดาย ในเส้นทางสัญญาณที่สำคัญ การใส่บัฟเฟอร์จะช่วยลดความต้านทานและปรับปรุงการส่งสัญญาณ ให้ดีขึ้น หรืออีกทางหนึ่ง บัฟเฟอร์ยังสามารถวางไว้โดยเจตนาเพื่อสร้างความล่าช้าคงที่สำหรับการจัดเรียงเวลาได้อีกด้วย
2. การเปลี่ยนแปลงเวลาเปลี่ยนผ่าน
สัญญาณที่มีเวลาเพิ่มขึ้น/ลดลงช้าอาจทำให้การสลับสัญญาณไม่น่าเชื่อถือและเกิดการละเมิดจังหวะเวลา บัฟเฟอร์จะทำให้ขอบสัญญาณ คมชัดขึ้น ปรับปรุงความชันของการเปลี่ยนแปลง และส่งผลให้พฤติกรรมดิจิทัลมีเสถียรภาพมากขึ้น ซึ่งจะช่วยป้องกันสัญญาณรบกวน กระแสลัดวงจร และการกระตุ้นตรรกะผิดพลาด
3. การป้องกันโหลดคาปาซิทีฟ
หากเกตตรรกะตัวหนึ่งขับเกตอื่นๆ จำนวนมากหรือสายไฟยาวๆ ความจุรวมของโหลดจะสูงขึ้น โหลดขนาดใหญ่นี้จะทำให้การตอบสนองเอาต์พุตของเกตช้าลง การใส่บัฟเฟอร์ระหว่างเกตและโหลดขนาดใหญ่จะช่วยลดภาระ ทำให้เกตเดิมขับเฉพาะบัฟเฟอร์เท่านั้น ไม่ใช่โหลดทั้งหมดโดยตรง
อย่างไรก็ตาม ข้อเสียอาจรวมถึงการใช้พื้นที่มากขึ้นและการใช้พลังงานที่เพิ่มขึ้น
การปรับโครงสร้างเน็ตลิสต์ :
การปรับโครงสร้างเน็ตลิสต์หมายถึงกระบวนการแก้ไขโครงสร้างของวงจรระดับเกตที่มีอยู่โดยไม่เปลี่ยนแปลงฟังก์ชันการทำงานเชิงตรรกะโดยมุ่งเน้นที่การเพิ่มประสิทธิภาพด้านเวลา พื้นที่ หรือพลังงาน ด้วยการจัดระเบียบใหม่หรือแปลงวิธีการเชื่อมต่อหรือแสดงเกตที่มีอยู่ การแปลงดังกล่าวรวมถึง:

การโคลนนิ่ง : การทำสำเนาเกตเพื่อลดความจุโหลดหรือปรับสมดุลโหลดไปตามเส้นทางต่างๆ
การออกแบบโครงสร้างข้อมูลขาเข้า/ขาออกใหม่ : การเปลี่ยนแปลงวิธีการกระจายหรือรับสัญญาณเพื่อปรับปรุงจังหวะเวลาหรือลดความแออัด
การสลับพินแบบสลับได้ : การจัดลำดับอินพุตของเกตแบบสลับได้ (เช่น AND, OR) ใหม่เพื่อเพิ่มประสิทธิภาพเส้นทางวิกฤตและเปลี่ยนการเชื่อมต่อ[ 13 ]
การแยกเกต : การแบ่งเกตที่ซับซ้อนออกเป็นรูปแบบที่ง่ายกว่า เช่น การแปลงตรรกะ AND-OR เป็นตรรกะ NAND-NAND โดยใช้อินเวอร์เตอร์ CMOS เพื่อลดความซับซ้อนของเกตตรรกะและลดความล่าช้าของเส้นทาง[ 14 ]
การปรับโครงสร้างแบบบูลีน : การนำกฎพีชคณิตบูลีนมาใช้เพื่อลดความซับซ้อนหรือแสดงสมการตรรกะใหม่ มักจะช่วยลดความล่าช้าของเส้นทางหรือนำไปสู่การสร้างโค้ดที่มีขนาดเล็กลง
การแปลงย้อนกลับก็เป็นไปได้เช่นกัน
นอกจากนี้ ยังสามารถดำเนินการต่างๆ เช่น การลดขนาดเกต การรวม หรือการทำให้โครงสร้างลอจิกที่ขยายไว้ก่อนหน้านี้ง่ายขึ้นได้ หากเป็นประโยชน์ต่อตัวชี้วัดการออกแบบโดยรวม (เช่น พื้นที่หรือพลังงาน)
เทคนิคเหล่านี้มักถูกนำไปใช้โดยอัตโนมัติโดยเครื่องมือสังเคราะห์ทางกายภาพและเครื่องมือจัดวางและกำหนดเส้นทาง (เช่น Synopsys IC compiler, Cadence Innovus หรือ Intel Quartus) แต่ก็สามารถควบคุมได้ด้วยตนเองโดยนักออกแบบผ่านข้อจำกัดและคำสั่งการเพิ่มประสิทธิภาพได้เช่นกัน
ขั้นตอนการออกแบบ

ใช้ STA ในการตรวจสอบและยืนยันแบบวนซ้ำ:
หลังจากขั้นตอนการกำหนดเส้นทางเสร็จสมบูรณ์แล้ว รายละเอียดทางกายภาพของการออกแบบ รวมถึงความยาวสายไฟ ความจุ และความต้านทาน จะได้รับการตรวจสอบและกำหนด ดำเนินการตรวจสอบและยืนยันการทำงานอย่างละเอียดถี่ถ้วนของการออกแบบ เช่น STA เพื่อรับประกันความสมบูรณ์ของการทำงานของการเพิ่มประสิทธิภาพเวลา ช่วยระบุการละเมิดเวลาและความล่าช้า และตรวจสอบประสิทธิภาพของการปิดและการเพิ่มประสิทธิภาพเวลาล่าสุด นอกจากนี้ นักออกแบบยังสามารถใช้การจำลอง การตรวจสอบ และการทดสอบฮาร์ดแวร์เพื่อตรวจสอบการทำงานและประสิทธิภาพของการออกแบบ หากวงจรไม่ตรงตามเวลา วงจรทั้งหมดจะถูกนำไปทำกระบวนการ STA ใหม่ตั้งแต่ต้นซ้ำๆ[ 3 ]
การวิเคราะห์ระยะเวลาหลังการดำเนินการ:
เมื่อการออกแบบบน FPGA เสร็จสมบูรณ์ การวิเคราะห์เวลาหลังการใช้งานจะตรวจสอบว่าบรรลุเป้าหมายด้านเวลาทั้งหมดแล้ว การวิเคราะห์นี้ทำหน้าที่เป็นการตรวจสอบขั้นสุดท้ายของการปิดเวลา ยืนยันกระบวนการปิดเวลาที่ประสบความสำเร็จ และคำนึงถึงปัจจัยเฉพาะของการใช้งานใดๆ ด้วย
ตัวอย่างของเครื่องมือเชิงพาณิชย์ที่ใช้การปิดเวลา
การเปลี่ยนแปลงวงจรตรรกะหลายอย่าง เช่น เทคนิคการเพิ่มประสิทธิภาพเวลา จะได้รับการจัดการโดยอัตโนมัติโดย เครื่องมือ EDA ของผู้ใช้ โดยอาศัยคำสั่งข้อจำกัดด้านเวลาที่นักออกแบบเตรียมไว้ การออกแบบจะถือว่าบรรลุการปิดเวลาเมื่อการออกแบบมาถึงจุดสิ้นสุดของกระบวนการและตรงตามข้อกำหนดด้านเวลาทั้งหมด[ 16 ]
ณ ปี 2026 ขั้นตอนการออกแบบหลักทั้งหมด เช่น การสังเคราะห์ การจัดวาง และการกำหนดเส้นทาง จำเป็นต้องคำนึงถึงเวลาเพื่อให้การออกแบบตรงตามข้อกำหนดด้านเวลาอย่างเหมาะสม[ 17 ]แต่ด้วยเทคโนโลยีรุ่นเก่า มีเพียงเครื่องมือ EDA สำหรับการสังเคราะห์ตรรกะเท่านั้นที่คำนึงถึงเวลา
แม้ว่าการคำนึงถึงจังหวะเวลาจะถูกขยายไปสู่ทุกขั้นตอนเหล่านี้ โดยเริ่มต้นจากหลักการที่ได้รับการยอมรับอย่างดีสำหรับการสังเคราะห์ตรรกะ แต่ขั้นตอนตรรกะและขั้นตอนทางกายภาพของกระบวนการปิดจังหวะเวลายังคงได้รับการจัดการโดยทีมออกแบบที่แตกต่างกันและเครื่องมือ EDA ที่แตกต่างกันตัวอย่างของเครื่องมือสังเคราะห์ตรรกะ ได้แก่ Design Compilerโดย Synopsys , Encounter RTL Compiler โดย Cadence Design Systems และBlastCreate โดย Magma Design Automation ในขณะที่ตัวอย่างของเครื่องมือที่สามารถจัดวางตำแหน่งโดยคำนึงถึงจังหวะเวลา สังเคราะห์โครงสร้างสัญญาณนาฬิกา และกำหนดเส้นทางได้ จึงถูกนำมาใช้สำหรับ การปิดจังหวะเวลาทางกายภาพได้แก่ IC Compiler โดย Synopsys, SoC Encounterโดย Cadence Design Systems และBlast Fusionโดย Magma Design Automation
เครื่องมือ FPGA บางตัวใช้ โปรแกรม การเรียนรู้ของเครื่อง[ 18 ]เช่นInTimeโดย Plunify เพื่อค้นหาชุดพารามิเตอร์การกำหนดค่าเครื่องมือสังเคราะห์ FPGA ที่เหมาะสมที่สุด แผนที่ การจัดวาง และการกำหนดเส้นทาง เพื่อให้แน่ใจว่าวงจรจะปิดเวลา ข้อกำหนดด้านเวลาจำเป็นต้องถูกแปลงเป็น ข้อจำกัด ด้านเวลาแบบคงที่เพื่อให้เครื่องมือ EDA สามารถจัดการได้
เมื่อไม่นานมานี้ กระบวนการปิดวงจรเวลาได้ค่อยๆ ผสานรวมการสังเคราะห์ตรรกะและการใช้งานทางกายภาพเข้าไว้ด้วยกันภายใต้แพลตฟอร์มเดียวกันเพื่อเพิ่มประสิทธิภาพกระบวนการ เครื่องมือต่างๆ เช่นFusion Compilerจาก Synopsys และGenus-Innovus flow จาก Cadence นำเสนอโซลูชันแบบครบวงจรที่รวมการสังเคราะห์ตรรกะ การจัดวาง การสังเคราะห์โครงสร้างสัญญาณนาฬิกา และการกำหนดเส้นทางไว้ในสภาพแวดล้อมเดียว นอกจากนี้ ชุดเครื่องมือโอเพนซอร์ส เช่นOpenROADและ OpenSTA ได้รับความนิยมในแวดวงวิชาการและการสร้างต้นแบบของบริษัทสตาร์ทอัพ เนื่องจากความสามารถในการสนับสนุนเวิร์กโฟลว์การปิดวงจรการออกแบบที่คำนึงถึงเวลา เครื่องมือที่ทันสมัยเหล่านี้ได้รับการออกแบบมาเพื่อรับมือกับความซับซ้อนที่เพิ่มขึ้นของวงจรขนาดนาโนเมตร โดยการทำให้การแลกเปลี่ยนระหว่างประสิทธิภาพ พื้นที่ และพลังงาน (PPA) เป็นไปโดยอัตโนมัติ และช่วยให้ตรวจจับและแก้ไขการละเมิดเวลาได้เร็วขึ้นในกระบวนการออกแบบ RTL-to-GDSII
ดูเพิ่มเติม
สรุปเนื้อหา
ข้อมูลสำคัญจากบทความ
ข้อมูลสำคัญเกี่ยวกับ เวลาปิดทำการ
การปิดวงจรเวลา ใน งานออกแบบ VLSI และ วิศวกรรมอิเล็กทรอนิกส์ คือ กระบวนการ ออกแบบแบบวนซ้ำ เพื่อให้แน่ใจว่าสัญญาณทั้งหมดเป็นไปตามข้อกำหนดด้านเวลาใน วงจรซิงโครนัสแบบมี สัญญาณนาฬิกา...
ภาพรวม
วงจรดิจิทัลที่มีสัญญาณนาฬิกาต้องเป็นไปตามข้อจำกัดบางประการเพื่อให้การทำงานเป็นไปอย่างถูกต้อง ตัวอย่างเช่น ความล่าช้าของเวลาในแต่ละเส้นทางจากเอาต์พุตของฟ ลิปฟลอป D ผ่านเกตตรรกะแบบผสม แล้วไปยังอินพุตของฟลิปฟลอป D ตัวถัดไป จะต้องเป็นไปตาม (น้อยกว่า)...
ข้อจำกัดด้านเวลา
ในกระบวนการออกแบบ IC เลย์เอาต์ IC ควรเป็นไปตามข้อจำกัดทางเรขาคณิตและข้อจำกัดด้านเวลา ข้อจำกัดทางเรขาคณิตหมายถึงข้อกำหนดและกฎเกณฑ์การออกแบบทางกายภาพที่กำหนดโดยกระบวนการประกอบ เช่น การจัดเรียงเซลล์ที่ถูกต้องและระยะห่างของสายไฟขั้นต่ำ...
กระบวนการวนซ้ำการปิดเวลา
การปิดวงจรเวลาเป็นขั้นตอนสำคัญที่ช่วยให้มั่นใจได้ว่าสัญญาณทั้งหมดจะไปถึงปลายทางภายในเวลาที่กำหนด และระยะเวลาการคงค่าทั้งหมดเป็นไปตามเงื่อนไข ทำให้วงจรทำงานได้อย่างน่าเชื่อถือ นักออกแบบเริ่มต้นด้วย นามธรรม ระดับการถ่ายโอนรีจิสเตอร์ (RTL) และ โค้ด Verilog หรือ...