Merges Lim's changes for parameterization. Replaces the `define with parameters
Created by: rosethompson
The testbench is not using the parameterization yet. This still needs to be done.
- Trying to figure out why the parameterization slowed down modelsim so much.
- Updated a large number of the source files to use parameters rather than `defines. Based on Lim's work. So far there is no simulation slow down.
- More parameterization. Copied Lim. Still no slow down.
- More parameterization. Based on Lim's work. EBU, IFU (except bpred), and IEU done.
- MDU and hazard unit now also parameterized. Based on Lim's work. Again I want to clarify this their work. Not mine. I'm just doing this because the merge had an issue.
- Partial parameterization into mmu.
- PM(P/A) checkers parameterized based on Lim's work.
- Updated mmu's tlb and hptw to use Lim's parameterization.
- Progress on LSU.
- PMA checker's address decoder is now parameterized. I did not see bit slicing in Lim's code. I'm not sure how they got around this issue.
- Subwordread now parameterized.
- Completed LSU parameterization based on Lim's changes.
- The privileged unit is parameterized using Lim's method.
- Update top level parameterized. Simulation slowed down to 4.5 minutes.
- I think I've solved the slow down issue. Parameters can't be mixed with cvw_t and other types.
- Parameterized fpu's unpack and fma using Lim's method.
- fdiv is now parameterized using Lim's method.
- Finished fpu parameterization using Lim's method.
- Got the branch predictor parameterized using Lim's method. Also had to add a global enum included in both cvw.sv and the configs which defines the branch predictor types. This should be synthesizable, but I'll need to double check.
- Uncore is now parameterized.