11-24-2019 01:05 AM
For a fairly large, but not particularly complex, UltraScale design, Vivado consistently crashes during place_design Phase 1.2 (IO placement, clockplacement, build placer device), under both Linux and Windows.
Abnormal program termination (11)
Please check '/space/local_scratch/dwright/work/git/navarro_soc/dut/asic/hs_err_pid153371.log' for details
Tried both 2019.1 and 2019.2 (2018.3 hangs during synthesis gated clock conversion)
CentOS Linux release 7.6.1810 (Core)
The Linux log is below. Can someone help please, as this is seriously blocking our FPGA program.
#
# An unexpected error has occurred (11)
#
Stack:
/usr/lib64/libc.so.6(+0x36280) [0x7f8b46a66280]
/projects/edatools/ictools/xilinx/Vivado/2019.2/lib/lnx64.o/libCOIN-all.so(CoinFactorization::updateColumnTransposeLSparse(CoinIndexedVector*) const+0x125) [0x7f8b4614da25]
/projects/edatools/ictools/xilinx/Vivado/2019.2/lib/lnx64.o/libCOIN-all.so(CoinFactorization::updateColumnTranspose(CoinIndexedVector*, CoinIndexedVector*) const+0x16f) [0x7f8b4614fa4f]
/projects/edatools/ictools/xilinx/Vivado/2019.2/lib/lnx64.o/libCOIN-all.so(ClpFactorization::updateColumnTranspose(CoinIndexedVector*, CoinIndexedVector*) const+0x39) [0x7f8b46012559]
/projects/edatools/ictools/xilinx/Vivado/2019.2/lib/lnx64.o/libCOIN-all.so(ClpSimplex::computeDuals(double*)+0x569) [0x7f8b46089c49]
/projects/edatools/ictools/xilinx/Vivado/2019.2/lib/lnx64.o/libCOIN-all.so(ClpSimplex::gutsOfSolution(double*, double const*, bool)+0x309) [0x7f8b4609fd99]
/projects/edatools/ictools/xilinx/Vivado/2019.2/lib/lnx64.o/libCOIN-all.so(ClpSimplexDual::statusOfProblemInDual(int&, int, double*, ClpDataSave&, int)+0x672) [0x7f8b460b3b42]
/projects/edatools/ictools/xilinx/Vivado/2019.2/lib/lnx64.o/libCOIN-all.so(ClpSimplexDual::fastDual(bool)+0x228) [0x7f8b460b7ef8]
/projects/edatools/ictools/xilinx/Vivado/2019.2/lib/lnx64.o/libCOIN-all.so(OsiClpSolverInterface::solveFromHotStart()+0xe8c) [0x7f8b4611b76c]
/projects/edatools/ictools/xilinx/Vivado/2019.2/lib/lnx64.o/libCOIN-all.so(CbcNode::chooseDynamicBranch(CbcModel*, CbcNode*, OsiSolverBranch*&, int)+0x1a1d) [0x7f8b45eb264d]
/projects/edatools/ictools/xilinx/Vivado/2019.2/lib/lnx64.o/libCOIN-all.so(CbcModel::chooseBranch(CbcNode*&, int, CbcNode*, OsiCuts&, bool&, CoinWarmStartBasis*, double const*, double const*, OsiSolverBranch*&)+0x6ea) [0x7f8b45e9b16a]
/projects/edatools/ictools/xilinx/Vivado/2019.2/lib/lnx64.o/libCOIN-all.so(CbcModel::doOneNode(CbcModel*, CbcNode*&, CbcNode*&)+0x188a) [0x7f8b45ea261a]
/projects/edatools/ictools/xilinx/Vivado/2019.2/lib/lnx64.o/libCOIN-all.so(CbcModel::branchAndBound(int)+0x2063) [0x7f8b45ea5533]
/projects/edatools/ictools/xilinx/Vivado/2019.2/lib/lnx64.o/librdi_common.so(HUCOINWrapper::generateOptimalSolution()+0x5e) [0x7f8b47e7091e]
/projects/edatools/ictools/xilinx/Vivado/2019.2/lib/lnx64.o/librdi_common.so(HUCOINWrapper::doSolve(bool)+0xa8) [0x7f8b47e71348]
/projects/edatools/ictools/xilinx/Vivado/2019.2/lib/lnx64.o/librdi_common.so(HULPInterfaceCOIN::getIntegerSolution(bool)+0x47) [0x7f8b47e7eaa7]
/projects/edatools/ictools/xilinx/Vivado/2019.2/lib/lnx64.o/librdi_place.so(HAISioClkSolver::solveILPModel()+0x805) [0x7f8b0c66ef55]
/projects/edatools/ictools/xilinx/Vivado/2019.2/lib/lnx64.o/librdi_place.so(HAPIPlacer::placeIOs(HAPIPlacer::Param const&)+0x2b3) [0x7f8b0c0eb9f3]
/projects/edatools/ictools/xilinx/Vivado/2019.2/lib/lnx64.o/librdi_place.so(HAPIAutoTermPlaceApi2::RunIOPlacer(bool, HSTVector<HDLHTerminal const*, std::allocator<HDLHTerminal const*> > const&, HSTVector<HDLHTerminal const*, std::allocator<HDLHTerminal const*> >&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const*)+0x3276) [0x7f8b0bfc08e6]
/projects/edatools/ictools/xilinx/Vivado/2019.2/lib/lnx64.o/librdi_place.so(HAPIAutoTermPlaceApi2::canPlaceClocksAndTerms(HDPLLocSet&, HSTVector<HDLHTerminal const*, std::allocator<HDLHTerminal const*> > const&, HSTVector<HDLHTerminal const*, std::allocator<HDLHTerminal const*> >&, bool&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, bool, bool&, bool, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const*)+0x5a) [0x7f8b0bfc8d0a]
/projects/edatools/ictools/xilinx/Vivado/2019.2/lib/lnx64.o/librdi_place.so(HAPLFFlowInitializer::placeIOClock(HDPLLocSet&, HSTVector<HDLHTerminal const*, std::allocator<HDLHTerminal const*> >&, HSTVector<HDLHTerminal const*, std::allocator<HDLHTerminal const*> >&, HAPIAutoTermPlaceApi2&, bool&, bool&, bool, bool, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const*)+0x20b) [0x7f8b0cce942b]
/projects/edatools/ictools/xilinx/Vivado/2019.2/lib/lnx64.o/librdi_place.so(+0x1c80023) [0x7f8b0cceb023]
/projects/edatools/ictools/xilinx/Vivado/2019.2/lib/lnx64.o/Default/libgomp.so.1(+0x15c66) [0x7f8b404dfc66]
/usr/lib64/libpthread.so.0(+0x7dd5) [0x7f8b4681bdd5]
/usr/lib64/libc.so.6(clone+0x6d) [0x7f8b46b2dead]
11-24-2019 02:06 AM
For workaround, Did you try using different placer directives? Also, try disabling multithreading before implementation by running the following command:
set_param general.maxThreads 1
The expectation from the tool is to never crash. If you can share the post opt dcp file then I will report this to the factory to get it fixed.
I have sent you an email from ezmove (ftp) to share the files.
--Syed
11-28-2019 07:50 AM
To debug the issue, Can you please share the following files:
--Syed