Кіріспе
Қайта конфигурацияланатын цифрлық схема элементі
Бағдарламаланатын логикалық құрылғы (PLD) – қайта конфигурацияланатын цифрлық схемаларды құруға қолданылатын электрондық компонент. Белгілі функциялары бар дискретті логикалық қақпалар арқылы құрастырылған цифрлық логикадан өзгеше, PLD-нің функциясы өндіріс кезінде анықталмайды. PLD тізбектерде қолдануға дейін қажетті функцияны іске асыру үшін бағдарламалау қажет. Белгілі логикалық құрылғылармен салыстырғанда, бағдарламаланатын логикалық құрылғылар күрделі логиканы жобалауды жеңілдетеді және жақсырақ өнімділік ұсынуы мүмкін. Микропроцессорлардан айырмашылығы, PLD-ні бағдарламалау құрылғыдағы қақпалар арасындағы қосылыстарды өзгертеді. PLD-лерді күрделілігінің өсу ретімен қарапайым бағдарламаланатын логикалық құрылғыларға (SPLD) – бағдарламаланатын массивтік логика, бағдарламаланатын логикалық массив және жалпы массивтік логика; күрделі бағдарламаланатын логикалық құрылғыларға (CPLD) және өрістегі бағдарламаланатын қақпалық тізбектерге (FPGA) бөлуге болады.
Тарих
1969 жылы Motorola XC157 ұсынды, ол 12 қақпалы және 30 кіріс/шығыс тіректері бар маскалық бағдарламаланған қақпалар массиві. 1970 жылы Texas Instruments компаниясы IBM-нің тек оқуға арналған ассоциативтік жады немесе ROAM негізінде маскалық бағдарламаланатын интегралды схеманы (IC) жасады. Бұл құрылғы, TMS2000, интегралды схеманы өндіру кезінде металл қабатын өзгерту арқылы бағдарламаланды. TMS2000-де 17 кіріс және 18 шығыс бар, жады үшін 8 JK триггері болды. TI осы құрылғы үшін «Бағдарламаланатын логикалық массив» (PLA) терминін енгізді. 1971 жылы General Electric Company (GE) жаңа «Бағдарламаланатын тек оқу үшін жад» (PROM) технологиясына негізделген бағдарламаланатын логикалық құрылғыны әзірледі. Бұл тәжірибелік құрылғы IBM-нің ROAM-ын көп деңгейлі логиканы қолдануға мүмкіндік беру арқылы жақсартты. Intel жаңа ғана «жүзу қақпасының» ультракүлгін сәулемен өшірілетін PROM-ін ұсынғандықтан, GE-дегі зерттеушілер осы технологияны қолданды. GE құрылғысы Altera EPLD-ден он жылдан астам бұрын жасалған алғашқы өшірілетін PLD болды. GE бағдарламаланатын логикалық құрылғыларға қатысты бірнеше маңызды патенттерді алды. 1973 жылы National Semiconductor компаниясы 14 кіріс және 8 шығыс тірегі бар, жады тіркелгісі жоқ маскалық бағдарламаланатын PLA құрылғысын (DM7575) ұсынды. Бұл TI-дің құрылғысына қарағанда көбірек танымал болды, бірақ металл масканы жасау құны оның қолданылуын шектеді. Бұл құрылғы маңызды болды, өйткені ол 1975 жылы Signetics компаниясы шығарған 82S100 бағдарламаланатын логикалық массивінің негізі болды. (Intersil шын мәнінде Signetics-ті нарыққа енуде озып кетті, бірақ нашар өнім олардың үлесіне нұқсан келтірді.) 1974 жылы GE компаниясы Monolithic Memories (MMI) компаниясымен GE инновацияларын қамтитын маскалық бағдарламаланатын логикалық құрылғыны әзірлеу туралы келісімге келді. Бұл құрылғы «Бағдарламаланатын ассоциативтік логикалық массив» (PALA) деп аталды. MMI 5760 1976 жылы аяқталды және 100-ден астам қақпалы көп деңгейлі немесе тізбектік схемаларды жүзеге асыра алды. Құрылғыны конфигурациялау үшін Буль теңдеулері маска үлгілеріне айналатын GE жобалау ортасы қолданылды. Бұл құрылғы ешқашан нарыққа шығарылмады.
ПЛА
1970 жылы Texas Instruments компаниясы IBM-нің тек оқуға арналған ассоциативтік жады немесе ROAM негізінде маскалық бағдарламаланатын интегралды схеманы (IC) жасады. Бұл құрылғы, TMS2000, интегралды схема өндірісі кезінде металл қабатын өзгерту арқылы бағдарламаланды. TMS2000-де жады үшін 8 JK триггерімен 17 кіріс және 18 шығыс болды. TI осы құрылғы үшін «бағдарламаланатын логикалық тізбек» терминін енгізді. FPGA-лар әдетте үлкен CPLD-лерге ұқсас, басылымды тақтаға тіркелгеннен кейін бағдарламаланады. Көптеген үлкен FPGA-лардың конфигурациясы тұрақсыз болады және қуат қосылған сайын немесе басқа функциялар қажет болғанда құрылғыға қайта жүктелуі керек. Конфигурация әдетте конфигурациялық PROM, EEPROM немесе флэш-жадта сақталады. EEPROM нұсқаларын жүйеде бағдарламалауға болады (әдетте JTAG арқылы). FPGA мен CPLD арасындағы ерекшелік – FPGA ішкі құрылымы іздеу кестелеріне (LUT) негізделген, ал CPLD логикалық функцияларды қақпалар теңізінде (мысалы, көбейтінділердің қосындысы) құрайды. CPLD қарапайым жобаларға, ал FPGA күрделі жобаларға арналған. Жалпы, CPLD кең комбинациялық логикалық қолданбалар үшін жақсы таңдау, ал FPGA микропроцессорлар сияқты үлкен күйдегі машиналар үшін қолайлы.
EPLD-тер
EPROM технологиясын қолдана отырып, EPLD-лерде UV сәулесіне ұшырағанда өшірілуіне мүмкіндік беретін кварц терезесі болады. Өшірілетін бағдарламаланатын логикалық құрылғы (EPLD) – бұл алдын ала қосылмаған PLD-лер массивінен тұратын интегралдық схема; қосылыстарды пайдаланушы электрлік түрде бағдарлайды. Көптеген GAL және FPGA құрылғылары EPLD-нің мысалдары болып табылады.
Басқа нұсқалар
Бұл микропроцессорлық схемалар, оларда кейбір бекітілген функциялар және процессорда іске қосылатын код арқылы өзгертілетін басқа функциялар бар. Өзін-өзі өзгертетін жүйелерді жобалау инженерлерден жаңа әдістерді меңгеруді және жаңа бағдарламалық құралдарды жасауды талап етеді. Қазір нарықта бағдарламаланатын логикамен қоршалған, бекітілген функциясы бар (әдетте "ядро" деп аталатын) микропроцессорды қамтитын PLD-лер сатылуда. Бұл құрылғылар дизайнерлерге микропроцессордың жұмысын ойламай-ақ, дизайнға жаңа мүмкіндіктерді қосуға мүмкіндік береді. Сонымен қатар, бекітілген функциялы микропроцессор сол процессорды іске асыратын бағдарламаланатын қақпа массивінің бір бөлігіне қарағанда чипте аз орын алады, нәтижесінде бағдарламаланатын қақпа массивіне дизайнердің арнайы схемаларын орналастыру үшін көбірек орын босатылады.
PLD бағдарламалау тілдері
PAL бағдарламалау құрылғыларының көптеген түрлері стандартты файл пішіміндегі деректерді қабылдайды, бұл пішім көбінесе "JEDEC файлдары" деп аталады. Олар бағдарламалық қамтамасты компиляторларына ұқсас. Логикалық компиляторлар үшін бастапқы код ретінде қолданылатын тілдер аппараттық сипаттама тілдері немесе HDL деп аталады.