กลับไปหน้าบทความ

อ่าน 2 นาที

การปรับเวลาใหม่

วิธีการอย่างเป็นทางการ/ไทม์มิ่งในวงจรอิเล็กทรอนิกส์

การปรับเวลาใหม่ (Retiming)เป็นเทคนิคการเคลื่อนย้ายตำแหน่งโครงสร้างของสลักหรือรีจิสเตอร์ในวงจรดิจิทัลเพื่อปรับปรุงประสิทธิภาพ พื้นที่ และ/หรือ ลักษณะ...

การปรับเวลาใหม่

การปรับเวลาใหม่ (Retiming)เป็นเทคนิคการเคลื่อนย้ายตำแหน่งโครงสร้างของสลักหรือรีจิสเตอร์ในวงจรดิจิทัลเพื่อปรับปรุงประสิทธิภาพ พื้นที่ และ/หรือ ลักษณะ การใช้พลังงานในลักษณะที่ยังคงรักษาพฤติกรรมการทำงานที่เอาต์พุตไว้ การปรับเวลาใหม่นี้ได้รับการอธิบายครั้งแรกโดยCharles E. LeisersonและJames B. Saxeในปี 1983 [ 1 ]

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

คำอธิบายอย่างเป็นทางการ

การกำหนดปัญหาการปรับเวลาใหม่เบื้องต้นตามที่ Leiserson และ Saxe อธิบายไว้มีดังนี้ กำหนดให้กราฟแบบมีทิศทาง ซึ่งจุดยอดแทนเกตตรรกะหรือองค์ประกอบหน่วงเวลาแบบผสมในวงจร สมมติว่ามีขอบแบบมีทิศทางระหว่างองค์ประกอบสองตัวที่เชื่อมต่อกันโดยตรงหรือผ่านรีจิสเตอร์หนึ่งตัวขึ้นไป ให้ค่าน้ำหนักของแต่ละขอบเป็นจำนวนรีจิสเตอร์ที่อยู่ตามขอบในวงจรเริ่มต้น ให้เป็นการหน่วงเวลาการแพร่กระจายผ่านจุดยอดเป้าหมายในการปรับเวลาใหม่คือการคำนวณค่าหน่วงเวลา จำนวนเต็ม สำหรับแต่ละจุดยอดเพื่อให้ค่าน้ำหนักที่ปรับเวลาใหม่ของทุกขอบไม่เป็นลบ มีการพิสูจน์ว่าสิ่งนี้จะรักษาฟังก์ชันการทำงานของเอาต์พุตไว้[ 2 ]

ลดระยะเวลาของนาฬิกาให้น้อยที่สุดด้วยการไหลของเครือข่าย

การปรับเวลาที่พบบ่อยที่สุดคือการลดคาบเวลาของนาฬิกา ให้เหลือน้อยที่สุด เทคนิคอย่างง่ายในการปรับคาบเวลาของนาฬิกาให้เหมาะสมที่สุดคือการค้นหาคาบเวลาที่น้อยที่สุดที่เป็นไปได้ (เช่น การใช้การค้นหาแบบไบนารี )

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

ที่ให้ไว้และช่วงเวลาเป้าหมายของนาฬิกา
หา
โดยที่
ถ้า

ลดระยะเวลาของนาฬิกาให้น้อยที่สุดด้วย MILP

อีกทางเลือกหนึ่ง ความเป็นไปได้ของช่วงเวลาของนาฬิกา สามารถแสดงได้ในรูปของ โปรแกรมเชิงเส้นจำนวนเต็มผสม(MILP) จะมีคำตอบและฟังก์ชันหน่วงเวลาที่ถูกต้องก็ต่อเมื่อช่วงเวลานั้นเป็นไปได้เท่านั้น

ที่ให้ไว้และช่วงเวลาเป้าหมายของนาฬิกา
หาและ
โดยที่

สูตรและส่วนขยายอื่นๆ

สูตรทางเลือกช่วยให้สามารถลดจำนวนรีจิสเตอร์และลดจำนวนรีจิสเตอร์ภายใต้ข้อจำกัดด้านความล่าช้า บทความเริ่มต้นประกอบด้วยส่วนขยายที่อนุญาตให้พิจารณาการแบ่งปัน fan-out และแบบจำลองความล่าช้าทั่วไปมากขึ้น งานต่อมาได้กล่าวถึงการรวมความล่าช้าของรีจิสเตอร์[ 3 ]แบบจำลองความล่าช้าที่ขึ้นอยู่กับโหลด[ 3 ]และข้อจำกัดการถือครอง[ 4 ]

ปัญหา

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

ทางเลือกอื่นๆ

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

ดูเพิ่มเติม

หมายเหตุ

  1. Leiserson, Charles E.; Rose, Flavio M.; Saxe, James B. (1983). "การเพิ่มประสิทธิภาพวงจรซิงโครนัสด้วยการปรับเวลาใหม่ (ฉบับร่างเบื้องต้น)" การประชุม Caltech ครั้งที่สามว่าด้วยการรวมวงจรขนาดใหญ่มาก Springer. หน้า87–116 . doi : 10.1007/978-3-642-95432-0_7 . ISBN  978-3-540-12369-9.
  2. Leiserson, Charles E.; Saxe, James B. (มิถุนายน 1991). "การปรับเวลาวงจรซิงโครนัส". Algorithmica . 6 (1). Springer: 5– 35. doi : 10.1007/BF01759032 . S2CID 18674287 . 
  3. 1 2 Lalgudi, KN; Papaefthymiou, MC (1997). "การปรับเวลาวงจรทริกเกอร์ขอบภายใต้แบบจำลองความล่าช้าทั่วไป" IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems . 16 (12): 1393– 1408. doi : 10.1109/43.664222 .
  4. Papaefthymiou, Marios C. (1998). "การปรับเวลาใหม่ที่มีประสิทธิภาพเชิงอะซิมโทติกภายใต้ข้อจำกัดการตั้งค่าและการคงค่า". รายงานการประชุมนานาชาติ IEEE/ACM ว่าด้วยการออกแบบโดยใช้คอมพิวเตอร์ช่วย ประจำปี 1998 - ICCAD '98หน้า396–401 . doi : 10.1145/288548.289060 . ISBN  1-58113-008-2.
  • การนำเสนอเกี่ยวกับการปรับเวลาใหม่จาก MIT
  • อัลกอริทึมการปรับเวลาการลงทะเบียนระดับเกตที่ปลอดภัยและสมบูรณ์แบบ
ดึงข้อมูลมาจาก " https://en.wikipedia.org/w/index.php?title=Retiming&oldid=1362526765 "

สรุปเนื้อหา

ข้อมูลสำคัญจากบทความ

ข้อมูลสำคัญเกี่ยวกับ การปรับเวลาใหม่

การปรับเวลาใหม่ (Retiming)เป็นเทคนิคการเคลื่อนย้ายตำแหน่งโครงสร้างของสลักหรือรีจิสเตอร์ในวงจรดิจิทัลเพื่อปรับปรุงประสิทธิภาพ พื้นที่ และ/หรือ ลักษณะ...

คำอธิบายอย่างเป็นทางการ

การกำหนดปัญหาการปรับเวลาใหม่เบื้องต้นตามที่ Leiserson และ Saxe อธิบายไว้มีดังนี้ กำหนดให้ กราฟแบบมีทิศทาง ซึ่งจุดยอดแทน เกตตรรกะ หรือองค์ประกอบหน่วงเวลาแบบผสมในวงจร...

ลดระยะเวลาของนาฬิกาให้น้อยที่สุดด้วยการไหลของเครือข่าย

การปรับเวลาที่พบบ่อยที่สุดคือการลดคาบ เวลาของนาฬิกา ให้เหลือน้อยที่สุด เทคนิคอย่างง่ายในการปรับคาบเวลาของนาฬิกาให้เหมาะสมที่สุดคือการค้นหาคาบเวลาที่น้อยที่สุดที่เป็นไปได้ (เช่น การใช้ การค้นหาแบบไบนารี )

ลดระยะเวลาของนาฬิกาให้น้อยที่สุดด้วย MILP

อีกทางเลือกหนึ่ง ความเป็นไปได้ของช่วงเวลาของนาฬิกา สามารถแสดงได้ในรูปของ โปรแกรมเชิงเส้น จำนวนเต็มผสม(MILP) จะมีคำตอบและฟังก์ชันหน่วงเวลาที่ถูกต้องก็ต่อเมื่อช่วงเวลานั้นเป็นไปได้เท่านั้น ที {\displaystyle T} ร ( วี ) {\displaystyle r(v)}