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 - XST has encountered a problem and needs to close; problems with the PCI and USB cores on Windows XP

Description

When I run a design through XPS that contains a PCI core, the following message occurs:

"xst.exe has encountered a problem and needs to close.

We are sorry for the inconvenience."

How can I work around this problem?

解决方案

Resolution 1:

This problem does not occur on Linux.

Resolution 2:

To work around this issue, perform the following:

1. Open the MHS file and move the PCI/USB instance to the bottom of the MHS file.

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

3. In your XPS project, open the "synthesis/pci32_bridge_wrapper_xst.scr" or "synthesis/xps_usb2_device_0_wrapper_xst.scr" file.

4. Add the line "-fsm_extract no" at the end of the file.

5. Save the file.

6. Open a bash shell from XPS and change into the synthesis directory, and run "xst -ifn pci32_bridge_wrapper_xst.scr" or "xst -ifn xps_usb2_device_0_wrapper_xst.scr".

7. (PCI only) Change into the implementation directory.

8. (PCI only) Rename "pci32_bridge_wrapper.ngc" to "pci32_bridge_wrapper_in.ngc".

9. (PCI only) Run ngcbuild -sd pci32_bridge_wrapper -uc pci32_bridge_wrapper/pci32_bridge_wrapper.ucf pci32_bridge_wrapper_in.ngc pci32_bridge_wrapper.ngc.

10. Run the "synthesis.sh" script in the synthesis directory.

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.

Below is a shell script that automates the above process for the PCI Core:

#!/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
Last Updated 12/15/2012
状态 Active
Type 综合文章