களம் நிரல்படு வாயில் அணிகள்

(Field Programmable Gate Arrays)

மின்னணு சாதனங்களின் வடிவமைப்பில் இன்றியமையாத உறுப்பாக அமைவது நிரல்படும் ஒருங்கிணைச்சுற்றுக்கள் (programmable integrated circuits). பெரும்பாலுமான மின்னணு சாதனங்களில் பலவிதமான பகுதிகள் உள்ளன- திறன்வழங்கு பகுதி (power supply section), ஒப்புமைப் பகுதி (analog section), நினைவகப் பகுதி (memory section), மற்றும் இலக்கமுறை இயக்கப் பகுதி (digital control section). ஒப்புமைப் பகுதிகளில் பல்வேறு உறுப்புகள் உள்ளன- மிகைப்பிகள், குறிகை வடிகட்டிகள், ஒப்பாக்கி (digital to analog converter), எண்ணாக்கி (analog to digital converter), வானலை உறுப்புகள் (RF components) போன்றவை. திறன்வழங்கிகள் ஒரு மின்னணு அமைப்பின் அனைத்து மின்னோட்ட மின்னழுத்த தேவைகளை பூர்த்தி செய்கிறது. இலக்கமுறை உறுப்புகளில் நுண்செயலிகள் (microprocessors) மின்னணு பலகையிகளின் மூளையாகும். நுண்செயலி இருந்தால் நினைவகங்களும் இருக்கும். பலகைசார் நினைவகங்கள் (on-board memory) தாற்காலிக தரவுகளையும் மாறிகளையும் (variables) சேமிக்கின்றன. நுண்செயலிக்கும் நினைவகத்துற்கும் இடைமுகமாக கட்டுபடுத்தும் அமைப்பு தேவைப்படுகிறது. இக்கட்டுபடுத்தும் சில்லுக்கள் நுண்செயலிகள் செய்ய இயலாத கட்டுபடுத்து பணிகளை பொறுக்கின்றன. இவைகளில் தரவு மாற்றம், அஞ்சல்சுருள் இயக்கம் (relay control); PCI, USB போன்ற பாட்டைகளுக்கு இடைமுகம்; இலக்கக்குறிகை செயலாக்கம் போன்ற தேவைகளை நுண்செயகளில் புறமாக தனி இலக்கமுறை சில்லுக்களிலுள் செயல்படுத்தலாம்.

முதலில் வந்த சாதனங்கள் நிரல்படு படிப்பு நினைவகம் (programmable read only memory) ஆக இருந்தன. 10 வருஷங்கள் முன்பு நிரலிப்பு தருக்க அணிகள் (programmable logic arrays-PLA) என்ற சில்லுகளில் முறைமை இயக்க தருக்கம் (system control logic) செயல்பட்டுவந்தது. இச்சில்லுக்கள் ஃபிலிப்ஸ் நிறுமத்தால் 1970களில் தயாரிக்கப்பட்டன. இச்சில்லுகளில் இரண்டு மட்டங்களில் தருக்க வாயில்கள் அமைக்கப்பட்டிருந்தன (2 levels of logic). முதல் மட்டத்தில் உம்மை வரிசை வாயில்கள் உள்ளன. PLAயின் உள்ளீடுகள் இவ்வாயில்களுடன் இணைந்தன. இவ்வும்மை வாயில்களின் வெளியீடுகள் இரண்டாவது மட்டத்தில் அல்லது வரிசை வாயில்களுடன் இணைக்கப்பட்டன. இவ்விரண்டு வரிசையிலான் வாயில்கள் கம்பியிணைப்பு-உம்(wired-and) மற்றும் கம்பியிணைப்பு-அல்லது (wired-or) தருக்கங்கள் ஆயின. உம்மை, அல்லது இறு மட்டங்களும் நிரல்படதாக இருந்தது. PLAயின் செயல்கூறு தருக்கம் பெருக்கத்தின் தொகை (sum of product form) என செயல்படுத்தி வந்தது. PLAயின் கட்டமைப்பில் ஒவ்வொரு உள்ளீடு அல்லது அதன் நிரப்பு (compliment) உம்மையாக சேர்க்கப்பட்டன. PLA சில்லுக்களின் அடக்கு அடர்த்தி குறைவாகின. PLA தருக்கம் இரண்டே மட்டங்களாக இருந்தன, மேலும் இருமட்டங்களும் நிரல்பட்டன. PLAயின் வீச்சு சுருக்கு (fan-in) மற்றும் வீச்சு விரிப்பு (fan-out) அதிகமாக இருப்பதால் அதன் பரப்பல் சுணக்கம் (propogation delay) அதிகமாயிற்று. PLAயின் உற்பத்தி செலவுகளும் அதிகமாக இருந்தன.



நிரல்படு தருக்க அணிகளுக்கு அடுத்ததாக வந்தன நிரல்படு அணி தருக்கம் (programmable array logic). இவ்விரண்ரு பெயர்களின் ஒற்றுமையைக் காண்க! PALஉம் PLAஉம் ஒற்றுமையான கட்டமைப்பை கொண்டன. PAL சில்லுக்க்களில் அல்லது விரிசையில் உள்ள வாயில்களில் இணைப்புக்கள் நிலைத்ததாகவும் (fixed) உம்மை வரிசை இணைப்புகள் நிரல்படுவதாக அமைக்கப்பட்டன.



PLAஉம் PALஉம் கூடாக எளிமை நிரல்படு தருக்கக் கருவிகள் (Simple Programmable Logic Devices-CPLDs) என வகைக்கப்படுகின்றன. உள்ளிடுகளின் எண்ணிக்கை அதிகரிக்கும்போது உம்மை அல்லது தருக்கத் தளங்களும் விரைவாக பெருகும். ஆகையால் பெரியத் தருக்கங்களின் செயல்முறைப்படுத்தல்களுக்கு புதியக் கருவிகள் படைக்கப்பட்டன.

எளியநிரல்படு கருவிகளுக்கு அடுத்ததாக வந்தது ஆல்டெரா நிறுமத்தால் அறிமுகப்படுத்தப்பட்ட முதல் உள்ளமை நிரல்படு தருக்கக் கருவிகள் (Configurable Programmable Logic Devices-CPLDs). PAL கட்டமைப்பை நான்கு திசைகளிலும் நகல்படுத்தப்படுவது (duplicated in all four directions) மூலம் உள்ளமை தருக்கக் கருவிகள் உருவாக்கப்பட்டன. உள்ளமைவு நிரல்படு கருவிகளில் இணைப்புகள் மிதவை வாயில்வாய் திரிதடையங்களால் (floating gate transistors) கட்டப்பட்டன. இதே திரிடையங்கள் மின்அழிதகு படிப்பு நினைவகங்களில் (Electrical Erasable Programmable Read Only Memory-EEPROM) உபயோகப்படுகின்றன. இத்திரிதடையக் கட்டமைப்பு படத்தில் காண்க.



இத்திரிதடையங்கள் உம்மையாக (AND combination) அமைக்கப்பட்டுள்ளன. ஒரு உள்ளீடு உறுப்பு (input term) உம்மை பெருக்கத்தின் பங்கு பெறும்போது, அது 0-மட்டதி திகழ்கிறது; அதன் தகுந்த திரிதடையம் "நிகழ் நிலையில்" ("ON" state") நிரல்படுகிறது. ஒரு உள்ளீடு உம்மை பெருக்கத்தில் இடம் பெறாவிட்டால்; அது 1-மட்டத்தில் திகழும்; அவ்வுள்ளீட்டின் திரிதடையம் "அகல் நிலையில்" ("OFF" state") விடப்படுகிறது.

களம் நிரல்படு வாயில் அணிகள் (FPGAs) தற்காலத்தில் ப்ரபலாக பயன்படும் நிரல்படு சாதனங்கள். அவை மாறாநிலை குறிப்பில்லாஅணுகு நினைவகங்களின் (Static RAM-SRAM) அல்லது எதிர் உருகிகள் (Anti-fuses) அடிப்படையில் அமைக்கப்பட்டிருக்கின்றன.

நினைவகக் கலம் அடிப்படை சாதனங்களின் கட்டமைப்பு தருக்கக் கூற்றுக்களால் (logic blocks) கொண்டது. படத்தில் காண்க.

இந்நினைவகக் கலங்கள் விடுப்பு திரிதடையங்களின் வாயில்வாய்/அடிவாய்க்கு (gate/base of pass transistors) அல்லது பன்மையாக்கியின் தேர்வு தடங்களுக்கு (multiplexer select lines) இணைக்கப்பட்டிருக்கின்றன.





இக் குறிப்பிலா நினைவகச் சாதனங்களின் அடக்கு அடர்த்தி (packing density) மிகுதியானவை. இவைகளை அதிக கடிகார வேகங்களில்-பல நூறு MHz வரை இயக்கலாம். ஆனால் SRAM FPGA சாதனங்களில் திறன் நிகழும்போது அவைகளை செயல்பாட்டிற்கு உள்ளமைவு (power up configuration) தேவைபடுகின்றன. இதில் சிறிது தாமதம்- தொராயமாக பல நூறு மில்லிநொடிகளில் நேரும். SRAM FPGAக்களின் செயல்பாட்டில் திறன் உபயோகம் அதிகமானது. குறிப்பாக உள்ளமைவுப்போது மின்துள்ளல் (spike) ஏற்படும்.

SRAM களம் நிரல்படு சாதனங்களின் தயாரிப்பில் முன்னணியில் இருப்பது ஆல்டெரா மற்றும் ஃஜைலிங்க்ஸ் நிறுமங்கள்.

எதிர் உருகி நிரல்படு சாதனங்கள் முதலில் திறந்த இணைப்புகள் கொண்டவை. நிரல்படும்போது அந்த எதிர் உருகிகள் உருக்கப்படும்போது குறை மின்தடை இணைப்புகளாக மாற்றப்படுகின்றன.



எதிர் உருகி நிரல்படு சாதனங்களை ஒரு முறை மட்டும்தான் நிரல்படுத்த இயலும். ஆனால் அதன் நன்மையில் அவைகளை அழிக்கமுடியாது. அவை கதிர்வீச்சால பாதிக்கப்படமாட்டாது. இப்பொருள்களில் உள்ளமைவு தேவையில்லை.

எதிர் உருகி FPGAக்களில் முன்னணி நிற்மங்கள் லேட்டிஸ் குறைகடத்தி மற்றும் க்விக்லாஜிக் ஆகின்றன.

மூலம்:

FPGA & CPLD Architectures: A Tutorial, Stephen Brown and Jonathan Rose, IEEE Design and Test of Computers, Summer 1996

All is Not SRAM - A survey of flash, antifuse, and EE programmable logic, Kevin Morris, FPGA Journal, February 24, 2004
THOZHILNUTPAM.COM