- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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

- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page