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# 32512

11.1 EDK - Windows XP で、 PCI および USB コアの問題により XST で「xst.exe has encountered a problem and needs to close」というメッセージが表示される

説明

キーワード : PCI, USB, fatal, error, embedded, design

PCI コアを含むデザインを XPS で実行すると、次のようなメッセージが表示されます。

"xst.exe has encountered a problem and needs to close.
We are sorry for the inconvenience."

この問題の回避策を教えてください。

ソリューション

ソリューション 1 :
この問題は、Linux では発生しません。

ソリューション 2 :
この問題を回避するには、次の手順に従います。

1. MHS ファイルを開き、PCI/USB インスタンスをファイルの最後に移動します。
2 . XPS で [Generate Netlist] を再実行します。PCI または USB コアが MHS ファイルの最後に配置されているので、PCI または USB コアに達する前にすべてのコアが合成されます。
3. XPS プロジェクトで synthesis/pci32_bridge_wrapper_xst.scr または synthesis/xps_usb2_device_0_wrapper_xst.scr ファイルを開きます。
4. ファイルの最後に「-fsm_extract no」という行を追加します。
5. ファイルを保存します。
6. XPS から Bash シェルを開いて synthesis ディレクトリに移動し、「xst -ifn pci32_bridge_wrapper_xst.scr」または「xst -ifn xps_usb2_device_0_wrapper_xst.scr」を実行します。
7. (PCI のみ) implementation ディレクトリに移動します。
8. (PCI のみ) pci32_bridge_wrapper.ngc を pci32_bridge_wrapper_in.ngc という名前に変更します。
9. (PCI のみ) 「ngcbuild -sd pci32_bridge_wrapper -uc pci32_bridge_wrapper/pci32_bridge_wrapper.ucf pci32_bridge_wrapper_in.ngc pci32_bridge_wrapper.ngc」を実行します。
10. synthesis ディレクトリの synthesis.sh スクリプトを実行します。
11. プロジェクト ディレクトリに移動して「make -f system.make bits」を実行するか、XPS GUI から make bits プロセスを実行します。

次に、PCI コア用に上記のプロセスを自動化するシェル スクリプトを示します。

#!/bin/sh
# Script to run steps in AR 32512
# http://www.xilinx.com/support/answers/32512.htm
#Author: Matt Nielson
# last update: 2009/5/1 10:29 AM MDT

## Instructions:
# - Open the MHS file and move the PCI instance to the bottom of the MHS file.
# - Run this from an EDK Bash shell from the project directory
# - Change the SYSTEM and PLBV46_PCI variables to match your system
# - Run it from the bash command prompt by sourcing it:
# ./run_platgen.sh

TRUE=true
FALSE=false

## Name of project
SYSTEM=system

## Name of plbv46 instance:
PLBV46_PCI=pci32_bridge_wrapper

# 2. Run the Generate Netlist again in XPS. This will synthesize all the cores
# before coming to the PCI core, which is now the last core to be synthesized
# because it is last in the MHS file.


#RUN_PLATGEN=$TRUE
RUN_PLATGEN=$FALSE

if [ $RUN_PLATGEN = $TRUE ]
then
## create temp tcl file to run xps
run_xps_netlist=run_xps_netlist.tcl
echo "run netlist" > $run_xps_netlist
echo "exit" >> $run_xps_netlist

## run Platgen initial time
xps -nw -scr $run_xps_netlist ${SYSTEM}.xmp

## remove temp file
rm $run_xps_netlist

fi


# 3. In your XPS project, open the "synthesis/pci32_bridge_wrapper_xst.scr" file.
# 4. Add the line "-fsm_extract no" at the end of the file.
# 5. Save the file.
echo "-fsm_extract no" >> synthesis/${PLBV46_PCI}_wrapper_xst.scr

# 6. Open a bash shell from XPS and change into the synthesis directory, and run
# "xst -ifn pci32_bridge_wrapper_xst.scr".
cd synthesis
xst -ifn ${PLBV46_PCI}_wrapper_xst.scr

# 7. Change into the implementation directory.
# 8. Rename "pci32_bridge_wrapper.ngc" to "pci32_bridge_wrapper_in.ngc".
cd ../implementation
cp ${PLBV46_PCI}_wrapper.ngc ${PLBV46_PCI}_wrapper_in.ngc

# 9. Run ngcbuild -sd pci32_bridge_wrapper -uc
# pci32_bridge_wrapper/pci32_bridge_wrapper.ucf pci32_bridge_wrapper.ngc
# pci32_bridge_wrapper_in.ngc.
ngcbuild \
-sd ${PLBV46_PCI}_wrapper \
-uc ${PLBV46_PCI}_wrapper/${PLBV46_PCI}_wrapper.ucf \
${PLBV46_PCI}_wrapper_in.ngc \
${PLBV46_PCI}_wrapper.ngc

rm ${PLBV46_PCI}_wrapper_in.ngc

# 10. Run the "synthesis.sh" script.
cd ../synthesis
./synthesis.sh

# 11. Change into your project directory and run "make -f system.make bits", or
# go back into the XPS GUI and run the "make bits" process.
# Omit if using ProjNav or XPS GUI
cd ..
make -f ${SYSTEM}.make bits



AR# 32512
作成日 04/23/2009
最終更新日 12/15/2012
ステータス アクティブ
タイプ 一般