О, ответ появился.. Блаарю. Тогда еще вопросец, у?... двунаправленная шина.. не работает чего-то..
Имеется сдвиговый регистр, параллельный выход q[] которого должен подключаться к двунаправленной шине. Но есть еще один "потребитель" данных с этой шины. Делаю всё это так (выкинув неважное тут):
SUBDESIGN matrix
(
fQ[15..0] : OUTPUT;
r0Q[15..0] : BIDIR;
r1Q[15..0] : BIDIR;
uRW : INPUT;
uBank : INPUT;
)
VARIABLE
Qspi : lpm_shiftreg WITH (LPM_WIDTH = 16, LPM_DIRECTION = "LEFT");
-- тригер для двунаправленной шины данных
buf[15..0] : NODE;
BEGIN
FOR i IN 0 TO 15 GENERATE
buf[i] = TRI(Qspi.q[i], uRW); -- пока не читаем память, выход тригера открыт
END GENERATE;
if uBank THEN
r0Q[] = buf[];
Qspi.data[] = r0Q[];
ELSE
r1Q[] = buf[];
Qspi.data[] = r1Q[];
END IF;
END;
Так компилятор при любом входе тригеров (т.е. вместо uRW и ставлю GND или VCC) пишет, что тригер постоянно енаблед. И далее всё это тянет за собой нерабочесть кода.
Warning (13046): Tri-state node(s) do not directly drive top-level pin(s)
Warning (13049): Converted tri-state buffer "buf[0]" feeding internal logic into a wire
...
Warning (13049): Converted tri-state buffer "buf[15]" feeding internal logic into a wire
Warning (13034): The following nodes have both tri-state and non-tri-state drivers
Warning (13035): Inserted always-enabled tri-state buffer between "r0Q[0]" and its non-tri-state driver.
...
Warning (13035): Inserted always-enabled tri-state buffer between "r1Q[15]" and its non-tri-state driver.
Info (13060): One or more bidirs are fed by always enabled tri-state buffers
Info (13061): Fan-out of permanently enabled tri-state buffer feeding bidir "r0Q[0]" is moved to its source
...
Info (13061): Fan-out of permanently enabled tri-state buffer feeding bidir "r1Q[15]" is moved to its source
Warning (13009): TRI or OPNDRN buffers permanently enabled
Warning (13010): Node "r0Q[0]~synth"
...
А вот если сделать два набора тригеров между выходом регистра и перед каждой шиной r0Q и r1Q, то работает. Я видимо не понимаю как работает ПЛИСка и как корректно писать к ней прогу.