cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
foucher
Contributor
Contributor
16,491 Views
Registered: ‎02-08-2010

PAR fails... without error (Tested on 12.1, 13.3, 13.4 and 14.2)

Hi,

 

I'm using ISE 12.1 to generate a design.

 

I use XPS to prepare the static part of the design.

Then, I switch to PlanAhead to add reconfigurable areas to replace black boxes in my IPs.

This procedure have been tested and validated upon many designs.

 

But in one design, PlanAhead fails telling a "PAR error".

But when I look to the PAR report, I have the following :

 



Generating Pad Report.

All signals are completely routed.

WARNING:Par:283 - There are 166 loadless signals in this design. This design will cause Bitgen to issue DRC warnings.

Total REAL time to PAR completion: 2 mins 12 secs
Total CPU time to PAR completion: 2 mins 18 secs

Peak Memory Usage:  1012 MB

Placer: Placement generated during map.
Routing: Completed - No errors found.
Timing: Completed - No errors found.

Number of error messages: 0
Number of warning messages: 169
Number of info messages: 2

Writing design to file config_1_routed.ncd



PAR done!

 

 

 

 

 

 

Also, unroutes report says "All signals are completely routed."

 

Do you have any idea where could I search for the error?

 

 

Thank you.

0 Kudos
15 Replies
woodsd
Xilinx Employee
Xilinx Employee
16,480 Views
Registered: ‎04-16-2008

I agree that the PAR report you provided completed successfully.  Without more information it is hard to guess what may have happenned, but I would check a couple things:

 

  • In the Design Runs window, do you have a run that is marked as "Par Error"?  If so make sure you grab the par report from the correct run.  For instance if "config_2" is marked as failing, there may be a directory called "config_2" as well one called "config_2_1" in the ".runs" folder.  This can happen by resetting runs an not removing the data.  In this case, you need to make sure you are looking in the folder that is currently being used by planAhead.
  • Check the PlanAhead.log file and see if you see a PlanAhead error in there.  The error you got may have been a planAhead error, and not a Par error.  

If you still can't figure this out, you may need to reset the failing run, rerun, and provide more details on exactly what the message was.

 

I hope this helps!

0 Kudos
foucher
Contributor
Contributor
16,477 Views
Registered: ‎02-08-2010

This is the correct run for sure: I rebuilt the PlanAhead project from scratch to be sure of the error.

 

But I'll check the PlanAhead.log file:you're right, it may be a PlanAhead error occuring during the PAR phase, and so reported as a PAR error.

 

Thanks for your help, I'll post here again when I have read the file.

0 Kudos
woodsd
Xilinx Employee
Xilinx Employee
16,474 Views
Registered: ‎04-16-2008

There should also be a "runme.log" file in the implementation directory.  There are a couple of tools that run after par (timing, xdl, and optionally bitgen).  It is possible that one of these failed as well.  If the planAhead.log doesn't show anything, then try to look in the "runme.log"

foucher
Contributor
Contributor
16,463 Views
Registered: ‎02-08-2010

You were right: the error, while reported as a PAR error, occurs after the PAR process.

 

The runme.log file indicates:

 

 

 


Generating Pad Report.

All signals are completely routed.

WARNING:Par:283 - There are 166 loadless signals in this design. This design will cause Bitgen to issue DRC warnings.

Total REAL time to PAR completion: 2 mins 12 secs
Total CPU time to PAR completion: 2 mins 18 secs

Peak Memory Usage:  1012 MB

Placer: Placement generated during map.
Routing: Completed - No errors found.
Timing: Completed - No errors found.

Number of error messages: 0
Number of warning messages: 169
Number of info messages: 2

Writing design to file config_1_routed.ncd



PAR done!
./ISEWrap.sh: line 51:  9429 Segmentation fault      $ISE_STEP $* >> $HD_LOG 2>&1

 

 

 

It seems an internal error of a post-PAR tool.

 

I tried reinstalling the environment and cleaning all files in ~/.Xilinx but error still happens.

 

 

Line 51 of ISEWrap.sh indicates "wait $ISE_PID", but text reffered to ($ISE_STEP $* >> $HD_LOG 2>&1 &) is located at line 31.

 

Is it possible it is a problem outside PlanAhead, or do you think it is linked to the tool?

0 Kudos
woodsd
Xilinx Employee
Xilinx Employee
16,449 Views
Registered: ‎04-16-2008

I haven't seen this.  I don't know the cause.  Is it possible for you to upgrade to the latest tools?  This may be a problem with the 12.1 tools, plus there have been many enhancements and fixes to the PR solution since 12.1.  Since PR is a cutting edge technology, we strongly recommend that you stay current with our software.

 

 

0 Kudos
foucher
Contributor
Contributor
16,440 Views
Registered: ‎02-08-2010

Now that I see where the problem is, I'll investigate it.

 

I couldn't upgrade to tools more recent, since there were other problems that prevented me from building a functionnal design using my flow.

 

Anyway, I should check the recent 13.4 version, since these bugs may have been solved.

 

Thank you for your help and for enabling me to locate the problem.

0 Kudos
tecepe
Visitor
Visitor
16,420 Views
Registered: ‎02-01-2012

Hello

I have the same problem here.

Two months ago a project was fully functional, but stopped working this week, when I had to recompile it, accusing:

. / ISEWrap.sh: line 51: 30294 Segmentation fault (core dumped) $ ISE_STEP "$ @">> $ HD_LOG 2> & 1

despite being the code shown in line 31 the script ISEWrap.sh.

Tested in version 13.2 of Planahead, which was the original, and the latest version, 13.4. My version is GNU / Linux.

What kind of information you need so that I can help you guys help me?

0 Kudos
nezhate
Visitor
Visitor
16,354 Views
Registered: ‎12-22-2011

Hi!

 

I have the same error. I'm using PlanAhead 13.4 under Fedora 15.

When TRCE is executed, this error occurs. 

To work arround, do this:

 - Launch your implemetation normally as you do before.

 - Wait for "implemetation failed"

 - In command line, open the runme file loctaed on : your_project/your_project.runs/impl_1/

 - Comment out all the lines but the two last ones that begin with EASTEP.

 - Run the runme.sh script

You will notice that PlanAhead will get the feedback from the commands being executed and will endup the process successfully.


sebastianr
Visitor
Visitor
16,263 Views
Registered: ‎11-17-2010

Hi,

 

although the last post lies few months in the past, I hope, someone can still help me. I have exactly the same problem with planAhead (13.4) under Fedora 16. I tried the workarround described by nexhate, but it results in exactly the same error.

Only to be sure. I only commented out three lines of the last 5 lines in the file:

#EAStep ngdbuild ...
#EAStep map  ...
#EAStep par  ...
EAStep trce  ...
EAStep xdl ...

 

All the other definitions/declarations in runme.sh I left untouched.

 

EDIT: Now, this workarround also works for me! Can't say, what exactly the reason is. I also made some changes with the usg driver for the jtag cable and so on.

 

 

regards,

Sebastian

0 Kudos
foucher
Contributor
Contributor
14,765 Views
Registered: ‎02-08-2010

I'm now on 13.3 and the problem is still here.

 

I've tried the workaround, but it didn't worked for me.

When I run the script, it says files are missing (in my project it's <partially_reconf_area_name>_routed.ncd). It makes sense as the PAR step hasn't be done at all (fail occurs at MAP step). When I uncomment the "EAStep par ..." line, I obtain the same error on file <partially_reconf_area_name>.ncd... Which is still coherent if MAP step hasn't been completed.

 

Any idea ? I can't move to a more recent version as all the members of the reaserch project I work on are using this version.

 

I'm thinking the problems is not inside PlanAhead, but linked to the shell used by the tool. I'm on Fedora too.

 

Maybe I'll try to install another shell and force its use if I can.

0 Kudos
foucher
Contributor
Contributor
14,760 Views
Registered: ‎02-08-2010

Tested using PlanAhead 14.2, just to see... and error is still here.

 

I also tried to use a different shell (sh instead of bash), same error.


I still think the problem resides in an external tool used by PlanAhead, as there was no error before, and I hadn't updated Xilinx tools when the problem has begin to occur. This is why I think the problem was bring on by a system update of some system tool used by PlanAhead.

 

Anyway, I'm unable to work correcly right now. I dunno what I'm gonna do. Maybe install a virtual Windows to run the tools (I know for sure the error isn't there in windows version of PlanAhead)? It would slow down the whole process, but I would be at least able to work.

0 Kudos
diplomat
Visitor
Visitor
14,706 Views
Registered: ‎07-15-2010

Same problem here on both PlanAhead 14.2 and 13.2.

Synthesis always fails with

 

*** Running xst
    with args -ifn crc_example.xst -ofn crc_example.srp -intstyle ise

./ISEWrap.sh: Zeile 46: 15570 Speicherzugriffsfehler  $ISE_STEP $* >> $HD_LOG 2>&1

 

 

The ISEWrap.sh looks as follows, line 46 is marked with *$*

#!/bin/sh

#
#  PlanAhead(TM)
#  ISEWrap.sh: ExploreAhead Script for UNIX
#  Copyright 1986-1999, 2001-2010 Xilinx, Inc. All Rights Reserved.
#

HD_LOG=$1
shift

# CHECK for a STOP FILE
if [ -f .stop.rst ]
then
echo ""                                        >> $HD_LOG
echo "*** Halting run - EA reset detected ***" >> $HD_LOG
echo ""                                        >> $HD_LOG
exit 1
fi

ISE_STEP=$1
shift

# WRITE STEP HEADER to LOG
echo ""                      >> $HD_LOG
echo "*** Running $ISE_STEP" >> $HD_LOG
echo "    with args $*"      >> $HD_LOG
echo ""                      >> $HD_LOG

# LAUNCH!
$ISE_STEP $* >> $HD_LOG 2>&1 &

# BEGIN file creation
ISE_PID=$!
if [ X != X$HOSTNAME ]
then
ISE_HOST=$HOSTNAME #bash
else
ISE_HOST=$HOST     #csh
fi
ISE_USER=$USER
ISE_BEGINFILE=.$ISE_STEP.begin.rst
/bin/touch $ISE_BEGINFILE
echo "<?xml version=\"1.0\"?>"                                                                     >> $ISE_BEGINFILE
echo "<ProcessHandle Version=\"1\" Minor=\"0\">"                                                   >> $ISE_BEGINFILE
*$*echo "    <Process Command=\"$ISE_STEP\" Owner=\"$ISE_USER\" Host=\"$ISE_HOST\" Pid=\"$ISE_PID\">" >> $ISE_BEGINFILE
echo "    </Process>"                                                                              >> $ISE_BEGINFILE
echo "</ProcessHandle>"                                                                            >> $ISE_BEGINFILE

# WAIT for ISEStep to finish
wait $ISE_PID

# END/ERROR file creation
RETVAL=$?
if [ $RETVAL -eq 0 ]
then
    /bin/touch .$ISE_STEP.end.rst
else
    /bin/touch .$ISE_STEP.error.rst
fi

exit $RETVAL

 

My top level file looks like this, but PlanAhead does not even come to the point where it takes a lool at the file:

library ieee;
use ieee.std_logic_1164.all;
use ieee.numeric_std.all;

entity crc_example is
  port (
    clk_i  : in  std_logic;             --! Global Clock
    rst_i  : in  std_logic;             --! Global Reset
    data_i : in  std_logic_vector(7 downto 0);
    crc_o  : out std_logic_vector(7 downto 0)
    );
end crc_example;

architecture behavioral of crc_example is

begin

-- purpose: Tests the CRC function which resides inside the crc_pack.vhd
-- type   : sequential
-- inputs : clk_i, rst_i
-- outputs:
  CrcGen_f_p : process (clk_i) is
  begin  -- process CrcGen_f_p
    if rising_edge(clk_i) then          -- rising clock edge
      if rst_i = '1' then               -- synchronous reset (active high)
        crc_func_s <= (others => '0');

      else
        crc_func_s <= std_logic_vector(unsigned(data_i) + 1);

      end if;
    end if;
  end process CrcGen_f_p;

  crc_o <= crc_func_s;

end behavioral;

 

 

As you can see project is really minimal and the tools work good with another project.

Any ideas?

 

0 Kudos
diplomat
Visitor
Visitor
14,701 Views
Registered: ‎07-15-2010

Works now.

Don't know what the problem was.

Seems to be an environment issue. It works when I start PlanAhead from xterm and not from Terminator. Closing the other bash session and opening it again helped.

 

0 Kudos
foucher
Contributor
Contributor
14,675 Views
Registered: ‎02-08-2010

I tried using xterm too (instead of gnome's Terminal), but still the same problem...

 

What do you mean by "closing the other bash session"?

0 Kudos
diplomat
Visitor
Visitor
14,672 Views
Registered: ‎07-15-2010

Sorry for the impreceiseness.

I simply closed the Bash shell from which I started Plan Ahead. Then I started a new Bash, started Plan Ahead and everything worked well.

0 Kudos