chipsalliance / dromajo

RISC-V RV64GC emulator designed for RTL co-simulation
Apache License 2.0
213 stars 63 forks source link

"UI" improvements: move more config files + allow multiple & inline #6

Open et-tommythorn opened 4 years ago

et-tommythorn commented 4 years ago

It's clear that adding more command-line options aren't the path forward. What I suggest instead is that everything (or almost everything?) should be possible to specify as a parameter in a config file. All current command line options will internally translate to a hidden config file. Furthermore, one should be able to load multiple config files, to enable refactoring. Finally, it most be possible to give an inline config files as command line option. Example:

dromajo base.cfg -c '{ "resetvector" = "0x1000" }'

The config files are loaded in-order, such that later ones can override earlier ones. Finally, inline configs are loaded last.

et-tommythorn commented 4 years ago

One glaring issue is discoverability and documentation of the config option. We should have a way to listing all possible options along with the helper text.