(I accidentally sent directly to Josh and not the list sorry - to populate the archives, here's the response.)
From: Marasco, Aaron
Sent: Tuesday, April 23, 2019 11:51
To: EXT-Schindehette, Joshua (Geon)
Subject: Re: [Discuss OpenCPI] Platform Worker Connected to Pins
Hi Josh... here's some feedback you can try:
Here's a couple of observations/recommendations:
- It looks like your platform worker has incorrect XML tags (e.g. HdlDevice). I would recommend using 'ocpidev create hdl platform foo' to create platform worker skeletons, and using an example XML (e.g. opencpi.git/projects/assets/hdl/platforms/zed/zed.xml ) for filling in functionality.
- Custom platform worker specs are not supported at this time, platform-spec must be used.
- Device pins are connected to the FPGA via device worker signals or platform worker signals.
- Device workers must be instanced in either
a) a card XML (if the device exists on a card connected to the platform via a slot), e.g. opencpi.git/projects/assets/hdl/cards/spec/fmcomms_2_3_lpc.xml, or
b) in the platform XML itself (if the device exists on the FPGA's PCB, e.g. opencpi.git/projects/assets/hdl/platforms/matchstiq_z1/matchstiq_z1.xml ).
- Device workers must be instanced in either:
a) a platform config XML, e.g. opencpi.git/projects/assets/hdl/platforms/zed/cfg_1rx_1tx_fmcomms_2_3_lpc_lvds.xml, or
b) a container XML, e.g. opencpi.git/projects/assets/hdl/assemblies/empty/cnt_hsmc_alst4_debug_header_breakout_card_hsmc_alst4_a.xml
Let us know if you have more questions or need more clarification
From: discuss discuss-bounces@lists.opencpi.org on behalf of Josh Schindehette jschindehette@geontech.com
Sent: Monday, April 22, 2019 15:00
To: discuss@lists.opencpi.org
Subject: [Discuss OpenCPI] Platform Worker Connected to Pins
Hello,
I'm trying to develop a Platform worker that connects to the pins of the
FPGA. I can build the platform worker and the platform ok, but when I try
to build a bitstream with the testbias assembly, the following error is
generated:
External signal "MY_PIN" specified for signal
"my_platform_worker_my_vhdl_port" of instance "pfconfig" of worker
"my_platform_config" is not an external signal of the assembly
In the Platform XML I listed the device like so:
<Device worker='my_platform_worker'>
<Signal name='my_vhdl_port' platform='MY_PIN'/>
...
</Device>
I created a Platform configuration which instantiates the worker, and I
added the configuration to the Makefile "Configurations":
<HdlConfig Language='vhdl'>
<Device name='my_platform_worker'/>
</HdlConfig>
The Platform worker has an XML configuration:
<HdlDevice language='vhdl' spec='my_platform_worker-spec'>
<Signal input='my_vhdl_port' />
...
</HdlDevice>
The "my_platform_worker-spec" is EMPTY.
In the testbias assembly, I added a "container XML" with the following
code, and I added it to the Makefile's "Containers".
<HdlContainer only='zcu111' config='my_platform_config' default='1'/>
Any idea what is going wrong?
Thanks,
Josh Schindehette
(I accidentally sent directly to Josh and not the list sorry - to populate the archives, here's the response.)
________________________________
From: Marasco, Aaron
Sent: Tuesday, April 23, 2019 11:51
To: EXT-Schindehette, Joshua (Geon)
Subject: Re: [Discuss OpenCPI] Platform Worker Connected to Pins
Hi Josh... here's some feedback you can try:
Here's a couple of observations/recommendations:
1. It looks like your platform worker has incorrect XML tags (e.g. HdlDevice). I would recommend using 'ocpidev create hdl platform foo' to create platform worker skeletons, and using an example XML (e.g. opencpi.git/projects/assets/hdl/platforms/zed/zed.xml ) for filling in functionality.
2. Custom platform worker specs are not supported at this time, platform-spec must be used.
3. Device pins are connected to the FPGA via device worker signals or platform worker signals.
4. Device workers must be instanced in either
a) a card XML (if the device exists on a card connected to the platform via a slot), e.g. opencpi.git/projects/assets/hdl/cards/spec/fmcomms_2_3_lpc.xml, or
b) in the platform XML itself (if the device exists on the FPGA's PCB, e.g. opencpi.git/projects/assets/hdl/platforms/matchstiq_z1/matchstiq_z1.xml ).
5. Device workers must be instanced in either:
a) a platform config XML, e.g. opencpi.git/projects/assets/hdl/platforms/zed/cfg_1rx_1tx_fmcomms_2_3_lpc_lvds.xml, or
b) a container XML, e.g. opencpi.git/projects/assets/hdl/assemblies/empty/cnt_hsmc_alst4_debug_header_breakout_card_hsmc_alst4_a.xml
Let us know if you have more questions or need more clarification
________________________________
From: discuss <discuss-bounces@lists.opencpi.org> on behalf of Josh Schindehette <jschindehette@geontech.com>
Sent: Monday, April 22, 2019 15:00
To: discuss@lists.opencpi.org
Subject: [Discuss OpenCPI] Platform Worker Connected to Pins
Hello,
I'm trying to develop a Platform worker that connects to the pins of the
FPGA. I can build the platform worker and the platform ok, but when I try
to build a bitstream with the testbias assembly, the following error is
generated:
External signal "MY_PIN" specified for signal
"my_platform_worker_my_vhdl_port" of instance "pfconfig" of worker
"my_platform_config" is not an external signal of the assembly
In the Platform XML I listed the device like so:
<Device worker='my_platform_worker'>
<Signal name='my_vhdl_port' platform='MY_PIN'/>
...
</Device>
I created a Platform configuration which instantiates the worker, and I
added the configuration to the Makefile "Configurations":
<HdlConfig Language='vhdl'>
<Device name='my_platform_worker'/>
</HdlConfig>
The Platform worker has an XML configuration:
<HdlDevice language='vhdl' spec='my_platform_worker-spec'>
<Signal input='my_vhdl_port' />
...
</HdlDevice>
The "my_platform_worker-spec" is EMPTY.
In the testbias assembly, I added a "container XML" with the following
code, and I added it to the Makefile's "Containers".
<HdlContainer only='zcu111' config='my_platform_config' default='1'/>
Any idea what is going wrong?
Thanks,
Josh Schindehette