Програмабилна логика поља

MMI PAL 16R6 у 20-pin DIP
AMD 22V10 у 24-pin DIP

PAL (Programmable Array Logic - програмабилна логика поља) је породица програмабилних логичких полупроводничких уређаја који се користе за имплементацију (извршење) логичких функција у дигиталном колу, а који су уведени од стране Monolithic Мемоries, Inc (MMI), марта 1978. године.[1] MMI је добила регистрацију жига (трговачког знака) на израз PAL за употребу "програмабилних полупроводничких логичких кола“. Жиг тренутно држи Lattice Semiconductor.[2]

PAL уређаји се састоје од малог PROM (programmable read-only memory) језгра и додатне излазне логике која се користи за имплементацију одређених жељених логичких функција са неколико компоненти.

Коришћењем специјализованих машина, PAL уређаји су били типа "теренске програмабилности“. За електронски уређај или уграђени систем се каже да је „програмабилан на терену“ или „програмабилан на лицу места“ ако његова firmware (софтвер инструкције налазе се у неизбрисивој меморији чипова и чувају свој садржај без напајања, као што је то ROM) може да се мења "на терену", без демонтаже уређаја или враћања његовом произвођачу. Сваки PAL уређај је био OTP (one time programmable - једанпут програмабилан), што значи да не може да се ажурира и поново користи након његовог почетног програмирања. (MMI такође нуди сличну породицу под називом ХАЛ (hard array logic - хард логичка поља), чији су уређаји били као PAL уређаји, осим што су они били маскирно – програмирани у фабрици.)

У већини апликација, електрично – избрисиви GAL су сада распоређени као пин - компатибилне директне замене за једнократне програмабилне PAL.

Рана историја

[уреди | уреди извор]

Пре него што је уведен PAL, дизајнери дигиталних логичких кола су користили интеграционе компоненте малог степена (SSI компоненте), као што су оне из 7400 серије TTL (transistor-transistor logic - трансистор-трансистор логика) породице; 7400 породица укључује различите логички уграђене блокове, као што су врата (НЕ, НИЛИ, НИ, И, ИЛИ), мултиплексери (MUKSes) и демултиплексери (DEMUKSes), флип флопови (Д-тип, ЈК, итд) и други. Један PAL уређај обично замењује десетине таквих "дискретних" логичких пакета, тако да су послови око SSI опали када су послови PALа узлетели. PAL су се корисно користили у многим производима, као што су минирачунари, што је документовано у најбоље продаваној књизи Трејси Кидера „Душа нове машине“.

PAL нису били први комерцијални програмабилни логички уређаји; Signetics продаје теренска програмабилна логичка кола (FPLA) од 1975. године. Ови уређаји су били потпуно непознати већини дизајнера и сматрано је да су сувише тешки за коришћење. FPLA су имали релативно спору оперативну максималну брзину (због присутности програмабилног И и програмабилног ИЛИ кола), били су скупи, и имали су лошу репутацију на тестирању. Други ограничавајући фактор прихватања FPLA било је велико паковање, 600-mil (0.6", или 15,24 mm) широк 28-pin dual in-line пакет (DIP).

Пројекатом стварања PAL уређаја руководио је Џон Биркнер, а стварно PAL коло је дизајнирано од стране HТ CHUA.[3] У претходном периоду, Биркнер је био развио 16-битни процесор који користи 80 стандардне логичке уређаје. Његово искуство са стандардном логиком га је навело да верује да ће кориснички програмабилни уређаји бити атрактивнији за кориснике уколико ови уређаји буду дизајнирани да замене стандардне логике. То је значило да је величина пакета морала да буде сроднија постојећим уређајима, као и да су морале да се побољшају брзине. PAL је испунио ове захтеве и то је био огроман успех и био је "други извор" од стране National Semiconductor, Texas Instruments и Advanced Micro Devices.

Процесне технологије

[уреди | уреди извор]

Рани PAL су били 20-пинско DIP компонентни произведени од силицијума, где је коришћена технологија биполарног транзистора са OTP титан-волфрам програмским осигурачима.[4] Каснији уређаји, произведени од стране Lattice Semiconductor и Advanced Micro Devices користе CMOS технологију.

Првобитни 20 и 24-пински PAL били су означени од MMI као интеграциони уређаји средње скале (MSI уређаји).

PAL архитектура

[уреди | уреди извор]
Програмабилни елементи (приказан као осигурач) спајају оба, праве и допуњене инпуте и И врата. Ова И врата, такође позната као производни израз, су ИЛИ, да би формирало сума-производно логичко коло.

PAL архитектура се састоји од две главне компоненте: логичке равни и излазне макроћелијске логике.

Програмабилна логичка раван

[уреди | уреди извор]

Програмабилна логичка раван је коло PROM које омогућује, да се сигнали присутни на пиновима уређаја (или логички комплементи тих сигнала), усмере на излазну логичку макроћелију.

PAL уређаји имају кола са транзисторским ћелијама распоређеним у "фиксно-ИЛИ, програмабилно И" равни које се користе за спровођење "сума-од-производа" бинарне логичке једначине, за сваки од излаза у односу на улаз, и било синхроне или асинхроне повратне информације од излаза.

Излазна логика

[уреди | уреди извор]

У почетку 20-пински PAL имали су 10 улаза и 8 излаза. Излази су били ниске активности и могли су да се региструју или комбинују. Чланови породице PAL били су доступни са различитим излазним структурама под називом "излазне логичке макроћелије" или OLMCs. Пре увођења "В" (за "променљиве") серије, врсте OLMCs, које су биле на располагању сваком PAL, су фиксиране за време производње. (PAL16L8 је имао 8 комбинационих излаза, а PAL16R8 је имао 8 регистрованих излаза. PAL16R6 је имао 6 регистрованих и 2 комбинациона док је PAL16R4 имао 4 од сваког). Сваки излаз може имати до 8 израза производа (ефективно И врата), међутим комбинациони излази користе један од израза за контролу двосмерниог излазног бафера. Постоје и друге комбинације које су имале неколико излаза са више израза производа по излазу и били су доступни са излазима високе активности. 16к8 породице или регистровани уређаји имали су ЕКСИЛИ врата пре регистра. Ово је било слично 24-опинским верзијама ових PALs.

AMD 22V10 Излазна Макроћелија

Ову фиксну излазну структуру, често фрустрирани дизајнери покушавају да оптимизују корисшћењем PAL уређаја, зато што су излазне структуре различитих врста често захтевале своје апликације. (На пример, не би се могло добити 5 излаза са 3 регистрована комбинациона излаза високе активности). У јуну 1983. године, AMD је представио 22V10, 24 пински уређај са 10 излазних логичких макроћелија.[5] За сваку макроћелију може де се направи конфигурација од стране корисника тако да буде комбинациона или регистрована, активно висока или ниско активна. Број израза производа додељен на излаз, варирао је од 8 до 16 година. Овај уређај може да замени све 24-пинске фиксиране функције уређаја PAL. Чланови PAL "V" ("променљива") серије били су PAL16V8, PAL20V8 и PAL22V10.

Програмирање PALs

[уреди | уреди извор]

PALs су електрично програмирани помоћу бинарних образаца (као JEDEC ASCII/ хексадецималне датотеке) и посебним електронским програмским системом доступним било ком произвођачу или трећој страни, као што је DATA/IO. Додатно, једна јединица уређаја програмера, уређај хранилица и банда програмера, се често користе када је потребно да се програмира више PALs. (За велике количине, електрични програмски трошкови могу се елиминисати тако што ће произвођач прилагодити металну маску која се користи за програме купаца, за време производње; MMI је користио израз HAL за уређаје који су програмирани на овај начин.

Програмски језици

[уреди | уреди извор]
PALASM дизајн 4-bit бројач

Иако су неки инжењери програмирали PAL уређаје ручним уређивањем фајлова, који садрже бинарне податке узорка осигурача, већина је одлучила да дизајнира своју логику помоћу језичког описа хардвера (HDL), као што су ABEL DATA/IO, CUPL логички уређаји, или MMI PALASM. То је био помоћни рачунарски дизајн (CAD) (сада се зове "electronic design automation") програма, што у преводу (или "састављању") значи да су се логичке једначине дизајнера у бинарним фајловима мапе осигурача користиле за програм (и често тест) сваког уређаја.

PALASM (од "PAL assembler") језик је коришћен да изрази Булове једначине за излазне пинове у текстуалној датотеци, које се потом претварају у фајл „мапа осигурача“ за програмирање система, који користи продавац испоручилац програма; касније, опција превода са шемама постала је уобичајена, а још касније, "мапе осигурача“ су могле да се „синтетизују“ из HDL, као што је Verilog. PALSM компајлер је написао MMI у FORTRAN IV на IBM 370/168. MMI је изворни код доступан корисницима без икаквих трошкова. До 1983. године, MMI купци су покренули верзије на DEC PDP-11, Data General NOVA, Hevlett-Packard HP 2100, MDS800 и другим.

Abel је реализовала Data/IO Corporation.

Assisted Technology пустила је CUPL (преводилац за универзалну програмабилну логику) у септембру 1983. године.[6] Софтвер се увек називао CUPL и никада није био проширен акронимом. То је био први комерцијални дизајнирани алат који је подржавао вишеструке PLD породице. Почетно издање је пуштено за IBM PC и MS-DOS, и било је написано у C програмском језику, па се могао користити на додатне платформе.[7] Assisted Technology је купио CAD Personal Systems (P-CAD) у јулу 1985. године. Године 1986., PCAD је шематски освојио пакет који је могао да се користи као предњи крај за CUPL.[8] CUPL је касније набавио Logical Devices, а сада је у власништву Altium Limited из Аустралије.[9] CUPL је тренутно доступан као интегрисани развојни пакет за Microsoft Windows.[10]

Програмски уређаји

[уреди | уреди извор]

Популарни програмски уређаји укључују Модел 60А Logic Programer и модел 2900, DATA/IO корпорације. Један од првих PAL програмера био је Structured Design "SD-20". Он је имао уграђен PALASM софтвер и захтевао је само CRT терминал за улаз једначина и преглед унесених осигурача. Након спајања, излази из PAL могу да се провере ако се векторски тест налази у изворној датотеци.

Наследници

[уреди | уреди извор]

После MMI који је успео са 20-пин PAL деловима уведеним око 1978. године, AMD је представио 24-пински 22V10 PAL са додатним функцијама. Након куповине од MMI (око 1987. године), AMD се окренуо ка консолидованим операцијама као што је Vantis, а тај посао је купио Lattice Semiconductor 1989. године.

Алтера је увела EP300 (прво CMOS PAL) 1983. године, а касније је дошао FPGA посао.

Lattice Semiconductor је увео GAL (generic array logic - фамилија општих логичких кола 1985. године, са функционалним еквивалентима "V" серије PALs који користе репрограмабилне логичке равни засноване на EEPROM (електрично избрисива програмабилна меморија само за читање) технологији. National Semiconductor је "други извор" GAL делова. AMD је представио сличну фамилију која се зове PALCE. У принципу, један GAL део је у стању да функционише као било који од сличних уређаја породице PAL. На пример 16V8 GAL је у стању да замени 16L8, 16H8, 16H6, 16H4, 16H2 и 16R8 PALs (и многе друге).

ICT (International CMOS Теchnology) представио је PEEL 18CV8 1986. године. 20-пински CMOS EEPROM део може да се користи уместо неког од регистрованих-излазних биполарних PALs и користи много мање енергије.

Обимнији програмабилни логички уређаји су уведени од страна Atmel, Lattice Semiconductor и других произвођача. Ови уређаји су проширили PAL архитектуру, укључујући више логичких равни и/или логичких макроћелија у логичке равни. Израз "комплексна програмабилност логичких уређаја" (CPLD) била је уведена да би разликовали ове уређаје од њихових PAL и GAL претходника, о којима се тада понекад говорило као о "једноставним програмабилним логичким уређајима" или SPLDs.

Још један велики программабилни логички уређај је „теренско преграмабилни низ врата“ или FPGA (field programmable gate array). Те уређаје тренутно израђују Аlterа и Xilinx.

Референце

[уреди | уреди извор]
  1. ^ „Monolithic Memories announces: a revolution in logic design”. Electronic Design. Rochelle, NJ: Hayden Publishing. 26 (6): 148B, 148C. 18. 3. 1978.  Introductory advertisement on PAL (Programmable Array Logic).
  2. ^ Monolithic Memories, Inc (MMI) filed for a work mark on the term "PAL" for use in "Programmable Semiconductor Logic Circuits" on April 13, 1978. A registered trademark was granted on April 29, 1980, registration number 1134025. MMI's first use of the term PAL in commerce was on February 21, 1978. The trademark is currently held by Lattice Semiconductor Corporation of Hillsboro, Oregon. Source: United States Patent and Trademark Office online database.
  3. ^ Birkner, John (16. 8. 1978). „Reduce random-logic complexity”. Electronic Design. Rochelle, NJ: Hayden Publishing. 26 (17): 98—105. 
  4. ^ TIBPAL 16R8-15C Data Sheet (PDF). Dallas TX: Texas Instruments. 1984. Архивирано из оригинала (PDF) 04. 06. 2011. г. Приступљено 27. 10. 2013.  "These IMPACT circuits combine the latest Advanced Low-Power Schottky technology with proven titanium-tungsten fuses to provide reliable, high-performance substitutes for conventional TTL logic." TI was a second source vendor for the MMI PALS.
  5. ^ AmPAL 22V10 Advanced Information. Sunnyvale CA: Advanced Micro Devices. 1983. 04126A-PLP.  Note: This is the data sheet published by AMD when the AmPAL 22V10 was introduced.
  6. ^ Alford, Roger C. (1989). Programmable Logic Designer's Guide. Howard W. Sams. стр. 14-15, 166-168. ISBN 978-0-672-22575-8. „In 1981, [Bob] Osann started Assisted Technology to develop PLD support tools. In September 1983 Assisted Technology released version 1.01a of its CUPL (Universal Compiler for Programmable Logic) PLD compiler, supporting 29 devices. 
  7. ^ „CUPL - The Universal Language For Programmable Logic” (PDF) (Саопштење). San Jose, CA: Assisted Technology, Inc. 1983. Архивирано из оригинала (PDF) 29. 10. 2013. г. Приступљено 27. 10. 2013.  An early 1983 pre-release datasheet for CUPL.
  8. ^ „Personal CAD Systems”. Computer World. Framingham, MA: CW Communications. 19 (29): 97. 22. 7. 1985. ISSN 0010-4841. 
  9. ^ US Patent and Trademark Office. "CUPL" Computer software, namely, software used to develop and compile designs for programmable logic devices, and related user manuals distributed therewith. First used in 1983, status Active. Serial Number 76357007. Registration Number 2909461. Owner: Altium Limited, Australia 3 Minna Close, Belrose NSW2085, Australia.
  10. ^ „CUBEL ChipDesigner 5.0”. Logical Devices. 2013. Архивирано из оригинала 11. 04. 2013. г. Приступљено 10. 8. 2013. 

Литература

[уреди | уреди извор]
  • Birkner, John; Vincent Coli (1981). PAL Programmable Array Logic Handbook (2 изд.). Monolithic Memories, Inc. 
  • Birkner, John; Vincent Coli (1983). PAL Programmable Array Logic Handbook (3 изд.). Monolithic Memories, Inc. 
  • JEDEC Standard JESD3-C, Standard Data Transfer Format Between Data Preparation System and Programmable Logic Device Programmer, June 1994. JEDEC documents

Спољашње везе

[уреди | уреди извор]