I am trying to use the ocpi asset iqstream_to_csts component in my application xml like this:
On my development machine I see a
/opt/opencpi/project-registry/ocpi.assets/components/misc_comps/iqstream_to_csts.hdl, although I didn’t see an rcc. So thought that the path to use should be ocpi.assets.misc_comps.iqstream_to_csts but that did work when I try to run on ubuntu22_04 I get:
ocpidev run application example-app
Error Exception: No acceptable implementations found in any libraries for “ocpi.assets.misc_comps.iqstream_to_csts”
How should I edit the xml to be able to use this component?
As you have found out iqstream_to_csts.hdl does not have an RCC worker implementation of that component.
In order to use an HDL worker in your application you need to create an HDL assembly. An HDL assembly will instantiate the HDL application worker in the FPGA fabric along with the infrastructure to move data to and from the FPGA and CPU. When you build the HDL assembly it will create the necessary artifact, fpga bit stream for targeted HDL platform, that will eventually get loaded on to the FPGA at execution time.
The testbias application is a an example on how to utilize an HDL worker.
When executing the OAS it will search for OpenCPI artifacts. The path to the search is speificed by OCPI_LIBRARY_PATH environment variable. It will look at all available artifacts and search for the appropriate implementation to satisfy the OAS. It cannot find iqstream_to_csts.hdl worker unless the OHAD has been built to contain it.