Can't find Pipeline channel definition
DiamantisPa opened this issue · 4 comments
I saw in the documentation that a pipelined version of the channel is possible.
But i can't find the definition of the channel in the library and i get an error when i try to instantiate one.
Connections::Pipeline<Data_t> a;
incomplete type is not allowedC/C++(70)
Are pipelined channels not available in the opensource library?
That may be because the default value for the second template parameter is missing is Pipeline's definition (likely a bug). The code is located in nvhls_connections_buffered_ports.h, line 318. Could you try:
Connections::Pipeline<Data_t, AUTO_PORT> a;
and see if it works?
On closer inspection, Pipeline is first declared, with the default template parameter, in connections.h from Connections (line 260)
Thus, Pipeline should be working. There is also a unit test for Pipeline<>. You can try running make sim_pipeline
in cmod/unittests/ConnectionsTop/
to see if it compiles cleanly. Also, double check that #include <nvhls_connections.h>
is being included in your code.
Hope that helps,
Nate
Hey Nate,
Thank you very much for your feedback. I saw the unit test cmod/unittests/ConnectionsTop/
and understood how Pipeline channels work. Based on the documentation i thought they can be used similarly as the Combinational ones but it seem that their extra latency and capacity is just added to a Combinational channel.
Again thank you for your time. Cheers.
Cheers. Closing the issue.