Forum Discussion
Altera_Forum
Honored Contributor
8 years agoThe ticket opened proved very useful! Intel PSG support was quick to answer.
So my first problem is indeed caused by a compiler bug! I quote the answer from Intel's engineer: --- Quote Start --- The compiler fails when an EFI function has the same signature as a normal OpenCL function (in this case the kernel from which it is called). And you have identified the most appropriate workaround, which is to give the EFI function an "unusual" signature that doesn't clash with any OpenCL functions. This issue will be fixed in 18.1; we are now re-working EFI to address all of these longstanding issues. --- Quote End --- So giving unsigned long long to the header was the way to go in order to have a different signature from the OpenCL kernel (test_lib) and the rtl function library (ddr_w_rtl). Even if it raise a warning. The second part was entirely my fault. I forgot that the order of the argument to an rtl library is defined by the order given in the XML file. I wrote the data part (din) before the pointer (pin) in my XML file, hence the error --- Quote Start --- Error: Wrong input type for HDL library function call <ddr_w_rtl> Operand# 1: Expected: pointer Actual: scalar --- Quote End --- Hope this can help !