To support hyperbus module and fix some issues in the boot process #138
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This modification fixes some issues on the boot process in the test bench. The latest boot code firstly checks the configuration register for the boot (which can be set via JTAG), then decides whether or not the boot is taken over by the debug module. Nevertheless, the debug module takes over the boot process no matter what the register value is.
In the modified version, the configuration register is firstly set according to the "STIM_FROM" parameter value, then the boot is conducted. For now, JTAG, SPI_FLASH, and HYPER_FLASH can be given. If any values are not given to the config register, then the debug module takes over the boot process. In default, the debug module way is selected for the boot.
Some modifications for the Hyperbus compatibility are added to tb_pulp, pulpissimo.sv, pad_frame.sv, and soc_domain.sv.
The models of the hyperflash and hyperram are not open sources, so I created a directory in vip for these models and modified generate_script. For activating these models, USE_HYPER_MODELS in the test bench should be set to 1.