# Configuration Here you can find the documentation for how to configure X-HEEP. X-HEEP uses a series of Python scripts to generate the desired configuration of the MCU and its related files using [Mako](https://www.makotemplates.org/) `.tpl` templates. For example, `hw/core-v-mini-mcu/core_v_mini_mcu.sv.tpl` will generate `hw/core-v-mini-mcu/core_v_mini_mcu.sv`. The configuration is triggered by the `mcu-gen` make target, and it has to be run every time the configuration or any of the `.tpl` files change. If you have to modify any file that is generated from a `.tpl` file, you should modify the `.tpl` file and run `mcu-gen` to generate the new file. The default configuration of X-HEEP is generated by running: ```bash make mcu-gen ``` If you want to modify the default parameters, check the [system configuration guide](./SystemConfiguration). In this section you will also find the detailed documentation for configuring the different elements of X-HEEP (e.g. the bus, the memory, the pads...), and the API documentation of the `xheep_gen` Python [project](https://github.com/x-heep/xheep_gen) that models and is in charge of generating X-HEEP according to the specified configuration. ```{toctree} :maxdepth: 3 SystemConfiguration CPUConfiguration XIFConfiguration MemoryConfiguration BusConfiguration LinkerConfiguration PadConfiguration PeripheralConfiguration ExtensionConfiguration xheep_gen/index