Article ID: 000078438 Content Type: Troubleshooting Last Reviewed: 09/11/2012

What are the known issues with the Nios II C-to-Hardware Acceleration Compiler v6.0?

Environment

  • Nios® II Processor
  • BUILT IN - ARTICLE INTRO SECOND COMPONENT
    Description

    Refer to the Nios® II 6.0 Errata for all the known issues with the Nios II C2H Compiler. In addition to that material the following issue has been recently discovered.

     

    The C2H compiler supports accelerating functions that call other functions. All subfunctions are accelerated by the C2H compiler. If the subfunction is passed any of the following as arguments, a functional or compilation failure will occur:

     

    Memory Operation

                example:  foo(a[i]);

     

    Postfix/Prefix Increment/Decrement

                example:  foo(b );

     

    Non-trivial Arithmetic (Multiply, Variable Shift, Division, and Modulo)

                example:  foo(b * c);

     

    Compound Assignment

                example:  foo(b = c);

     

    Subfunction Call

                example: foo(bar(b), c);

     

    The workaround is to assign the argument to a temporary variable and pass the temporary variable to the subfunction. If the temporary variable is not used anywhere else in the accelerated function, this extra line of code will synthesize into no additional logic resources.

    Related Products

    This article applies to 1 products

    Intel® Programmable Devices