NVlabs/matchlib

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.

chanels

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?

npfet commented

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?

npfet commented

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.

npfet commented

Cheers. Closing the issue.