[Discuss OpenCPI] Fwd: Platform Mapping HDL Pins

From: Davis Hoover <dhoover_at_geontech.com>
Date: Thu, 09 Jan 20 11:38:36 -0500

This "is not an external signal of the assembly" error is a bit cryptic and
something I would have to re-create locally to fully understand. You may be
on the right path w/ single signal and not an array for the value in
platform='value(index)' - can you try that and get back to me? If that
doesn't work I'll try to recreate.

---------- Forwarded message ---------
From: Brian Padalino <bpadalino_at_gmail.com>
Date: Wed, Jan 8, 2020 at 4:48 PM
Subject: Re: [Discuss OpenCPI] Platform Mapping HDL Pins
To: Davis Hoover <dhoover_at_geontech.com>
Cc: <discuss_at_lists.opencpi.org>


On Wed, Jan 8, 2020 at 3:12 PM Davis Hoover <dhoover_at_geontech.com> wrote:

> The matchstiq doesn't really have the proper device-specific constraints
> implemented anywhere, and relies on the same .xdc file for all of its pf
> configs. Either the E310 or the Zedboard/FMCOMMS is the closest to what
> you're looking for - each has a platform config which references a
> constraints file:
>
> https://github.com/opencpi/opencpi/tree/master/projects/assets/hdl/platforms/zed
>
> And yes, leaving the platform='' gets rid of the signal in the top level.
>

Perfect - thank you.

I'm currently struggling mapping the P0_D_11_6 and P0_D_5_0 ports of the
ad9361 to tx_data_out(11 downto 0) and rx_data_in(11 downto 0).

I currently have the mapping as such:

    <signal name="P0_D_5_0(0)" platform="tx_data_out(0)"/>
    <signal name="P0_D_5_0(1)" platform="tx_data_out(1)"/>
    <signal name="P0_D_5_0(2)" platform="tx_data_out(2)"/>
    <signal name="P0_D_5_0(3)" platform="tx_data_out(3)"/>
    <signal name="P0_D_5_0(4)" platform="tx_data_out(4)"/>
    <signal name="P0_D_5_0(5)" platform="tx_data_out(5)"/>
    <signal name="P0_D_11_6(0)" platform="tx_data_out(6)"/>
    <signal name="P0_D_11_6(1)" platform="tx_data_out(7)"/>
    <signal name="P0_D_11_6(2)" platform="tx_data_out(8)"/>
    <signal name="P0_D_11_6(3)" platform="tx_data_out(9)"/>
    <signal name="P0_D_11_6(4)" platform="tx_data_out(10)"/>
    <signal name="P0_D_11_6(5)" platform="tx_data_out(11)"/>

Outside the device definition, I've placed:

  <signal output="tx_data_out" width="12" />

I've created a pretty simple container with the following configuration:

<HdlContainer platform="pluto" config="pluto_txrx">
    <Connection interconnect="zynq" device="ad9361_dac" port="in"/>
    <Connection device="ad9361_adc" port="out" interconnect="zynq"/>
</HdlContainer>

And an empty assembly.

When I try to build, I get the following error:

For file gen/empty_pluto_pluto_txrx_pluto_txrx_container.xml: in
HdlContainerAssembly for empty_pluto_pluto_txrx_pluto_txrx_container:
External signal "tx_data_out(6)" specified for signal
"ad9361_data_sub_P0_D_11_6(0)" of instance "pfconfig" of worker
"pluto_txrx" is not an external signal of the assembly

Does the platform reassignment need to be to a single signal and not an
array?

Thanks,
Brian


Received on Thu Jan 09 2020 - 16:38:36 CST

This archive was generated by hypermail 2.3.0 : Fri Jun 05 2026 - 08:45:25 CDT