Sanash yo‘nalishi bo‘yicha quyidagi hisoblagichlar farqlanadi:
- jamlovchi hisoblagichlar (to‘g‘ri sanovchi), bu hisoblagichlarda hisoblagich holati ko‘payadi (inkrement);
- ayiruvchi hisoblagichlar (teskari sanovchi), bu hisoblagichlarda hisoblagich holati kamayadi (dekrement);
- reversiv hisoblagichlar, bu hisoblagichlar boshqarish signali bo‘yicha jamlovchi yoki ayiruvchi hisoblagich kabi ishlaydi.
Sanash amalini tashkil etish bo‘yicha asinxron va sinxron hisoblagichlar farqlanadi. Asinxron hisoblagichlarda har bir keyingi trigger oldingi trigger sxemasida shakllangan signal orqali boshqariladi. Sinxron hisoblagichlarda esa sanoq signallari barcha triggerlarning sinxron kirish yo‘liga baravar beriladi.
Xonalararo bog‘lanishni qurish usuliga binoan ketma-ket, parallel va guruxli ko‘chirishli hisoblagichlar farqlanadi.
Ikkili asinxron hisoblagich ishlashini ikki pog‘onali sanoq triggerlarda qurilgan to‘rt xonali hisoblagich misolida ko‘raylik (6.3.1.rasm). Bu hisoblagich ikkita sanoq kirish yo‘liga (S1, S2) va ikkita nulga o‘rnatish kirish yo‘liga [R0(1), R0(2)] ega. Triggerlar kirish yo‘li signalining orqa fronti bo‘yicha (1dan 0ga o‘tganida) ishlaydi.To‘rtta ketma-ket ulangan triggerlar moduli 24=16 ga teng hisoblagichni tashkil etadi.
6.3.2. rasmdagi vaqt diagrammasida hisoblagich kirish yo‘liga signallarning davriy ketma-ketligi berilganida har bir triggerning holati ko‘rsatilgan. 6.3.1. jadvalda esa kirish yo‘liga berilgan signallar soniga mos triggerlar holati keltirilgan. Hisoblagich kirish yo‘liga berilgan har bir yangi signal hisoblagich holatini bittaga orttiradi, ya’ni inkrement amali bajariladi.
Sanoq triggeri kirish yo‘li signali chastotasini ikkiga bo‘lishligi sababli, to‘rtta ketma-ket ulangan triggerlar zanjiri chastotani 16 ga bo‘ladi. Har bir o‘n oltinchi signal kelishi bilan hisoblagich nul holatiga o‘tadi va sanash sikli qaytadan boshlanadi. 6.3.1. rasmdagi hisoblagich jamlovchi hisoblagich hisoblanadi.
Agar hisoblagichdagi triggerlar signalning oldi fronti bo‘yicha (“0”dan “1”ga o‘tganida) ishlasa hisoblagich ayiruvchi hisoblagichka aylanadi, ya’ni u dekrement amalini bajaradi. Bunday hisoblagichning vaqt diagrammasi 6.3. rasm.da keltirilgan.
To‘g‘ri va teskari sanashning turli variantlaridan foydalanib reversiv hisoblagichni qurish mumkin. 6.3.4. rasmda reversiv hisoblagichning bir varianti keltirilgan. V kirish yo‘liga mantiqiy “0” berilsa (V=0) hisoblagich jamlovchi schetchik kabi ishlasa, mantiqiy “1” berilsa (V=1) hisoblagich ayiruvchi hisoblagich kabi ishlaydi.
Yuqorida ko‘rilgan hisoblagichlarda har bir trigger o‘z holatini undan oldingi trigger o‘zgartirganidan so‘ng o‘zgartiradi. Shu sababli bu hisoblagichlar ketma-ket ko‘chirishli hisoblagich deb yuritiladi. Bu hisoblagich sxemalari sodda bo‘lsada, tezkorligi past. Yauniy kodning o‘rnatilish vaqti hisoblagichning turli holatida turlicha bo‘ladi. Masalan, hisoblagichda 010=0000, 410=0100 va h. yozilgan bo‘lsa kirish yo‘li signali ta’sirida bitta trigger o‘z holatini o‘zgartirsa, 1510=1111 yoki 710=0111 holatidan keyingi holatga o‘tishda barcha to‘rtta trigger o‘z holatini o‘zgartiradi.
Yakuniy kodni o‘rnatish vaqtini kamaytirish uchun hisoblagichning barcha triggerlarini bir vaqtda o‘z holatlarini teskarisiga o‘zgarishini ta’minlash lozim. Ya’ni asinxron hisoblagichlardan voz kechib, sinxron hisoblagichlardan foydalanish lozim. 6.3.5. rasmda keltirilgan hisoblagichda sinxrosignal S berilishi bilan barcha triggerlar o‘z holatini bir vaqtda o‘zgartiradi. Bunday hisoblagichlar parallel ko‘chirishli hisoblagichlar deb yuritiladi va yuqori tezkorlikka ega.
Ammo, xonalar soni oshishi bilan parallel hisoblagichlarni qurish qiyinlashadi, chunki VA elementi kirish yo‘llarining soni oshadi. Bu esa o‘z navbatida triggerlar chiqish yo‘lida yuklamaning oshishiga olib keladi. SHu sababli, xonalar sonining ko‘pligida kombinatsiyalangan – ketma-ket – parallel ko‘chirishli tuzilmalardan foydalaniladi. Bunda bir necha triggerlar guruhlarga birlashtirilib, guruh ichida parallel ko‘chirish tashkil etilsa, guruhlar orasida ketma-ket ko‘chirish amalga oshiriladi (6.3.6. rasm). Guruhdan ko‘chirish signali ushbu guruh barcha triggerlarining birlik holatida ro‘y beradi.
Ixtiyoriy sanash modulli hisoblagichni qurish uchun log2 M soni eng yaqin butun songacha yaxlitlanadi
сон бутун , log 2 n M n
Natijada triggerlarning kerakli sonini olamiz. Ixtiyoriy sanash modulli hisoblagich uchun asos sifatida 2n holatga ega bo‘lgan ikkili hisoblagich xizmat qiladi. Demak, ixtiyoriy sanash modulli hisoblagichda ishlatilmaydigan ortiqcha holatlar quydagicha aniqlanadi:
M L n 2
Ixtiyoriy sanash modulli hisoblagichlarni qurishda ishlatiladigan asosiy usullar:
ortiqcha holatlarni chiqarib tashlash usuli;
boshqariluvchi nulga o‘rnatish usuli.
Birinchi usul raqamli qurilmalarni sintezlash algoritmiga asoslangan va to‘pi katta qurilmalarni qurishda ishlatiladi. Aks holda bu usulni ishlatish maqsadga muvofiq hisoblanmaydi.
Amaliyotda ko‘pincha boshqariluvchi nulga o‘rnatish usulidan foydalaniladi. Usul g‘oyasiga binoan hisoblagich chiqish yo‘lida istalgan sanoq moduli Mga mos keluvchi kodning paydo bo‘lishi bilanoq hisoblagich triggerlari nul holatiga o‘tkaziladi.
6.3.7. rasm.da sanash moduli M = 10, ya’ni o‘nli hisoblagichning sxemasi keltirilgan. To‘rt xonali ikkili hisoblagich qo‘shimcha to‘rt kirish yo‘lli 4I-NE elementiga ega va bu element kirish yo‘llariga trigger chiqish yo‘llaridan signal beriladi. Sinxron kirish yo‘li S ga o‘ninchi signal berilishi bilanoq hisoblagich triggerlari 1010 holatiga o‘tadi, ya’ni =1111. 1 2 3 4 Q Q Q Q 1 2 3 4 Q Q Q Q