UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

AR# 45780

AutoESL - #define を含むコードで AutoESL でないコンパイラでは問題がないのに構文エラーが発生する

説明

ap_int や ap_private などのライブラリを含める前に変数を定義すると構文エラーが発生する可能性があります。

次に例を示します。

// wrong place to define N
#define N 42
#include <ap_int.h>
// good place to define N
//#define N 42
void define_N(ap_int<10> *a, ap_int<11> b) {
*a = b + N;
}

When "N" is declared before ap_int, following errors will be issued.
c:/Xilinx/2011.4/AutoESL/include/etc/ap_private.h:1687:33: error: expected ','
or '...' before numeric constant
c:/Xilinx/2011.4/AutoESL/include/etc/ap_private.h:2782:33: error: expected ','
or '...' before numeric constant
c:/Xilinx/2011.4/AutoESL/include/etc/ap_private.h: In function 'bool
llvm::ap_private_ops::isIntN(uint32_t)':
c:/Xilinx/2011.4/AutoESL/include/etc/ap_private.h:2783:16: error: 'APIVal' was
not declared in this scope
c:/Xilinx/2011.4/AutoESL/include/etc/ap_private.h: At global scope:
c:/Xilinx/2011.4/AutoESL/include/etc/ap_private.h:3154:29: error: expected ','
or '...' before numeric constant
c:/Xilinx/2011.4/AutoESL/include/etc/ap_private.h: In function 'bool
llvm::isIntN(uint32_t)':
c:/Xilinx/2011.4/AutoESL/include/etc/ap_private.h:3155:12: error: 'APIVal' was
not declared in this scope {0} Field Help

ソリューション

AutoESL ツール 2011.4.2 およびそれ以前のバージョンの場合は、ap_int を含めた後に N を定義します。

この問題は、AutoESL 2012.1 で修正されています。

AR# 45780
日付 09/09/2014
ステータス アクティブ
種類 既知の問題
ツール
  • AutoESL - 2011.3
  • AutoESL - 2011.4
  • AutoESL - 2011.4.2
このページをブックマークに追加