calyxir / calyx

Intermediate Language (IL) for Hardware Accelerator Generators
https://calyxir.org
MIT License
450 stars 44 forks source link

Add combinational multiplier primitive #1991

Closed andrewb1999 closed 1 month ago

andrewb1999 commented 1 month ago

This primitive is necessary for translating between memory ports of different dimensions, but it should be used carefully. It will destroy the max frequency unless it is 1) not chained with anything else (aka inputs come directly from registers and output is directly the input to a register) or 2) one of the inputs is a constant.

rachitnigam commented 1 month ago

As discussed in the Slack, can we replace this with a std_const_mult instead where one of the inputs is a constant value?

andrewb1999 commented 1 month ago

As discussed in the Slack, can we replace this with a std_const_mult instead where one of the inputs is a constant value?

Yes, closing this and will reopen a new PR with the discussed changes.