[an error occurred while processing this directive]
|
CONSTANT DEVICES=8;subdesign test1
(
clk, reset: input;
ack[DEVICES-1..0]:output;
req[DEVICES-1..0]:input;
)
variable
areg[DEVICES-1..0]:DFFEAS;
mask[DEVICES-1..0]:NODE;
sclr:NODE;
begin
areg[].clk = clk; areg[].clrn = !reset;sclr = ((((areg[]$req[]) & areg[]) != 0)) ;
(areg[0],mask[0]) = CARRY_SUM(req[0] & !sclr, req[0] # sclr);
for i in 1 to DEVICES-1 generate
(areg[i],mask[i])=CARRY_SUM(req[i] & !mask[i-1], req[i] # mask[i-1]);
end generate;ack[]=areg[];
end;
E-mail: info@telesys.ru