x-heep
x-heep copied to clipboard
Tie XIF to 0 in x_heep_system if X_EXT=0
This would remove the need of creating a dummy xif and connecting it to the ports of x_heep_system
as done in the tb/testharness.sv
with:
// eXtension Interface
if_xif #() ext_if ();
...
.xif_compressed_if(ext_if),
.xif_issue_if(ext_if),
.xif_commit_if(ext_if),
.xif_mem_if(ext_if),
.xif_mem_result_if(ext_if),
.xif_result_if(ext_if),
...
To make X-HEEP
compatible with older projects, we may use templates to generate the CORE-V-XIF
ports only when the selected CPU is cv32e40x
.
Pros:
- Do not break compatibility with older projects.
- Do not force users that don't need the
XIF
to instantiate it in their top-level module.
Cons:
- Additional templates required (including for the testbench)
- Systems that can be configured to use both
XIF
and non-XIF
CPUs must handle two variants ofX-HEEP
top-level interface (e.g., usingifdef MACRO
guards).