There is no TLError reachable from AXI4ToTL

I got this error while integrating NVDLA into Rocket Chip from Sept 25th:

[error] java.lang.IllegalArgumentException: requirement failed: There is no TLError reachable from AXI4ToTL. One must be instantiated.

Does anyone know what is happening here and how this should be fixed?


The AXI4ToTL converter depends on having a downstream error device available to bounce non-compliant traffic while preserving AXI ordering semantics without requiring the adapter to have internal state.

The default RocketChip configuration provides such a device here:

But perhaps you have modified the bus architecture significantly? You can add one to any CanHaveBuiltInDevices child class (e.g. any of the TLBusWrappers) using the same argument to the HasBuiltInDeviceParams child case class. You could also add one by hand using this as an example:

Thanks a lot for this! Since I was using an older version of Rocket Chip, I had to copy and paste the line below to add the error device.