COMBINATIONAL CIRCUITS
ARITHMETIC CIRCUITS Addition, subtraction, multiplication, division போன்ற arithmetic செயல்களை செய்யவல்ல logic circuit-கள் arithmetic circuit-கள் எனப்படும். Half adder, full adder, half subtractor மற்றும் full subtractor என்பன arithmetic circuitகளாகும். அனைத்து arithmetic logic circuit-களும் combinational logic circuit-களாகும். Combinational logic circuit-களில் அதன் output ஆனது அதற்கு கொடுக்கக்கூடிய தற்போதைய input நிலைகளை மட்டுமே பொறுத்து இருக்கும்.1's COMPLEMENT NUMBER
ஒரு binary எண்ணில் உள்ள ஒவ்வொரு bitஐயும் தனித்தனியாக complement செய்தால் கிடைக்கப்பெறுகின்ற எண்ணானது அந்த எண்ணின் 1's complement எண் (number) எனப்படும். இவ்வாறு ஒரு எண்ணின் 1's complement எண்ணினை உருவாக்குவதற்கு NOT gateகள் பயன்படுத்தப்படுகின்றது.இதே முறையில் எத்தனை bitகளைக் கொண்ட binary எண்ணினையும் அதன் 1's complement எண்ணாக மாற்றிக் கொள்ளலாம்.
2's COMPLEMENT NUMBER
ஒரு எண்ணின் 2's complement எண்ணினைக் கண்டு பிடிக்க முதலில் அவ்வெண்ணின் 1's complement எண்ணினைக் கண்டுபிடித்து அதனுடன் ‘1’ஐக் கூட்ட வேண்டும். 2's complement number = 1's complement number + 1 உதாரணமாக, 0101 என்ற எண்ணின் 2's complement எண்ணினைக் கண்டுபிடிக்க முதலில் 0101னின் 1's complement எண் கண்டுபிடிக்கப்பட வேண்டும். பின்பு அதனுடன் '1'ஐக் கூட்ட வேண்டும். 0101-ன் 1′s complement எண் = 1010 இதனுடன் ‘1’ஐக் கூட்டினால், 1010+1 =1011 எனக் கிடைக்கும். எனவே 0101-ன் 2's complement எண்ணானது 1011 ஆகும்.
BINARY ADDITION
Binary addition(கூட்டல்)-ம் decimal addition-ஐப் போன்றதாகும். Binary-ன் சிறிய எண் ‘0' ஆகும், பெரிய எண் ‘1' ஆகும். Binary எண்களை கூட்டுவதற்கு கீழ்காணும் விதிமுறைகள் பின்பற்றப்படுகின்றது.இந்த மூன்று கூட்டலிலும் carry ஏற்படுவதில்லை, எனவே carry =0 ஆகும். இதில் sum = 0 மற்றும் carry=1 ஆகும். 1+1 என்கிற கூட்டலில் கிடைக்கின்ற முடிவானது 10 ஆகும். இதனை பத்து என்று அழைக்கக் கூடாது. இதில் 0 என்பது sum எனவும் மற்றும் 1 என்பது carry எனவும் அழைக்கப்படும்.
Examples1011 மற்றும் 1100 என்கிற binary எண்களை add செய்யவும் 1011 + 1100 1,0111 இதில் sum = 0111, மற்றும் carry = 1 ஆகும். சாதாரண binary addition-ஆனது இரண்டு எண்களும் positive எண்ணாகவோ அல்லது இரண்டு எண்களும் negative எண்ணாகவோ இருந்தால் மட்டுமே நேரடியாக நடைபெறும். இதில் 'sign'-ஐ கருத்தில் கொண்டு கூட்ட முடியாது. Negative எண்ணுடன் positive எண்ணினை add செய்வதற்கு வேறு வகையான வழிமுறைகள் பின்பற்றப்படுகின்றது.
10111001 மற்றும் 10011110 என்கிற binary எண்களை add செய்யவும். முதல் எண் இரண்டாவது எண் = முடிவு = 101110 01 + 10011110 101010111 3) 11110 மற்றும் 11001100 என்கிற இரண்டு binary எண்களை add செய்யவும். முதல் எண் இரண்டாவது எண் = = 00011110 + 11001100 முடிவு = 11101010 .10101101 மற்றும் 11011 என்கிற binary எண்களை add செய்யவும். முதல் எண் இரண்டாவது எண் = = 10101101 + 00011011 முடிவு = 11001000 . BINARY SUBTRACTION Decimal எண்களை கழிப்பது போன்றுதான் binary எண்களையும் கழிக்க வேண்டும்.
- கழிக்க வேண்டிய 6T 600 600 (subtrahend) 1's complement மதிப்பு கண்டுபிடிக்கவும்.
- இந்த எண்ணினை கழிக்கப்பட வேண்டிய எண்ணுடன் (minuend) கூட்டவும்.
- கூட்டலின் முடிவில் ஒருவேளை carry வந்தால் அந்த carry-ஐ நீக்கி விட்டு, முடிவுடன் '1'-ஐக் கூட்டவும், அதன் பின்பு '+' குறியீடு இடவும்.
- கூட்டலின் முடிவில் carry வரைவில்லை என்றால், முடிவினை ஒரு தடவை திரும்ப complement (recomplement) செய்யவும், அதன் பின்பு '-'குறியீடு இடவும்.
- Subtract 110110102 from 111001002 using 1's complement method.
- கழிக்கப்பட வேண்டிய எண் (minuend)=111001002 கழிக்க வேண்டிய எண் (subtrahend) 11011010₂ கழிக்க வேண்டிய எண்ணின் 1's complement மதிப்பு = 00100101
- கழிக்கப்பட வேண்டிய எண்ணுடன் கூட்டவும் 00100101 + 11100100 1,0000 1001
- கழிக்கப்பட வேண்டிய எண் (minuend) =10011101 கழிக்க வேண்டிய எண் (subtrahend) =11000011 கழிக்க வேண்டிய எண்ணின் 1’s complement மதிப்பு = 00111100
- கழிக்கப்பட வேண்டிய எண்ணுடன் கூட்டவும். 00111100+ 10011101 11011001
- இதில் carry வரவில்லை. எனவே முடிவை திரும்பவும் complement செய்வும், பின்பு '-' குறியீடு இடவும். முடிவு -00100110 Binary subtraction using 2's complement method Rules (விதிமுறைகள்)
- கழிக்க வேண்டிய 6160060060 (subtrahend) 2's complement மதிப்பினை கண்டுபிடிக்கவும்.
- கழிக்கப்பட வேண்டிய எண்ணுடன் (minuend) கூட்டவும்.
- முடிவில் carry வந்தால், carry-ஐ நீக்கிவிடவும், மற்றும் '+' குறியீடு இடவும்.
- முடிவில் carry வரவில்லை என்றால், முடிவினை திரும்பவும் complement செய்யவும், அதனுடன் '1'-ஐ கூட்டவும் மற்றும் ''குறியீடு இடவும்.
முடிவில் carry வரவில்லை, எனவே முடிவினை திரும்பவும் complement செய்யவும் மற்றும் '-' குறியீடு இடவும். 00110100+ 1 Result ⇒ - 00110101 SIGNED BINARY NUMBERS அனைத்து வகையான number systemகளிலும் positive எண்களும் மற்றும் negative எண்களும் இருக்கும். Positive எண்களைக் குறிப்பதற்கு positive (+) அடையாளமும், மற்றும் negative எண்களைக் குறிப்பதற்கு negative (-) அடையாளமும் ஒரு எண்ணின் முன்னால் (இடது பக்கத்தில்) இடப்படவேண்டும்.
Digital circuitஆனது '+' மற்றும் ‘-' sign-களை ஏற்றுக் கொண்டு செயலாற்ற முடியாது. எனவே digital system-களில் 0 மற்றும் 1 என்கிற binary எண்கள் முறையே positive மற்றும் negative எண்களைக் குறிப்பதற்கு பயன்படுத்தப் படுகின்றது. அதாவது signed binary number system-த்தில் ஒரு எண்ணாவது 8 bit-களைக் கொண்டிருந்தால், அதன் MSB bitஆனது sign-ஐயும், மீதமுள்ள 7 bit-கள் சேர்ந்து அதன் magnitude (மதிப்பு)ஐயும் குறிப்பிடுகின்றது.Signed binary எண்கள் கீழ்க்காணும் மூன்று முறைகளில் பயன்படுத்தப்படுகின்றது. அவையாவன Sign and magnitude i)Sign and 1's complement iii) Sign and 2's complement Signed binary எண்களைப் பற்றிய சில முக்கிய குறிப்புகள் கீழே கொடுக்கப்பட்டுள்ளது. i) மேற்காணும் மூன்று முறைகளிலும், positive எண்கள் ஒரே மாதிரியாக குறிப்பிடப்படுகின்றது. இத்தகைய எண்களின் MSB bitஆனது ‘0'என இருக்கும்.
மீதமுள்ள bitகள் சேர்ந்து அவ்வெண்ணின் மதிப்பைத் தருகின்றது. 2.10 ii) மூன்று முறைகளிலும் negative எண்கள் வித்தியாசமாக குறிப்பிடப்படுகின்றது. ஆனால் மூன்று முறைகளிலும் negative எண்ணினை குறிப்பிடும் பொருட்டு MSB bitஆனது '4' என்று பொதுவாக இருக்கும். மீதமுள்ள bitகள் ஒன்று சேர்ந்து அவ்வெண்ணின் மதிப்பைக் குறிப்பிடும். அதன் விவரம் கீழே கொடுக்கப்பட்டுள்ளது.(a) "Sign and magnitude" முறையில் negative எண்ணின் magnitudeஆனது அதன் positive எண்ணின் magnitudeக்கு சமமாக இருக்கும். Sign bit மட்டும் மாறுபட்டு இருக்கும். (b) "Sign and 1's complement" முறையில் குறிப்பிடப்படுகின்ற negative எண்ணின் magnitude ஆனது அதன் positive எண்ணின் magnitudeக்கு 1's complement மதிப்பினைக் கொண்டிருக்கும். (c) "Sign and 2's complement" முறையில் குறிப்பிடப்படுகின்ற negative எண்ணின் magnitude ஆனது positive எண்ணின் magnitudeக்கு 2's complement மதிப்பினைக் கொண்டிருக்கும்.
2's complement முறையில் signed binary எண்களை add செய்கின்ற போது carry வந்தால் அதனை நீக்கிவிடவும். HALF ADDER இரண்டு binary bitகளைக் add செய்ய உதவுகின்ற logic circuitஆனது half adder எனப்படும். இரண்டு bitகளை add செய்கின்ற போது carry ஏற்பட வாய்ப்பும் உள்ளது. இது A, B என்கிற இரண்டு inputகளையும், மற்றும் S(Sum), C (Carry) என்கிற இரண்டு outputகளையும் கொண்டுள்ளது.Truth table-ன் output-ஐக் கருத்தில் கொண்டு, sum மற்றும் carry ஆனது high(1)ஆக இருக்கின்ற outputக்கு உரிய input-களை "sum of product” முறையில் எழுதினால் கீழ்கண்டவாறு output கிடைக்கும். .இதில் sumக்காக EX-OR gate-ம் மற்றும் carryக்காக AND gate-ம் பயன்படுத்தப்பட்டுள்ளது.
FULL ADDER
3 binary bitகளை add செய்ய உதவுகின்ற logic circuitஆனது full adder எனப்படும். இதில் A, B மற்றும் C என்கிற மூன்று inputகளும், மற்றும் S(Sum) மற்றும் C, (Carry) என்கிற இரண்டு outputகளும் உள்ளது.Full adder Truth table-லில் இருந்து கிடைக்கப்பெறுகின்ற high(1) levelக்கான outputக்கு உரிய inputகளை sum of product முறையில் எழுதுகின்ற போது கீழ்க் கண்டவாறு output கிடைக்கும். இதில் B (subtrahend)-ஆனது A 2.18 (minuend)-ல் இருந்து கழிக்கப்படுகின்றது. இந்த இரண்டும் input bit-களாகும். Output-ல் D(difference) மற்றும் Br(borrow) என இரண்டு outputகள் கிடைக்கின்றது. Truth table-லில் இருந்து, high (1) levelலில் கிடைக்கப் பெறுகின்ற D மற்றும் Br என்கிற outputக்கு உரிய inputகளை sum of product முறையில் எழுதுகின்ற போது கீழ்க்கண்டவாறு output கிடைக்கும்.
FULL SUBTRACTOR
இதில் A-ல் இருந்து B கழிக்கப்படுகின்றது. இதன் மூலம் (A-B) என்கிற difference கிடைக்கும். (A-B)ல் இருந்து Cஆனது மீண்டும் கழிக்கப்படுகின்றது. இதன் output அனது D மற்றும் Br என இருக்கும். Truth table-ல் இருந்து D மற்றும் Brகளுக்கான சமன்பாடுகள் sum of product முறையில் கீழ்க்கண்டவாறு கணக்கிடப்படுகின்றது.
ENCODER
Encoderஆனது அதற்கு கொடுக்கப்படுகின்ற input signalஐ coded output signalஆக மாற்றி தருகின்றது. இதில் உள்ள input lineகளின் எண்ணிக்கையானது output lineகளின் எண்ணிக்கையை விடவும் அதிகமாக இருக்கும். Encoderஆனது அதன் inputகளின் நிலைகளைப்பொறுத்து, binary எண்களால் code செய்யப்பட்ட signal-ஐ, அதன் output-ல் தருகின்றது.எனவே outputஆனது DCBA = 0101 எனக் கிடைக்கும். இது input-ல் ON செய்த 5 என்ற switchக்கு இணையான BCD எண் (5 = 0101) ஆகும். இதே போன்று ஒவ்வொரு switch-ஐ 'ON' செய்கின்ற போதும் அதற்கு சமமான BCD எண்ணானது output-ல் கிடைக்கப்பெறுகின்றது. அதாவது input-ல் உள்ள decimal எண்ணானது output-ல் BCD எண்ணாக கிடைக்கின்றது. எனவே இது decimal-to-BCD encoder என அழைக்கப்படுகிறது. Switch '3'-ஐ அழுத்தினால் output-ல் DCBA = 0011 எனவும் மற்றும் switch '9'-ஐ அழுத்தினால் output-ல் DCBA = 1001 எனவும் கிடைக்கும் இதில் பொதுவாக 'two way switch'-கள் பயன்படுத்தப்படுகிறது.
DECODER
Decoder என்பது demultiplexer போன்ற அமைப்பினைக் கொண்டதாகும், ஆனால் data input மட்டும் இதற்கு கிடையாது.Decoder-ல் உள்ள output terminalகளின் எண்ணிக்கை input terminalகளின் எண்ணிக்கையை விட அதிகமாக இருக்கும். பொதுவாக இதன் input lineகளை address lineகள் என அழைக்கலாம். நாம் input-ல் கொடுக்கின்ற addressஐப் பொறுத்து அதற்குரிய ஒரே ஒரு output line மட்டும் ஒரு நேரத்தில் enable ஆகும். மீதமுள்ள அனைத்து outputகளும் disable நிலையில் இருக்கும். 1 of 8 decoder ஆனது மூன்று input (address) lineகளையும், எட்டு output lineகளையும் மற்றும் ஒரே ஒரு control enable lineஐயும் கொண்டுள்ளது. இதன் input மற்றும் output lineகளின் எண்ணிக்கைகளைக் கருத்தில் கொண்டு இதனை “3 to 8 decoder" என்றும் கூறலாம். Decoder-ன் logic diagramத்தில் 8 AND gateகள் அதன் output பக்கத்தில் அமையப் பெற்றுள்ளது. கொடுக்கப்படுகின்ற address inputஆனது CBA = 000 என இருந்தால் 'O' என்கிற AND gate-ல் உள்ள அனைத்து inputகள் மட்டும் high levelலில் இருக்கும்.
எனவே output Y, மட்டும் high-ஆக கிடைக்கும். இப்பொழுது மற்ற gateகளைப் பார்க்கின்ற போது அதில் குறைந்தது ஏதாவது ஒரு inputஆவது low levelலில் இருப்பதால் Y, முதல் Y, வரை உள்ள outputகள் low levelலில் இருக்கும் (0 எனக் கிடைக்கும்). இதேபோன்று CBA = 001 என்று input கொடுக்கப்பட்டால் ‘1’ என்கிற AND gate-ல் உள்ள அனைத்து inputகள் மட்டும் high levelலில் இருந்து output Y,-ஐ மட்டும் enable செய்யும்.ஆகவே Y, மட்டும் high-ஆக கிடைக்கும். ஏனைய outputகள் அனைத்தும் low levelலில் இருக்கும். இதேபோன்று கொடுக்கப்படுகின்ற address input-ஐப். பொறுத்து output-ல் உள்ள 8 terminalகளில் ஒரே ஒரு output மட்டும் ஒரு நேரத்தில் enable (1) ஆகும். மீதமுள்ள அனைத்து outputகளும் disable (0) நிலையில் இருக்கும். Enable input line ஆனது decoder-ஐ enable செய்ய உதவுகின்றது. இது '0' வாக இருந்தால் decoderஆனது எவ்வித செயலையும் செய்வது இல்லை.அனைத்து Output-களும் low நிலையில் இருக்கும்.Forward bias-ன் போது LED-ன் junctionனில் வைத்து free electronகள் holeகளுடன் ஒன்று சேர்ந்து current flowவை உருவாக்கும்.இத்தகைய free electronகள் அதிக energy levelலில் இருந்து குறைந்த energy levelக்கு செல்வதால் ஏற்படுகின்ற energy வித்தியாசமானது light மற்றும் heat ஆக வெளியிடப் படுகின்றது. Gallium, arsenide மற்றும் phosphorus போன்ற பொருட்களைக் கொண்டு LEDஆனது உருவாக்கப்படுகின்ற போது red, green, yellow, blue, orange மற்றும் infrared (invisible) போன்ற வண்ணங்களில் ஒளி கிடைக்கின்றது. இத்தகைய வண்ணங்களைக் கொண்ட LEDக்கள் (infrared LED-ஐத் தவிர்த்து) pocket calculatorகள், மற்றும் test instrumentகளில் பயன்படுகின்றது.
இதில் ஏழு LEDக்கள் ஒரு குறிப்பிட்ட வடிவத்தில் (8 என) வைக்கப்பட்டிருக்கும். இதன் மூலம் 0 முதல் 9 வரையுள்ள எண்களையும், மற்றும் சில alphabet எழுத்துக்களையும் display செய்யலாம். display systemத்தின் அமைப்பு கொடுக்கப்பட்டுள்ளது. இதில் உள்ள ஒவ்வொரு LEDயிலும் செல்கின்ற current-ஐ கட்டுப்படுத்துவதன் மூலம் நமக்கு தேவையான எண்களை LED-ல் உருவாக்கலாம்.ஏனெனில் current செல்கின்ற LEDஆனது வண்ணமாகத் தெரியும், ஏனைய LEDக்கள் dark நிலையில் கருப்பாக இருக்கும். Seven segment LEDஆனது common anode மற்றும் common cathode என்கிற இரண்டு வகைகளில் கிடைக்கப் பெறுகின்றது. Seven segment decoder என்பது ஒரு IC decoder ஆகும். இதை BCD to seven segment decoder என்றும் அழைக்கலாம். இதைக் கொண்டு seven segment LEDக்களை இயக்கலாம். இது நான்கு input line (BCD input)களையும் மற்றும் ஏழு output line (a முதல் g வரை உள்ள segmentகள்)களையும் கொண்டிருக்கும். இதற்கு கொடுக்கப்படுகின்ற ஒவ்வொரு வகையான inputகளைப் பொறுத்து decoder-ன் output மற்றும் display எவ்வாறு இருக்கும் என்பது மேலே உள்ள அட்டவணையில் கொடுக்கப்பட்டுள்ளது.
இதன் மூலம் D, C, B மற்றும் A என்கிற complement inputகள் தோற்றுவிக்கப்படுகின்றது. அதனை அடுத்து நான்கு inputகளைக் கொண்ட பத்து AND gateகள் உள்ளது. இதன் மூலம் P முதல் Pg வரையிலான பத்து outputகள் கிடைக்கப் பெறுகின்றது. Output பக்கத்தில் multi (பல) inputகளைக் கொண்ட ஏழு OR gateகள் உள்ளது. நாம் கொடுக்கின்ற input-ன் தன்மையைப் பொறுத்து input பக்கத்தில் உள்ள பத்து AND gate களில் ஒரே ஒரு AND gate மட்டும் ஒரு நேரத்தில் enable ஆகும். அதாவது P. முதல் Pg வரையுள்ள அதன் outputகளில் ஒரே ஒரு output மட்டும் high (1)ஆகவும், ஏனைய outputகள் low (0) ஆகவும் இருக்கும். இவ்வாறு enable செய்யப்படுகின்ற output (P, முதல் P,)ஆனது output பக்கத்தில் உள்ள OR gateகளில் எந்தெந்த gateகளுடன் எல்லாம் இணைக்கப்பட்டுள்ளதோ அதன் output-கள் அனைத்தும் high (1)ஆகவும்,
ஏனைய Outputகள் low (0)ஆகவும் இருக்கும். இதன் மூலம் நாம் input-ல் எத்தகைய BCD எண் கொடுத்துள்ளோமோ அதன் decimal எண்ணானது display-ல் கிடைக்கப்பெறும். 1 உதாரணமாக,input-ல் DCBA = 0001 என கொடுக்கப்பட்டால் '1' என்கிற AND gate-ன் அனைத்து inputகளும் '1' ஆக இருக்கும். எனவே P, மட்டும் high (1) levelலில் கிடைக்கப்பெறும். P terminalஆனது B மற்றும் C என்கிற OR gateகளில் inputஆக கொடுக்கப்பட்டுள்ளது.இதன் மூலம் outputகளான b மற்றும் c-என்பன '1' ஆகவும், ஏனைய outputகளான a,d,e,f மற்றும் g-என்பன ‘0’ ஆகவும் கிடைக்கப்பெறும். இதனால் '1' என்கிற output-ஐக்கொண்ட LEDக்கள் மட்டும் ஒளிரும். ‘0' என்கிற output-ஐக் கொண்ட LEDக்கள் ஒளிராது. இதனால் display-ல் '1'(one) என்று கிடைக்கப்பெறும். இதே போன்று input-ல் எத்தகைய BCD எண் கொடுக்கப்படுகின்றதோ அதன் decimal எண்ணானது display-ல் கிடைக்கப்பெறும். இதில் உள்ள AND - OR gateகளை மாற்றி விட்டு அதற்குப் பதிலாக NAND - NAND gateகளையும் பயன்படுத்திக் கொள்ளலாம்.
MULTIPLEXER
Multiplexer என்பது ஒன்றுக்கு மேற்பட்ட inputகளையும் ஒரே ஒரு outputஐயும் கொண்ட ஒரு digital circuit ஆகும். இதில் உள்ள address lineகளின் எண்ணிக்கையானது input lineகளின் எண்ணிக்கையைப் பொறுத்து இருக்கும். இது 3 control (address) lineகளையும், 8 input(data)lineகளையும் மற்றும் ஒரே ஒரு output line-ஐயும் கொண்டுள்ளது. Control line-களில் கொடுக்கப்படுகின்ற addressஐப் பொறுத்து ஏதாவது ஒரு input மட்டும் ஒரு நேரத்தில் output-ல் தேர்வு செய்யப்படும்.
எட்டு inputகளில் ஒரே ஒரு input மட்டும், அதற்கு கொடுக்கப்படுகின்ற addressஐப் பொறுத்து outputல் கிடைக்கப்பெறும். உதாரணமாக, control line-ல் கொடுக்கப்படுகின்ற addressஆனது A2 A, A, = 000 என இருந்தால், மேல் பக்கம் உள்ள AND gate மட்டும் enable ஆகும், ஏனைய AND gateகள் disable நிலையில் இருக்கும். ஆதலால் D input-ல் கொடுக்கப்படுகின்ற dataஆனது output-ல் கிடைக்கும். D -ன் மதிப்பானது ‘0'ஆக இருந்தால், output ஆனது Y = 0 எனவும், இல்லையெனில் (D, = 1) outputஆனது Y = 1 எனவும் கிடைக்கும்.1 of 8 multiplexer-ன் truth tableஆனது மேலே கொடுக்கப்பட்டுள்ளது.DEMULTIPLIXER Demultiplexer என்பது ஒரு input-ஐ, பல output களாக பிரிக்கின்ற ஒரு logic circuit ஆகும். இது multiplexer-க்கு reverse ஆக (தலைகீழாக) செயலாற்றுகின்றது. இது ஒரே ஒரு input-ஐயும் மற்றும் பல outputகளையும் கொண்டிருக்கும். இதில் கொடுக்கப்படுகின்ற address-ஐப் பொறுத்து input signalஆனது ஏதாவது ஒரு output line-ன் வழியே கடந்து செல்கின்றது.
எந்த output line வழியாக data செல்ல வேண்டும் என்பது control lineகளில் கொடுக்கப்படுகின்ற address-ஐப் பொறுத்து இருக்கும். இது மூன்று control/ address lineகளையும், எட்டு output lineகளையும் மற்றும் ஒரே ஒரு input lineஐயும் கொண்டுள்ளது. இதன் input lineஆனது D எனவும், control/address lineகள் A2, A, மற்றும் A எனவும், மற்றும் output lineகள் Yo, Y4, .... Y. எனவும் வழங்கப்படும். Data bit Dஆனது ஏதாவது ஒரு output-ன் வழியே செல்லும், இது அதற்கு கொடுக்கப்படுகின்ற addressஐப் பொறுத்து இருக்கும்.எனவே முதல் AND gate மட்டும் enable ஆகின்றது. மீதமுள்ள AND gateகளில் குறைந்தது எதாவதொரு inputஆவது low levelலில் இருப்பதால் அதன் outputகள் தானாகவே low level(0)க்கு செல்கின்றது.
அதாவது 1 முதல் 7 வரையிலான ஏனைய outputகள் disable நிலையில் இருக்கும். எனவே இப்பொழுது data input Dஆனது முதல் AND gate-ன் output (Y)-ல் கிடைக்கப் பெறுகின்றது, அதாவது Y = D என இருக்கும். Dஆனது lowவாக இருந்தால் Y = 0 எனவும் மற்றும் Dஆனது high ஆக இருந்தால் Y = 1 எனவும் இருக்கும். மீதமுள்ள அனைத்து ANDgateகளின் outputகளும் low levelலில் இருக்கும். இதன் address lineகள் A2A,A, = 001 என இருந்தால் = D எனவும், A2A,A, = 010 என இருந்தால் Y2 = D எனவும் output இருக்கும். இதே போன்று A2AtA, = 111 என்ற நிலையில் Y- = D எனவும் இருக்கும்.3 இந்த adder ஆனது X3X2X,X, மற்றும் Y Y2Y,Y, என்கிற 4 bit-களைக் கொண்ட இரண்டு BCD எண்ணினை input ஆகக் கொண்டிருக்கும். இதைத் தவிர Cin என்கிற ஒரு carry input-ஐயும் கொண்டிருக்கும். மேலும் இது S3S2S,S, என்கிற நான்கு bit-களைக் கொண்ட sum output-ஐயும் மற்றும் Cout என்கிற ஒரே ஒரு bit-ஐக் கொண்ட carry output-ஐயும் கொண்டிருக்கும். Sum output ஆனது BCD எண்ணாக இருக்கும். BCD adder ஆனது கீழே கொடுக்கப்பட்டுள்ள செயல்களை செய்ய வல்லது. i) நேரடியான binary addition முறையில், 4 bit-களைக் கொண்ட இரண்டு binary எண்களை add செய்கின்ற தன்மை கொண்டது.
ii) கிடைக்கப்பெறுகின்ற 4 bit-களால் ஆன sum-ன் மதிப்பானது 9-க்கு சமமாகவோ அல்லது அதை விட குறைவாக இருந்தால் முடிவானது அப்படியே ஏற்றுக் கொள்ளப்படும், எவ்விதமான correction-ம் தேவையில்லை. iii) கிடைக்கப்பெறுகின்ற 4 bit-களால் ஆன sum-ன் மதிப்பானது 9-ஐ விட அதிகமான இருந்தாலோ அல்லது carry bit ஆனது set ஆகி (உருவாகி) இருந்தாலோ sum ஆனது BCD தன்மையில் இருக்காது.இந்நிலையில் 6 (0110) ஆனது Sum முடிவுடன் add செய்யப்படும். இதன் மூலம் கிடைக்கப் பெறுகின்ற முடிவானது BCD தன்மையில் இருக்கும். இது அப்படியே ஏற்றுக் கொள்ளப்படும். இதில் carry bit-ஐயும் கணக்கில் எடுத்துக் கொள்ள வேண்டும். இது அடுத்துள்ள decimal position உடன் add செய்யப்படுகிறது.அட்டவணையில் குறிப்பிட்டுள்ளபடி sum output-ன் மதிப்பானது 9-ஐ விட அதிகமான இருந்தால் correction தேவைப்படுகிறது. இந்த K map ஆனது இரண்டு quad loop-களைக் கொண்டுள்ளது. எனவே இதன் output ஆனது Ch = S3S2 + S3 S, என இருக்கும். இதனுடன் carry bit-ஐயும் சோத்துக் கொள்ள வேண்டும். ஏனெனில் carry bit உருவானதும் 6-ஐ add செய்ய வேண்டும்.
தற்போது கிடைக்கப்பெறுகின்ற output ஆனது BCD ஆக இருக்கும். ஒரு வேளை முதல் stage-ன் output-ல் கிடைக்கப்பெறுகின்ற முடிவானது 9-ஐ விட குறைவாகவோ அல்லது அதற்கு சமமாகவோ இருந்தால் OR gate (3)-ன் output ஆனது '0' என இருக்கும். இந்நிலையில் முதல் stage-ல் கிடைக்கப்பெறுகின்ற output ஆனது எவ்வித மாற்றமும் இல்லாமல் இரண்டாவது stage-ன் output-ல் கிடைக்கப்பெறுகின்றது.PARITY GENERATOR AND CHECKER Digital தகவல்கள் பொதுவாக binary நிலையில் இருக்கும். இத்தகைய தகவல்கள் ஒரு இடத்திலிருந்து மற்றொரு இடத்திற்கு செல்கின்ற போது noise, transient போன்றவைகளினால் error ஏற்பட வாய்ப்பு உள்ளது. அதாவது தகவலில் உள்ள '1' ஆனது '0'ஆகவோ அல்லது '0'ஆனது '1'ஆகவோ மாற வாய்ப்பு உள்ளது, இது error எனப்படும். இத்தகைய errorகளை கண்டுப்பிடிக்க அல்லது 1 என்கிற binary bitஆனது தகவலுடன் சேர்த்து அனுப்பப்படுகின்றது. இந்த bitஆனது parity bit எனப்படும்.
இத்தகைய parity bit-ஐ உருவாக்குகின்ற circuitஆனது parity generator எனப்படும். இது signalகளை transmit செய்கின்ற இடத்தில் (transmitter) பயன்படுத்தப்படுகிறது. 2.37 Parity bit-ஐ கண்டுபிடிக்க உதவுகின்ற circuitஆனது parity checker எனப்படும். இது signalகளை receive செய்கின்ற இடத்தில் (receiver) பயன்படுத்தப்படுகிறது. இது parity bitஉடன் கூடிய தகவல்களில் உள்ள errorகளை கண்டுபிடிக்க உதவுகிறது.உண்மையான binary எண்களைக் கொண்ட தகவல்களில் உள்ள '1'களின் எண்ணிக்கைகளைக் கருத்தில் கொண்டு ‘0' அல்லது '1' என்கிற parity bitஆனது உருவாக்கப்படுகின்றது. பொதுவாக even parity மற்றும் odd parity என இரண்டு வகையான parityகள் உள்ளது. Even parity என்கிற முறையில் நாம் புதியதாக சேர்க்கின்ற parity bit-ஐயும் சேர்த்து ஒட்டு மொத்த binary எண்ணானது இரட்டைப் படை '1'களைக் கொண்டதாக இருக்க வேண்டும். அதாவது உதாரணமாக,binary எண்ணானது 01101000 என இருந்தால், இதில் மொத்தமாக மூன்று '1'கள் உள்ளது.
எனவே அது ஒற்றைப்படை (odd) '1'களைக் கொண்டுள்ளது. ஆகையால் parity bitஆக '1'-ஐச் சேர்த்து அந்த முழு எண்ணினை 101101000 என மாற்ற வேண்டும். இப்பொழுது இதில் மொத்தமாக, parity bit-ஐயும் சேர்த்து நான்கு '1'கள் உள்ளது. எனவே இது even parity எனப்படும். இதே போன்று, odd parity முறையில், நாம் புதியதாக சேர்க்கின்ற parity bit-ஐயும் சேர்த்து ஒற்றைப்படை (odd) '1'கள் இருக்கின்ற மாதிரி எண்ணினை மாற்ற வேண்டும்.உதாரணமாக, ஒரு எண்ணானது 01101000 என இருந்தால் இதில் மூன்று '1'கள் உள்ளது. எனவே இதில் ஒற்றைப்படை '1'கள் ஏற்கனவே உள்ளதால், நாம் சேர்க்கின்ற parity bitஆனது '0' என எடுத்துக் கொள்ள வேண்டும். இப்பொழுது எண்ணானது 001101000 என மாறுகின்றது. இதில் இப்பொழுது ஒட்டுமொத்தமாக ஒற்றப்படை (odd)'1' கள் உள்ளது. 2.38 (i) Parity generator ஒரு odd parity generator-ன்
- 8-bit number 1X0 bitஉடன் சேர்ந்து மொத்தமாக 9-bitகளைக் கொண்ட odd parity எண்ணினை உருவாக்குகின்றது. உதாரணமாக, இதற்கு கொடுக்கப் படுகின்ற 8 bit எண்ணானது 00100001 என இருப்பதாக எடுத்துக் கொண்டால், இதில் இரண்டு '1'கள் உள்ளது. Exclusive OR gateஆனது அதன் output-ஐ ‘0'என உருவாக்குகின்றது. இது invert செய்யப்பட்டு ‘1 என மாறுகின்றது. எனவே இந்த parity bitஆன '1'-ஐ மேற்கூறிய எண்ணோடு சேர்த்தால் மொத்தமாக binary எண்ணானது 100100001 எனக் கிடைக்கும்.இப்பொழுது இதில் மூன்று '1'கள் உள்ளதால், இந்த எண்ணானது odd parity எண் எனப்படும். Instruction or data bits 9-bit number with odd parity.Odd-parity generator. ஒரு வேளை binary எண்ணானது 0011 0001 என இருந்தால், Ex-OR gate-ன் output-ல் ‘1' எனக் கிடைக்கும். இது invert ஆகி parity bitஆனது '0' என கிடைக்கப் பெறுகின்றது. இப்போது parity bitஉடன் சேர்த்து மொத்தமாக இந்த எண்ணானது 000110001 எனக் கிடைக்கும்.
அதாவது இதில் ஏற்கனவே மூன்று '1'கள் உள்ளதால், parity bit-ஐயும் சேர்த்து மொத்தமாக odd parity எண்ணினை parity generator உருவாக்குகின்றது. இதே போன்று even parity generator circuit-ஐ எடுத்துக் கொண்டால், அதன் output-ல் inverter gate இருக்காது. Parity bitஆனது Ex-OR gate-ன் output-ல் இருந்து நேரடியாக எடுத்துக் கொள்ளப்படுகின்றது. 2.39 (ii) Parity checker Parity bit Хз х2 Х1 хо Ex-OR gateஆனது, parity generator-ல் பயன்படுத்தப்பட்டது போன்று parity checkerரிலும் பயன்படுத்தப்படுகின்றது.
ஒரு binary எண்ணில் உள்ள '1'களின் எண்ணிக்கையானது இரட்டைப் படையினைக் (even) கொண்டதாக இருந்தால் Ex-OR gateகளைக் கொண்ட parity checker-ன் outputஆனது '0' என கிடைக்கப் பெறும். இதே போன்று ஒற்றைப்படை (odd) '1'களைக் கொண்ட binary எண்ணானது Ex-OR gateகளைக் கொண்ட parity checker circuit-ன் input-ல் கொடுக்கப்பட்டால், error இல்லாத எண்களின் outputஆனது '1' எனக் கிடைக்கும்.Parity bit-ஐக் கொண்ட binary எண்ணானது இதன் input-ல் கொடுக்கப்பட வேண்டும். Inputஆனது 01101 என இருந்தால், இதன் outputஆனது ‘1' எனக் கிடைக்கும். ஏனெனில் இதில் மூன்று '1'கள் உள்ளது. இதே போன்று binary எண்ணானது 01001 என இருந்தால், parity checker-ன் outputஆனது ‘0' எனக் கிடைக்கும். ஒரு digital systemத்தில் உள்ள அனைத்து binary எண்களும் transmit செய்யப்படுவதற்கு முன்பாக parity generator-ன் மூலம் even parity எண்ணாக அல்லது odd parity எண்ணாக மாற்றப்படுகின்றது.
Conclusionஇத்தகைய எண்ணினை receiver பக்கம் உள்ள parity checkerஆனது சோதித்து error எதுவும் ஏற்பட்டுள்ளதா என்று கண்டு பிடிக்கின்றது. உதாரணமாக, அனைத்து எண்களும் even paity generatorரினால் even parity எண்ணாக மாற்றப்பட்ட பின்பு அனைத்து 2.40 binary எண்களிலும் உள்ள ‘1'களின் எண்ணிக்கையும் இரட்டைப் படையாக இருக்கும். இது transmit ஆகின்ற போது ஒரு வேளை ஒரு எண்ணில் உள்ள ‘0' ஆனது '1' ஆகவோ அல்லது '1' ஆனது '0' ஆகவோ மாறினால் even parity checker-ன் outputஆனது '1' என கிடைக்கப்பெறும். இதிலிருந்து error உள்ள எண்களை எளிதாக கண்டுபிடிக்கலாம்.பொதுவாக மாற்றம் (error) நிகழ்ந்த binary எண்ணினைத் தவிர மீதமுள்ள எண்களின் outputஆனது even parity checker-ல் 'O' எனவும், மாற்றம் ஏற்பட்ட binary எண்ணின் outputஆனது '1' எனவும் கிடைக்கப் பெறும். இதனை வைத்துக் கொண்டு எந்த எண்களில் error உருவாகியுள்ளது என்பது எளிதாக கண்டுபிடிக்கப்படுகின்றது. இந்த முறையானது, மிக எளிமையாக error-ஐக் கண்டுபிடிக்க உதவுகின்ற முறையாகும்.








Post a Comment