[an error occurred while processing this directive]
|
А сволочи потому как там кроме Dynamic Arithmetic mode у LE есть режим "по-старинке", как у ACEX. А в документации не сказали!!! Выяснил только просмотром в "chip editor" результата.
CONSTANT DEVICES=8;subdesign test1
(
clk, reset: input;
ack[DEVICES-1..0]:output;
req[DEVICES-1..0]:input;
)
variable
areg[DEVICES-1..0]:DFF;
mask[DEVICES-1..0]:NODE;
sclr:NODE;
begin
areg[].clk = clk; areg[].clrn = !reset;sclr = LCELL((((areg[]$req[]) & areg[]) != 0)) ;
(areg[0], mask[0]) = (req[0], req[0]);
for i in 1 to DEVICES-1 generate
(areg[i], mask[i])=CARRY_SUM(req[i] & !mask[i-1] & !sclr, req[i] # mask[i-1]);
end generate;ack[]=areg[];
end;
E-mail: info@telesys.ru