CIMFlow LogoCIMFlow

Configuration and Constraints

Hardware config formats, parameter constraints, and validation rules

Hardware parameters and config schema consistency constrain compiler behavior. This section covers the expected formats and validation rules.

Hardware Parameters

The compiler accepts the following hardware parameters.

ParameterMeaningTypical Values
TMacro group size1, 4, 8, 12, 16
KMacro group count1, 4, 8, 12, 16, 32, ...
BNoC flit size / bandwidth unit8, 16
CCore countPositive perfect square (1, 4, 9, 16, 64, ...)
batch-sizeCompilation batch scheduling granularityPositive integer

C must be a perfect square because the compiler maps cores to a P×Q grid. T and K determine the CIM array parallelism within each core.


Config Format Compatibility

Compiler accepts two config families.


T/B Consistency Rule

When running cim-compiler network (full pipeline), CG parameters and hardware config must agree — a mismatch causes compile-time failure before OP-level generation. In staged compilation (cg-level then op-level), ensure both steps use consistent hardware parameters and a matching config file to avoid address layout mismatches downstream.

T Consistency
T == config.macro_group_size (or derived legacy equivalent)
B Consistency
B == config.bus_width_byte (simulator-native format)

Required Memory Layout for OP Backend

OP backend relies on four named memory regions from config conversion. Incorrect or missing identifiers will cause errors in address allocation and transfer lowering.

global
input_memory
output_memory
macro

Troubleshooting

Keep Parameters Aligned Across Stages

If you run staged compilation (cg-level then op-level), use consistent hardware parameters and matching config in both steps.


Last updated on