ঘড়ির স্কিউ কী, এবং কেন এটি নেতিবাচক হতে পারে?


10

আমার এইচডিএল সংকলক (দ্বিতীয় কোয়ার্টাস) সময় প্রতিবেদন উত্পন্ন করে। এটিতে নোডগুলিতে "ক্লক স্কিউ" কলাম রয়েছে। ঘড়ির স্কিউয়ের একমাত্র সংজ্ঞাটি আমি পেয়েছি টাইমকোয়েস্ট ডকুমেন্টেশনে (পৃষ্ঠা 7-24 দেখুন):

ক্লক-টু-ক্লক স্থানান্তরের জন্য ম্যানুয়ালি ক্লক অনিশ্চয়তা বা স্কিউ নির্দিষ্ট করতে, set_clock_uncertaintyকমান্ডটি ব্যবহার করুন ।

সুতরাং যদি স্কিউটি "অনিশ্চয়তা" হয় তবে আমার কিছু ঘড়ি স্কিউ নেগেটিভ কেন (উদাহরণস্বরূপ -0.048)? ঘড়ির কাটা আসলে কী?

উত্তর:


8

উইকিপিডিয়া থেকে :

টিএসWআরআমিআরটিসিআমিটিসি

টিএসWআমি,=টিসিআমি-টিসি

ঘড়ির স্কিউ ইতিবাচক বা নেতিবাচক হতে পারে। যদি ঘড়ির সংকেতগুলি সম্পূর্ণ সিঙ্ক্রোনিকটিতে থাকে, তবে এই রেজিস্টারগুলিতে লক্ষ্য করা ক্লক স্কিউটি শূন্য।

সুতরাং এক রেজিস্টারে ঘড়ির কাঁচের পরিমাণ অন্য রেজিস্টারের সাথে তুলনামূলক। যেহেতু এটি আপেক্ষিক, এটি ইতিবাচক বা নেতিবাচক হতে পারে।

কিছু চিত্র:

ধনাত্মক / নেতিবাচক স্কিউ নেতৃস্থানীয় / পিছিয়ে পড়া স্কু

উদাহরণস্বরূপ আপনার প্রদত্ত টাইমকোয়েস্ট নথিতে সংজ্ঞায়িত হিসাবে একটি ইন্ট্র্যাকলক স্থানান্তর নিন:

যখন রেজিস্টার-থেকে-নিবন্ধকরণ স্থানান্তরটি ডিভাইসের মূল স্থানে ঘটে এবং উত্স এবং গন্তব্য ঘড়িগুলি একই পিএলএল আউটপুট পিন বা ক্লক পোর্ট থেকে আসে তখন ইন্ট্রাকলোক স্থানান্তর ঘটে।

সুতরাং গন্তব্য নিবন্ধটি যদি শারীরিকভাবে ক্লক জেনারেশন সার্কিটরির কাছাকাছি থাকে তবে সোর্স রেজিস্ট্রারে পৌঁছানোর আগে ঘড়িটি সম্ভবত গন্তব্য রেজিস্টারে পৌঁছে যাবে, যার ফলে একটি শীর্ষস্থানীয় ক্লক স্কিউ হবে যা ইতিবাচক। উত্স নিবন্ধের পরে যদি গন্তব্য নিবন্ধকারটি ঘড়ির কিনারা পেয়ে থাকে তবে ঘড়ির স্কিউটি পিছিয়ে বা নেতিবাচক হবে।

অন্যভাবে বলেছিলেন, ক্লক স্কু হ'ল অনিশ্চয়তা হ'ল এক ঘন্টার প্রান্তে কত ঘনিষ্ঠভাবে একসাথে একসাথে নিবন্ধন-থেকে-নিবন্ধন স্থানান্তরের উত্স রেজিস্ট্রারের ক্ষেত্রে ইউনিটগুলিতে প্রদত্ত দুটি পৃথক রেজিস্টারে পৌঁছানো যায়।

আন্তঃ- ঘড়ি স্থানান্তর এবং সেটআপ এবং সময় ধরে রাখার জন্য এই পার্থক্যটি প্রসারিত করা কিছুটা অগোছালো হয়ে যায়। সুতরাং এটি দু'জন রেজিস্টরের মধ্যে একটি প্রান্ত বা একটি হোল্ড টাইম "কতটা সিঙ্ক্রোনাস" হিসাবে ভাবা সম্ভবত সহজ। আমরা "সমকালীন "টিকে" একই সাথে সংঘটিত হওয়া "হিসাবে ভাবার প্রবণতা রাখি। তবে জিনিসগুলি খুব কম সময়ে একই সময়ে ঘটে থাকে। সুতরাং আমাদের সেই সময়ের প্রতি সহনশীলতা রাখা দরকার। এবং সহনশীলতা প্রায়শই ইতিবাচক এবং নেতিবাচক (যেমন ±) এর ক্ষেত্রে বলা হয়।


10

আধুনিক ডিজিটাল লজিক ডিভাইসগুলি সাধারণত (*) "সিঙ্ক্রোনাস ডিজাইন অনুশীলন" দিয়ে ডিজাইন করা হয়: একটি বিশ্বব্যাপী সিঙ্ক্রোনাস প্রান্ত-ট্রিগারযুক্ত রেজিস্টার-ট্রান্সফার ডিজাইন স্টাইল (আরটিএল): সমস্ত ক্রমিক ক্রিয়াকলাপগুলি গ্লোবাল ক্লক সিগন্যাল সিএলকে সংযুক্ত প্রান্ত-ট্রিগারযুক্ত রেজিস্টারে বিভক্ত হয় CL এবং খাঁটি সমন্বিত যুক্তি।

এই নকশার স্টাইলটি লোককে সময় বিবেচনা না করে দ্রুত ডিজিটাল লজিক সিস্টেমগুলি ডিজাইন করতে দেয়। অভ্যন্তরীণ স্থিতিতে বসতি স্থাপনের জন্য এক ঘড়ির প্রান্ত থেকে পরের ঘড়ির প্রান্তে পর্যাপ্ত সময় থাকার পরে তাদের সিস্টেমটি "কেবলমাত্র কাজ করবে"।

এই নকশার শৈলীর সাথে , "এই সিস্টেমে সর্বাধিক ঘড়ির হার কী?" নির্ধারণ করা ছাড়া ক্লক স্কিউ এবং অন্যান্য সময়-সম্পর্কিত সমস্যাগুলি অপ্রাসঙ্গিক।

ঘড়ির কাটা আসলে কী?

উদাহরণ স্বরূপ:

...
     R1 - register 1              R3
     +-+                  
   ->| |------>( combinational  )  +-+
...->| |------>(         logic  )->| |--...
   ->|^|------>(                )->|^|
     +-+       (                )  +-+
      |   +--->(                )   |
     CLK  | +->(                )  CLK
          | |
     R2:  | |
     +-+  | |               
...->| |->+ |
   ->|^|->--+
     +-+
      |
     CLK

বাস্তব হার্ডওয়্যার ইন, "CLK" সংকেত না সত্যিই পরিবর্তন ঠিক যে রেজিস্টার এ একযোগে। ঘড়ি স্কিউ Tskew মূল প্রজেক্টের ঘড়ি স্রোতবরাবর ঘড়ি আপেক্ষিক বিলম্ব (হয় একটি ):

সসকিউ (উত্স, গন্তব্য) = গন্তব্য_কাল - উত্স_কাল

যেখানে উত্স উত্স উত্স রেজিস্ট্রারে সক্রিয় ঘড়ির প্রান্তের সময় (এই ক্ষেত্রে, আর 1 বা আর 2), এবং গন্তব্য_কাল সময়টি কোনও সমবাহী গন্তব্য রেজিস্টারে "একই" সক্রিয় ঘড়ির প্রান্তের সময় (এই ক্ষেত্রে, আর 3) ।

  • নেতিবাচক ঘড়ি স্কিউ: আর 3 এ সিএলকে আর 1 এ ঘড়ির আগে স্যুইচ করে ।
  • ধনাত্মক ঘড়ির স্কিউ: আর 1 এ সিএলকে আর 1 এ ঘড়ির পরে স্যুইচ করে ।

ঘড়ির স্কিউ এর প্রভাব কী?

(সম্ভবত এখানে কোনও টাইমিং ডায়াগ্রাম এটিকে আরও পরিষ্কার করে দেবে)

জিনিসগুলি সঠিকভাবে কাজ করার জন্য, এমনকি সবচেয়ে খারাপ ক্ষেত্রেও, আর 3 এর ইনপুটগুলি আর 3 এর সেটআপের সময় পরিবর্তন করতে বা সময় ধরে রাখতে হবে না। অন্যটি খারাপ বিষয়, জিনিসগুলি সঠিকভাবে কাজ করার জন্য আমাদের অবশ্যই এমন জিনিসগুলি ডিজাইন করতে হবে যা:

সস্কিউ (আর 1, আর 3) <টিসিও - ম।

Tclk_min = Tco + Tcalc + Tsu - Tskew (আর 1, আর 3)।

কোথায়:

  • Tcalc সিস্টেমের যে কোনও স্থানে যুক্ত যৌক্তিক যুক্তির যে কোনও ব্লকের সর্বাধিক নিকৃষ্টতম পরিস্থিতি নিষ্পত্তির সময়। (কখনও কখনও আমরা সমাহারীয় পথে যুক্ত যৌথ যুক্তির ব্লকটিকে নতুন করে ডিজাইন করতে পারি, অংশগুলি উপরের দিকে বা নীচে প্রবাহিত করে, বা পাইপলাইনের অন্য স্টেজটি সন্নিবেশ করতে পারি, সুতরাং নতুন ডিজাইনে একটি ছোট টিসিএলসি রয়েছে, যা আমাদের ঘড়ির হার বাড়ানোর অনুমতি দেয়) ।
  • Tclk_min হ'ল একটি সক্রিয় ঘড়ির প্রান্ত থেকে পরবর্তী সক্রিয় ঘড়ির প্রান্তে সর্বনিম্ন সময়কাল। আমরা উপরের সমীকরণ থেকে এটি গণনা করি।
  • সিসু নিবন্ধকের সেটআপের সময়। রেজিস্টার প্রস্তুতকারক আশা করেন যে আমাদের সর্বদা এই প্রয়োজনটি মেটাতে যথেষ্ট ধীর গতির ঘড়ি ব্যবহার করবেন to
  • থাই নিবন্ধকের হোল্ড সময়। রেজিস্টার প্রস্তুতকারক আশা করেন যে আমাদের সর্বদা এই প্রয়োজনটি পূরণ করার জন্য পর্যাপ্ত পরিমাণে ঘড়ির কাঁটা নিয়ন্ত্রণ করে।
  • টিসিও হ'ল ক্লক-টু-আউটপুট বিলম্ব (প্রচারের সময়)। প্রতিটি সক্রিয় ঘড়ির প্রান্তের পরে, আর 1 এবং আর 2 নতুন মানগুলিতে স্যুইচ করার আগে স্বল্প সময়ের জন্য টিসিও স্বল্প সময়ের জন্য সম্মিলিত যুক্তিতে পুরানো মানগুলি চালিত করে। এটি হার্ডওয়্যার দ্বারা নির্ধারিত এবং প্রস্তুতকারকের দ্বারা গ্যারান্টিযুক্ত, তবে কেবলমাত্র আমরা তত্সু এবং থ এবং অন্যান্য প্রয়োজনীয়তাগুলি পূরণ করি যতক্ষণ না নির্মাতারা সাধারণ ক্রিয়াকলাপের জন্য নির্দিষ্ট করে।

খুব বেশি ইতিবাচক স্কিউ একটি অনিরাপত্ত বিপর্যয়। অত্যধিক ধনাত্মক স্কু (কিছু ডেটা সংমিশ্রণের সাথে) "পাথের ঝাঁকুনি" তৈরি করতে পারে যেমন R3 এর পরিবর্তে N + 1 এ "সঠিক ডেটা" ল্যাচিংয়ের পরিবর্তে N1-1 এ R1 এবং R2-র মধ্যে ডেটাটির একটি ডিস্ট্রিমেন্টিক ফাংশন) , N + 1 এর ঘড়িতে আর 1 এবং আর 2 এ ল্যাচ করা নতুন ডেটাটি মিশ্রিত হতে পারে, যৌক্তিক যুক্তিটিকে বিপর্যস্ত করতে পারে এবং "একই" ক্লক প্রান্ত এন + 1 এ ভুল তথ্য আর 3 এ ল্যাচ করতে পারে।

ঘড়ির হার কমিয়ে যে কোনও পরিমাণে নেতিবাচক স্কিউকে "স্থির" করা যায়। এটি কেবল "খারাপ" এই অর্থে যে এটি আমাদেরকে ধীর ঘড়ির হারে সিস্টেম চালাতে বাধ্য করে, যাতে R3 এর ইনপুটগুলিকে আর 1 এবং আর 2 এর পরে পুনরায় সেট করার জন্য ঘড়ির প্রান্ত N এ নতুন ডেটা দেয় এবং পরে আর 3 ফলাফলটি "পরবর্তী" ক্লক প্রান্তে N + 1 এ লেচ করে।

অনেক সিস্টেমে একটি ঘড়ি বিতরণ নেটওয়ার্ক ব্যবহার করে যা স্কিউটি শূন্যে হ্রাস করার চেষ্টা করে। প্রতি-স্বজ্ঞাতভাবে, ঘড়ির পথের সাথে সাবধানে বিলম্ব সংযোজন করে - প্রতিটি নিবন্ধকের সিএলকে ইনপুটটিতে ক্লক জেনারেটর থেকে শুরু করে - পথটি আপাত গতি বাড়ানো সম্ভব যে কোনওভাবে নিবন্ধের সিএলকে ইনপুট থেকে শারীরিকভাবে ঘড়ির কাঁটা ওয়েভফ্রন্ট ভ্রমণ করে the আলোর গতির চেয়ে দ্রুত রেজিস্টরের সিএলকে ইনপুট।

Altera ডকুমেন্টেশন উল্লেখ

"ক্লক পাথগুলিতে সম্মিলিত যুক্তি ব্যবহার করা এড়িয়ে চলুন কারণ এটি ক্লক স্কুতে অবদান রাখে।"

এটি এই বিষয়টি উল্লেখ করে যে অনেক লোক এইচডিএল লিখেন যা কোনও এফপিজিএতে এমনভাবে সংকলিত হয়ে যায় যে কোনও কোনওভাবে রেজিস্টরের স্থানীয় সিএলকে ইনপুট চালানোর জন্য গ্লোবাল সিএলকে সিগন্যাল ব্যতীত অন্য কিছু ঘটায়। (এটি "ক্লক গেটিং" যুক্তিযুক্ত হতে পারে যাতে নির্দিষ্ট মানগুলি কেবলমাত্র যখন পূরণ হয় তখনই নতুন মানগুলি একটি রেজিস্টারে লোড করা যায়; বা "ক্লক বিভাজক" যুক্তি যা কেবল N ঘড়ির মধ্যে 1 বা অন্য মাধ্যমে প্রবেশ করতে পারে)। স্থানীয় সিএলকে সাধারণত কোনওভাবে গ্লোবাল সিএলকে থেকে প্রাপ্ত করা হয় - গ্লোবাল সিএলকে টিক দেয় এবং তারপরে হয় স্থানীয় সিএলকে পরিবর্তন হয় না, বা ("অন্য কিছু" এর মাধ্যমে প্রচারের লক্ষ্যে গ্লোবাল সিএলকে পরে কিছুটা বিলম্ব হয়) স্থানীয় সিএলকে একবারে পরিবর্তন হয়।

যখন "অন্য কিছু" ডাউনস্ট্রিম রেজিস্টারের সিএলকে চালায় (আর 3), এটি স্কুকে আরও ধনাত্মক করে তোলে। যখন "অন্য কোনও কিছু" আপস্ট্রিম রেজিস্টার (আর 1 বা আর 2) এর সিএলকে চালায়, তখন এটি স্কিউটিকে আরও নেতিবাচক করে তোলে। মাঝেমধ্যে, প্রবাহের নিবন্ধের সিএলকে যা যা চালায় এবং ডাউন স্ট্রিম রেজিস্টরের সিএলকে যা চালায় তা কার্যত একই বিলম্ব হয়, যার ফলে তাদের মধ্যে স্কিউ প্রায় কার্যত শূন্য হয়ে যায়।

কিছু এএসআইসির ঘড়ির বিতরণ নেটওয়ার্কটি ইচ্ছাকৃতভাবে কয়েকটি রেজিস্টারে স্বল্প পরিমাণে ধনাত্মক ক্লক স্কু দিয়ে ডিজাইন করা হয়েছে , যা যৌথ যুক্তিটিকে প্রবাহিত হওয়ার জন্য আরও কিছুটা সময় দেয় এবং তাই পুরো সিস্টেমটি দ্রুত ঘড়ির হারে চালানো যেতে পারে। এটিকে "ক্লক স্কিউ অপ্টিমাইজেশন" বা "ক্লক স্কিউ শিডিয়ুলিং " বলা হয় এবং এটি " রিটিমিং " সম্পর্কিত।

আমি এখনও set_clock_uncertaintyকমান্ডটি দ্বারা সন্তুষ্ট - কেন আমি কখনই "ম্যানুয়ালি নির্দিষ্ট করতে" স্কিউ চাইব?

(*) একটি ব্যতিক্রম: অ্যাসিনক্রোনাস সিস্টেম


আমি বিশ্বাস করি যে ঘড়ির স্কু হ্রাস করতে বিলম্ব যুক্ত করার পিছনে ধারণাটি প্রায়শই পুরো পুরো চক্র দ্বারা ঘড়ির বিলম্বকে জড়িত করতে পারে। ঘড়িটি একবার চলার পরে আপনি সেট আপ করতে পারবেন যাতে ফ্লিপ ফ্লপ এ একই ঘড়ির প্রান্তটি 1 একই সময়ে দেখবে ফ্লিপ ফ্লপ বি ঘড়ির প্রান্তটি দেখায় 2 বাহ্যিক দর্শন থেকে, তারা বিভিন্ন প্রান্তে রয়েছে, কিন্তু সার্কিটটি কিছু করে না প্রান্তগুলি পুরোপুরি বিন্যস্ত হওয়া অবধি যত্নশীল হবেন না।
ajs410

1

ঘড়ির কাঁচ তখনই হয় যখন দূরত্ব, ক্যাপাসিট্যান্স ইত্যাদির কারণে ঘড়ির বিভিন্ন সময় বিভিন্ন সময় সার্কিটের বিভিন্ন পয়েন্টে পৌঁছায় যা এটিকে ত্রুটিযুক্ত হতে পারে। আমি মনে করি যখন রেফারেন্সটি পাওয়ার আগে ঘড়িটি সেই মুহুর্তে পৌঁছে যায় তখন অবশ্যই নেতিবাচক হওয়া উচিত

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.