Unfortunately, the Microblaze GNU compiler for the Microblaze is not optimized to completely remove data hazards. See Pipeline Hazard in the Microblaze reference guide below:

The Microblaze reference guide discusses how to avoid the pipeline hazard here. This demo is similar to the example here.

The demo can be downloaded below:

To build, launch Vivado 2018.1 and run the command below from the TCL console:
  • source data/all.tcl

To investigate the software application. Launch SDK 2018.1 and navigate to the workspace below:
  • project_1/project_1.sdk

Related Links