Intel® High Level Design
Support for Intel® High Level Synthesis Compiler, DSP Builder, OneAPI for Intel® FPGAs, Intel® FPGA SDK for OpenCL™

HLS compiler failed

lingxi10
Beginner
2,143 Views

Hi there,

 

The compiler failed with error message "Unrecognized interface class conduit_end" in debug.log. I am wondering if the streaming input has maximum number of bits? When I am inputting 2056 bits it was working but doubling the input size caused this problem

0 Kudos
8 Replies
BoonBengT_Altera
Moderator
2,103 Views

Hi @lingxi10,


Thank you for posting in Intel community forum and hope all is well.

I would say you are having the correct assumption, however to confirm further, would you be able to share more details on the sample project you are compiling on? What type of interface steam you are using? And which stage the failure occur with what compilation command?

Hope to hear from you soon.


Best Wishes

BB


0 Kudos
BoonBengT_Altera
Moderator
2,081 Views

Hi @lingxi10,


Greetings, just following up on the previous clarification.

By any chances did you managed to look into the it?


Best Wishes

BB


0 Kudos
lingxi10
Beginner
2,042 Views

Hi there,

 

Thanks for replying. The input type is ihc::stream_in<samples, ihc::usesReady<false>, ihc::usesValid<false>> where samples is an input with 4096 bits. I ran HLS compiler using i++ command and according to the debug.log I attached in my previous post, the process seems to failed at generating qsys interface for the component

 

Here is what I did and the info printed in the terminal if that help:

 

Command: i++ -march=Stratix10 -ghdl SumAndSquare.cpp -o SumAndSquare


Result: HLS Generate testbench QSYS system FAILED.
See **/debug.log for details.
make: *** [<builtin>: SumAndSquare] Error 1

0 Kudos
BoonBengT_Altera
Moderator
2,007 Views

Hi @lingxi10,


Apologies for the delayed in response, noted on the interfaces used.

After some investigation the size of the data bus can be defined with the sizeof.

More details can be found in the link below for the stream interface:

- https://www.intel.com/content/www/us/en/docs/programmable/683349/22-4/pro-edition-streaming-input-interfaces.html


Hope that clarifty.


Best Wishes

BB


0 Kudos
lingxi10
Beginner
1,938 Views

Hi,

 

Sorry for the late reply. My email is not giving me proper notifications for the update. 

 

Sorry can you elabrate more on how to use sizeof? I didn't find much information from the link you provided. This is the struct I used for the streaming interface: 

struct samples {
hls_register ac_int<DATAWIDTH, true> data[NCHAN];
hls_register float currSum;
};

using namespace ihc;

typedef ihc::stream_in<samples, ihc::usesReady<false>, ihc::usesValid<false>> sampleStream_t;

 

I think I already defined the size of the streaming input in the struct?

0 Kudos
BoonBengT_Altera
Moderator
1,969 Views

Hi @lingxi10,


Greetings, just checking in to see if there is any further doubts in regards to this matter.

Hope your doubts have been clarified.


Best Wishes

BB


0 Kudos
BoonBengT_Altera
Moderator
1,946 Views

Hi @lingxi10,


Greetings, as we do not receive any further clarification/updates on the matter, hence would assume challenge are overcome. Please login to ‘https://supporttickets.intel.com’, view details of the desire request, and post a feed/response within the next 15 days to allow me to continue to support you. After 15 days, this thread will be transitioned to community support. For new queries, please feel free to open a new thread and we will be right with you. Pleasure having you here.


Best Wishes

BB


0 Kudos
ost
Novice
1,862 Views

I just noticed, you may want to try a space between the ">>" like this.
typedef ihc::stream_in<samples, ihc::usesReady<false>, ihc::usesValid<false> > sampleStream_t;

0 Kudos
Reply