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

Assertion failed in "hdl.cpp" when compiling HLS design

NoahHuguenin
New Contributor I
452 Views

Good day! 


I'm working with Quartus Prime Pro 24.2 and its corresponding version of HLS Compiler. 

I get the following error message shortly after launching compilation, with an Agilex 7 board as target: 

 

Assertion failed: size >= 1, file hdl.cpp, line 201
HLS System Integration FAILED.

 

It seems like this hdl.cpp file is nowhere to be found in my disk.

I cannot share the design as it is, since it includes a confidential module, but it might be relevant is that the error appears since I started testing it with mm_host interfaces. 

 

In case it might be relevant, here are the interface types I am using:

 

typedef ihc::mm_host<cfixed_t, ihc::dwidth<1024>, ihc::awidth<10>, ihc::latency<0>,
ihc::waitrequest<true>, ihc::aspace<1>> mm_host_t1;

typedef ihc::mm_host<cfixed_t, ihc::dwidth<1024>, ihc::awidth<2>, ihc::latency<0>,
ihc::waitrequest<true>, ihc::aspace<2>> mm_host_t2;

typedef ihc::mm_host<cfixed_t, ihc::dwidth<512>, ihc::awidth<4>, ihc::latency<0>,
ihc::waitrequest<true>, ihc::aspace<3>> mm_host_t3;

 

I thought to ask in case you could clarify how to check what this assertion refers to. Let me know if you would require more details.

 

Regards,

Noah

0 Kudos
7 Replies
Jessica_Intel
Employee
350 Views

Hi Noah,

 

Thank you for posting your question. You are seeing an assertion failure in the compiler. I checked the release notes, and confirmed that this is not a known issue. Unfortunately I can't suggest a workaround without more information. I don't see anything incorrect about the code you shared.

 

Are you able to create a simpler version of your design that reproduces the problem?

I am also curious how cfixed_t is defined?

 

Best regards,

Jessica

0 Kudos
BoonBengT_Intel
Moderator
334 Views

Hi @NoahHuguenin,


Just to added on some findings on the cfixed_t, it perhaps may be part of the C++ standard library.

Hence maybe be looking for the mention hld.cpp files.

Would suggest try other data types.


Best Wishes

BB


0 Kudos
NoahHuguenin
New Contributor I
321 Views

Hello @Jessica_Intel  @BoonBengT_Intel , 

 

Thank you for your answers!

 

Excuse me for not clarifying, cfixed_t is defined in my .h file as: 

typedef struct complex_fixed {
fixed16 real;
fixed16 imag;
} cfixed_t;

 

And fixed16 is defined as 

typedef ac_fixed<16, 3, true,AC_RND, AC_WRAP> fixed16;

 

The only C++ non-HLS libraries I use are stdio.h and ctime.h, but I have used them in other projects with no problems. That is why I suspected the mm_host as the cause of the error, since I had not used this type in previous tests. 

 

In any case, here is a somewhat simplified version of the test, with which you should be able to replicate this error.  The build command is included in a .txt file within the project folder.

 

Regards,

Noah

0 Kudos
Jessica_Intel
Employee
241 Views

Hello Noah,

 

Thank you for attaching a simplified version of your design. I was able to reproduce the error in hdl.cpp using WM_Test_Share.zip.

I see two issues with how your code declares the mm_host interfaces in compMatrix.h.

 

1. The address widths (ihc::awidth) are too small. According to https://www.intel.com/content/www/us/en/docs/programmable/683349/24-1/memory-mapped-host-testbench-constructor.html the mm_host constructor's second argument specifies the size in bytes. For example, to byte-address 32*16*128 =65536 bytes, you would need an address bus with at least log_2(65536) = 16 bits (not 10 bits).

 

2. Since the datatype (cfixed_t) is smaller than the data bus width (1024 or 512 bits), ihc::align must be specified. For example, for a data bus of width 1024 bits or 128 bytes, ihc::align should be set to 128 bytes. Please see the example given for ihc::align at https://www.intel.com/content/www/us/en/docs/programmable/683349/24-1/pro-edition-memory-mapped-interfaces.html

 
Please let me know if you have any questions about how to apply these suggestions to your code.
 
Best regards,
Jessica
0 Kudos
NoahHuguenin
New Contributor I
204 Views

Hello again, and thank you very much for your suggestions! I would have had a hard time figuring this out otherwise.

 

I think the information provided here should be enough for me to correct my design in the coming days.


Regards and best wishes, 

Noah

0 Kudos
BoonBengT_Intel
Moderator
161 Views

Hi @NoahHuguenin,


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_Intel
Moderator
117 Views

Hi @NoahHuguenin,


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/s/?language=en_US’, 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. The community users will be able to help you on your follow-up questions. 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
Reply