Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Cleanup example INI config files #98

Open
PhilippvK opened this issue Nov 9, 2021 · 5 comments
Open

Cleanup example INI config files #98

PhilippvK opened this issue Nov 9, 2021 · 5 comments
Milestone

Comments

@PhilippvK
Copy link
Contributor

I realized, that multiple configuration options found in examples/bare_etiss_processor/base.ini do not have an effect right now.

I.e. arch.cpu_cycle_time_ps=10000 is only used by OR1KArch while RISCVArch has the value 31250 hardcoded.

For this propertie and a probably a few other we should decide to either:

  • Remove the unsupported option from the example configuration file to reduce teh confusion for new users
  • or properly implement the options for all supported architectures.
@PhilippvK
Copy link
Contributor Author

I checked which of the options in base.ini and ETISS.ini are actually used in the project and found the following "leftovers":

testing = false
ETISS::CPU_quantum_ps=100000
ETISS::write_pc_trace_from_time_us=0
ETISS::write_pc_trace_until_time_us=3000000
ETISS::sim_mode=0
vp::simulation_time_us=20000000

Does anyone know which ones might still be used in the future or are used by external projects?

CC @DanMueGri @rafzi @JoGei @wysiwyng @uzleosharif

PhilippvK added a commit that referenced this issue Nov 25, 2021
… INI option

Resolves Issue #98

Default/Fallback value: 32MHZ as this was used before. However `base.ini` and `ETISS.ini` default to 100MHZ.
@DanMueGri
Copy link
Member

testing = false
No clue

ETISS::CPU_quantum_ps=100000
I think this refers to co-simulation with SystemC. Here usually temporal decoupling is used, and this value tells you how far etiss may run ahead of the SystemC simulation.

ETISS::write_pc_trace_from_time_us=0
ETISS::write_pc_trace_until_time_us=3000000
This is from fault injection. I think a trace is written to see in which pc positions faults can be injected.

ETISS::sim_mode=0
No clue

vp::simulation_time_us=20000000
Again for SystemC simulation, after this time the SystemC simulation exits.

@PhilippvK
Copy link
Contributor Author

@DanMueGri Thanks for your input.

Do we want to have the SystemC-related options in the ETISS-repo? For the bare_etiss_processor where there are currently mentioned, the will not have an effect and every other VP will probably have its own ini-files.

@uzleosharif
Copy link
Contributor

i agree we can move application specific settings to other ini files..lets keep base.ini as simple as possible

@rafzi
Copy link
Member

rafzi commented Nov 26, 2021

At the moment the configurations cannot easily be decoupled like that. The command line options are a whitelist and there is currently no mechanism to extend the configuration by user programs and plugins.

It would be a great addition to the Plugin interface where a function reports the options exposed by a plugin. However I think the command line processing would need an overhaul to support this. We would first have to load plugins given via command line while ignoring all other options, the query their options interface, then process the command line again and pass the correct options to all plugins for initialization.

The ini files can of course still be cleaned up either way.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants