شمارنده حلقوی

شمارنده حلقوی نوعی از شمارنده محسوب می‌شود که با استفاده از رجیسترهای حلقوی ایجاد می‌شود. در این شمارنده، خروجی شیفت رجیستر آخر به عنوان ورودی اولین رجیستر در نظر گرفته می‌شود.
در شمارنده‌های حلقوی دو مدل متفاوت می‌توان دید:
  شمارنده حلقوی معمولی یا (over beck) که خروجی رجیستر آخر به صورت ورودی به رجیستر اول داده می‌شود (که می‌تواند ۱ یا ۰ باشد) واین چرخه در حلقه ادامه پیدا می‌کند. به‌طور مثال یک شمارنده چهاربیتی از این مدل در نظر بگیرید که به صورت one-hot (شمارنده ای که یکی از رجیسترهای آن ۱ و بقیه آن ۰ است) تنظیم شده‌است.
مقدار دهی اولیه این شمارنده با ۱۰۰۰ است.
پس بر اساس کار این شمارنده، الگوی زیر را خواهیم داشت:

۱۰۰۰٬۰۱۰۰٬۰۰۱۰٬۰۰۰۱٬۱۰۰۰,….

فقط به این نکته نوجه نمایید که یکی از این رجیسترها در این شمارنده با مقدار ۱ باید پر شود تا این شمارنده صحیح عمل نماید.
  شمارنده حلقوی به پیچیده (Twisted Ring Counter)
این شمارنده، شمارنده Johnson یا Mobius نیز نامیده می‌شود. در این شمارنده همانند شمارنده حلقوی معمولی عمل می‌نماید، اما به جای اعمال خروجی آخر به رجیستر اول، مکمل آن وارد می‌شود، در این مدل شمارنده صفرها یا یک‌ها در حال چرخش در رجیسترها هستند.

به‌طور مثال، یک شمارنده چهار بیتی را در نظر بگیرید که با ۰۰۰۰ مقدار دهی اولیه شده‌است، الگویی که در هنگام کار این شمارنده ایجاد خواهد شد به شکل زیر است:

۰۰۰۰٬۱۰۰۰٬۱۱۰۰٬۱۱۱۰٬۱۱۱۱٬۰۱۱۱٬۰۰۱۱٬۰۰۰۱٬۰۰۰۰,…..

سلسله مراتبی یک شمارنده حلقوی چهاربیتی و شکل مدار منطقی آن در شکل نمایش داده شده:

شمارنده‌های حلقوی در طراحی‌های منطقی سخت‌افزاری همانند (ASIC , FPGA) جهت ایجاد یک ماشین وضعیت محدود به کار می‌روند.

یک شمارنده باینری نیاز به یک شمارنده دارد که نسبت به یک شمارنده حلقوی از پیچیدگی بیشتری برخوردار است. از دیگر معایب یک شمارنده معمولی در تأخیر ایجاد شده توسط آن می‌باشد که نسبت به تعداد بیتهای شمارنده افزایش می‌یابد در حالی که این موضوع در شمارنده حلقوی یک تأخیر ثابت دارد و وابستگی به تعداد بیتهای شمارنده ندارد (این تأخیر همان زمان انتقال یک رجیستر به رجیستر بعدی است).
ترکیب پیچیده منطقی که در یک شمارنده معمولی وجود دارد باعث ایجاد خطاهای زمانی و در نتیجه بهره‌وری سخت‌افزاری نامنظم خواهد شد.
در شمارنده‌های حلقوی در هنگام بروز پدیده مغناطیسی و نویز (Single Bit Upset) که در محیطهای پر از نویز احتمال آن زیاد است امکان تشخیص آن را دارد.
اما از معایب شمارنده‌های حلقوی می‌توان به کم بودن چگالی کدها اشاره کرد. یک شمارنده باینری که شامل N بیت است، می‌تواند 2^N حالت را نمایش دهد در حالی که در شمارنده حلقوی در مدل معمولی آن فقط N حالت و در مدل جانسون، 2N وضعیت را می‌توان نمایش داد که در طراحی سخت‌افزاری و هزینه آن بسیار تأثیرگذار خواهد بود، چرا که طراحی و پیاده‌سازی رجیسترها نسبت به مدارات ترکیبی گرانتر تمام می‌شود.
این مقاله بر گرفته شده از مقاله ای از سایت ویکپدیا می‌باشد.

منابع 

ثبت‌های دیجیتال
مدارهای دیجیتال