^

AR# 44257 ChipScope ILA Does Not Generate in Linux

When running the inserter flow for the ChipScope toolon Linux, you might see that the implementation fails when the CORE Generator generates the core. It displays the following error messages:

"Loading CDC project /storage/home/sitj/TestProject/chipscope.cdc
Successfully read project /storage/home/sitj/TestProject/chipscope.cdc
copy /storage/home/sitj/TestProject/dummy_test_cs.ngc => /storage/home/sitj/TestProject/_ngo/dummy_test_cs_signalbrowser.ngo
Generating cores using CORE Generator. Please be patient as this can take several minutes...
Using existing cached core /storage/home/sitj/TestProject/_ngo/cs_icon_pro/generate_icon_pro.xco
Generating core 2 of 2 ila_pro_0.ngc...
FAILED.

<CoreGen>:ERROR:sim:824 - Something went wrong while preparing for IP customization.ERROR:sim - IP initializer could not set parameters on IP model
<CoreGen>:ERROR:sim - ERROR:sim - Failed to initialize IP model.
<CoreGen>:ERROR:sim - Failed to resolve generic values.
<CoreGen>:ERROR:sim - Failed to generate 'ila_pro_0'. Failed to resolve generic values.
<CoreGen>:ERROR:sim:877 - Error found during execution of IP 'ILA (ChipScope Pro -
See CoreGen Log /storage/home/sitj/TestProject/_ngo/cs_ila_pro_0/coregen.log
ERROR:ChipScope: Unable to generate ila_pro_0.ngc
ERROR:ChipScope: Double-click the chipscope.cdc icon in the sources window to edit and fix the CDC project."

This issue comes from the "locale" setting in Linux.

A locale is a set of language and cultural rules. These cover aspects such as language for messages, different character sets, lexicographic conventions, and so on. A program needs to be able to determine its locale and act accordingly to be portable to different cultures.

You can see what locale you are using by typing locale in the command line. For example, assume that the locale is for Norwegian:

$ locale
LANG=nb_NO.UTF-8
LC_CTYPE="nb_NO.UTF-8"
LC_NUMERIC="nb_NO.UTF-8"
LC_TIME="nb_NO.UTF-8"
LC_COLLATE="nb_NO.UTF-8"
LC_MONETARY="nb_NO.UTF-8"
LC_MESSAGES="nb_NO.UTF-8"
LC_PAPER="nb_NO.UTF-8"
LC_NAME="nb_NO.UTF-8"
LC_ADDRESS="nb_NO.UTF-8"
LC_TELEPHONE="nb_NO.UTF-8"
LC_MEASUREMENT="nb_NO.UTF-8"
LC_IDENTIFICATION="nb_NO.UTF-8"
LC_ALL=

It has been observed that if the locale is not the US version, then the CORE Generator software run can fail in this way. In Norway, it is customary to write "1.0" with a comma instead of a dot, that is, "1,0".

The command:

coregen -p coregen.cgp -ddd -J verbose -b generate_ila_pro_0.xco

then stops with error as it tries to parse "1.0" as a number in a Norwegian locale, which does not make sense.

You can work around this issue by using the following bashfile to"force_us_locale":

export LANG=en_US.UTF-8
export LC_CTYPE="en_US.UTF-8"
export LC_NUMERIC="en_US.UTF-8"
export LC_TIME="en_US.UTF-8"
export LC_COLLATE="en_US.UTF-8"
export LC_MONETARY="en_US.UTF-8"
export LC_MESSAGES="en_US.UTF-8"
export LC_PAPER="en_US.UTF-8"
export LC_NAME="en_US.UTF-8"
export LC_ADDRESS="en_US.UTF-8"
export LC_TELEPHONE="en_US.UTF-8"
export LC_MEASUREMENT="en_US.UTF-8"
export LC_IDENTIFICATION="en_US.UTF-8"
export LC_ALL=

In your bash prompt, run:

source force_us_locale

Another way to work around this issue is to do:

setenv LANG en_US.UTF-8

The problem should now be resolved.

AR# 44257
Date Created 09/30/2011
Last Updated 02/08/2013
Status Active
Type Known Issues
Tools
  • ChipScope Pro - 13.2
Feed Back