x-heep icon indicating copy to clipboard operation
x-heep copied to clipboard

Tie XIF to 0 in x_heep_system if X_EXT=0

Open davidmallasen opened this issue 1 year ago • 1 comments

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),
...

davidmallasen avatar Mar 16 '23 10:03 davidmallasen

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 of X-HEEP top-level interface (e.g., using ifdef MACRO guards).

StMiky avatar Jun 14 '23 13:06 StMiky