Ocpi.osp.hitech-global cp_in cp_out not declared in base-assy.vhd

Hi All,

I’m attempting to rebuild the hitech-global OSP artefacts for the “control plane” code block and, when running the following command (in accordance with guide hdl/platforms/zrf8_48dr/doc/OpenCPI_zrf8_48dr_Developers_Guide.rst) :

ocpidev build --hdl-platform zrf8_48dr --rcc-platform xilinx21_1_aarch64

I get the following errors:

ERROR: [Synth 8-1031] cp_in is not declared [/opencpi/projects/osps/ocpi.osp.hitech-global/hdl/platforms/zrf8_48dr/zrf8_48dr.vhd:93]
ERROR: [Synth 8-1031] cp_out is not declared [/opencpi/projects/osps/ocpi.osp.hitech-global/hdl/platforms/zrf8_48dr/zrf8_48dr.vhd:94]
ERROR: [Synth 8-1568] actual of formal out port cp_out cannot be an expression [/opencpi/projects/osps/ocpi.osp.hitech-global/hdl/platforms/zrf8_48dr/zrf8_48dr.vhd:94]

I can see that there’s a definition in the platform_pkg, so I added the following signal definitions to zrf8_48dr.vhd (and included the platform library):

  signal cp_in            :   platform_pkg.occp_out_t;
  signal cp_out           :   platform_pkg.occp_in_t;

Although this fixes the above error, I now get another error similar error relating to OpenCPI generated artefacts:

Building config core "base_rv" for target "zynq_ultra" 0:(base_ocpi_debug=false base_sdp_length=32 base_sdp_arb=0 base_ocpi_endian=little base_sdp_width=1) target-zynq_ultra/base_rv.edf
ERROR: [Synth 8-2032] formal cp_in is not declared [/opencpi/projects/osps/ocpi.osp.hitech-global/hdl/platforms/zrf8_48dr/config-base/gen/base-assy.vhd:30]
ERROR: [Synth 8-2029] formal sdp_in has no actual or default value [/opencpi/projects/osps/ocpi.osp.hitech-global/hdl/platforms/zrf8_48dr/config-base/gen/base-assy.vhd:15]

Before I go any further, has anyone seen this before?

I see the same errors on the Geon forked branch and the main develop trunk.

Thanks

I haven’t seen this before.

I’m currently working on aligning the main of ocpi.osp.hitech-global with OpenCPI develop. At is current state it will not build correctly.

What branch are you using when using GEON’s fork?
GEON fork : branch rfdc Files · rfdc · Geon Technologies / OpenCPI / OpenCPI · GitLab
HiTech Gloabl OSP : tag v3.0.0_opencpi_rfdc Files · v3.0.0_opencpi_rfdc · Geon Technologies / OpenCPI / HiTech Global · GitLab

The combination of OSP and OpenCPI above should provide you with a working implementation of the OSP.

I’m using the Geon fork “rfdc” branch.

Will try this combo now and let you know…

When following the manual edit instructions outlined in the guide, hdl/platforms/zrf8_48dr/doc/OpenCPI_zrf8_48dr_Developers_Guide.rst, the outcome is an zrf8_48dr.xml file that omits the “Configurations=‘base’” from the HDLPlatform header:
HdlPlatform Language="VHDL" Spec='platform-spec' Configurations='base'

The reference file zrf8_48dr.xml within the tag v3.0.0_opencpi_rfdc includes this.

With “Configurations=‘base’” included, the osp builds.

Many thanks for you help @aolivarez

1 Like