रिटिमिंग: Difference between revisions

From Vigyanwiki
No edit summary
No edit summary
Line 1: Line 1:
रिटिमिंग एक [[डिजिटल सर्किट|डिजिटल परिपथ]] में लैच या रजिस्टरों के संरचनात्मक स्थान को स्थानांतरित करने की विधि है जिससे इसके प्रदर्शन, क्षेत्र, और/या [[शक्ति अनुकूलन (EDA)|शक्ति अनुकूलन]] विशेषताओं को इस तरह से सुधारा जा सके कि इसके आउटपुट पर इसके कार्यात्मक व्यवहार को संरक्षित करता है। 1983 में चार्ल्स ई. लीजर्सन और जेम्स बी. सक्से द्वारा पहली बार रिटिमिंग का वर्णन किया गया था।<ref>{{cite journal|journal= Third Caltech Conference on Very Large Scale Integration|publisher=Springer|title=रिटिमिंग द्वारा सिंक्रोनस सर्किटरी का अनुकूलन|author=Charles E. Leiserson, Flavio M. Rose, JamesB. Saxe|date=1983|page=87–116|doi=10.1007/978-3-642-95432-0_7}}</ref>
रिटिमिंग [[डिजिटल सर्किट|डिजिटल परिपथ]] में लैच या रजिस्टरों के संरचनात्मक स्थान को स्थानांतरित करने की विधि है जिससे इसके प्रदर्शन, क्षेत्र, और/या [[शक्ति अनुकूलन (EDA)|शक्ति अनुकूलन]] विशेषताओं को इस तरह से सुधारा जा सके कि इसके आउटपुट पर इसके कार्यात्मक व्यवहार को संरक्षित करता है। 1983 में चार्ल्स ई. लीजर्सन और जेम्स बी. सक्से द्वारा पहली बार रिटिमिंग का वर्णन किया गया था।<ref>{{cite journal|journal= Third Caltech Conference on Very Large Scale Integration|publisher=Springer|title=रिटिमिंग द्वारा सिंक्रोनस सर्किटरी का अनुकूलन|author=Charles E. Leiserson, Flavio M. Rose, JamesB. Saxe|date=1983|page=87–116|doi=10.1007/978-3-642-95432-0_7}}</ref>


विधि  एक [[निर्देशित ग्राफ]] का उपयोग करती है जहां शिखर अतुल्यकालिक संयोजन ब्लॉकों का प्रतिनिधित्व करते हैं और निर्देशित किनारे रजिस्टरों या लैच की एक श्रृंखला का प्रतिनिधित्व करते हैं (रजिस्टरों या लैच की संख्या शून्य हो सकती है)। प्रत्येक शीर्ष का मान होता है जो संयोजन परिपथ के माध्यम से विलंब का प्रतिनिधित्व करता है। ऐसा करने के बाद, आउटपुट से इनपुट तक रजिस्टरों को धक्का देकर परिपथ को अनुकूलित करने का प्रयास कर सकते हैं और इसके विपरीत - [[ बुलबुला धक्का | बबल पुशिंग]] की तरह। दो ऑपरेशनों का उपयोग किया जा सकता है - सभी आउटपुट में एक रजिस्टर जोड़ते समय एक वर्टेक्स के प्रत्येक इनपुट से एक रजिस्टर को हटाना, और इसके विपरीत वर्टेक्स के प्रत्येक इनपुट में एक रजिस्टर जोड़ना और सभी आउटपुट से एक रजिस्टर को हटाना। सभी स्थितियों में, यदि नियमों का पालन किया जाता है, तो परिपथ का वही कार्यात्मक व्यवहार होगा जैसा कि रेटिमिंग से पहले था।
विधि  [[निर्देशित ग्राफ]] का उपयोग करती है जहां शिखर अतुल्यकालिक संयोजन ब्लॉकों का प्रतिनिधित्व करते हैं और निर्देशित किनारे रजिस्टरों या लैच की श्रृंखला का प्रतिनिधित्व करते हैं (रजिस्टरों या लैच की संख्या शून्य हो सकती है)। प्रत्येक शीर्ष का मान होता है जो संयोजन परिपथ के माध्यम से विलंब का प्रतिनिधित्व करता है। ऐसा करने के बाद, आउटपुट से इनपुट तक रजिस्टरों को धक्का देकर परिपथ को अनुकूलित करने का प्रयास कर सकते हैं और इसके विपरीत - [[ बुलबुला धक्का |बबल पुशिंग]] की तरह। दो ऑपरेशनों का उपयोग किया जा सकता है - सभी आउटपुट में रजिस्टर जोड़ते समय वर्टेक्स के प्रत्येक इनपुट से एक रजिस्टर को हटाना, और इसके विपरीत वर्टेक्स के प्रत्येक इनपुट में रजिस्टर जोड़ना और सभी आउटपुट से रजिस्टर को हटाना। सभी स्थितियों में, यदि नियमों का पालन किया जाता है, तो परिपथ का वही कार्यात्मक व्यवहार होगा जैसा कि रेटिमिंग से पहले था।


== औपचारिक विवरण ==
== औपचारिक विवरण ==


लीज़रसन और सक्से द्वारा वर्णित रेटिमिंग समस्या का प्रारंभिक सूत्रीकरण इस प्रकार है। एक निर्देशित ग्राफ <math>G:=(V,E)</math> दिया गया है| जिनके शीर्ष परिपथ में [[ तर्क द्वार |लॉजिक गेट्स]] या संयोजन विलंब तत्वों का प्रतिनिधित्व करते हैं, मान लें कि सीधे जुड़े हुए दो तत्वों के बीच  एक निर्देशित किनारा <math>e:=(u,v)</math> है एक या अधिक रजिस्टरों के माध्यम से जुड़े हुए हैं। प्रत्येक किनारे का वजन <math>w(e)</math> प्रारंभिक परिपथ किनारे <math>e</math> के साथ उपस्थित रजिस्टरों की संख्या होने दें। <math>d(v)</math> वर्टेक्स <math>v</math>. के माध्यम से प्रसार विलंब हो रिटिमिंग में लक्ष्य पूर्णांक लैग मान की गणना करना है <math>r(v)</math> प्रत्येक शीर्ष के लिए जैसे कि रेटिमेड वजन <math>w_r(e):=w(e)+r(v)-r(u)</math> हर किनारे का गैर-नकारात्मक है। एक प्रमाण है कि यह आउटपुट कार्यक्षमता को संरक्षित करता है।<ref name="one">{{cite journal|title=Retiming synchronous circuitry
लीज़रसन और सक्से द्वारा वर्णित रेटिमिंग समस्या का प्रारंभिक सूत्रीकरण इस प्रकार है। निर्देशित ग्राफ <math>G:=(V,E)</math> दिया गया है| जिनके शीर्ष परिपथ में [[ तर्क द्वार |लॉजिक गेट्स]] या संयोजन विलंब तत्वों का प्रतिनिधित्व करते हैं, मान लें कि सीधे जुड़े हुए दो तत्वों के बीच  निर्देशित किनारा <math>e:=(u,v)</math> है एक या अधिक रजिस्टरों के माध्यम से जुड़े हुए हैं। प्रत्येक किनारे का वजन <math>w(e)</math> प्रारंभिक परिपथ किनारे <math>e</math> के साथ उपस्थित रजिस्टरों की संख्या होने दें। <math>d(v)</math> वर्टेक्स <math>v</math>. के माध्यम से प्रसार विलंब हो रिटिमिंग में लक्ष्य पूर्णांक लैग मान की गणना करना है <math>r(v)</math> प्रत्येक शीर्ष के लिए जैसे कि रेटिमेड वजन <math>w_r(e):=w(e)+r(v)-r(u)</math> हर किनारे का गैर-नकारात्मक है। प्रमाण है कि यह आउटपुट कार्यक्षमता को संरक्षित करता है।<ref name="one">{{cite journal|title=Retiming synchronous circuitry
|date=June 1991|journal=Algorithmica|publisher=Springer|author=Charles E. LeisersonJames B. Saxe |volume=6|number=1|page=5–35|doi=10.1007/BF01759032|s2cid=18674287 }}</ref>
|date=June 1991|journal=Algorithmica|publisher=Springer|author=Charles E. LeisersonJames B. Saxe |volume=6|number=1|page=5–35|doi=10.1007/BF01759032|s2cid=18674287 }}</ref>
=== नेटवर्क प्रवाह के साथ [[घड़ी की अवधि|समय की अवधि]] को कम करना ===
=== नेटवर्क प्रवाह के साथ [[घड़ी की अवधि|समय की अवधि]] को कम करना ===


समय की अवधि को कम करने के लिए रेटिमिंग का सबसे आम उपयोग है। समय की अवधि को अनुकूलित करने की एक सरल विधि न्यूनतम व्यवहार्य अवधि (उदाहरण के लिए बाइनरी खोज का उपयोग करके) की खोज करना है।
समय की अवधि को कम करने के लिए रेटिमिंग का सबसे आम उपयोग है। समय की अवधि को अनुकूलित करने की एक सरल विधि न्यूनतम व्यवहार्य अवधि (उदाहरण के लिए बाइनरी खोज का उपयोग करके) की खोज करना है।


समय की अवधि <math>T</math> की व्यवहार्यता को कई तरीकों से जांचा जा सकता है। नीचे दिया गया रैखिक कार्यक्रम संभव है यदि और केवल यदि <math>T</math> एक व्यवहार्य समय अवधि है। चलो <math>W(u,v)</math> <math>u</math> से <math>v</math> तक किसी भी पथ के साथ रजिस्टरों की न्यूनतम संख्या हो (यदि ऐसा पथ उपस्थित है), और <math>D(u,v)</math> किसी भी पथ के साथ अधिकतम विलंब है <math>u</math> से <math>v</math> W (u,v) रजिस्टरों के साथ। इस कार्यक्रम की दोहरी एक न्यूनतम लागत संचलन समस्या है, जिसे नेटवर्क समस्या के रूप में कुशलता से हल किया जा सकता है। इस दृष्टिकोण की सीमाएं <math>W</math> और <math>D</math> मैट्रिसेस की गणना और आकार से उत्पन्न होती हैं।
समय की अवधि <math>T</math> की व्यवहार्यता को कई तरीकों से जांचा जा सकता है। नीचे दिया गया रैखिक कार्यक्रम संभव है यदि और केवल यदि <math>T</math> व्यवहार्य समय अवधि है। चलो <math>W(u,v)</math> <math>u</math> से <math>v</math> तक किसी भी पथ के साथ रजिस्टरों की न्यूनतम संख्या हो (यदि ऐसा पथ उपस्थित है), और <math>D(u,v)</math> किसी भी पथ के साथ अधिकतम विलंब है <math>u</math> से <math>v</math> W (u,v) रजिस्टरों के साथ। इस कार्यक्रम की दोहरी न्यूनतम लागत संचलन समस्या है, जिसे नेटवर्क समस्या के रूप में कुशलता से हल किया जा सकता है। इस दृष्टिकोण की सीमाएं <math>W</math> और <math>D</math> मैट्रिसेस की गणना और आकार से उत्पन्न होती हैं।


{|  
{|  
Line 33: Line 33:




==== मिल्प के साथ समय की अवधि को कम करना ====
==== मिल्प के साथ समय की अवधि को कम करना ====
वैकल्पिक रूप से, समय की अवधि की व्यवहार्यता <math>T</math> मिश्रित-पूर्णांक रैखिक कार्यक्रम (मिल्प के रूप में व्यक्त किया जा सकता है। एक समाधान उपस्थित होगा और एक वैध अंतराल फलन होगा <math>r(v)</math> यदि और केवल यदि अवधि संभव है तो वापस कर दिया जाएगा।
वैकल्पिक रूप से, समय की अवधि की व्यवहार्यता <math>T</math> मिश्रित-पूर्णांक रैखिक कार्यक्रम (मिल्प के रूप में व्यक्त किया जा सकता है। समाधान उपस्थित होगा और एक वैध अंतराल फलन होगा <math>r(v)</math> यदि और केवल यदि अवधि संभव है तो वापस कर दिया जाएगा।


{|  
{|  
Line 65: Line 65:
=== अन्य फॉर्मूलेशन और एक्सटेंशन ===
=== अन्य फॉर्मूलेशन और एक्सटेंशन ===


वैकल्पिक फॉर्मूलेशन रजिस्टर गिनती को कम करने और विलंब की बाधा के अनुसार रजिस्टर गिनती को कम करने की अनुमति देता है। प्रारंभिक पेपर में ऐसे एक्सटेंशन सम्मिलित हैं जो फैन-आउट शेयरिंग और अधिक सामान्य विलंब मॉडल पर विचार करने की अनुमति देते हैं। बाद के काम ने रजिस्टर में विलंब लोड-निर्भर विलंब मॉडल और बाधाओं को रोकने के समावेश को संबोधित किया है।<ref name="two">K. N. Lalgudi, M. C. Papaefthymiou, {{doi-inline|10.1109/43.664222|Retiming edge-triggered circuits under general delay models}}, [[IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems]], vol.16, no.12, pp.1393-1408, Dec. 1997.</ref><ref name="three">M. C. Papaefthymiou, {{doi-inline|10.1145/288548.289060|Asymptotically efficient retiming under setup and hold constraints}}, IEEE/ACM International Conference on Computer-Aided Design, 1998.</ref>
वैकल्पिक फॉर्मूलेशन रजिस्टर गिनती को कम करने और विलंब की बाधा के अनुसार रजिस्टर गिनती को कम करने की अनुमति देता है। प्रारंभिक पेपर में ऐसे एक्सटेंशन सम्मिलित हैं जो फैन-आउट शेयरिंग और अधिक सामान्य विलंब मॉडल पर विचार करने की अनुमति देते हैं। बाद के काम ने रजिस्टर में विलंब लोड-निर्भर विलंब मॉडल और बाधाओं को रोकने के समावेश को संबोधित किया है।<ref name="two">K. N. Lalgudi, M. C. Papaefthymiou, {{doi-inline|10.1109/43.664222|Retiming edge-triggered circuits under general delay models}}, [[IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems]], vol.16, no.12, pp.1393-1408, Dec. 1997.</ref><ref name="three">M. C. Papaefthymiou, {{doi-inline|10.1145/288548.289060|Asymptotically efficient retiming under setup and hold constraints}}, IEEE/ACM International Conference on Computer-Aided Design, 1998.</ref>
== समस्याएं ==
== समस्याएं ==


Line 72: Line 72:
== विकल्प ==
== विकल्प ==


समय स्कू शेड्यूलिंग अनुक्रमिक परिपथ को अनुकूलित करने के लिए एक संबंधित विधि है। जबकि रिटिमिंग रजिस्टरों की संरचनात्मक स्थिति को स्थानांतरित करता है, क्लॉक स्क्यू शेड्यूलिंग समय संकेत के आगमन समय को निर्धारित करके उनकी अस्थायी स्थिति को स्थानांतरित करता है। दोनों विधि को प्राप्त करने योग्य न्यूनतम समय अवधि की निचली सीमा अधिकतम औसत चक्र समय है (अर्थात किसी भी पथ के साथ कुल संयोजन विलंब इसके साथ रजिस्टरों की संख्या से विभाजित)।
समय स्कू शेड्यूलिंग अनुक्रमिक परिपथ को अनुकूलित करने के लिए संबंधित विधि है। जबकि रिटिमिंग रजिस्टरों की संरचनात्मक स्थिति को स्थानांतरित करता है, क्लॉक स्क्यू शेड्यूलिंग समय संकेत के आगमन समय को निर्धारित करके उनकी अस्थायी स्थिति को स्थानांतरित करता है। दोनों विधि को प्राप्त करने योग्य न्यूनतम समय अवधि की निचली सीमा अधिकतम औसत चक्र समय है (अर्थात किसी भी पथ के साथ कुल संयोजन विलंब इसके साथ रजिस्टरों की संख्या से विभाजित)।


== यह भी देखें ==
== यह भी देखें ==

Revision as of 16:52, 4 March 2023

रिटिमिंग डिजिटल परिपथ में लैच या रजिस्टरों के संरचनात्मक स्थान को स्थानांतरित करने की विधि है जिससे इसके प्रदर्शन, क्षेत्र, और/या शक्ति अनुकूलन विशेषताओं को इस तरह से सुधारा जा सके कि इसके आउटपुट पर इसके कार्यात्मक व्यवहार को संरक्षित करता है। 1983 में चार्ल्स ई. लीजर्सन और जेम्स बी. सक्से द्वारा पहली बार रिटिमिंग का वर्णन किया गया था।[1]

विधि निर्देशित ग्राफ का उपयोग करती है जहां शिखर अतुल्यकालिक संयोजन ब्लॉकों का प्रतिनिधित्व करते हैं और निर्देशित किनारे रजिस्टरों या लैच की श्रृंखला का प्रतिनिधित्व करते हैं (रजिस्टरों या लैच की संख्या शून्य हो सकती है)। प्रत्येक शीर्ष का मान होता है जो संयोजन परिपथ के माध्यम से विलंब का प्रतिनिधित्व करता है। ऐसा करने के बाद, आउटपुट से इनपुट तक रजिस्टरों को धक्का देकर परिपथ को अनुकूलित करने का प्रयास कर सकते हैं और इसके विपरीत - बबल पुशिंग की तरह। दो ऑपरेशनों का उपयोग किया जा सकता है - सभी आउटपुट में रजिस्टर जोड़ते समय वर्टेक्स के प्रत्येक इनपुट से एक रजिस्टर को हटाना, और इसके विपरीत वर्टेक्स के प्रत्येक इनपुट में रजिस्टर जोड़ना और सभी आउटपुट से रजिस्टर को हटाना। सभी स्थितियों में, यदि नियमों का पालन किया जाता है, तो परिपथ का वही कार्यात्मक व्यवहार होगा जैसा कि रेटिमिंग से पहले था।

औपचारिक विवरण

लीज़रसन और सक्से द्वारा वर्णित रेटिमिंग समस्या का प्रारंभिक सूत्रीकरण इस प्रकार है। निर्देशित ग्राफ दिया गया है| जिनके शीर्ष परिपथ में लॉजिक गेट्स या संयोजन विलंब तत्वों का प्रतिनिधित्व करते हैं, मान लें कि सीधे जुड़े हुए दो तत्वों के बीच निर्देशित किनारा है एक या अधिक रजिस्टरों के माध्यम से जुड़े हुए हैं। प्रत्येक किनारे का वजन प्रारंभिक परिपथ किनारे के साथ उपस्थित रजिस्टरों की संख्या होने दें। वर्टेक्स . के माध्यम से प्रसार विलंब हो रिटिमिंग में लक्ष्य पूर्णांक लैग मान की गणना करना है प्रत्येक शीर्ष के लिए जैसे कि रेटिमेड वजन हर किनारे का गैर-नकारात्मक है। प्रमाण है कि यह आउटपुट कार्यक्षमता को संरक्षित करता है।[2]

नेटवर्क प्रवाह के साथ समय की अवधि को कम करना

समय की अवधि को कम करने के लिए रेटिमिंग का सबसे आम उपयोग है। समय की अवधि को अनुकूलित करने की एक सरल विधि न्यूनतम व्यवहार्य अवधि (उदाहरण के लिए बाइनरी खोज का उपयोग करके) की खोज करना है।

समय की अवधि की व्यवहार्यता को कई तरीकों से जांचा जा सकता है। नीचे दिया गया रैखिक कार्यक्रम संभव है यदि और केवल यदि व्यवहार्य समय अवधि है। चलो से तक किसी भी पथ के साथ रजिस्टरों की न्यूनतम संख्या हो (यदि ऐसा पथ उपस्थित है), और किसी भी पथ के साथ अधिकतम विलंब है से W (u,v) रजिस्टरों के साथ। इस कार्यक्रम की दोहरी न्यूनतम लागत संचलन समस्या है, जिसे नेटवर्क समस्या के रूप में कुशलता से हल किया जा सकता है। इस दृष्टिकोण की सीमाएं और मैट्रिसेस की गणना और आकार से उत्पन्न होती हैं।

Given and a target clock period
Find
Such that
if


मिल्प के साथ समय की अवधि को कम करना

वैकल्पिक रूप से, समय की अवधि की व्यवहार्यता मिश्रित-पूर्णांक रैखिक कार्यक्रम (मिल्प के रूप में व्यक्त किया जा सकता है। समाधान उपस्थित होगा और एक वैध अंतराल फलन होगा यदि और केवल यदि अवधि संभव है तो वापस कर दिया जाएगा।

Given and a target clock period
Find and
Such that


अन्य फॉर्मूलेशन और एक्सटेंशन

वैकल्पिक फॉर्मूलेशन रजिस्टर गिनती को कम करने और विलंब की बाधा के अनुसार रजिस्टर गिनती को कम करने की अनुमति देता है। प्रारंभिक पेपर में ऐसे एक्सटेंशन सम्मिलित हैं जो फैन-आउट शेयरिंग और अधिक सामान्य विलंब मॉडल पर विचार करने की अनुमति देते हैं। बाद के काम ने रजिस्टर में विलंब लोड-निर्भर विलंब मॉडल और बाधाओं को रोकने के समावेश को संबोधित किया है।[3][4]

समस्याएं

छिटपुट यद्यपि, रिटिमिंग का औद्योगिक उपयोग हुआ है। इसका प्राथमिक दोष यह है कि परिपथ का स्टेट एन्कोडिंग नष्ट हो जाता है, डिबगिंग, परीक्षण और सत्यापन को और अधिक कठिन बना देता है। परिपथ को एक समान प्रारंभिक अवस्था में प्रारंभिक करने के लिए कुछ रेटिमिंग्स को जटिल प्रारंभिक तर्क की आवश्यकता हो सकती है। अंत में, परिपथ की टोपोलॉजी में परिवर्तन के परिणाम अन्य तार्किक और भौतिक संश्लेषण चरणों में होते हैं जो डिजाइन को बंद करना कठिन बनाते हैं।

विकल्प

समय स्कू शेड्यूलिंग अनुक्रमिक परिपथ को अनुकूलित करने के लिए संबंधित विधि है। जबकि रिटिमिंग रजिस्टरों की संरचनात्मक स्थिति को स्थानांतरित करता है, क्लॉक स्क्यू शेड्यूलिंग समय संकेत के आगमन समय को निर्धारित करके उनकी अस्थायी स्थिति को स्थानांतरित करता है। दोनों विधि को प्राप्त करने योग्य न्यूनतम समय अवधि की निचली सीमा अधिकतम औसत चक्र समय है (अर्थात किसी भी पथ के साथ कुल संयोजन विलंब इसके साथ रजिस्टरों की संख्या से विभाजित)।

यह भी देखें

टिप्पणियाँ

  1. Charles E. Leiserson, Flavio M. Rose, JamesB. Saxe (1983). "रिटिमिंग द्वारा सिंक्रोनस सर्किटरी का अनुकूलन". Third Caltech Conference on Very Large Scale Integration. Springer: 87–116. doi:10.1007/978-3-642-95432-0_7.{{cite journal}}: CS1 maint: multiple names: authors list (link)
  2. Charles E. LeisersonJames B. Saxe (June 1991). "Retiming synchronous circuitry". Algorithmica. Springer. 6 (1): 5–35. doi:10.1007/BF01759032. S2CID 18674287.
  3. K. N. Lalgudi, M. C. Papaefthymiou, Retiming edge-triggered circuits under general delay models, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, vol.16, no.12, pp.1393-1408, Dec. 1997.
  4. M. C. Papaefthymiou, Asymptotically efficient retiming under setup and hold constraints, IEEE/ACM International Conference on Computer-Aided Design, 1998.


संदर्भ

  • Leiserson, 1C. E.; Saxe, J. B. (1983). "Optimizing Synchronous Systems". Journal of VLSI and Computer Systems. 1 (1): 41–67.


बाहरी संबंध