FLIP-FLOPS
Combination logic circuit-களில் (Half adder, Full adder, etc) கிடைக்கப்பெறுகின்ற output ஆனது, நாம் கொடுக்கின்ற input-களின் தற்போதைய நிலைகளை மட்டும் பொறுத்து இருக்கும். ஆனால் sequential logic circuit-களில் கிடைக்கப்பெறுகின்ற output ஆனது நாம் தற்போது கொடுக்கின்ற input-களின் நிலைகளை மட்டுமல்லாமல், முந்தைய output - களின் நிலைகளையும் பொறுத்து இருக்கும்.அனைத்து flip-flop-களும் sequential logic circuit-களாகும். Flip-Flop என்பது இரண்டு stable state-களைக் கொண்ட ஒரு logic circuit ஆகும். இதில் ஒன்று அல்லது அதற்கு மேற்பட்ட input line-களும், மற்றும் ஒன்றுக்கொன்று complement ஆக உள்ள இரண்டு output line-களும் இருக்கும். ஒரு flip-flop ஆனது ஒரு bit கொண்ட binary data-வை store செய்கின்ற தன்மை கொண்டதால் இதனை memory unit என்றும் அழைக்கலாம். பல flip-flop-களை ஒன்று சேர்த்து அதிக bit-களைக் கொண்ட data-களை store செய்து கொள்ளலாம்.Flip-Flop-ல் கீழ்க்கண்ட வகைகள் உள்ளன.
- SR Flip-Flop
- JK Flip-Flop
- T-Flip-Flop
- CSR Flip-Flop
- D Flip-Flop
பொதுவாக Flip-Flop-களில் கிடைக்கப்பெறுகின்ற output ஆனது நான்கு நிலைகளாகப் பிரிக்கப்படுகின்றது. அவையாவன Set, Reset, Toggle மற்றும் No change ஆகும். இந்த நான்கு நிலைகளும் ஒரு Flip-Flop-ன் output-ல் கிடைக்கலாம், இது முந்தைய மற்றும் தற்போதைய output-களின் தன்மைகளைப் பொறுத்து இருக்கும்.எனவே அதன் உண்மையான நிலையை கண்டறிய, முந்தைய output களோடு ஒப்பிட்டு பார்த்துதான் கணக்கிட வேண்டும். முந்தைய output-ன் நிலைகள் மாறாமல் அப்படியே தற்போது கிடைத்தால், அது No-change எனப்படும். முந்தைய output-ன் நிலையானது எவ்வாறு இருந்தாலும் தற்போது Q=1, Q=0 என கிடைக்கப் பெற்றால், அது Set எனப்படும். முந்தைய output-ன் நிலைகள் எவ்வாறு இருந்தாலும் தற்போது Q=0, Q=1 என கிடைக்கப் பெற்றால், அது Reset எனப்படும். முந்தைய output-ன் நிலைகள் மாறி அதன் complement ஆனது output-ல் கிடைக்கப்பெற்றால் அது Toggle எனப்படும்.
SR FLIP-FLOP
மூன்றாவது gateன் output ஆனது நான்காவது gate-ன் ஒரு input ஆகவும், நான்காவது gate-ன் output ஆனது மூன்றாவது gate-ன் ஒரு input ஆகவும் இணைக்கப்பட்டுள்ளது. இது multivibrator-ல் உள்ள feedback இணைப்பினைப் போன்று உள்ளது. எனவே இரண்டு output-களும் ஒரே நிலையில் கண்டிப்பாக இருக்காது. 1 மற்றும் 2 என குறிப்பிடப்பட்டுள்ள இரண்டு gateகளும் NOT gate-களாக செயலாற்றுகின்றது.Input ஆனது S=0, R=0 என்று கொடுக்கப்பட்டால் முந்தைய output ஆனது மாறாமல், அப்படியே Output-ல் கிடைக்கும், எனவே இந்த stateஆனது No change எனப்படும். Input ஆனது S=1, R=0 என்று கொடுக்கப்பட்டால் output ஆனது Q=1, Q = 0 என்று கிடைக்கும், இது set எனப்படும். Input ஆனது S=0, R=1 என்று கொடுக்கப்பட்டால் output ஆனது Q=0, Q = 1 என்று கிடைக்கும், இது reset எனப்படும். = Input ஆனது S=1, R=1 என்று கொடுக்கப்பட்டால் output ஆனது Q= Q=1 என்று கிடைக்க வேண்டும். இந்த நிலைகள் feedback இணைப்பினால் கிடைக்கப்பெறுவதில்லை.
மேலும் flip-flop-ன் outputஆனது கண்டிப்பாக ஒன்றுக்கொன்று complement ஆகத்தான் இருக்கும். எனவே இது flip-flop-ன் condition-களில் இருந்து மாறி இருப்பதால், forbidden state என்று அழைக்கப்படும். இந்த நிலையானது flip-flop-களில் பயன்படுத்தப்படுவதில்லை. 3.3. JK FLIP-FLOP JK Flip-Flop-ல் J, K, மற்றும் CLK என்கிற மூன்று input terminal-களும், மற்றும் Q,Q என்கிற இரண்டு output terminal களும் உள்ளது. இதன் symbol, logic diagram மற்றும் truth table ஆகியவைகள் கொடுக்கப்பட்டுள்ளது.இதில் மூன்று input-களைக் கொண்ட நான்கு NAND gate-கள் பயன்படுத்தப்படுகின்றது. இதன் Q output ஆனது 2-வது, மற்றும் 4-வது gate-க்கும்,Q output ஆனது 1-வது, மற்றும் 3-வது gate-க்கும் ஒரு input-ஆக feedback முறையில் இணைக்கப் பட்டுள்ளது. இது ஒரு positive edge triggered Flip-Flop ஆகும். Flip-Flop Input-ஆனது, J=0; K=0 என கொடுக்கப்படுகின்ற போது output ஆனது No change ஆகவும், J=1; K=0 என கொடுக்கப்படுகின்ற போது output ஆனது Q=1;Q=0ஆகவும், மற்றும் J =0; K =1 என கொடுக்கப்படுகின்ற போது Outputஆனது Q=0; Q=1 ஆகவும் இருக்கும்.
Input ஆனது J=1; K=1 என கொடுக்கப்படுகின்ற போது, clock pulse-யினுடைய positive edge-ல் output ஆனது toggle ஆகின்றது. அதாவது முன்பு Q-ல் இருந்த output ஆனது T-க்கும், Q-ல் இருந்த outputஆனது Q-க்கும் மாறுகின்றது.முன்பு இருந்த Output ஆனது complement ஆகின்றது JK Flip-Flop-யிலும் இதற்கு அடுத்து வருகின்ற Flip-Flopகளிலும் S மற்றும் R என்கிற இரண்டு புதிய input-கள் இருக்கும், இது Flip Flop-களை நேரடியாக முறையே set மற்றும் reset செய்வதற்குப் பயன்படுகிறது. சாதாரண நேரங்களில் இவைகள் disable (1) நிலையில் இருக்கும்.
JKMS FLIP-FLOP
Gateகள் 1,2,3, மற்றும் 4 ஆகியவற்றைக் கொண்ட அமைப்பானது master section எனவும், மற்றும் gate-கள் 5,6,7 மற்றும் 8 ஆகியவற்றைக் கொண்ட அமைப்பானது slave section எனவும் அழைக்கப்படும். இரண்டு பகுதிகளையும் (Master மற்றும் Slave) தனித்தனியாக பார்க்கின்ற போது, இரண்டும் clock pulse-யினுடைய positive edge-ல் trigger ஆகின்ற தன்மை கொண்டதாகும். நாம் கொடுக்கின்ற clock pulse-ல் positive மற்றும் negative என்கிற இரண்டு edge-களும் இருக்கும். Positive edge-ன் போது Master section செயலாற்றி M, M என்கிற output-களைத் தருகின்றது.தற்போது slave section - னின் clockக்கு negative edge செல்வதால் அதன் output-ல் (Q,Q) எவ்விதமான மாற்றமும் ஏற்படுவதில்லை. Clock input-ல் negative edge கொடுக்கப் படுகின்றபோது Master section-னின் முந்தைய output (M, M) ஆனது மாறாமல், slave section-க்கு input ஆக செல்கின்றது. இப்பொழுது clock pulse ஆனது inverter gate-ன் மூலம் positive edge ஆக மாற்றப்பட்டு, slave section-க்கு clock input ஆக செல்கின்றது. இப்பொழுது slave section செயலாற்றி output-ல் Q மற்றும் Qஎன்கிற output-களைத் தருகின்றது.
உண்மையான output ஆனதுQ மற்றும் Q ஆகும். இது நாம் கொடுக்கின்ற clock pulse-ன் negative edge-ல் கிடைப்பதால், JKMS Flip-Flop ஆனது negative edge triggered flip-flop எனப்படும். Input ஆனது S=0; R=0 என இருக்கின்ற போது முந்தைய output ஆனது மாறாது, எனவே இந்த நிலையானது No change எனப்படும். Input ஆனது S=1; R=0 என இருக்கின்ற போது, output ஆனது Q =1;Q=0 என இருக்கும், இது set எனப்படும். Input ஆனது S=0; R=1 என இருக்கின்ற போது output ஆனது Q =0; Q = 1 என இருக்கும், இது reset எனப்படும். Input ஆனது S=1; R=1 என இருக்கின்ற போது output ஆனது முந்தைய output-ன் complementஆக மாறுகின்றது, இது toggle எனப்படும்.இந்த நிலையில் கொடுக்கப்படுகின்ற ஒவ்வொரு clock pulse-யினுடைய negative edge-யிலும் output ஆனது toggle ஆகிக் கொண்டே இருக்கும். இதில் D மற்றும் CLK என்கிற இரண்டு input terminal-களும், Q மற்றும் Q என்கிற இரண்டு output terminal களும் உள்ளது.
JKMS Flip-Flop-ல் உள்ள J மற்றும் K input களுக்கு இடையில் ஒரு NOT gate-ஐ இணைப்பதன் மூலம் D Flip Flop-ஐ உருவாக்கலாம். இது negative edge-ல் triggerஆகின்ற ஒரு Flip Flop ஆகும். Clock input-ல் negative edge கொடுக்கப்படுகின்ற போது, D input-ல் உள்ள signal (1 அல்லது 0) ஆனது மாறாமல் அப்படியே output-ல் வந்து கிடைக்கும். எனவே இது single bit storage element எனவும் அழைக்கப்படும். D input ஆனது '1' ஆக இருக்கின்ற போது output ஆனது set (Q=1,Q=0) நிலையையும், மற்றும் ‘0'ஆக இருக்கின்ற போது output ஆனது reset (Q =0, Q = 1) நிலையையும் அடையும்.
T FLIP-FLOP
O 1 Q1 Qn-1 Toggle (c) Truth Table இதுவும் negative edge-ல் trigger ஆகின்ற ஒரு Flip Flop ஆகும். T input ஆனது ‘0' -ஆக இருக்கின்ற போது, clock input-ல் negative edge கொடுக்கப்பட்டால், முந்தைய Outஆனது மாறாமல் அப்படியே output-ல் கிடைக்கும், இது No change எனப்படும். மாறாக T input ஆனது '1' ஆக இருக்கின்ற போது, clock input-ல் negative edge கொடுக்கப்பட்டால், output ஆனது toggle ஆகும். அதாவது Q-ல் உள்ள output ஆனது Q-க்கும் மற்றும் Q-ல் உள்ள output ஆனது Q-க்கும் செல்லும். Clock pulse-ன் ஒவ்வொரு negative edge-யிலும் output ஆனது toggle ஆகிக் கொண்டே இருக்கும். இதனை divide by '2' counter என்றும் அழைக்கலாம். ஏனெனில் இதன் output-ல் கிடைக்கப்பெறுகின்ற signal-ன் frequencyஆனது, input-ல் கொடுக்கப்படுகின்ற clock signal-ன் frequencyக்கு பாதியளவு இருக்கும்.
RACE-ARROUND CONDITIONS High level-லில் trigger ஆகின்ற JKFF-ல் J = 1, K = 1 மற்றும் Clock = 1 (high) என input கொடுத்தால் அதன் output ஆனது தொடர்ந்து toggle ஆகிக் கொண்டே இருக்கும். ஏனெனில் புதிய outputகள் உடனடியாக மீண்டும் input உடன் feedback ஆகிவிடும். இந்த செயலானது clock pulse-ன் high level தன்மை முடிகின்ற வரை தொடர்ந்து நடைபெற்றுக் கொண்டே இருக்கும். இதன் மூலம் FF-ன் output-ல் தொடர்ச்சியான oscillation செயல் நடந்து கொண்டே இருக்கும்.
Positive (leading)
இந்த பிரச்சினையானது edge தன்மை கொண்ட clock pulse மூலம் செயலாற்றுகின்ற edge triggered flip-flopகளில் ஏற்படுவதில்லை. Flip-Flop-களின் propagation delay நேரத்தை At என வைத்துக் கொள்க. clock pulse-ன் tp என்கிற கால இடைவெளியில் output ஆனது 0 மற்றும் 1 என மாறிமாறி Oscillate ஆகிக் கொண்டே இருக்கும்.Clock pulse-ன் முடிவில் output ஆனது மாறாமல் அப்படியே இருக்கும். இத்தகைய தன்மையானது race arround condition எனப்படும். இதனை களைய வேண்டுமென்றால் T என இருக்கின்ற பொருட்டு clock pulse-ன் edge-ல் trigger ஆகின்ற flip-flopகளை பயன்படுத்த வேண்டும். synchronous bistable device-கள் என அழைக்கப்படுகிறது. அதாவது clock எனப்படுகின்ற triggering input-ன் ஒரு குறிப்பிட்ட புள்ளியில் output ஆனது மாறுவது காரணமாக synchronous என கூறப்படுகிறது.
அதாவது flip-flop-ல் கிடைக்கப்பெறுகின்ற output ஆனது, clock pulse உடன் synchronous ஆன நிலையில், அதாவது அதே நேரத்தில் கிடைக்கப்பெறும். Clock pulse-ன் எந்த குறிப்பிட்ட பகுதியில் வைத்து flip-flop ஆனது trigger செய்யப்படுகின்றது என்பதைப் பொறுத்து flip-flop-கள் இரண்டு பிரிவுகளாக பிரிக்கப்படுகின்றது. அவையாவன, Level triggering, மற்றும் Edge triggering Level triggering in flip-flops Clocked SR flip-flop ஆனது clock pulse-ன் high நிலையின் போது trigger ஆகின்றது. எனவே CSR flip-flop ஆனது level triggered flip-flop என அழைக்கப்படுகிறது. இவ்வாறு flip-flop-கள் அதற்கு கொடுக்கப்படுகின்ற clock pulse-ன் high நிலையில் trigger ஆகினால் அது high level triggered flip-flop என அழைக்கப்படும்.Clock input-க்கு இடையில் ஒரு NOT gate-ஐ இணைத்தால் அதே flip-flop ஆனது clock pulse-ன் low நிலையில் trigger ஆகும். இத்தகைய flip-flop ஆனது low level triggered flip-flop என அழைக்கப்படும். Level triggering செயலின் முக்கியமான குறைபாடு என்னவென்றால், clock ஆனது வெகு நேரம் high அல்லது low நிலையில் இருப்பதன் காரணமாக, அதே flip-flop ஆனது ஒரே clock pulse நேரத்தில் ஒன்றுக்கு மேற்பட்ட தடவைகள் trigger ஆகலாம் (ஆகின்றது).
அதாவது clock pulse மாறாமல் input மட்டும் மாறுகின்ற போதும் output மாறிவிடும். கொடுக்கப்படுகின்ற clock pulse-ன் முழு 3.12 நேரமும் input ஆனது மாறாமல் நிலையாக இருந்தால், output ஆனது ஒரே ஒரு தடவை மட்டுமே மாறும். மாறாக input signal-லில் ஏற்படுகின்ற frequency மாற்றமானது input clock frequency-ஐ விடவும் அதிகமாக இருந்தால் flip-flop-ன் output ஆனது பல தடவைகள் மாறிவிடும். இத்தகைய பிரச்சினையானது edge triggered flip-flop-களில் நீக்கப்படுகிறது. இதில் ஒரு clock pulse-க்கு, ஒரே ஒரு தடவை மட்டுமே flip-flop ஆனது trigger ஆகும். Edge triggering in flip-flops ஒரு clock pulse ஆனது 0 to 1 மற்றும் 1 to 0 என்கிற இரண்டு மாற்றங்களைக் கொண்டிருக்கும். 1 என்கிற positive மாற்றமானது positive edge, rising edge அல்லது leading edge என அழைக்கப்படுகிறது. 1 to 0 என்கிற negative மாற்றமானது negative edge, falling edge அல்லது trailing edge என அழைக்கப்படுகிறது. ஒரு flip-flop ஆனது அதற்கு கொடுக்கப்படுகின்ற clock pulse-ன் positive அல்லது negative edge-ன் போது trigger ஆகினால் அது edge triggered flip-flop என அழைக்கப்படும்.
Clock pulse இவ்வாறு ஒரு flip-flop ஆனது அதற்கு கொடுக்கப்படுகின்ற clock pulse-ன் ஏதாவதொரு edge-ன் போது trigger ஆகுவதற்காக capacitive coupling ஆனது பயன்படுத்தப்படுகிறது. அதாவது flip flop-ன் clock input-ல் ஒரு RC network இணைக்கப்படுகின்றது. இந்த RC circuit-ன் time constant மதிப்பானது clock pulse-ன் time-ஐ விட குறைவாக இருக்க வேண்டும்.
இதன் காரணமாக clock pulse ஆனது high ஆகின்ற போது, capacitor ஆனது அதன் முழு அளவிற்கும் charge ஆகின்றது. இதன் மூலம் resistor-க்கு குறுக்காக ஒரு குறுகலான positive voltage (spike signal) கிடைக்கப் 3.13 பெறுகின்றது. அதே போன்று clock pulse-ன் negative edge காரணமாக ஒரு குறுகலான negative spike signal கிடைக்கப் பெறுகின்றது. இத்தகைய pulse-களை உருவாக்குகின்ற circuit ஆனது differentiator என அழைக்கப்படும். இதில் AND gate-ன் ஒரு input-ல் NOT gate இணைக்கப்பட்டுள்ளது.
NOT gate-ன் propagation delay காரணமாக AND gate-ன் ஒரு input-ல் சிறிது delay உருவாகின்றது. இதன் மூலம் AND gate-ன் output-ல் குறுகிய கால இடைவெளி கொண்ட trigger pulse கிடைக்கப் பெறுகின்றது. Inverter மூலமாக negative pulse-ஐயும் உருவாக்கிக் கொள்ளலாம். 3.9. COUNTERS - Introduction Counter என்பது digital systemகளில் பொதுவாகப் பயன்படுத்தப்படுகின்ற மிக முக்கியமான ஒரு subsystem ஆகும். இது பொதுவாக clock signal-ன் மூலம் இயக்கப்படுகின்றது. ஒரு digital systemத்திற்கு கொடுக்கப்படுகின்ற clock signalகளின் எண்ணிக்கையை கணக்கிடுவதற்கு counter பயன்படுத்தப்படுகிறது. Counter என்பது synchronous counter மற்றும் asynchronous (ripple) counter என இரண்டு வகைகளாகப் பிரிக்கப்படுகின்றது. ஒரு flip-flop-ஐக் கொண்டு ஒரு bitயினால் ஆன binary (0 அல்லது 1) தகவல்களை மட்டுமே store செய்ய இயலும். இத்தகைய flip-flopகள் வரிசையாக cascade முறையில் இணைக்கப்பட்டு register-கள் உருவாக்கப்படுகின்றது.
Registerகளில் அதிக bitகளைக் கொண்ட binary தகவல்களை store செய்ய முடியும். 3.14 சாதாரணமாக counterகளிலும் flip-flopகள் cascade முறையில் இணைக்கப் படுகின்றது. பொதுவாக counterகளில் JKMS, D மற்றும் T flip-flopகள் அதிகளவில் பயன்படுத்தப்படுகிறது. N என்கிற எண்ணிக்கையில் flip-flopகளைக் கொண்ட counterஆனது 2N-1 வரை count செய்கின்ற தன்மையைப் பெற்றிருக்கும். உதாரணமாக, நான்கு flip-flopகளைக் கொண்ட ஒரு 4 bit counterஆனது 15 (24 - 1= 16 - 1 = 15) வரை count செய்யும். அதாவது 0000 முதல் 1111 வரை count செய்யும். = 3.10.ASYNCHRONOUS COUNTER (RIPPLE COUNTER) Ripple counterஆனது asynchronous counter என்று அழைக்கப்படும்.
ஏனெனில் இது ஒரு asynchronous sequential circuit ஆகும். இது எளிமையான அமைப்பினைக் கொண்டது. இது நேரடியாக செயலாற்றும் தன்மை கொண்டது. இதன் செயல் வேகம் குறைவாக இருக்கும். மேலும் இது குறைந்தளவு hardware circuit-ஐக் கொண்டிருக்கும். Asynchronous counter-ல் பயன்படுத்தப்படுகின்ற flip-flopகள் அதற்கு முந்தைய flip-flopன் outputயினால் trigger செய்யப்படுகிறது. அதாவது ஒரு flip-flopன் outputஆனது அதற்கு அடுத்துள்ள flip-flop-ன் clock inputஆக செயலாற்றும். Counter-ன் முதல் flip-flop மட்டுமே, அதற்கு கொடுக்கப்படுகின்ற system clock pulseயினால் trigger செய்யப்படும். மீதமுள்ள flip-flopகள், அதற்கு முந்தைய flip-flopகளின் outputயினால் செயலாற்றும்.
எனவே இதில் உள்ள flip-flopகள் serial முறையில் வரிசையாக ஒன்றன் பின் ஒன்றாக செயலாற்றும். அதாவது ஒரு flip-flop செயலாற்றிய பின்பு தான் அடுத்த flip-flop செயலாற்ற முடியும். ஆகவே இதனை serial counter என்றும் அழைக்கலாம். இதனுடைய counting வேகமானது குறைவாக இருக்கும், மேலும் இதன் counting வேகம் சீராக ஒரே மாதிரியாகவும் இருக்காது. இது up counter, down counter மற்றும் up/down (ounter என மூன்று வகைகளைக் கொண்டுள்ளது.நான்கு JKMS flip-flopகள் cascade முறையில் இணைக்கப்பட்டு இது உருவாக்கப் பட்டுள்ளது.T flip-flopகளை கொண்டும் உருவாக்கலாம்). JKMS flip-flopகள் clock pulse-ன் negative edgeயினால் trigger ஆகின்ற தன்மையைக் கொண்டதாகும். Systemத்தின் clock pulseஆனது முதல் flip-flopக்கு மட்டுமே கொடுக்கப்படுகின்றது. மீதமுள்ள flip-flopகள் அதற்கு முன்பாக உள்ள flip-flopகளின் output signal-ன் மூலம் trigger செய்யப்படுகின்றது. JKMS flip-flopஆனது counterஆக செயலாற்றுகின்ற போது ஒவ்வொரு flip-flop-ம் toggle mode-ல் மட்டுமே செயலாற்ற வேண்டும்.
ஆதலால் அனைத்து flip-flopகளின் J மற்றும் K inputகளும் Vcc(+5V) supplyஉடன் நேரடியாக இணைக்கப்பட்டுள்ளது. எனவே J= K=1 என இருக்கும். முதல் flip-flop ஆனது முதலிலும் பின்பு இரண்டாவது, மூன்றாவது மற்றும் நான்காவது flip-flopகள் வரிசையாகவும் trigger செய்யப்படும். எனவே ஒரு flip-flop செயல்புரிந்து முடிந்த பின்புதான் அடுத்த flip-flop செயலாற்ற முடியும். ஆதலால் counter-ன் ஒட்டுமொத்த propagation delay ஆனது அதில் உள்ள ஒவ்வொரு flip-flopயினுடைய propagation delayன் கூட்டுத் தொகைக்கு சமமாக இருக்கும். முதல் flip-flop-ன் outputஆனது counter-ன் least significant bit (LSB) ஆகவும், மற்றும் கடைசி flip-flop-ன் outputஆனது counter-ன் most significant bit(MSB) ஆகவும் இருக்கும்.Counter-ன் செயல் ஆரம்பமாகுவதற்கு முன்பாக R(Reset) என்கிற input மூலம் அனைத்து flip-flopகளும் reset செய்யப்பட்டு, counterஆனது தொடக்க நிலைக்கு கொண்டு வரப்படுகின்றது. அதாவது இதன் மூலம் counter-ன் output ஆனது Q Q QBQ = 0000 என இருக்கும்.Truth table 1 3.17 முதல் clock pulse கொடுக்கப்படுகின்ற போது அதனுடைய negative edgeயினால் முதல் flip-flop ஆனது toggle ஆகி அதன் outputஐ '0'வில் இருந்து '1'க்கு மாற்றுகின்றது. இதனால் ஏற்படுகின்ற positive edgeஆனது இரண்டாவது flip-flop-ன் clock inputக்கு செல்கின்றது.
இந்த pulseஆனது இரண்டாவது flip-flop-ஐ toggle செய்வதில்லை. ஆதலால் மூன்றாவது மற்றும் நான்காவது flip-flopகளும் toggle ஆகாது. எனவே இப்பொழுது output-ஆனது QQBQA = 0001 என கிடைக்கும். இரண்டாவது clock pulse கொடுக்கப்பட்டவுடன், முதல் flip-flop-ஆனது கண்டிப்பாக toggle ஆகும். எனவே அதன் outputஆனது ‘1'-ல் இருந்து ‘0'க்கு மாறுகின்றது. இந்த மாற்றத்தினால் ஏற்படுகின்ற negative edge-ஐக் கொண்ட pulseஆனது இரண்டாவது flip-flopன் clock input-க்கு கொடுக்கப்படுகின்றது. இந்த pulseஆனது negative edgeஐக் கொண்டுள்ளதால் இரண்டாவது flip-flop-ம் toggle ஆகின்றது. எனவே இதன் outputஆனது 0-வில் இருந்து '1' ஆக மாறுகின்றது.இது positive edge ஆகும். ஆகையால் மூன்றாவது மற்றும் நான்காவது flip-flopகள் toggle ஆகுவதில்லை. எனவே இப்பொழுது output-ஆனது Q Q,Q Q =0010 என இருக்கும். இவ்வாறு ஒவ்வொரு clock pulse கொடுக்கப்படுகின்ற போதும் counterஆனது ஒவ்வொரு binary எண்ணாக அதிகரிக்கின்றது. பதினைந்தாவது pulse கொடுக்கப்படுகின்ற போது outputஆனது QQQQ = 1111 எனவும், மற்றும் பதினாறாவது pulse கொடுக்கப் பட்டவுடன் outputஆனது QQQBQA = 0000 எனவும் கிடைக்கும். அதாவது n flip-flopகளைக் கொண்ட counterஆனது 20 - 1 வரை count செய்யும்.
A நான்கு flip-flopகளைக் கொண்ட four bit counterஆனது 24 - 1 = 16 - 1 = 15 வரை count செய்யும். பதினாறாவது pulse-ல் reset ஆகி QpQ QBQA = 0000 என output கிடைக்கப்பெறும். A 3.18 நான்கு bit-களைக் கொண்ட ripple counter-ன் output waveform-ம் மற்றும் truth table-ம்Qல் கிடைக்கப்பெறுகின்ற output signal-ன் frequencyஆனது, input-ல் கொடுக்கப்படுகின்ற clock signal-ன் frequencyக்கு பாதியாக இருக்கும். இதேபோன்று Qந-ன் frequencyஆனது QAக்கு பாதியாகவும், Q-ன் frequencyஆனது Qஓக்கு பாதியாகவும் மற்றும் Q -ன் frequencyஆனது Qக்கு பாதியாகவும் இருக்கும்.இந்த counterஆனது 0000 என்ற மதிப்பிலிருந்து 1111 வரை கீழிலிருந்து மேலாக binary-ல் count செய்யும். எனவே இது binary up counter என்று அழைக்கப்படும். 3.12. FOUR BIT BINARY RIPPLE DOWN COUNTER நான்கு binary bitகளைக் கொண்ட ripple down counter ஆனது . இது up counterஐப் போன்றே அதே மாதிரியான அமைப்பினைக் கொண்டிருக்கும், ஆனால் clock pulse கொடுக்கப்படுகின்ற முறை மட்டும் வித்தியாசமாக இருக்கும்.
அதாவது இரண்டாவது, மூன்றாவது மற்றும் நான்காவது flip-flopகளுக்கு கொடுக்கப்படுகின்ற clock pulseஆனது அதற்கு முந்தைய flip-flopகளின் complement output-ல் இருந்து எடுக்கப்படுகின்றது. அதாவது Q ஆனது இரண்டாவது flip flop-ஐயும், Q ஆனது மூன்றாவது flip-flop-ஐயும் மற்றும் Q ஆனது நான்காவது flip-flopஐயும் trigger செய்கின்றது. முதலில் reset terminal-ஐப் பயன்படுத்தி output ஆனது initialise செய்யப்படுகிறது. இதனால் outputஆனது Q,Q.QgQA = 0000 எனக் கிடைக்கும்.முதல் clock pulse கொடுக்கப்பட்டவுடன், அனைத்து flip-flopகளும் toggle ஆகி outputஐ Q,QQBQA 1111 என மாற்றுகின்றது. பின்பு ஒவ்வொரு clock pulse கொடுக்கப் படுகின்றபொழுதும் outputஆனது மேலிருந்து கீழ் நோக்கி வரிசையாக count செய்யும். எனவே இது down counter எனப்படும். = ‘A பதினாறாவது pulse கொடுக்கப்படுகின்றபோது outputஆனது மீண்டும் reset ஆகிவிடும், அதாவது Q QQBQA 0000 எனக் கிடைக்கும். அடுத்து கொடுக்கப்படுகின்ற clock pulseகளினால் counterஆனது 1111 என ஆகி, மீண்டும் மேலிருந்து கீழாக நான்கு bitகளைக் கொண்ட ஒரு binary up/down counterஆனது கொடுக்கப்பட்டுள்ளது. இது up counter மற்றும் down counter ஆகிய இரண்டினையும் ஒன்றாகக் கொண்ட counter ஆகும். இது binary எண்களை மேலிருந்து கீழாகவும் மற்றும் கீழிருந்து மேலாகவும் count செய்யும் தன்மை கொண்டது.
Count-up மற்றும் count-down என்கிற இரண்டு control inputகளின் மூலம் counterஐ தேவையான mode-ல் செயலாற்ற வைக்க முடியும். முதல் flip-flopஆனது இரண்டு modeகளிலும் system clock pulseன் மூலம் trigger செய்யப்படுகின்றது. Output terminalகள் இரண்டு modeகளுக்கும் பொதுவானதாக இருக்கும். Count-up = 1 மற்றும் count-down = 0 என கொடுக்கப் படுகின்றபோது counterஆனது up counter ஆக செயலாற்றும். மாறாக count-up = 0 மற்றும் count-down = 1 என கொடுக்கப் படுகின்றபோது counterஆனது down counter ஆக செயலாற்றும்.இரண்டாவது, மூன்றாவது மற்றும் நான்காவது flip-flopகள், up counter-ன் செயலின் போது முந்தைய flip-flop-ன் output (QA,QB,Q)களினாலும் மற்றும் down counter-ன் செயலின் போது முந்தைய flip-flop-ன் complement output (Q, Qஐ, Q.) களினாலும் trigger செய்யப்படும். 'B' 3.21 Counter-ன் செயல் வேகத்தைக் கணக்கிடும்போது, flip-flopகளுக்கு இடையில் வைக்கப்பட்டுள்ள gateகளின் propagation delay அளவையும் கருத்தில் கொள்ள வேண்டும். ஏனெனில் gateகளினால் counter-ன் செயல்வேகம் குறைய வாய்ப்புள்ளது.
MODULO - N COUNTER (DIVIDE BY N COUNTER)
ஒரு counter-ன் output ஆனது, 'n' ஆவது clock pulse கொடுக்கப்படுகின்ற போது reset (output ஆனது 000...0) ஆகினால் அது "divide by n counter” அல்லது "mod n counter" என்று அழைக்கப்படும். ஒரு counter உடன் தேவையான logic gate-கள் இணைக்கப்பட்டு 'n' வது clock pulse கொடுக்கப்படுகின்ற போது, அந்த counterஆனது reset செய்யப்படுகின்றது. பொதுவாக இம்மாதிரி divide by n counter-ஐ உருவாக்கு வதற்கு counter-உடன் NAND gate-கள் பயன்படுத்தப்படுகின்றது. முதலில், n ஆவது pulse கொடுக்கப்படுகின்ற போது எந்தெந்த outputகள் எல்லாம் high ('1') level-லில் இருக்கும் என்பது கண்டறியப்படுகிறது.பின்பு, இவ்வாறு high level-லில் இருக்கின்ற output-கள் மட்டும் NAND gate-ன் input-களுடன் இணைக்கப்படுகின்றது. NAND gateன் outputஆனது counter-ன் reset terminal உடன் நேரடியாக இணைக்கப்படுகின்றது. NAND gate-க்கு கொடுக்கப்படுகின்ற input-களில் ஏதேனும் ஒரு inputஆனது low level இருந்தால் அதன் outputஆனது high ஆகவும், மாறாக அனைத்து input-களும் highஆக இருந்தால் மட்டும் அதன் outputஆனது low வாகவும் இருக்கும். எனவே n ஆவது pulse கொடுக்கப்படுகின்ற போது NAND gate-ல் உள்ள அனைத்து input-களும் high levelலில் இருப்பதால், NAND gate-ன் output ஆனது lowவாக மாறுகின்றது.
இது flip-flip களின் reset terminalஐ enable செய்து, அனைத்து flip flopகளின் output-ஐயும் 'O' வாக மாற்றுகின்றது. எனவே ஒட்டு மொத்த counter-ம் reset ஆகின்றது. 3.22 இத்தகைய counter-க்கு தேவைப்படுகின்ற flip flop-களின் எண்ணிக்கையானது அதன் divide by 'n'-ன் மதிப்பினைப் பொறுத்து இருக்கும். அதாவது சாதாரண நிலையில் மூன்று flip flop-களைக் கொண்ட counterஆனது 7 (23 - 1) வரையும், நான்கு flip flop-களைக் கொண்ட counterஆனது 15 (24 - 1) வரையும் count செய்யும். ஒரு counterஆனது அதற்கு கொடுக்கப்படுகின்ற பத்தாவது pulse-ல் resetஆகினால் அது divide by 10th counter அல்லது mod 10 counter என அழைக்கப்படும்.
இதனை Mod 5 counter அல்லது Divide by 5 counter என்றும் அழைக்கலாம். இத்தகைய counter-ஐ ஏற்படுத்த மூன்று flip-flopகள் தேவைப்படும். இது மூன்று JKMS flip-flopகளைக் கொண்டுள்ளது. மூன்று bitகளைக் கொண்ட ஒரு சாதாரண counterஆனது 000 முதல் 111 வரை count செய்யும். ஒரு Mod 5 counterஆனது 000 முதல் 100 வரை மட்டுமே count செய்ய வேண்டும். அதாவது ஐந்தாவது pulse-ன் போது அது reset ஆகி outputஆனது 000 என்று initialise செய்யப்பட வேண்டும். A ஐந்தாவது pulse கொடுக்கப்படுகின்ற போது ஒரு 3 bit counter-ன் outputஆனது Q QBQA = 101 என இருக்கும்.அதாவது Q. மற்றும் Q ஆகிய இரண்டு outputகள் மட்டும் high level (Q. =Q = 1)லில் இருக்கும். எனவே இரண்டு input-களைக் கொண்ட ஒரு NAND gateஐப் பயன்படுத்தி ஐந்தாவது pulseல் இந்த-counter-ஐ reset செய்யலாம். A Counter-ன் Q மற்றும் QA outputகள் NAND gate-ன் input terminalகளுடன் இணைக்கப்படுகின்றது. NAND gate-ன் outputஆனது counter-ன் reset terminalஉடன் இணைக்கப் 3.24 'B படுகின்றது. முதலில் செயல் ஆரம்பிக்கின்ற போது counterஆனது reset செய்யப்படுகின்றது.
இப்பொழுது Q Q Q = 000 என output கிடைக்கும். பின்பு 1 முதல் 4 வரை கொண்ட clock pulseகள் கொடுக்கப்படுகின்ற போது இந்த counterஆனது 000 முதல் 100 வரை வரிசையாக count செய்யும். இத்தகைய நிலைகளின் போது Q மற்றும் Q ஆகிய இரண்டு outputகளும் ஒரே நேரத்தில் high (1)ஆக இருப்பதில்லை. எனவே NAND gate-ன் outputஆனது high (1)ஆக இருக்கும். இதனால் counter-ன் செயல்கள் பாதிக்கப் படுவதில்லை. ஐந்தாவது pulse கொடுக்கப்படுகின்ற போது Q Q Q = 101 என output கிடைக்கப் பெறுகின்றது.இந்த நிலையில் NAND gate-ன் இரண்டு inputகளும் highஆக இருப்பதால் NAND gate-ன் output ஆனது low(0)வாக மாறுகின்றது. இதன் மூலம் counter-ன் reset terminalஆனது enable ஆகி output-ஐ Q Q Q = 000 என initialise செய்கின்றது. மீண்டும் clock pulse கொடுக்கப்பட்டால் counterஆனது மீண்டும் முதலில் இருந்து count செய்யும். Mod 5 counter-ன் timing diagram மற்றும் truth table ஆகியவைகள் மற்றும் (c)களில் கொடுக்கப்பட்டுள்ளது. 3.16. MODULO 7 COUNTER நான்கு flip-flop களைக் கொண்ட ஒரு four bit binary counterஆனது தானாகவே 16 வது clock pulse-ல் reset ஆகும், ஏனெனில் அது 15 வரைதான் count செய்யும். 16வது pulse-ல் reset ஆகி outputஆனது 0000 என மாறிவிடும்.
எனவே four bit binary counterஆனது divide by 16th counter அல்லது mod 16 counter என்று அழைக்கப்படும். இதே போன்று மூன்று flip-flop களைக் கொண்ட counter ஆனது எட்டாவது pulse-ல் resetஆகும். எனவே இது divide by 8 counter எனப்படும். ஒரு mod 7 counterஆனது ஏழாவது pulse-ல் அதன் output-ஐ resetஆக மாற்றுகின்ற ஒரு counterஆகும். எனவே இதற்கு மூன்று flip-flop கள் மட்டும் தேவைப்படும். ஒரு three bit counter-ல் ஏழாவது pulse கொடுக்கப்படுகின்ற போது அதன் outputஆனது QcQBQA = 111 என இருக்கும். ஆனால் Mod 7 counter-ல் ஏழாவது pulse-ன் போது outputஆனது QcQgQ = 000 என மாற வேண்டும். எனவே இதற்கு மூன்று inputகளைக் கொண்ட ஒரு NAND gate தேவைப்படுகின்றது. இதனை ஏற்படுத்த Q QB மற்றும் Q ஆகிய மூன்று outputகளும் NAND gate-ன் input-களுடன் இணைக்கப்படுகின்றது. NAND gateன் outputஆனது counter-ன் reset terminalஉடன் இணைக்கப் படுகின்றது. சாதாரண நிலையில் இந்த counter ஆனது செயலாற்றுகின்ற போது (ஏழுக்கு உள்ளாக) counter-ன் output-ல் குறைந்தது ஏதாவது ஒரு outputஆவது low (0) வாக இருக்கும். எனவே NAND gate-ன் outputஆனது high (1)ஆக இருப்பதால், counter-ன் சாதாரண output நிலைகள் பாதிக்கப்படுவதில்லை. ஏழாவது clock pulse கொடுக்கப்படுகின்ற போது, counterன் outputஆனது 111 என மாறுகின்றது.
எனவே இப்பொழுது NAND gate-ன் அனைத்து inputகளும் highஆக இருப்பதால் அதன் output ஆனது low (0) வாக மாறுகின்றது. இதனால் அனைத்து flip-flop களும்resetஆகி counterன் outputஆனது 000 என மாறிவிடுகின்றது. அதாவது ஏழாவது pulse-ல் reset ஆகுவதால் இது divide by 7th counter அல்லது mod 7 counter எனப்படும். SINGLE DIGIT BCD COUNTER ஒரு binary counter ஆனது 0000 முதல் 1001 வரை மட்டுமே count செய்தால் அது single digit BCD counter எனப்படும். இதன் செயலை ஏற்படுத்த ஒரு 4 bil counter-ல் பத்தாவது pulse கொடுக்கப்பட்டவுடன் reset ஆகின்ற மாதிரி ஏற்படுத்த வேண்டும்.எனவே ஒரு 4 bit counter ஆனது அதற்கு கொடுக்கக் கூடிய பத்தாவது clock pulse-ன் போது reset ஆகினால் அது single digit BCD counter, decade counter, divide by 10th counter அல்லது mod 10 counter என்று அழைக்கப்படும். இது நான்கு bitகளைக் கொண்ட ஒரு சாதாரண binary ripple counter போன்று இருக்கும். இது பொதுவாக JKMS flip-flopகளைக் கொண்டு அமைக்கப்படுகிறது. அனைத்து flip-flopகளில் உள்ள J மற்றும் K input-களும் ஒன்றாக இணைக்கப்பட்டுள்ளதால், இவைகள் T flip-flop போன்று செயலாற்றும்.
நான்கு bitகளைக் கொண்ட ஒரு சாதாரண binary counterஆனது 0000 முதல் 1111 வரை count செய்யும். ஒரு single digit BCD counterஆனது 0000 முதல் 1001 வரை count செய்துவிட்டு, பத்தாவது clock pulse கொடுக்கப்பட்டவுடன் reset ஆக வேண்டும். சாதாரண நிலையில் பத்தாவது clock pulse கொடுக்கப்படுகின்ற போது outputஆனது QQQBQ = 1010 என இருக்கும். அதாவது Q மற்றும் Q ஆகிய இரண்டு inputகளும் high level (1)லில் இருக்கும். 3.28 பத்தாவது pulse-ன் போது counter-ஐ reset செய்வதற்கு இரண்டு inputகளைக் கொண்ட ஒரு NAND gate பயன்படுத்தப் படுகின்றது.இதன் மூலம் Q மற்றும் Q என்கிற output terminalகள் NAND gate-ன் input terminalகளுடன் இணைக்கப்படுகின்றது. NAND gate-ன் outputஆனது counter-ன் reset terminal உடன் நேரடியாக இணைக்கப்படுகின்றது. இப்பொழுது NAND gate-ன் outputஆனது QQஎன இருக்கும்.Truth table இந்த countஆனது ஒன்பது clockpulseகள் கொடுக்கப் படுகின்ற வரை ஒரு சாதாரண four bit binary up counter போன்று செயலாற்றும். இப்பொழுது outputஆனது 0000 முதல் 1001 வரை வரிசையாக count செய்யப்படும். இத்தகைய பத்து நிலைகளின் போதும் Q மற்றும் Q ஆகிய இரண்டு outputகளும் சேர்ந்து ஒன்றாக high level (1)லில் இருப்பதில்லை.
எனவே NAND gate-ன் output ஆனது high (1) level-லில் இருக்கும். இதனால் counter-ன் செயல்கள் பாதிக்கப்படுவதில்லை. 3.29 பத்தாவது pulse கொடுக்கப்பட்டவுடன்,Q, மற்றும் Q ஆகிய இரண்டு outputகளும் highஆக இருப்பதால் NAND gate-ன் outputஆனது low(0)வாக மாறி counter-ஐ reset செய்கின்றது. இதனால் counter-ன் outputஆனது Q,QcQBQA =0000 என reset செய்யப்பட்டு, counter-ன் தொடக்க நிலைக்கு வருகின்றது. ஒரு parallel counter ஆகும். இத்தகைய counter-ல், clock pulseஆனது அதில் உள்ள அனைத்து flip-flopகளுக்கும் நேரடியாக கொடுக்கப்படுகின்றது. ஆதலால் அனைத்து flip-flopகளும் அதன் inputஐப் பொறுத்து ஒரே நேரத்தில் செயலாற்றுகின்றது. Synchronous counter-ன் settling time (counting time)ஆனது ஒரு தனி flip-flop-ன் delay timeக்கு சமமாக இருக்கும். எனவே இவ்வகை counter-ன் செயல் வேகமானது அதிகமாகவும் மற்றும் நிலையாகவும் இருக்கும். FOUR BIT SYNCHRONOUS UP COUNTER நான்கு bitகளைக் கொண்ட synchronous counterஆனது இது binary எண்களை கீழிலிருந்து மேலாக count செய்வதால் up counter எனப்படும். இதில் உள்ள அனைத்து flip-flopகளின் J மற்றும் K inputகளும் நேரடியாக +5V supply உடன் இணைக்கப்பட்டுள்ளது.
எனவே இதில் உள்ள அனைத்து flip-flopகளும் அதனுடைய clock inputக்கு கிடைக்கப் பெறுகின்ற signalஐப் பொறுத்து toggle mode-ல் செயலாற்றும். முதல் flip-flopஆனது system clock pulseயினால் trigger செய்யப்படுகிறது. இரண்டாவது, மூன்றாவது மற்றும் நான்காவது flip-flopகள் அதற்கு முந்தைய flip-flopகளின் output-களினாலும், மற்றும் system clock pulseயினாலும் சேர்ந்து trigger 3.30 செய்யப்படுகின்றது. அதாவது இரண்டாவது flip-flopஆனது முதல் flip-flop-ன் outputயினாலும் மற்றும் system clock pulseயினாலும் சேர்ந்து trigger செய்யப்படுகின்றது. மூன்றாவது flip- flopஆனது முதல் மற்றும் இரண்டாவது flip-flopகளின் outputகளினாலும், மற்றும் system clock pulseயினாலும் சேர்ந்து trigger செய்யப்படுகின்றது. அதே போன்று நான்காவது flip-flopஆனது முதலாவது, இரண்டாவது மற்றும் மூன்றாவது flip-flopகளின் outputகளினாலும் மற்றும் system clock pulseயினாலும் சேர்ந்து trigger செய்யப்படுகின்றது.
இத்தகைய செயலை செய்வதற்கு AND gateகள் பயன்படுத்தப்படுகிறது. அனைத்து flip-flopகளும் அதற்கு கிடைக்கப்பெறுகின்ற clock signal-ன் negative edgeயினால் மட்டுமே trigger ஆகின்ற தன்மை கொண்டதாகும். X என்கிற AND gateஆனது 2 ஐப் பொறுத்து clock pulse-ஐ இரண்டாவது flip-flopக்கும், Y என்கிற AND gateஆனது Q மற்றும் Q களைப் பொறுத்து clock pulseஐ மூன்றாவது flip-flopக்கும், மற்றும் Z என்கிற AND gateஆனது 3.31 QA, Qந, மற்றும் Qகளைப் பொறுத்து clock pulseஐ நான்காவது flip-flopக்கும் அனுப்புகின்றது. Truth table முதல் flip-flopஆனது ஒவ்வொரு clock pulseயினுடைய negative edgeயிலும் trigger ஆகும். முதலில் reset terminalஐப் பயன்படுத்தி அனைத்து flip-flopகளையும் reset செய்ய வேண்டும். இப்பொழுது outputஆனது Q QQQa = 0000 எனக் கிடைக்கும். அனைத்து flip-flopகளுக்கும் clock pulseஆனது நேரடியாக (AND gate வழியாக) கொடுக்கப்பட்டுள்ளதால், அனைத்து flip-flopகளும் ஒரே நேரத்தில் செயலாற்றும். எனவே இது synchronous counter எனப்படும். QA = 1 என இருந்து clock pulse கொடுக்கப்பட்டால் இரண்டாவது flip-flopஆனது trigger ஆகும்.
Q மற்றும் Q ஆகிய இரண்டும் (QA = Q =1) high(1)-ஆக இருந்து, clock pulse கொடுக்கப்பட்டால் மூன்றாவது flip-flopஆனது trigger ஆகும். அதே போன்று QA, Q மற்றும் Q ஆகிய மூன்றும் (Q = Qg = 1) high (1)ஆக இருந்து clock pulse கொடுக்கப்பட்டால் நான்காவது flip-flopஆனது trigger ஆகும். Qc = முதல் clock pulse கொடுக்கப்படுகின்றபோது Q =0,Qg =0 மற்றும் Q =0 என உள்ளதால், முதல் flip-flop மட்டும் toggle ஆகி outputஆனது Q,Q QQ = 0001 எனக் கிடைக்கும். c இரண்டாவது clock pulse கொடுக்கப்படுகின்ற போது QA=1, QB = 0 மற்றும் Qc = 0 என உள்ளதால் X என்ற AND gateஆனது clock pulseஐ இரண்டாவது flip-flopக்கு அனுப்பும்.
எனவே இப்பொழுது முதல் flip-flop மற்றும் இரண்டாவது flip-flop ஆகிய இரண்டும் சேர்ந்து toggleஆகி outputஆனது Q QcQgQ = 0010 எனக் கிடைக்கும். இதே போன்று ஒவ்வொரு clock pulse கொடுக்கப்படுகின்ற போதும் clock, QA QB மற்றும் Q outputகளைப் பொறுத்து flip-flopகள் toggle ஆகி outputஆனது கீழிலிருந்து மேலாக count செய்யப்படுகின்றது. பதினைந்தாவது clock pulse கொடுக்கப்பட்டபின்பு outputஆனது Q Q QBQA = 1111 என இருக்கும். இப்பொழுது Q, Q மற்றும் Q ஆக மூன்றும் ‘1’ ஆக உள்ளதால் X, Y மற்றும் Z என்கிற AND gateகள் சரியான clock pulse-ஐ இரண்டாவது, மூன்றாவது மற்றும் நான்காவது flip-flopகளுக்கு கொடுக்கும். எனவே இப்பொழுது 16-வது clock pulse கொடுக்கப்பட்டால் நான்கு flip-flopகளும் toggle ஆகி outputஆனது Q,QQBQ = 0000 என reset நிலைக்கு வந்துவிடும்.
FOUR BIT BINARY SYNCHRONOUS DOWN COUNTER நான்கு bitகளைக் கொண்ட binary synchronous down counterஆனது இது நான்கு JKMS flip-flopகளைக் கொண்டுள்ளது. அனைத்து flip-flopகளின் J மற்றும் K inputகளும் +Vcc (5V)உடன் நேரடியாக இணைக்கப் பட்டுள்ளது. எனவே அனைத்து flip-flopகளும் toggle mode-ல் மட்டும் செயலாற்றும். 3.33 முதல் flip-flopஆனது system clock pulseயினுடைய negative edge-ல் toggle ஆகும். முதல் flip-flop-ன் complement output (Q )ஆனது '1' ஆக இருந்தால், system clock pulseயினுடைய negative edge-ல் இரண்டாவது flip-flop ஆனது toggle ஆகும். முதல் மற்றும் இரண்டாவது flip-flopகளின் complement outputகள் (Q = 1,Qg = 1) '1' ஆக இருந்தால் system clock pulse-யினுடைய negative edge-ல் மூன்றாவது flip-flop ஆனது toggle ஆகும்.
Truth table முதலில் reset terminalஐப் பயன்படுத்தி counterஆனது initialise செய்யப்படுவதால் outputஆனது Q,Q QBQ = 0000 எனக் கிடைக்கும். இப்பொழுது flip-flopகளின் complement outputகள் Q,Q.QgQ,=1111 என இருக்கும். ஆதலால் முதல் clock pulse கொடுக்கப்படுகின்றபோது அனைத்து flip flopகளும் toggle ஆகி counter-ன் output-ஆனது Q,QcQgQ = 1111 என மாறுகின்றது. B பின்பு ஒவ்வொரு clock pulse கொடுக்கப்படுகின்ற போதும், clock pulse,Q Qஐ மற்றும் Q களைப் பொறுத்து தேவையான flip-flopகள் toggle ஆகி outputஆனது ஒவ்வொன்றாக மேலிருந்து கீழ் நோக்கி count செய்யும்.
பதினைந்தாவது clock pulse கொடுக்கப் பட்டவுடன் outputஆனது மீண்டும் Q Q,QgQ = 0000 என மாறிவிடும். அடுத்த clock pulse-ன் போது மீண்டும் output ஆனது Q,Q,Q Q = 1111 எனக் கிடைக்கும். அடுத்து வரிசையாக கொடுக்கப்படுகின்ற clock pulseகளினால் counterஆனது மீண்டும் downward-ல் (மேலிருந்து கீழாக) வரிசையாக count செய்யும். இது synchronous 0 மற்றும் synchronous down ஆகிய counterகளை ஒன்றாகக் காண்ட அமைப்பு ஆகும். Counterஆனது எந்த modeல் செயலாற்ற வேண்டும் என்பது count-up மற்றும் count-down ஆகிய control terminalகளில் கொடுக்கப்படுகின்ற signalஐப் பொறுத்து இருக்கும்.
0 என இருந்தால் up = 1 என Count up = 1 மற்றும் count down cbunter ஆகவும், மாறாக count up = 0 மற்றும் count down இருந்தால் down counter ஆகவும் செயலாற்றும். இரண்டாவது, மூன்றாவது மற்றும் நான்காவது flip-flopகள் up counter-ன் போது முந்தைய flip-flopகளின் output (QA, Qஜ மற்றும் Q )களினாலும், மற்றும் down counter-ன் போது முந்தைய flip-flopகளின் complement output (Q, Qஐ மற்றும் Q) களினாலும் clock oulse-ஐப் பொறுத்து trigger செய்யப்படும். = Up counterன் போது, flip-flopகளின் outputகள் '1' ஆக இருந்தால், clock pulseயினுடைய negative edgeயினால் flip-flopகள் toggle ஆகும். மாறாக down-counter-ன் போது flip-flopகளின் outputகள் '0' ஆக இருந்தால், clock pulseயினுடைய negative edge-ஐப் பொறுத்து flip-flopகள் toggle ஆகும்.
- Up-counter mode-ன்போது X, Y மற்றும் Z ஆகிய AND gateகள் enable நிலையிலும், மேலும் X', Y' மற்றும் Z' ஆகிய AND gateகள் disable நிலையிலும் இருக்கும். Down counter mode-ன் போது X', Y' மற்றும் Z' ஆகிய AND gateகள் enable நிலையிலும், மேலும் X, Y மற்றும் Z ஆகிய AND gateகள் disable நிலையிலும் இருக்கும். இரண்டு modeகளின் போதும் முதல் flip-flopஆனது system clock pulseயினுடைய negative edgeயினால் trigger ஆகும். மீதமுள்ள flip-flopகள் முந்தைய flip-flopகளின் output அல்லது complement outputகளைப் பொறுத்தும், மற்றும் clock pulseயினுடைய negative edgeஐப் பொறுத்தும் trigger ஆகும். Qக, Q மற்றும் Qoutputகள் count-up modeன் போது flip-flopகளை trigger செய்கின்றது. இதேபோன்று Q, Q மற்றும் Qoutputகள் count-down mode-ன்போது flip-flopகளை trigger செய்கின்றது.
RING COUNTER
Ring counter என்பது shift register என்கிற counter-ன் ஒரு எளிய அமைப்பு ஆகும். இது அடிப்படையில் அதன் outputகளை circulate (சுழல) செய்கின்ற ஒரு shift register ஆகும். முதல் flip-flop-ன் output (Q )ஆனது இரண்டாவது flip-flop- input உடனும், இரண்டாவது flip-flop-ன் output (Q)ஆனது மூன்றாவது flip-flop-ன் input உடனும் மற்றும் மூன்றாவது flip-flop-ன் output (Q ) ஆனது நான்காவது flip-flop- input உடனும் இணைக்கப்பட்டுள்ளது. நான்காவது flip-flop-ன் output (Qp) ஆனது முதல் flip-flop-ன் input உடன் இணைக்கப்பட்டுள்ளது. இதன் மூலம் feedback இணைப்பு உருவாகின்றது.
இந்த register-ல் உள்ள binary தகவல்கள் Q-ல் இருந்து Q,ஐ நோக்கி இடது புறமிருந்து வலது புறமாக shift ஆகின்றது. எனவே 3.37 ( இதில் உள்ள நான்கு bitகளைக் கொண்ட தகவல்கள் சாதாரண நிலையில் அழிவது இல்லை. இத்தகைய ring counter-ன் செயல்களை கண்டறிய முதலில் ஒரு high (1) level கொண்ட dataவானது counter-ல் வைக்கப்படுகின்றது. இதற்கு D input பயன்படுத்தப்படுகிறது. பின்பு clock signal கொடுக்கப்பட்டு counter-ன் செயல்கள் கண்டறியப்படுகின்றது.Ring counter முதலில், முதல் flip-flop-ன் output (Q )ஆனது high (1) levelலில் இருப்பதாக வைத்துக் கொண்டால், clock pulse கொடுக்கப்படுவதற்கு முன்பாக outputஆனது Q QB QQ, = 1000 என இருக்கும். ஒவ்வொரு clockpulse கொடுக்கப்படுகின்ற போதும் Q ஆனது Q க்கும்,Q ஆனது Qஜக்கும், Q ஆனது Qக்கும் மற்றும் Qஆனது Qக்கும் shift ஆகின்றது. எனவே முதல் clock pulseA 1 O O . 0 1 0 3.38 கொடுக்கப்பட்டவுடன் outputஆனது QQQQ = 0100 எனவும், இரண்டாவது clock pulse கொடுக்கப்பட்டவுடன் outputஆனது Q,QBQcQp=0010 எனவும், மூன்றாவது clock pulse கொடுக்கப் பட்டவுடன் output ஆனது Q QBQ Q = 0001 எனவும் மற்றும் நான்காவது clock pulse கொடுக்கப்பட்டவுடன் Output ஆனது Q₂QBQc Qo = 1000 எனவும் இருக்கும்.
அதாவது flip-flopகளில் உள்ள தகவல்கள் வரிசையாக ஒவ்வொரு flip-flopக்கும் clock pulseஐப் பொறுத்து இடது புறமிருந்து வலது புறமாக shift ஆகிக் கொண்டே இருக்கும். Ring counter-ன் timing diagram மற்றும் truth table ஆகியவைகள் . பொதுவாக ஒரு 4 bit ring counterஆனது ஒன்றுக் கொன்று தொடர்புடைய, 4 bitகளைக் கொண்ட நான்கு binary தகவல்களை store செய்து வைத்துக் கொள்ள பயன்படுகிறது. இத்தகைய தகவல்கள் clock pulseஐப் பொறுத்து ஒவ்வொன்றாக output-ல் கிடைக்கப்பெறும். இத்தகைய தகவல்கள் electrical power இருக்கின்ற வரை அழியாமல் அப்படியே இருக்கும். JOHNSON COUNTER Johnson counter-ம் ring counter-ஐப் போன்றே ஒரு வகை shift register counter ஆகும்.
Ring counter ஆனது சிறிது மாற்றம் செய்யப்பட்டு Johnson counter உருவாக்கப்படுகிறது. A A இதில் Q என்ற output ஆனது D என்கிற input-உடனும், Q ஆனது Dginput-உடனும், Q ஆனது D உடனும், Q ஆனது Do உடனும் நேரடியாக இணைக்கப்பட்டுள்ளது. முதலில் reset terminal-ஐப் பயன்படுத்தி reset செய்தவுடன் அனைத்து flip-flop-களும் reset-ஆகி Q QgQcQ, = 0000 என output கிடைக்கும்.முதல் clock pulse கொடுக்கப்பட்ட பின்பு output ஆனது QQgcQp = 1000 எனவும், இரண்டாவது pulse கொடுக்கப்பட்ட பின்பு output ஆனது Q QBQcQp = 1100 எனவும் மூன்றாவது pulse கொடுக்கப்பட்ட பின்பு output ஆனது Q QQQ = 1110 எனவும் மற்றும் நான்காவது pulse கொடுக்கப்பட்ட பின்பு output ஆனது QQgQ,Q, = 1111 எனவும் கிடைக்கும். இந்த நான்கு pulse-கள் கொடுக்கப்படுகின்ற போதும் Qஆனது '1' நிலையில் இருக்கும். நான்காவது pulse கொடுக்கப்பட்ட பின்பு Qஆனது ‘0'-ஆக இருப்பதால், ஐந்தாவது pulse கொடுக்கப்பட்ட பின்பு output ஆனது QQgQcQ =0111 எனக் கிடைக்கும்.
ஆறாவது pulse கொடுக்கப்பட்ட பின்பு output ஆனது Q QBQ Q = 0011 எனவும், ஏழாவது pulse கொடுக்கப்பட்ட பின்பு output ஆனது Q QBQ.Q = 0001 எனவும், எட்டாவது pulse கொடுக்கப்பட்ட பின்பு output ஆனது QAQBQcQ, = 0000 எனவும் கிடைக்கும். அதாவது இப்பொழுது அனைத்து flip-flop-களும் reset-ஆகி தொடக்க நிலைக்கு (0000) output சென்றுவிடும். 'B C 3.24. DISTINGUISH BETWEEN ASYNCHRONOUS AND SYNCHRONOUS COUNTERS S.No. Asynchronous Counter 1. System clock pulse ஆனது முதல் FF-க்கு மட்டுமே கொடுக்கப்படும்.trigger செய்யப்படும். 3.FF-கள் ஒன்றன்பின் ஒன்றாக trigger ஆகும். Synchronous Counter System clock pulse ஆனது அனைத்து FF-களுக்கும் கொடுக்கப்படும். 2. முதல் FF-ஐ தவிர மீதமுள்ள அனைத்து FF-களும் system அனைத்து FF-களும், அதற்கு clock pulse-யினால் trigger முந்தைய FF-ன் output-யினால் செய்யப்படும். அனைத்து FF-களும் ஒரே நேரத்தில் trigger ஆகும். 3.41 4. Propagation delay அதிகம். |Propagation delay குறைவு. இது அதில் உள்ள அனைத்து |Propagation delay ஆனது ஒரு FF-களின் propagation |FF-ன் propagation dealy-களின் கூட்டுத் தொக்ைகு delay-க்கு சமமாக இருக்கும்.
சமமாக இருக்கும். 5. வரிசையாக count செய்கின்ற வரிசையாக count செய்கின்ற போது propagation delay போது ஒரே மாதிரியான ஆனது ஒரே மாதிரியாக |propagation delay-ஐக் இருக்காது. 3.25. REGISTERS கொண்டிருக்கும். Introduction Flip-Flop என்பது sequential logic circuit-ல் உள்ள அடிப்படை element ஆகும். Sequential logic crcuit-ல் கிடைக்கப்பெறுகின்ற output ஆனது அதன் தற்போதைய input-ஐ மட்டும் பொறுத்து இருக்காது, அதன் முந்தைய output-ஐயும் பொறுத்து இருக்கலாம். Digital systemகளில் முக்கியமாக பயன்படுத்தப் படுகின்ற sequential logic circuit ஆனது registerகள் மற்றும் counterகள் ஆகும். ஒரு flip-flop ஆனது ஒரு bit கொண்ட digital தகவலை store செய்யும் தன்மை கொண்டது. இதனை 1-bit register என அழைக்கலாம். Flip-flopகள் array வடிவில் சேர்த்து இருந்தால், register எனப்படும்.
இது binary தகவலை store செய்யும் தன்மை கொண்டது. எத்தனை bit கொண்ட தகவலை store செய்ய வேண்டுமோ, அத்தனை எண்ணிக்கைகளைக் கொண்ட flip-flopகள் ஒரு register-ல் இருக்கும். 3.42 3.25.1. Shift Register பொதுவாக register-களில் உள்ள flip-flop-கள் cascade முறையில் இணைக்கப்பட்டிருக்கும். அதாவது ஒரு flip-flop-ன் output ஆனது அடுத்துள்ள flip-flop-ன் input உடன் இணைக்கப்பட்டிருக்கும். ஒரு register ஆனது அதில் உள்ள தகவலை (binary எண்) shift செய்கின்ற தன்மையையும் சேர்த்துப் பெற்றிருந்தால் அது shift register என அழைக்கப்படும். Shift register-ல் dataவை serial ஆகவோ அல்லது parallel ஆகவோ கொடுக்க (write) முடியும். மேலும் அதேபோன்று store செய்யப்பட்டுள்ள dataவை serial ஆகவோ அல்லது parallel ஆகவோ பெற்றுக் கொள்ள (read) முடியும்.
Register-ல் கொடுக்கப்பட்டுள்ள dataவை இடதுபுறம் இருந்து வலது புறம் நோக்கியும், அல்லது வலதுபுறம் இருந்து இடதுபுறம் நோக்கியும் தேவைக்கேற்ப shift செய்தும் கொள்ளலாம். இவ்வாறு shift செய்வது serial shifting எனப்படும். அதாவது இது ஒவ்வொரு bitஆக நடைபெறும். Register-ல் உள்ள அனைத்து dataவையும் ஒரேயடியாக shift செய்கின்ற முறையானது parallel shifting எனப்படும். Shift register-ல் நாம் எவ்வாறு dataவை write (கொடுக்க) செய்கிறோம் மற்றும் எவ்வாறு dataவை read (பெற) செய்கிறோம் என்பதைப் பொறுத்து இதன் செயல்கள் நான்கு modeகளாகப் பிரிக்கப்படுகின்றது. இதில் clock pulseஆனது அனைத்து flip-flopகளுக்கும் நேரடியாக கொடுக்கப்பட்டுள்ளதால், அனைத்து flip-flopகளும் synchronous mode-ல் செயலாற்றுகின்றது. முதல் flip flop-ல் உள்ள J மற்றும் K inputகளுக்கு நடுவில் ஒரு NOT gate இணைக்கப் பட்டுள்ளது. ஏனைய flip-flopகளில் J inputஆனது அதற்கு முன்பாக உள்ள flip-flop-ன் Q outputஉடனும், மற்றும் K inputஆனது அதற்கு முன்பாக உள்ள flip-flop-ன்Q output உடனும் இணைக்கப் பட்டுள்ளதால் register-ல் உள்ள அனைத்து flip-flopகளும் D flip-flopஆக செயலாற்றுகின்ற தன்மையைப் பெறுகின்றது.
எனவே input-ல் கொடுக்கப்படுகின்ற dataவானது clock input-ல் கொடுக்கப்படுகின்ற negative edge signal-ன் மூலம் அப்படியே output-ல் கிடைக்கப் பெறுகின்றது. Parallelஆக உள்ள dataவை நேரடியாக registerக்கு கொடுப்பதற்கு வசதியாக loading facilityஆனது அனைத்து flip-flopகளின் S(set) inputஉடனும் NAND gate-ஐக் கொண்டு இணைக்கப்பட்டுள்ளது. Shift register-ன் D terminalஆனது 3.44 serial input ஆகவும், Q, terminalஆனது serial output ஆகவும், PA PgPc P, terminalகள் parallel input ஆகவும் மற்றும் Q QBQcQp terminalகள் parallel outputஆகவும் செயலாற்றுகின்றது. B C A D flip-flop கொண்டு உருவாக்கப்பட்ட shift register-ன் நான்கு வகையான mode-களின் செயல்களும் கீழே விவரிக்கப்பட்டுள்ளது.
SERIAL IN - SERIAL OUT
இது ஒரு serial in serial out shift register ஆகும். இதில் write மற்றும் read ஆகிய இரண்டு செயல்களும் serial முறையில் நடைபெறும். - இதில் clock pulse ஆனது அனைத்து flip-flop-களுக்கும் நேரடியாக கொடுக்கப்பட்டுள்ளது. ஒவ்வொரு flip-flop-ன் output-ம் அதனை அடுத்துள்ள flip-flop-ன் input உடன் இணைக்கப்பட்டுள்ளது. Din ஆனது முதல் flip-flop-க்கு tristate buffer என்கிற control gate மூலம் கொடுக்கப்பட்டுள்ளது. DFF -ன் output ஆனது வேறொரு tristate buffer மூலம் output-க்கு கொடுக்கப்பட்டுள்ளது. இதில் Din என்பது input terminal ஆகும். Y என்பது output terminal ஆகும்.
Write மற்றும் read செயலுக்காக முறையே write strobe மற்றும் read strobe என்கிற signal-கள் பயன்படுத்தப்படுகிறது. 3.45 (i) முதலில் அனைத்து flip-flap-களையும் reset செய்ய வேண்டும். Write strobe signal-ஐ enable செய்ய வேண்டும். Data input-ஐ ஒவ்வொன்றாக Din-ன் மூலம் DFF-க்கு கொடுக்க வேண்டும். ஒவ்வொரு data input கொடுக்கின்ற போதும் ஒரு clock pulse கொடுக்கப்பட வேண்டும்.அதன்பின்பு write strobe signal-ஐ disable (0) செய்ய வேண்டும். Read operation Write செயல் முடிந்த பின்பு Y என்கிற output terminal மூலம் read செய்துக் கொள்ளலாம். Read செய்வதற்கு கீழ்க்காணும் வழிமுறையைப் பின்பற்ற வேண்டும். முதலில் read strobe signal-ஐ enable(1) செய்ய வேண்டும். முதல் clock pulse கொடுக்கப்படுவதற்கு முன்பாக முதல் data-வானது output-ல் கிடைக்கும். அதன் பின்பு ஒவ்வொரு clock pulse ஆக கொடுக்கின்ற போதும், முறையே இரண்டாவது, மூன்றாவது மற்றும் நான்காவது data-க்கள் வரிசையாக output-ல் கிடைக்கப் பெறும்.
B'C இதில் Din என்பது serial input terminal ஆக செயல்படும். ‘AYBYcYD என்பன output terminalகளாக செயல்படும். Read மற்றும் write செயல்களை ஒழுங்காக செய்வதற்கு tristate ouffer-கள் input மற்றும் output பக்கங்களில் பயன்படுத்தப்பட்டுள்ளது. Write Operation 1101 என்கிற data-வை serial முறையில் write செய்வதற்கு கீழ்காணும் வழிமுறைகளைப் பின்பற்ற வேண்டும். முதலில் அனைத்து flip-flop-களையும் reset செய்ய வேண்டும். Write strobe signal-ஐ enable செய்ய வேண்டும். Data input-ஐ ஒவ்வொன்றாக Din மூலம் DFF1-க்கு கொடுக்க வேண்டும். (LSB முதலில்) ஒவ்வொரு data input கொடுக்கின்ற போதும் ஒரு clock pulse கொடுக்கப்பட வேண்டும். இதனை விளக்குகின்ற truth table ஆனது கீழே கொடுக்கப்பட்டுள்ளது.அதன் பின்பு write strobe signal-ஐ disable செய்துவிட வேண்டும். Read Operation A' Write செயல் முடிந்த பின்பு YAYBYcYD என்கிற output terminal-கள் மூலம் நேரடியாக data-வை read செய்துக் கொள்ளலாம். இதற்கு clock pulse எதுவும் தேவையில்லை. Read செயலுக்கான வழிமுறைகள் கீழே கொடுக்கப்பட்டுள்ளது. முதலில் read strobe signal-ஐ enable செய்ய வேண்டும். YAYBYcYD என்கிற terminal-கள் மூலம் data-வை நேரடியாக read செய்ய வேண்டும். Output ஆனது YAYBYcYD = 1101 என கிடைக்கும்.
பொதுவாக S=0 என இருந்தால், flip-flop ஆனது உடனடியாக set ஆகி Q=1 மற்றும் Q = 0 என output-ஐத் தரும். மாறாக S=1 என இருந்தால் flip-flop-ல் உள்ள முந்தைய output ஆனது மாறாது. இதில் PAPgPcP) என்பன input terminal-களாகவும், மற்றும் YAYBY YD என்பன output terminal-களாகவும் செயல்படுகிறது. Output பக்கத்தில் உள்ள tristate buffer-கள் read செயலை சிறந்த முறையில் செய்வதற்குப் பயன்படுகிறது. A' B' D Write operation Data-வை write செய்வதற்கு கீழகாணும் வழிமுறைகளைப் பின்பற்ற வேண்டும். முதலில் அனைத்து flip-flop-களையும் reset செய்ய வேண்டும். (இப்போது output ஆனது QAQBQcQp = 0000 என இருக்கும்) Parallel input terminal-களில் data input-ஐக் கொடுக்க வேண்டும்.இம்முறையில் data-வை write செய்வதற்கு flip-flop-களில் உள்ள preset terminal-கள் பயன்படுத்தப்படுகிறது. S=0 என இருந்தால் flip-flop ஆனது நேரடியாக set ஆகி Q=1 மற்றும் Q=0 என output கிடைக்கும். S=1 என இருந்தால் flip-flop-ன் முந்தைய output-கள் மாறாது. Output பக்கத்தில் உள்ள tristate buffer ஆனது read செயலை சிறந்த முறையில் செய்வதற்குப் பயன்படுகிறது. (i) முதலில் அனைத்து flip-flop-களையும் reset செய்ய வேண்டும். (இப்போது output ஆனது QAQBQcQp = 0000 என இருக்கும்) Parallel input terminal-களில் data input-ஐக் கொடுக்க வேண்டும்.
ConclusionWrite strobe signal-ஐ enable(1) செய்ய வேண்டும். Read operation Write செயல் முடிந்த பின்பு Y என்கிற output terminal மூலம் read செய்துக் கொள்ளலாம். Read செய்வதற்கு கீழ்க்காணும் வழிமுறைகளைப் பின்பற்ற வேண்டும். முதலில் read strobe signal-ஐ enable(1) செய்ய வேண்டும். முதல் clock pulse கொடுக்கப்படுவதற்கு முன்பாக முதல் data-வானது output-ல் கிடைக்கும். அதன் பின்பு ஒவ்வொரு clock pulse ஆக கொடுக்கின்ற போதும் முறையே இரண்டாவது, மூன்றாவது மற்றும் நான்காவது data-க்கள் வரிசையாக output-60 கிடைக்கப்பெறும். அனைத்து data-க்களையும் read செய்த பின்பு read strobe signal-ஐ disable (0) செய்து விட வேண்டும்.இதன் விளக்கமானது மேலே உள்ள truth table-ல் கொடுக்கப்பட்டுள்ளது.







Post a Comment