Цитата Сообщение от AFZ Посмотреть сообщение
Вот теперь понятно, надо писать pin Х istype 'reg, invert', учитывая реальный выход ГАЛки, а нужную полярность сигнала обеспечивать внутри, правильно расставляя инверсии входных и прочих сигналов.
Поверьте на результат запись pin Х istype 'reg' или pin Х istype 'reg, invert' не как не повлияет, выход всегда будет инвертирован.

Не вы первый, не вы последний. Если программа начинает ругаться и вываливать кучу варнингов, значит, она пытается натянуть вашу функцию на логику PAL, приводя функцию к нужному виду. Вот и все. Если это возможно, результатом будет выходной файл JEDEC.

Как только вы выразите свои мысли в виде функции приемлемой для конкретной PAL, варнинги исчезнут.

Посмотрите как лаконично и стройно выглядит первая попавшая мне и вскрытая прошивка для PAL. По мне весь этот синтаксический "сахар" Абель даже вредит на первом этапе изучения. Начните с простого. Всмотритесь в структуру вашей конкретной PAL (она очень простая), потом поэтапно увеличивайте сложность вашей функции, описывая ее простым логическим языком не требуя больше того, на что способна эта достаточно простая логическая ячейка.

Код:
; JED2EQN -- JEDEC file to Boolean Equations disassembler (Version V063)
; Copyright (c) National Semiconductor Corporation 1990-1993
; Disassembled from tplus_u3.jed. Date: 2-4-119
;$GALMODE MEDIUM

chip tplus_u3 GAL16V8

nc1=1 i2=2 i3=3 i4=4 i5=5 i6=6 i7=7 i8=8 i9=9 GND=10 /i11=11 
o12=12 f13=13 f14=14 f15=15 o16=16 f17=17 o18=18 o19=19 VCC=20 

@ues 0000000000000000
@ptd unused

equations

/o19 = /i2 * /f17
o19.oe = vcc
/o18 = i2 * /f17
o18.oe = vcc
/f17 = /i6 * i7 * /f14 * i8
    + /i5 * i7 * /f14 * i8
f17.oe = vcc
o16 = i3 * i4 * /f15 * f13 * /i9 * /i11
    + i3 * /i4 * /f15 * f13 * /i9 * i11
    + /i3 * i4 * /f15 * /f13 * /i9 * /i11
    + /i3 * /i4 * /f15 * /f13 * /i9 * i11
o16.oe = vcc
f15 = gnd
f15.oe = gnd
f14 = gnd
f14.oe = gnd
f13 = gnd
f13.oe = gnd
o12 = gnd
o12.oe = gnd