-
Notifications
You must be signed in to change notification settings - Fork 549
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
cpu/rocket: rework variant naming convention
The naming convention for LiteX Rocket variants has become overly complex. Simplify it while at the same time adding more flexibility. There is a new set of instances of varying main RAM memory bus port width (1x (64bit), 2x (128bit), 4x (256bit), and 8x (512bit)), of each of the following principal LiteX specific Rocket models: - small: (rv64imac, no MMU, no S, no FPU) - medium: (rv64imac, adds MMU and S-mode) - linux: (rv64imafdc, adds FPU, supports linux distros) - full: (rv64imafdcbkph[+], adds hypervisor support) NOTE: before adding H support, the feature set of the old `full` model is now represented by the `linux` model. The old `linux` did not use to have an FPU, and is now available as `medium`. In addition to the range of memory port widths, each model will be instantiated in 1, 2, 4, and 8 core variants. The naming convention is `LitexConfig_<model>_<num_cores>_<mem_width>`. E.g. `LitexConfig_full_8_2` for an 8-core full model with a 128bit main RAM AXI port. On the build command line, this example would look like: ... --cpu-type rocket --cpu-variant full \ --cpu-num-cores 8 --cpu-mem-width 2 \ ... There are a total of 4 * 4 * 4 = 64 (sub-)variants: each of the four principal models can be fitted with one of four core counts, and one of four memory bus widths. Signed-off-by: Gabriel Somlo <gsomlo@gmail.com>
- Loading branch information
Showing
1 changed file
with
41 additions
and
76 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters