В общем, сам себе отвечаю, как понял ситуацию. Далее глубокое IMHO (из доков на продукты и английской Wiki):
Первую палку (PAL) предложила никому ныне не известная фирма Monolithic Memories (MMI). Ещё в 1976 она мутила че-то с General Electric, получилась ерунда, но уже в 1978 появилась первая матрица типа PAL.
Устройство получилось занятным, для него сразу придумали язык PAL ASM (очевидно - "PAL ассемблер"). Но писать на нём немного скучно и, к тому же, он очень похож именно на ассемблер, а не на макроассемлер (если вы понимаете, в чём разница).
Вкусный кристал заметило сразу несколько фирм, включая National Semiconductor, Texas Instruments и AMD и сразу выстроились в очередь за лицензиями на выпуск точно такого же устройства своими силами.
А уже в 1987 году MMI была куплена AMD за вагон денег и из MMI организовалось подразделение Vantis.
Тут, вероятно, и возникли сразу и PALASM4 (1991 год, версия 1.5, AMD) и OPALjr (1993 год, версия 2.0, автор - National Semiconductor). (Т.е. наверное, ещё до того, были версии и 1.0... но кто их видел? И когда ? Наверное, как раз где-то в районе 1983-1985...)
Зачем у всех свои проги ? Видимо, чтобы лично свою копию кристалла веселее продавать.
Тут нужно что сказать: обе проги вполне себе компиляют EQN (исходник на PAL-asm), но, помимо этого, имеют и поддержку языков более высокого уровня - что-то вроде ABEL/VHDL. Ну то есть паскалеподобное. И EQN (от "EQUATIONS" - главный раздел в PAL-asm исходнике) у них используется в качестве промежуточного формата, примерно как и в обычных языках программирования. К сожалению, нигде не удалось найти или заметить названия высокоуровневых языков, используемых в этих продуктах.
Формат PAL-asm исходника, судя по всему, не очень конкретный - между разными средами он слегка отличается. Но, в общем и целом, изучив одну его вариацию, вполне можно понять другую. Состоит из четырёх секций:
CHIP - это просто указание для какого кристалла компилим.
PIN - это алиасы для лапок микрухи (не обязательный раздел, но без него вообще машкод получится).
EQUATION - чему равен каждый выход в зависимости от входов.
Входы могут быть виртуальными (т.е. только внутри микрухи, не лапки), выходы могут иметь дополнительно сигнал Enable (задаётся точно также как и значения выходов) - это переключение между Z-состоянием и рабочим.
Если выходы имеют защёлку - то выражение записывается как ВЫХОД := ЗНАЧЕНИЕ, если не имеет : ВЫХОД = ЗНАЧЕНИЕ.
В зависимости от реализации PALASM-компилятора сами выражения могут содержать знаки трёх операций: как & | ! так и * + /. Ну и правильно - зачем больше -то? И так одна лишняя. Про стрелку Пирса никто и не вспомнил.
TEST - последняя секция, позволяет дополнительно описывать режимы пинов для самоконтроля "программы" компилятором.
Наконец, MACHXL - это развитие PALASM4 от AMD. Как сейчас говорят - ребрендинг продукта.
Суть, вероятно, в том, что AMD ушла от PAL архитектуры и плавно перешла на MACH. Ну и надо было как-то это подчеркнуть.
Мне не удалось найти список микрух, поддерживаемых OPALjr, но в PALASM4 упоминаются как самые старшие MACH 110 и 210. В то время как MACHXL уже поддерживала MACH 465 (между прочим - "208 device pins". Это уже далеко не GAL16v8). И ещё с пару десятков разных MACH*.
Тут вот любопытная табличка старых микрух от AMD-Lattice.
http://www.latticesemi.com/en/Support/M … vices.aspx
А, кстати, где тут присоседилась Lattice ? Вероятно, они тоже к 1985 имели лицензию от MMI, однако сообразили сделать не совсем то же самое, но с многократным программированием и совместимое сразу с рядом чужих разработок. Был ли софт (компиляторы) тех лет (1985-1990) от Lattice ? Не обнаружен.
Любопытно, что в инете все носятся с разного рода версиями GalBlaster (проги для программирования именно GAL-ок), но это - "hobbyist grade programmer". Почему именно он и почему нигде не упоминается официальный программатор от Lattice? Непонятно.
Вероятно, у Lattice это был "Lattice ISP Lever", проблема только в том, что его история не прослеживается раньше версии 1.7, а это уже 2013 год. Причем слово ISP у них возникает рядом с MACH в историческом списке микрух, так что, вполне возможно, что ISP - это очередной ребрендинг MACHXL.
(В 1999 году Lattice прикупила AMD'шное подразделение Vantis и началась уже новейшая история, которую и так все знают.)