intel / rohd-hcl

A hardware component library developed with ROHD.
https://pub.dev/packages/rohd_hcl
BSD 3-Clause "New" or "Revised" License
81 stars 23 forks source link

ColumnCompressor should be support more compressors like 4:2 #120

Open desmonddak opened 3 weeks ago

desmonddak commented 3 weeks ago

Motivation

Right now, the ColumnCompressor supports only 2:1 (HalfAdder) and 3:2 (FullAdder) column compressors. Adding more compressor types allows for experimentation, especially in different technologies where different compressor building blocks may win.

Desired solution

Add a 4:2 compressor and demonstrate the algorithm can select the right compressor in the algorithm; say there are 8 rows left in a column, the algorithm should end up with 3 4:2s versus a mix of choosing a 4:2, then a 3:2 and ending up imbalanced.

Alternatives considered

No response

Additional details

We likely will need to improve the delay-driven nature and find a way to introduce a table of delays for the various compressors. This infrastructure could lead to also allowing for input delays. The protocol for initializing this may need to be explored as well.