[Discuss OpenCPI] HDL Assembly Makefile

Miller, Peter PeterM at signalscape.com
Tue Jun 19 17:21:13 EDT 2018


That is exactly what I was thinking. But don't I need two xmls in the assembly - one that hooks the worker to the container connections (i.e. out_from_asm_tx_path_to_dac) and the other for the base container with no connections? How do you write the assembly xml to support, say three containers: zed, Matchstiq, and base? For base it's just:
<HdlAssembly>
  <!-- Remove this instance and replace it with real ones -->
    <Instance worker="phy_tx_802dot11g" name="phy_tx_802dot11g" Externals="true"></Instance>
</HdlAssembly>

But for the zed container I have to add connections like:
  <Connection Name="out_from_asm_tx_path_to_dac" External="producer">
    <Port Instance="phy_tx_802dot11g" Name="out"/>
  </Connection>

-----Original Message-----
From: discuss <discuss-bounces at lists.opencpi.org> On Behalf Of James Kulp
Sent: Tuesday, June 19, 2018 5:05 PM
To: discuss at lists.opencpi.org
Subject: Re: [Discuss OpenCPI] HDL Assembly Makefile

On 6/19/18 4:57 PM, Miller, Peter wrote:
> Jim,
> Turns out that I have another assembly that has this worker among others but will hook up like I want it for the zed.
>
> Basically I have an application ACI that creates external Port/Buffer that connects to this worker (it's a wifi transmitter). In the xsim case I want an application that writes the output of the transmitter to a file. But I want the zed application to connect it to qdac. So I just made an assembly with this worker in it and nothing else, and the centos xsim file_write application finds this assembly and runs the app. Now for the zed, a different assembly is found that works and the app runs on the zed.
Great.
You should be able to have one assembly, but different containers and different applications.
The xsim container would have no connections, and the zed container would have the connection to the dac.
Your ACI could simply have two different app xml strings, or with ocpiriun, you would need two different app XML files.


>
> -----Original Message-----
> From: James Kulp <jek at parera.com>
> Sent: Tuesday, June 19, 2018 4:42 PM
> To: Miller, Peter <PeterM at signalscape.com>; discuss at lists.opencpi.org
> Subject: Re: [Discuss OpenCPI] HDL Assembly Makefile
>
> Peter,
>
> If you are simply using the container you copied, on the same hardware, but with your own assembly, you just need to make sure the "external"
> attributes of the "connection" elements match the external ports of your assembly.
>
> If you want to use the base platform configuration rather than the "config" mentioned in that file, you can just say "base" instead of "cfg_1rx_1tx_fmcomms_2_3_lpc_lvds", but I'm not sure why you would do that.
>
> Any parameters specified in that platform configuration must be repeated in the container XML if you choose the base configuration.
>
> Was there something about that platform configuration that you didn't like or needed to change?
>
> Jim
>
>
> On 6/19/18 2:58 PM, Miller, Peter wrote:
>> Jim,
>> Are you saying just make a container xml, like cnt_base.xml, with nothing in it?
>>
>> <HdlContainer Config="cfg_base" Only="base"> </HdlContainer>
>>
>>
>> -----Original Message-----
>> From: discuss <discuss-bounces at lists.opencpi.org> On Behalf Of James
>> Kulp
>> Sent: Tuesday, June 19, 2018 9:21 AM
>> To: discuss at lists.opencpi.org
>> Subject: Re: [Discuss OpenCPI] HDL Assembly Makefile
>>
>> Hi Peter,
>>
>> It is true that nothing in container-* should be modified since it is all generated and cleaned.
>> When you are creating a non-default container (one that has interesting connections or non-default platform configuration), you put the container XML file in the assembly's directory and mention it in the Containers= variable in the Makefile.
>> In that container XML you specifiy what is "not default" about the container, any of:
>> 1. Device connections of external ports of the assembly 2. Device presence (possibly parameterized) when not implied by device connections or platform configuration 3. The Platform Configuration to use (thus implying the presence of devices or cards).
>> The container file you copied has a specifically indicated platform configuration.
>> You probably just need to change the platform configuration indicated there to "base".
>>
>> Jim
>>
>>
>> On 6/19/18 8:58 AM, Miller, Peter wrote:
>>> Suppose I create a simple hdl assembly that contains one component, phy_tx_802dot11g.hdl.
>>> ocpidev create hdl assembly phy_tx_802dot11g_assy
>>>
>>> ocpidev build hdl assembly phy_tx_802dot11g_assy --hdl-platform xsim
>>> --hdl-platform zed
>>>
>>>    From this I will get:
>>> hdl/assemblies/phy_tx_802dot11g_assy/container-phy_tx_802dot11g_assy
>>> _x
>>> sim_base
>>> hdl/assemblies/phy_tx_802dot11g_assy/container-phy_tx_802dot11g_assy
>>> _z
>>> ed_base
>>>
>>>
>>> I can use this assembly to create an application that, say, connects to file_write and I can run it on Centos or Zed. Now I want to make an application that connects it to qdac on the zed fmcomms3. I copy the container file "cnt_1rx_1tx_thruasm_fmcomms_2_3_lpc_LVDS_zed.xml" and modify the Makefile to add "Containers=cnt_1rx_1tx_thruasm_fmcomms_2_3_lpc_LVDS_zed" and build.
>>> hdl/assemblies/phy_tx_802dot11g_assy/container-phy_tx_802dot11g_assy
>>> _z
>>> ed__cfg_1rx_1tx_fmcomms_2_3_lpc_lvds_cnt_1rx_1tx_thruasm_fmcomms_2_3
>>> _l
>>> pc_LVDS_zed
>>>
>>> Now a make clean and make only generates the fmcomm container and not the base.
>>>
>>> Question: How can I modify the makefile to specify a container for the Base container? Such that make clean, make will build the base and the config folders? Is there a "Containers=" for the base assembly?
>>>
>>> Sincerely,
>>> Peter B. Miller
>>> Potomac: (301) 765-9668
>>>
>>> --------------------------- This email and any files transmitted with it are confidential and intended solely for the use of Signalscape, Inc. and the addressed individual or entity. If you have received this email in error please delete it. Information in this email may be subject to the Privacy Act of 1974 and any unauthorized review, use, disclosure, or distribution is strictly prohibited. Any views or opinions presented in this email are solely those of the author and do not necessarily represent those of the company.
>>> -------------- next part -------------- An HTML attachment was
>>> scrubbed...
>>> URL:
>>> <http://lists.opencpi.org/pipermail/discuss_lists.opencpi.org/attach
>>> me nts/20180619/98f8da4c/attachment.html>
>>> _______________________________________________
>>> discuss mailing list
>>> discuss at lists.opencpi.org
>>> http://lists.opencpi.org/mailman/listinfo/discuss_lists.opencpi.org
>>
>> _______________________________________________
>> discuss mailing list
>> discuss at lists.opencpi.org
>> http://lists.opencpi.org/mailman/listinfo/discuss_lists.opencpi.org
>> --------------------------- This email and any files transmitted with it are confidential and intended solely for the use of Signalscape, Inc. and the addressed individual or entity. If you have received this email in error please delete it. Information in this email may be subject to the Privacy Act of 1974 and any unauthorized review, use, disclosure, or distribution is strictly prohibited. Any views or opinions presented in this email are solely those of the author and do not necessarily represent those of the company.
>
> --------------------------- This email and any files transmitted with it are confidential and intended solely for the use of Signalscape, Inc. and the addressed individual or entity. If you have received this email in error please delete it. Information in this email may be subject to the Privacy Act of 1974 and any unauthorized review, use, disclosure, or distribution is strictly prohibited. Any views or opinions presented in this email are solely those of the author and do not necessarily represent those of the company.
> _______________________________________________
> discuss mailing list
> discuss at lists.opencpi.org
> http://lists.opencpi.org/mailman/listinfo/discuss_lists.opencpi.org



_______________________________________________
discuss mailing list
discuss at lists.opencpi.org
http://lists.opencpi.org/mailman/listinfo/discuss_lists.opencpi.org
--------------------------- This email and any files transmitted with it are confidential and intended solely for the use of Signalscape, Inc. and the addressed individual or entity. If you have received this email in error please delete it. Information in this email may be subject to the Privacy Act of 1974 and any unauthorized review, use, disclosure, or distribution is strictly prohibited. Any views or opinions presented in this email are solely those of the author and do not necessarily represent those of the company.



More information about the discuss mailing list