Цитата(count_enable @ Feb 18 2016, 14:18)

Там же вроде 2 пары только можно за маш. цикл умножать?
Ну, если у Вас в каждом такте приходит одна пара A и B, то можно умножитель с накоплением использовать:
Код
input signed [] A0,A1,A2;
input signed [] B0,B1,B2;
wire signed [] SA = (T == 0) ? A0 : (T == 1) ? A1 : (T == 2) ? A2 : 0;
wire signed [] SB = (T == 0) ? B0 : (T == 1) ? B1 : (T == 2) ? B2 : 0;
reg signed [] D;
always @(posedge clk)
begin
D <= SA - SB;
end
wire [] P;
multadd multadd_m(.clk(clk),.A(D),.B(D),.C(P),.P(P));
reg [] R;
always @(posedge clk)
begin
if (sclr)
R <= 0;
else
if (valid)
R <= P;
end
PS. И даже задержка не нужна.
Нужен сигнал valid совпадающий по времени с результатом суммирования: T = mult_latency + add_latency + 2;