extern "pipelined.sv" {
// A latency-sensitive multiplier that takes 4 cycles to compute its result.
static<4> primitive pipelined_mult[WIDTH] (
@clk clk: 1,
@reset reset: 1,
left: WIDTH,
right: WIDTH
) -> (
out: WIDTH
);
// A latency-sensitive multiplier that takes 4 cycles to compute its result.
static<4> primitive pipelined_fp_smult [
WIDTH, INT_WIDTH, FRAC_WIDTH
] (
@clk clk: 1,
@reset reset: 1,
left: WIDTH,
right: WIDTH
) -> (
out: WIDTH
);
}