Parameterization of rv32e finished
Created by: magpyed
I filled in the test-shared.vh file with the shared wally definitions, and added the new variables to cvw.sv and parameter-defs.vh. The cvw_t struct should be essentially complete now.
As far as I can tell, I've parameterized everything that can be reached in the rv32e configuration. I've created an rv32gc config file to continue expanding parameterization, and have parameterized the cache and part of the privileged unit. Both rv32e and rv32gc lint and succeed on tests.
A large change I made was swapping all our longints in cvw.sv to ints - this does require explicitly stating more bit lengths in the config file, but avoids numerous width warnings from src files.
A width issue I fixed in a rather hacky way is when we use XLEN-1 (or similar) to bit select the MSB from a logic array, lint complains because we only need LOG_XLEN bits to select but are using 32. So, I created a truncated version of XLEN-1 in the files that saw this issue. I wanted to make it more generic - i.e., create a param in cvw.sv - but because the length of this variable is dependent on the value of XLEN, creating this field in the cvw_t struct would require including our config files there. I wasn't sure I wanted to take that step (especially since the .vh files in question are missing include guards), so we get this less-good fix for now.
I have also removed many extraneous "`include wally-config.vh" lines from files that are entirely generic.
I know there's a lot in this PR, so feel free to ask questions about anything this comment doesn't cover fully.