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.
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.