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.
| Parameter | Meaning | Typical Values |
|---|---|---|
T | Macro group size | 1, 4, 8, 12, 16 |
K | Macro group count | 1, 4, 8, 12, 16, 32, ... |
B | NoC flit size / bandwidth unit | 8, 16 |
C | Core count | Positive perfect square (1, 4, 9, 16, 64, ...) |
batch-size | Compilation batch scheduling granularity | Positive 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 == config.macro_group_size (or derived legacy equivalent)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.
globalinput_memoryoutput_memorymacroTroubleshooting
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.
Related Docs
Last updated on