Automatic Termination for Unused ADC/DAC Ports for platform_ad9361

BP
Brian Padalino
Mon, Jan 11, 2021 3:13 PM

I am moving some code over to use the platform_ad9361 devices and there
seems to be no automatic termination for unused ADC/DAC ports.  For
example, if I have a tx-only or rx-only assembly, I still need to pipe
something into the ADC/DAC.

Is there a recommended way to terminate those in the assembly or container
such that it isn't necessary?

Thanks,
Brian

I am moving some code over to use the platform_ad9361 devices and there seems to be no automatic termination for unused ADC/DAC ports. For example, if I have a tx-only or rx-only assembly, I still need to pipe something into the ADC/DAC. Is there a recommended way to terminate those in the assembly or container such that it isn't necessary? Thanks, Brian
JK
James Kulp
Mon, Jan 11, 2021 3:41 PM

On 1/11/21 10:13 AM, Brian Padalino wrote:

I am moving some code over to use the platform_ad9361 devices and there
seems to be no automatic termination for unused ADC/DAC ports.  For
example, if I have a tx-only or rx-only assembly, I still need to pipe
something into the ADC/DAC.

Is there a recommended way to terminate those in the assembly or container
such that it isn't necessary?

The adc/dac subdevices should be optional as designed.

E.g. the data_sink_qdac_ad9361 "supports" the data_sink_qdac, so if the
latter is not present, it should also not be present.

I guess to answer your question we would need to know which of these are
explicitly instanced in your assembly.

Thanks,
Brian

On 1/11/21 10:13 AM, Brian Padalino wrote: > I am moving some code over to use the platform_ad9361 devices and there > seems to be no automatic termination for unused ADC/DAC ports. For > example, if I have a tx-only or rx-only assembly, I still need to pipe > something into the ADC/DAC. > > Is there a recommended way to terminate those in the assembly or container > such that it isn't necessary? The adc/dac subdevices should be optional as designed. E.g. the data_sink_qdac_ad9361 "supports" the data_sink_qdac, so if the latter is not present, it should also not be present. I guess to answer your question we would need to know which of these are explicitly instanced in your assembly. > > Thanks, > Brian >
BP
Brian Padalino
Mon, Jan 11, 2021 3:48 PM

On Mon, Jan 11, 2021 at 10:41 AM James Kulp jek@parera.com wrote:

On 1/11/21 10:13 AM, Brian Padalino wrote:

I am moving some code over to use the platform_ad9361 devices and there
seems to be no automatic termination for unused ADC/DAC ports.  For
example, if I have a tx-only or rx-only assembly, I still need to pipe
something into the ADC/DAC.

Is there a recommended way to terminate those in the assembly or

container

such that it isn't necessary?

The adc/dac subdevices should be optional as designed.

E.g. the data_sink_qdac_ad9361 "supports" the data_sink_qdac, so if the
latter is not present, it should also not be present.

I guess to answer your question we would need to know which of these are
explicitly instanced in your assembly.

When the DAC isn't connected, I get this error:

For file gen/fsk_modem_platform_base_cnt.xml: in HdlContainerAssembly for
fsk_modem_platform_cnt: Port in of instance afe1_dac0 of worker
data_sink_qdac is not connected and not optional

It doesn't seem to think it's optional.  Am I doing something wrong?

This is OpenCPI v2.0.1.

Brian

On Mon, Jan 11, 2021 at 10:41 AM James Kulp <jek@parera.com> wrote: > On 1/11/21 10:13 AM, Brian Padalino wrote: > > I am moving some code over to use the platform_ad9361 devices and there > > seems to be no automatic termination for unused ADC/DAC ports. For > > example, if I have a tx-only or rx-only assembly, I still need to pipe > > something into the ADC/DAC. > > > > Is there a recommended way to terminate those in the assembly or > container > > such that it isn't necessary? > > The adc/dac subdevices should be optional as designed. > > E.g. the data_sink_qdac_ad9361 "supports" the data_sink_qdac, so if the > latter is not present, it should also not be present. > > I guess to answer your question we would need to know which of these are > explicitly instanced in your assembly. > When the DAC isn't connected, I get this error: For file gen/fsk_modem_platform_base_cnt.xml: in HdlContainerAssembly for fsk_modem_platform_cnt: Port in of instance afe1_dac0 of worker data_sink_qdac is not connected and not optional It doesn't seem to think it's optional. Am I doing something wrong? This is OpenCPI v2.0.1. Brian
JD
Jerry Darko
Mon, Jan 11, 2021 3:52 PM

Can you post your assembly xml and container xml?


From: discuss discuss-bounces@lists.opencpi.org on behalf of Brian Padalino bpadalino@gmail.com
Sent: Monday, January 11, 2021 10:48 AM
To: James Kulp jek@parera.com
Cc: discuss@lists.opencpi.org discuss@lists.opencpi.org
Subject: Re: [Discuss OpenCPI] Automatic Termination for Unused ADC/DAC Ports for platform_ad9361

On Mon, Jan 11, 2021 at 10:41 AM James Kulp jek@parera.com wrote:

On 1/11/21 10:13 AM, Brian Padalino wrote:

I am moving some code over to use the platform_ad9361 devices and there
seems to be no automatic termination for unused ADC/DAC ports.  For
example, if I have a tx-only or rx-only assembly, I still need to pipe
something into the ADC/DAC.

Is there a recommended way to terminate those in the assembly or

container

such that it isn't necessary?

The adc/dac subdevices should be optional as designed.

E.g. the data_sink_qdac_ad9361 "supports" the data_sink_qdac, so if the
latter is not present, it should also not be present.

I guess to answer your question we would need to know which of these are
explicitly instanced in your assembly.

When the DAC isn't connected, I get this error:

For file gen/fsk_modem_platform_base_cnt.xml: in HdlContainerAssembly for
fsk_modem_platform_cnt: Port in of instance afe1_dac0 of worker
data_sink_qdac is not connected and not optional

It doesn't seem to think it's optional.  Am I doing something wrong?

This is OpenCPI v2.0.1.

Brian

Can you post your assembly xml and container xml? ________________________________ From: discuss <discuss-bounces@lists.opencpi.org> on behalf of Brian Padalino <bpadalino@gmail.com> Sent: Monday, January 11, 2021 10:48 AM To: James Kulp <jek@parera.com> Cc: discuss@lists.opencpi.org <discuss@lists.opencpi.org> Subject: Re: [Discuss OpenCPI] Automatic Termination for Unused ADC/DAC Ports for platform_ad9361 On Mon, Jan 11, 2021 at 10:41 AM James Kulp <jek@parera.com> wrote: > On 1/11/21 10:13 AM, Brian Padalino wrote: > > I am moving some code over to use the platform_ad9361 devices and there > > seems to be no automatic termination for unused ADC/DAC ports. For > > example, if I have a tx-only or rx-only assembly, I still need to pipe > > something into the ADC/DAC. > > > > Is there a recommended way to terminate those in the assembly or > container > > such that it isn't necessary? > > The adc/dac subdevices should be optional as designed. > > E.g. the data_sink_qdac_ad9361 "supports" the data_sink_qdac, so if the > latter is not present, it should also not be present. > > I guess to answer your question we would need to know which of these are > explicitly instanced in your assembly. > When the DAC isn't connected, I get this error: For file gen/fsk_modem_platform_base_cnt.xml: in HdlContainerAssembly for fsk_modem_platform_cnt: Port in of instance afe1_dac0 of worker data_sink_qdac is not connected and not optional It doesn't seem to think it's optional. Am I doing something wrong? This is OpenCPI v2.0.1. Brian
BP
Brian Padalino
Tue, Jan 12, 2021 2:53 PM

To close the loop on this thread, it turned out the HdlContainer was
instantiating too much.

Previously, I used platform configurations to pick and choose what my
platform would look like to OpenCPI.  In v2.0, the way the configurations
worked seemed to break and change.  This means I had to use an HdlContainer
to define my platform configuration.  When copying that over, all the
ADC/DAC subcomponents came over as well, even though I wasn't using the
particular ADC or DAC.

The solution is to not instantiate an ADC or DAC subcomponent that you
don't intend to use.  By simply removing the ADC or DAC at the subcomponent
level, things worked fine.  Once an ADC or DAC is instantiated, a consumer
or producer is required to connect to that port.

Lesson learned - I need to be more aware of what I am putting in my
HdlContainer.

Brian

On Mon, Jan 11, 2021 at 10:52 AM Jerry Darko jerry.darko@cnftech.com
wrote:

Can you post your assembly xml and container xml?

From: discuss discuss-bounces@lists.opencpi.org on behalf of Brian
Padalino bpadalino@gmail.com
Sent: Monday, January 11, 2021 10:48 AM
To: James Kulp jek@parera.com
Cc: discuss@lists.opencpi.org discuss@lists.opencpi.org
Subject: Re: [Discuss OpenCPI] Automatic Termination for Unused ADC/DAC
Ports for platform_ad9361

On Mon, Jan 11, 2021 at 10:41 AM James Kulp jek@parera.com wrote:

On 1/11/21 10:13 AM, Brian Padalino wrote:

I am moving some code over to use the platform_ad9361 devices and there
seems to be no automatic termination for unused ADC/DAC ports.  For
example, if I have a tx-only or rx-only assembly, I still need to pipe
something into the ADC/DAC.

Is there a recommended way to terminate those in the assembly or
container
such that it isn't necessary?

The adc/dac subdevices should be optional as designed.

E.g. the data_sink_qdac_ad9361 "supports" the data_sink_qdac, so if the
latter is not present, it should also not be present.

I guess to answer your question we would need to know which of these are
explicitly instanced in your assembly.

When the DAC isn't connected, I get this error:

For file gen/fsk_modem_platform_base_cnt.xml: in HdlContainerAssembly for
fsk_modem_platform_cnt: Port in of instance afe1_dac0 of worker
data_sink_qdac is not connected and not optional

It doesn't seem to think it's optional.  Am I doing something wrong?

This is OpenCPI v2.0.1.

Brian

To close the loop on this thread, it turned out the HdlContainer was instantiating too much. Previously, I used platform configurations to pick and choose what my platform would look like to OpenCPI. In v2.0, the way the configurations worked seemed to break and change. This means I had to use an HdlContainer to define my platform configuration. When copying that over, all the ADC/DAC subcomponents came over as well, even though I wasn't using the particular ADC or DAC. The solution is to not instantiate an ADC or DAC subcomponent that you don't intend to use. By simply removing the ADC or DAC at the subcomponent level, things worked fine. Once an ADC or DAC is instantiated, a consumer or producer is required to connect to that port. Lesson learned - I need to be more aware of what I am putting in my HdlContainer. Brian On Mon, Jan 11, 2021 at 10:52 AM Jerry Darko <jerry.darko@cnftech.com> wrote: > Can you post your assembly xml and container xml? > ------------------------------ > *From:* discuss <discuss-bounces@lists.opencpi.org> on behalf of Brian > Padalino <bpadalino@gmail.com> > *Sent:* Monday, January 11, 2021 10:48 AM > *To:* James Kulp <jek@parera.com> > *Cc:* discuss@lists.opencpi.org <discuss@lists.opencpi.org> > *Subject:* Re: [Discuss OpenCPI] Automatic Termination for Unused ADC/DAC > Ports for platform_ad9361 > > On Mon, Jan 11, 2021 at 10:41 AM James Kulp <jek@parera.com> wrote: > > > On 1/11/21 10:13 AM, Brian Padalino wrote: > > > I am moving some code over to use the platform_ad9361 devices and there > > > seems to be no automatic termination for unused ADC/DAC ports. For > > > example, if I have a tx-only or rx-only assembly, I still need to pipe > > > something into the ADC/DAC. > > > > > > Is there a recommended way to terminate those in the assembly or > > container > > > such that it isn't necessary? > > > > The adc/dac subdevices should be optional as designed. > > > > E.g. the data_sink_qdac_ad9361 "supports" the data_sink_qdac, so if the > > latter is not present, it should also not be present. > > > > I guess to answer your question we would need to know which of these are > > explicitly instanced in your assembly. > > > > When the DAC isn't connected, I get this error: > > For file gen/fsk_modem_platform_base_cnt.xml: in HdlContainerAssembly for > fsk_modem_platform_cnt: Port in of instance afe1_dac0 of worker > data_sink_qdac is not connected and not optional > > It doesn't seem to think it's optional. Am I doing something wrong? > > This is OpenCPI v2.0.1. > > Brian >