• Skip to main content
  • Skip to search
  • Skip to footer
Cadence Home
  • This search text may be transcribed, used, stored, or accessed by our third-party service providers per our Cookie Policy and Privacy Policy.

  1. Community Forums
  2. Mixed-Signal Design
  3. Problem with ahdlcmi module library

Stats

  • Locked Locked
  • Replies 4
  • Subscribers 64
  • Views 11968
  • Members are here 0
This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Problem with ahdlcmi module library

ID90
ID90 over 4 years ago

Dear all,

I was trying to use a Verilog-A model in Schematic in Virtuoso 6.1.7 when I face this error:

ERROR (VACOMP-1008): Cannot compile ahdlcmi module library. Check the log file /home/user/simulation/test/resistor2/maestro/results/maestro/ExplorerRun.0/sharedData/CDS/ahdl/input.ahdlSimDB/fab661f1fa96360ff38130bd9cccbf21.resistor1.ahdlcmi/Linux-64//..//ahdlcmi.out for details. Contact your Cadence Customer Support representative with the netlist, log files, behavioral model files, and any other information that can help identify the problem.
ERROR (SFE-91): Error when elaborating the instance resistor1. Simulation should be terminated.

I attached the log file to this post. I would be happy to receive your help. Thanks in advance.

Best regards,

Iman Dadras

Fullscreen ahdlcmi.txt Download
ahdlcmicompile: Compiling ahdlcmi in /home/dadras/simulation/test/resistor2/maestro/results/maestro/ExplorerRun.0/sharedData/CDS/ahdl/input.ahdlSimDB/fab661f1fa96360ff38130bd9cccbf21.resistor1.ahdlcmi/Linux-64/ for Linux-64 with optimize using gcc on Mon Jun 28 14:52:10 EEST 2021 [5.0]
ahdlcmicompile: Generating makefile
PATH:  /eda/cadence/2017-18/RHELx86/SPECTRE_16.10.614/bin:/eda/cadence/2017-18/RHELx86/SPECTRE_16.10.614/tools.lnx86/bin/64bit:/eda/cadence/2017-18/RHELx86/SPECTRE_16.10.614/tools.lnx86/bin:/eda/cadence/2017-18/RHELx86/IC_6.1.7.715/bin:/eda/cadence/2017-18/RHELx86/IC_6.1.7.715/tools/bin:/eda/cadence/2017-18/RHELx86/IC_6.1.7.715/tools/bin/64bit:/eda/cadence/2017-18/RHELx86/IC_6.1.7.715/share/oa/bin:/eda/cadence/2017-18/RHELx86/SPB_17.20.028/tools/mainwin540/mw/bin-amd64_linux_optimized:/eda/cadence/2017-18/RHELx86/SPB_17.20.028/tools/mainwin540/mw/bin:/eda/cadence/2017-18/RHELx86/SPB_17.20.028/tools/jre/bin:/opt/JDK18/bin:/eda/cadence/2017-18/RHELx86/INCISIVE_15.20.038/kits/VerificationKit/bin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/cad/tt/lnx/bin:/cad/MATLAB/R2021a/bin:/cad/sigasi:/cad/ard/bin:/cad/argo/bin:/cad/bista:/cad/jsp:/cad/eagle/7.7.0/bin:/cad/bc:/eda/cadence/2017-18/RHELx86/INCISIVE_15.20.038/bin:/eda/cadence/2017-18/RHELx86/INCISIVE_15.20.038/tools/bin:/eda/cadence/2017-18/RHELx86/INCISIVE_15.20.038/tools/systemc/gcc/bin:/eda/cadence/2017-18/RHELx86/CONFRML_17.10.240/bin:/eda/cadence/2017-18/RHELx86/INNOVUS_17.11.000/bin:/eda/cadence/2017-18/RHELx86/GENUS_17.11.000/bin:/eda/cadence/2017-18/RHELx86/IC_6.1.7.715/tools/dfII/bin:/eda/cadence/2017-18/RHELx86/EXT_17.12.000/bin:/eda/cadence/2017-18/RHELx86/ASSURA_04.15.111/tools/bin:/eda/cadence/2017-18/RHELx86/ASSURA_04.15.111/tools/assura/bin:/eda/cadence/2017-18/RHELx86/ASSURA_04.15.111/bin:/eda/cadence/2017-18/RHELx86/INDAGO_17.04.014/bin:/eda/cadence/2017-18/RHELx86/JASPER_2017.09.000/jasper_2017.09/bin:/eda/cadence/2017-18/RHELx86/JLS_17.11.000/bin:/eda/cadence/2017-18/RHELx86/LIBERATE_16.14.122/bin:/eda/cadence/2017-18/RHELx86/MDV_17.04.006/bin:/eda/cadence/2017-18/RHELx86/MODUS_17.10.000/bin:/eda/cadence/2017-18/RHELx86/MVS_17.13.000/bin:/eda/cadence/2017-18/RHELx86/PVS_16.11.000/bin:/eda/cadence/2017-18/RHELx86/SPB_17.20.028/tools/dfII/bin:/eda/cadence/2017-18/RHELx86/SPB_17.20.028/tools/pcb/bin:/eda/cadence/2017-18/RHELx86/SPB_17.20.028/tools/bin:/eda/cadence/2017-18/RHELx86/SPB_17.20.028/tools/fet/bin:/eda/cadence/2017-18/RHELx86/SIG_17.00.006/tools/bin:/eda/cadence/2017-18/RHELx86/SSV_17.11.000/bin:/eda/cadence/2017-18/RHELx86/STRATUS_17.13.100/bin:/eda/cadence/2017-18/RHELx86/VIPCAT_11.30.051/tools/bin:/cad/dk/c/tsmc/LP/bin
LD_LIBRARY_PATH:  /eda/cadence/2017-18/RHELx86/SPECTRE_16.10.614/tools.lnx86/giganta/lib/64bit:/eda/cadence/2017-18/RHELx86/SPECTRE_16.10.614/tools.lnx86/mdl/lib/64bit:/eda/cadence/2017-18/RHELx86/SPECTRE_16.10.614/tools.lnx86/mmsim/lib/64bit:/eda/cadence/2017-18/RHELx86/SPECTRE_16.10.614/tools.lnx86/tcltk-8.4.20/lib/64bit:/eda/cadence/2017-18/RHELx86/SPECTRE_16.10.614/tools.lnx86/inca/lib/64bit:/eda/cadence/2017-18/RHELx86/SPECTRE_16.10.614/tools.lnx86/spectre/lib/64bit:/eda/cadence/2017-18/RHELx86/SPECTRE_16.10.614/tools.lnx86/dfII/lib/64bit:/eda/cadence/2017-18/RHELx86/SPECTRE_16.10.614/tools.lnx86/lib/64bit:/eda/cadence/2017-18/RHELx86/SPECTRE_16.10.614/tools.lnx86/lib:/eda/cadence/2017-18/RHELx86/SPECTRE_16.10.614/tools.lnx86/lib/64bit/SuSE/SLES11:/eda/cadence/2017-18/RHELx86/IC_6.1.7.715/tools/lib:/eda/cadence/2017-18/RHELx86/IC_6.1.7.715/tools/lib/SuSE/SLES12:/eda/cadence/2017-18/RHELx86/IC_6.1.7.715/share/oa/lib/linux_rhel50_gcc48x_64/opt:/eda/cadence/2017-18/RHELx86/IC_6.1.7.715/tools/Qt/64bit/lib:/eda/cadence/2017-18/RHELx86/IC_6.1.7.715/tools/dfII/lib/64bit:/eda/cadence/2017-18/RHELx86/IC_6.1.7.715/tools/sev/lib/64bit:/eda/cadence/2017-18/RHELx86/IC_6.1.7.715/tools/lib/64bit:/eda/cadence/2017-18/RHELx86/IC_6.1.7.715/tools/hdf5/lib/64bit:/eda/cadence/2017-18/RHELx86/IC_6.1.7.715/tools/lz4/lib/64bit:/eda/cadence/2017-18/RHELx86/INCISIVE_15.20.038/tools.lnx86/lib/64bit:/eda/cadence/2017-18/RHELx86/IC_6.1.7.715/tools/lib/64bit/SuSE/SLES12:/eda/cadence/2017-18/RHELx86/SPB_17.20.028/tools/jre/lib/i386/server:/eda/cadence/2017-18/RHELx86/SPB_17.20.028/tools/jre/lib/i386:/eda/cadence/2017-18/RHELx86/SPB_17.20.028/tools/jre64/lib/amd64/server:/eda/cadence/2017-18/RHELx86/SPB_17.20.028/tools/Qt/64bit/lib:/eda/cadence/2017-18/RHELx86/SPB_17.20.028/tools/mainwin540/mw/../misc/linux/gcc/fixed3/lib:/eda/cadence/2017-18/RHELx86/SPB_17.20.028/tools/bin:/eda/cadence/2017-18/RHELx86/SPB_17.20.028/tools/mainwin540/mw/lib-amd64_linux_optimized:/usr/dt/lib:/usr/openwin/lib:/eda/cadence/2017-18/RHELx86/SPB_17.20.028/tools/lib/64bit:/eda/cadence/2017-18/RHELx86/SPB_17.20.028/tools/dfII/lib/64bit:/eda/cadence/2017-18/RHELx86/SPB_17.20.028/tools/jre/lib:/eda/cadence/2017-18/RHELx86/SPB_17.20.028/tools/jre/lib/i386/client:/eda/cadence/2017-18/RHELx86/SPB_17.20.028/tools/jre/lib/i386/native_threads:/eda/cadence/2017-18/RHELx86/SPB_17.20.028/tools/jre/lib/i386:/usr/openwin/lib
/eda/cadence/2017-18/RHELx86/SPECTRE_16.10.614/tools.lnx86/spectre/ahdlcmi/bin/gnumake -j32 -f GNUmakefile
Cleaning ./obj/optimize/5.0
rm -f -rf ./obj/optimize/5.0
Compiling C file resistor1.c (optimize)
/eda/cadence/2017-18/RHELx86/SPECTRE_16.10.614/tools.lnx86/cdsgcc/gcc/4.8/bin/gcc  -march=k8 -ffast-math  -fno-unsafe-math-optimizations -O3 -m64 -DSYSV -DSVR4 -D_REENTRANT -fPIC   -DconfigSPECTRE -I. -I/eda/cadence/2017-18/RHELx86/SPECTRE_16.10.614/tools.lnx86/spectre/ahdlcmi/include -c resistor1.c -o obj/optimize/5.0/resistor1.o || rm -f -f obj/optimize/5.0/resistor1.o
resistor1.c: In function 'resistor1_pDC_Load':
resistor1.c:979:966: warning: passing argument 1 of 'aslDevFillZeorDiagonalElemet' makes pointer from integer without a cast [enabled by default]
  aslDevSetAnalysisNameAndType( NULL, &(pfuncModeParam->analType) ); pfuncModeParam->pModelKnot_ = pModelKnot; if (aslDevAutomaticSourceRamping() && ((1.0 - aslDevSpectreSourceLevel(pfuncModeParam)) > machResolution))  pfuncModeParam->doSourceRamping_ = doSourceRamping = 1; pfuncModeParam->pStaticRHS_ = StaticRHS; pfuncModeParam->pStaticRHS_AbsSum_ = StaticRHS_AbsSum; pfuncModeParam->nAhdlWhatsNeeded_ = WhatsNeeded; pfuncModeParam->pFuncSolution_ = Solution; pfuncModeParam->nInDC_ = 1; pfuncModeParam->codeSection_ = 2; if (Time) {  pfuncModeParam->analTime = Time->Real;  anal_mode = 64 | 2; } else {  pfuncModeParam->analTime = 0.0;  anal_mode = 2; } while (pModelKnot) {  pfuncModeParam->pModelKnot_ = pModelKnot;  pInstKnot = devGetModelInstances(pModelKnot);  while (pInstKnot) {   pfuncModeParam->pInstKnot_ = pInstKnot;   pInst = (resistor1_Inst *)devGetInstData(pInstKnot);   pState = (resistor1_State *)devGetInstState(pInstKnot);   pStencil = (struct resistor1StencilData *)devGetInstStencil(pInstKnot);   pfuncModeParam->ahdlRestoreFail = pState->ahdlRestoreFail;   pfuncModeParam->contrInfoPtr = pState->contrInfoPtr;   pfuncModeParam->ahdlMemAllList = (void **)&(pState->pAllPtrLists_);   pState->pSolution = Solution;   msgReturnIfError(aslDevClearIterMemRefLists(pfuncModeParam));   if (doSourceRamping) {    if (aslDevNeedsRHSInfo((char *)devGetInstSignals(pInstKnot), pState->rhs_values)) {     Severity = resistor1_pGetRhsForSourceRamping(anal_mode, 15, pfuncModeParam);     pfuncModeParam->nSeverity_ = MAX( pfuncModeParam->nSeverity_, Severity );     if (pfuncModeParam->nSeverity_ == msgFatal)      return msgFatal;    }   }   pfuncModeParam->nodeClaspReln = &(pState->nodeClaspReln);   if (WhatsNeeded IS devDerivNeeded)    pfuncModeParam->nAhdlFuncMode_ = 14;   else    pfuncModeParam->nAhdlFuncMode_ = 15;   {    char *instDataAddrList[] = {(char *)pInst, NULL};    char *stateDataAddrList[] = {(char *)pState, NULL};    pfuncModeParam->anal_mode = anal_mode;    pfuncModeParam->instData = instDataAddrList;    pfuncModeParam->stateData = stateDataAddrList;    pfuncModeParam->stenData = (char *)devGetInstStencil(pfuncModeParam->pInstKnot_);    pfuncModeParam->sigData = (char *)devGetInstSignals(pfuncModeParam->pInstKnot_);    if ((WhatsNeeded IS devDynamicDerivNeeded) && !aslDevIsFSFlow())     Severity = resistor1_TranFuncDerLoad(pfuncModeParam);    else if (WhatsNeeded IS devDerivNeeded)     Severity = resistor1_DcFuncDerLoad(pfuncModeParam);    else     Severity = resistor1_DcFuncLoad(pfuncModeParam);   }   if (doSourceRamping) {    aslDevHandleSourceRamping(pfuncModeParam, pState->rhs_values);   }   pfuncModeParam->nSeverity_ = MAX( pfuncModeParam->nSeverity_, (int)Severity );   if (pfuncModeParam->nSeverity_ >= msgAmputate) {    return pfuncModeParam->nSeverity_;   }   aslDevFillZeorDiagonalElemet(pStencil->dignal_sten_addr_32, pStencil->dignal_sten_size_40, WhatsNeeded, pfuncModeParam);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      ^
In file included from resistor1.c:24:0:
/eda/cadence/2017-18/RHELx86/SPECTRE_16.10.614/tools.lnx86/spectre/ahdlcmi/include/ahdlDevLibGlobal.h:2513:37: note: expected 'void *' but argument is of type 'long int'
     ASL_FUNC_DECL_START extern void aslDevFillZeorDiagonalElemet( void *, int, unsigned int, struct ahdlFuncModeParam * );
                                     ^
resistor1.c: In function 'resistor1_pCompare':
resistor1.c:1018:1384: warning: assignment makes integer from pointer without a cast [enabled by default]
   struct devMiscInfo *pMiscInfo, GenericPtr Jacobian){ if ((pOldModelKnot == NULL) || (pNewModelKnot == NULL)) {  struct resistor1InstData  *oldInstData = NULL, *newInstData = NULL;  oldInstData = (struct resistor1InstData* ) devGetInstData( pOldInstKnot );  newInstData = (struct resistor1InstData* ) devGetInstData( pNewInstKnot );  struct resistor1ModData  *oldModData = NULL, *newModData = NULL;  oldModData = (struct resistor1ModData* ) devGetModelData( devGetInstModelKnot( pOldInstKnot ) );  newModData = (struct resistor1ModData* ) devGetModelData( devGetInstModelKnot( pNewInstKnot ) );  memcpy( devGetInstSignals(pNewInstKnot), devGetInstSignals(pOldInstKnot), 24);  struct resistor1StencilData  *oldStenData = NULL, *newStenData = NULL;  oldStenData = (struct resistor1StencilData* ) devGetInstStencil( pOldInstKnot );  newStenData = (struct resistor1StencilData* ) devGetInstStencil( pNewInstKnot );  spReplaceMatrixPointer( Jacobian, &oldStenData->dignal_quartet_addr_48, &newStenData->dignal_quartet_addr_48);  spReplaceMatrixPointer( Jacobian, &oldStenData->dignal_quartet_size_56, &newStenData->dignal_quartet_size_56);  aslDevSpReplaceMatrixTemp( Jacobian, &oldStenData->vccs_cntrl_0, &newStenData->vccs_cntrl_0);  newStenData->dignal_sten_size_40 = oldStenData->dignal_sten_size_40;  if ( newStenData->dignal_sten_size_40 > 0 ) {   newStenData->dignal_sten_addr_32 = ( long * )calloc( newStenData->dignal_sten_size_40, sizeof(long) );   memcpy( newStenData->dignal_sten_addr_32 , oldStenData->dignal_sten_addr_32, sizeof(long)*newStenData->dignal_sten_size_40 );  } else    newStenData->dignal_sten_addr_32 = NULL;  return NO; } return NO;}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        ^
resistor1.c:1018:854: warning: passing argument 1 of 'memcpy' makes pointer from integer without a cast [enabled by default]
   struct devMiscInfo *pMiscInfo, GenericPtr Jacobian){ if ((pOldModelKnot == NULL) || (pNewModelKnot == NULL)) {  struct resistor1InstData  *oldInstData = NULL, *newInstData = NULL;  oldInstData = (struct resistor1InstData* ) devGetInstData( pOldInstKnot );  newInstData = (struct resistor1InstData* ) devGetInstData( pNewInstKnot );  struct resistor1ModData  *oldModData = NULL, *newModData = NULL;  oldModData = (struct resistor1ModData* ) devGetModelData( devGetInstModelKnot( pOldInstKnot ) );  newModData = (struct resistor1ModData* ) devGetModelData( devGetInstModelKnot( pNewInstKnot ) );  memcpy( devGetInstSignals(pNewInstKnot), devGetInstSignals(pOldInstKnot), 24);  struct resistor1StencilData  *oldStenData = NULL, *newStenData = NULL;  oldStenData = (struct resistor1StencilData* ) devGetInstStencil( pOldInstKnot );  newStenData = (struct resistor1StencilData* ) devGetInstStencil( pNewInstKnot );  spReplaceMatrixPointer( Jacobian, &oldStenData->dignal_quartet_addr_48, &newStenData->dignal_quartet_addr_48);  spReplaceMatrixPointer( Jacobian, &oldStenData->dignal_quartet_size_56, &newStenData->dignal_quartet_size_56);  aslDevSpReplaceMatrixTemp( Jacobian, &oldStenData->vccs_cntrl_0, &newStenData->vccs_cntrl_0);  newStenData->dignal_sten_size_40 = oldStenData->dignal_sten_size_40;  if ( newStenData->dignal_sten_size_40 > 0 ) {   newStenData->dignal_sten_addr_32 = ( long * )calloc( newStenData->dignal_sten_size_40, sizeof(long) );   memcpy( newStenData->dignal_sten_addr_32 , oldStenData->dignal_sten_addr_32, sizeof(long)*newStenData->dignal_sten_size_40 );  } else    newStenData->dignal_sten_addr_32 = NULL;  return NO; } return NO;}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      ^
In file included from /eda/cadence/2017-18/RHELx86/SPECTRE_16.10.614/tools.lnx86/spectre/ahdlcmi/include/ahdlPiCmi.h:5:0,
                 from /eda/cadence/2017-18/RHELx86/SPECTRE_16.10.614/tools.lnx86/spectre/ahdlcmi/include/ahdlDevLibGlobal.h:83,
                 from resistor1.c:24:
/usr/include/string.h:42:14: note: expected 'void * __restrict__' but argument is of type 'long int'
 extern void *memcpy (void *__restrict __dest, const void *__restrict __src,
              ^
resistor1.c:1018:854: warning: passing argument 2 of 'memcpy' makes pointer from integer without a cast [enabled by default]
   struct devMiscInfo *pMiscInfo, GenericPtr Jacobian){ if ((pOldModelKnot == NULL) || (pNewModelKnot == NULL)) {  struct resistor1InstData  *oldInstData = NULL, *newInstData = NULL;  oldInstData = (struct resistor1InstData* ) devGetInstData( pOldInstKnot );  newInstData = (struct resistor1InstData* ) devGetInstData( pNewInstKnot );  struct resistor1ModData  *oldModData = NULL, *newModData = NULL;  oldModData = (struct resistor1ModData* ) devGetModelData( devGetInstModelKnot( pOldInstKnot ) );  newModData = (struct resistor1ModData* ) devGetModelData( devGetInstModelKnot( pNewInstKnot ) );  memcpy( devGetInstSignals(pNewInstKnot), devGetInstSignals(pOldInstKnot), 24);  struct resistor1StencilData  *oldStenData = NULL, *newStenData = NULL;  oldStenData = (struct resistor1StencilData* ) devGetInstStencil( pOldInstKnot );  newStenData = (struct resistor1StencilData* ) devGetInstStencil( pNewInstKnot );  spReplaceMatrixPointer( Jacobian, &oldStenData->dignal_quartet_addr_48, &newStenData->dignal_quartet_addr_48);  spReplaceMatrixPointer( Jacobian, &oldStenData->dignal_quartet_size_56, &newStenData->dignal_quartet_size_56);  aslDevSpReplaceMatrixTemp( Jacobian, &oldStenData->vccs_cntrl_0, &newStenData->vccs_cntrl_0);  newStenData->dignal_sten_size_40 = oldStenData->dignal_sten_size_40;  if ( newStenData->dignal_sten_size_40 > 0 ) {   newStenData->dignal_sten_addr_32 = ( long * )calloc( newStenData->dignal_sten_size_40, sizeof(long) );   memcpy( newStenData->dignal_sten_addr_32 , oldStenData->dignal_sten_addr_32, sizeof(long)*newStenData->dignal_sten_size_40 );  } else    newStenData->dignal_sten_addr_32 = NULL;  return NO; } return NO;}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      ^
In file included from /eda/cadence/2017-18/RHELx86/SPECTRE_16.10.614/tools.lnx86/spectre/ahdlcmi/include/ahdlPiCmi.h:5:0,
                 from /eda/cadence/2017-18/RHELx86/SPECTRE_16.10.614/tools.lnx86/spectre/ahdlcmi/include/ahdlDevLibGlobal.h:83,
                 from resistor1.c:24:
/usr/include/string.h:42:14: note: expected 'const void * __restrict__' but argument is of type 'long int'
 extern void *memcpy (void *__restrict __dest, const void *__restrict __src,
              ^
resistor1.c:1018:1626: warning: assignment makes integer from pointer without a cast [enabled by default]
   struct devMiscInfo *pMiscInfo, GenericPtr Jacobian){ if ((pOldModelKnot == NULL) || (pNewModelKnot == NULL)) {  struct resistor1InstData  *oldInstData = NULL, *newInstData = NULL;  oldInstData = (struct resistor1InstData* ) devGetInstData( pOldInstKnot );  newInstData = (struct resistor1InstData* ) devGetInstData( pNewInstKnot );  struct resistor1ModData  *oldModData = NULL, *newModData = NULL;  oldModData = (struct resistor1ModData* ) devGetModelData( devGetInstModelKnot( pOldInstKnot ) );  newModData = (struct resistor1ModData* ) devGetModelData( devGetInstModelKnot( pNewInstKnot ) );  memcpy( devGetInstSignals(pNewInstKnot), devGetInstSignals(pOldInstKnot), 24);  struct resistor1StencilData  *oldStenData = NULL, *newStenData = NULL;  oldStenData = (struct resistor1StencilData* ) devGetInstStencil( pOldInstKnot );  newStenData = (struct resistor1StencilData* ) devGetInstStencil( pNewInstKnot );  spReplaceMatrixPointer( Jacobian, &oldStenData->dignal_quartet_addr_48, &newStenData->dignal_quartet_addr_48);  spReplaceMatrixPointer( Jacobian, &oldStenData->dignal_quartet_size_56, &newStenData->dignal_quartet_size_56);  aslDevSpReplaceMatrixTemp( Jacobian, &oldStenData->vccs_cntrl_0, &newStenData->vccs_cntrl_0);  newStenData->dignal_sten_size_40 = oldStenData->dignal_sten_size_40;  if ( newStenData->dignal_sten_size_40 > 0 ) {   newStenData->dignal_sten_addr_32 = ( long * )calloc( newStenData->dignal_sten_size_40, sizeof(long) );   memcpy( newStenData->dignal_sten_addr_32 , oldStenData->dignal_sten_addr_32, sizeof(long)*newStenData->dignal_sten_size_40 );  } else    newStenData->dignal_sten_addr_32 = NULL;  return NO; } return NO;}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          ^
resistor1.c: In function 'resistor1_pGetMatrixPointers':
resistor1.c:1024:2369: warning: assignment makes integer from pointer without a cast [enabled by default]
   struct devMiscInfo *pMiscInfo, GenericPtr Jacobian){ msgSeverity Severity = msgIgnore; extern int resistor1_GetMatrixPointers(struct ahdlFuncModeParam *); struct ahdlFuncModeParam funcModeParam;  struct ahdlFuncModeParam *pfuncModeParam = &funcModeParam; memset( pfuncModeParam, 0, sizeof(struct ahdlFuncModeParam) );  pfuncModeParam->sim_lang = (enum SimLangType *)&(mod_sim_lang); pfuncModeParam->filename = resistor1_va_file; pfuncModeParam->fileDescOffset = 40; pfuncModeParam->numOfFileDescAllocated = 1; pfuncModeParam->is_bsource = 0; pfuncModeParam->isnoisy_given_addr = 0; pfuncModeParam->is_paramset = 0; pfuncModeParam->close_dynmic_param = 0; if (setjmp (pfuncModeParam->catchExecErr [0])) {  if (pfuncModeParam->nSeverity_ >= msgAmputate) {   aslDevDoFlushIOandStdoutBuffers(pfuncModeParam->nAhdlFuncMode_, pfuncModeParam);   return pfuncModeParam->nSeverity_;  } } resistor1_Inst *pInst = NULL; resistor1_State *pState = NULL; struct resistor1StencilData *pStencil = NULL; pfuncModeParam->Jacobian_ = Jacobian; while (pModelKnot != NULL) {  devInstKnot *pInstKnot = devGetModelInstances(pModelKnot);  while (pInstKnot != NULL) {   pfuncModeParam->pInstKnot_ = pInstKnot;   pInst = (resistor1_Inst *)devGetInstData(pInstKnot);   pState = (resistor1_State *)devGetInstState(pInstKnot);   pStencil = (struct resistor1StencilData *)devGetInstStencil(pInstKnot);   if((void*)pStencil->dignal_sten_addr_32 != NULL) {    aslDevFree((void*)pStencil->dignal_sten_addr_32);    pStencil->dignal_sten_addr_32 = 0;    pStencil->dignal_sten_size_40 = 0;   }   pfuncModeParam->diagElementArray = NULL;   pfuncModeParam->diagElementCallocSize = 0;   pfuncModeParam->diagElementRealSize = 0;   pfuncModeParam->diagQuartetArray = NULL;   pfuncModeParam->diagQuartetCallocSize = 0;   pfuncModeParam->diagQuartetRealSize = 0;   pfuncModeParam->nAhdlFuncMode_ = 4;   {    char *instDataAddrList[] = {(char *)pInst, NULL};    char *stateDataAddrList[] = {(char *)pState, NULL};    pfuncModeParam->anal_mode = 1;    pfuncModeParam->instData = instDataAddrList;    pfuncModeParam->stateData = stateDataAddrList;    pfuncModeParam->stenData = (char *)devGetInstStencil(pfuncModeParam->pInstKnot_);    pfuncModeParam->sigData = (char *)devGetInstSignals(pfuncModeParam->pInstKnot_);    Severity = resistor1_GetMatrixPointers(pfuncModeParam);   }   pStencil->dignal_sten_addr_32 = pfuncModeParam->diagElementArray;   pStencil->dignal_sten_size_40 = pfuncModeParam->diagElementRealSize;   pStencil->dignal_quartet_addr_48 = pfuncModeParam->diagQuartetArray;   pStencil->dignal_quartet_size_56 = pfuncModeParam->diagQuartetRealSize;   pfuncModeParam->nSeverity_ = MAX( pfuncModeParam->nSeverity_, (int)Severity );   pInstKnot = devGetInstNext(pInstKnot);  }  pModelKnot = devGetModelNext(pModelKnot); } Severity = spErrorMessage( Jacobian ); pfuncModeParam->nSeverity_ = MAX( pfuncModeParam->nSeverity_, (int)Severity ); return pfuncModeParam->nSeverity_;}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 ^
resistor1.c:1024:2511: warning: assignment makes integer from pointer without a cast [enabled by default]
   struct devMiscInfo *pMiscInfo, GenericPtr Jacobian){ msgSeverity Severity = msgIgnore; extern int resistor1_GetMatrixPointers(struct ahdlFuncModeParam *); struct ahdlFuncModeParam funcModeParam;  struct ahdlFuncModeParam *pfuncModeParam = &funcModeParam; memset( pfuncModeParam, 0, sizeof(struct ahdlFuncModeParam) );  pfuncModeParam->sim_lang = (enum SimLangType *)&(mod_sim_lang); pfuncModeParam->filename = resistor1_va_file; pfuncModeParam->fileDescOffset = 40; pfuncModeParam->numOfFileDescAllocated = 1; pfuncModeParam->is_bsource = 0; pfuncModeParam->isnoisy_given_addr = 0; pfuncModeParam->is_paramset = 0; pfuncModeParam->close_dynmic_param = 0; if (setjmp (pfuncModeParam->catchExecErr [0])) {  if (pfuncModeParam->nSeverity_ >= msgAmputate) {   aslDevDoFlushIOandStdoutBuffers(pfuncModeParam->nAhdlFuncMode_, pfuncModeParam);   return pfuncModeParam->nSeverity_;  } } resistor1_Inst *pInst = NULL; resistor1_State *pState = NULL; struct resistor1StencilData *pStencil = NULL; pfuncModeParam->Jacobian_ = Jacobian; while (pModelKnot != NULL) {  devInstKnot *pInstKnot = devGetModelInstances(pModelKnot);  while (pInstKnot != NULL) {   pfuncModeParam->pInstKnot_ = pInstKnot;   pInst = (resistor1_Inst *)devGetInstData(pInstKnot);   pState = (resistor1_State *)devGetInstState(pInstKnot);   pStencil = (struct resistor1StencilData *)devGetInstStencil(pInstKnot);   if((void*)pStencil->dignal_sten_addr_32 != NULL) {    aslDevFree((void*)pStencil->dignal_sten_addr_32);    pStencil->dignal_sten_addr_32 = 0;    pStencil->dignal_sten_size_40 = 0;   }   pfuncModeParam->diagElementArray = NULL;   pfuncModeParam->diagElementCallocSize = 0;   pfuncModeParam->diagElementRealSize = 0;   pfuncModeParam->diagQuartetArray = NULL;   pfuncModeParam->diagQuartetCallocSize = 0;   pfuncModeParam->diagQuartetRealSize = 0;   pfuncModeParam->nAhdlFuncMode_ = 4;   {    char *instDataAddrList[] = {(char *)pInst, NULL};    char *stateDataAddrList[] = {(char *)pState, NULL};    pfuncModeParam->anal_mode = 1;    pfuncModeParam->instData = instDataAddrList;    pfuncModeParam->stateData = stateDataAddrList;    pfuncModeParam->stenData = (char *)devGetInstStencil(pfuncModeParam->pInstKnot_);    pfuncModeParam->sigData = (char *)devGetInstSignals(pfuncModeParam->pInstKnot_);    Severity = resistor1_GetMatrixPointers(pfuncModeParam);   }   pStencil->dignal_sten_addr_32 = pfuncModeParam->diagElementArray;   pStencil->dignal_sten_size_40 = pfuncModeParam->diagElementRealSize;   pStencil->dignal_quartet_addr_48 = pfuncModeParam->diagQuartetArray;   pStencil->dignal_quartet_size_56 = pfuncModeParam->diagQuartetRealSize;   pfuncModeParam->nSeverity_ = MAX( pfuncModeParam->nSeverity_, (int)Severity );   pInstKnot = devGetInstNext(pInstKnot);  }  pModelKnot = devGetModelNext(pModelKnot); } Severity = spErrorMessage( Jacobian ); pfuncModeParam->nSeverity_ = MAX( pfuncModeParam->nSeverity_, (int)Severity ); return pfuncModeParam->nSeverity_;}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               ^
resistor1.c: In function 'resistor1_pAnalTranLoad':
resistor1.c:1056:1903: warning: passing argument 1 of 'aslDevFillZeorDiagonalElemet' makes pointer from integer without a cast [enabled by default]
   register RealVector PrevIterate, BOOLEAN *Limited, struct ahdlFuncModeParam *pfuncModeParam, int anal_mode){ resistor1_Inst *pInst = NULL; resistor1_State *pState = NULL; struct resistor1StencilData *pStencil = NULL; msgSeverity Severity = msgIgnore, retSeverity = msgIgnore; extern int resistor1_TranFuncLoad(struct ahdlFuncModeParam *); extern int resistor1_TranFuncDerLoad(struct ahdlFuncModeParam *); if (setjmp (pfuncModeParam->catchExecErr [0])) {  if (pfuncModeParam->nSeverity_ >= msgAmputate) {   aslDevDoFlushIOandStdoutBuffers(pfuncModeParam->nAhdlFuncMode_, pfuncModeParam);   return pfuncModeParam->nSeverity_;  } } int doSourceRamping = 0; aslDevSetAnalysisNameAndType( NULL, &(pfuncModeParam->analType) ); pfuncModeParam->pStaticRHS_ = StaticRHS; pfuncModeParam->pStaticRHS_AbsSum_ = StaticRHS_AbsSum; pfuncModeParam->pAhdlDynamicRHS_ = DynamicRHS; pfuncModeParam->pAhdlDynamicRHS_AbsSum_ = DynamicRHS_AbsSum; pfuncModeParam->nAhdlWhatsNeeded_ = WhatsNeeded; pfuncModeParam->dSpectre_anal_freq_ = devGetOmega() / TWO_PI; pfuncModeParam->dSpectre_anal_freq_omega_ = devGetOmega(); pfuncModeParam->nSeverity_ = msgIgnore; pfuncModeParam->pFuncSolution_ = Solution; if (Time && !pfuncModeParam->nInPseudoTran_ && !aslDevHasRestartRequest()) {  pfuncModeParam->analTime = Time->Real; } else {  pfuncModeParam->analTime = 0.0; } pfuncModeParam->codeSection_ = 2; pfuncModeParam->pModelKnot_ = pModelKnot; if (aslDevAutomaticSourceRamping() && ((1.0 - aslDevSpectreSourceLevel(pfuncModeParam)) > machResolution))  pfuncModeParam->doSourceRamping_ = doSourceRamping = 1; while (pModelKnot) {  pfuncModeParam->pModelKnot_ = pModelKnot;  devInstKnot *pInstKnot = devGetModelInstances(pModelKnot);  while (pInstKnot) {   pfuncModeParam->pInstKnot_ = pInstKnot;   pInst = (resistor1_Inst *)devGetInstData(pInstKnot);   pState = (resistor1_State *)devGetInstState(pInstKnot);   pStencil = (struct resistor1StencilData *)devGetInstStencil(pInstKnot);   pfuncModeParam->ahdlRestoreFail = pState->ahdlRestoreFail;   pfuncModeParam->contrInfoPtr = pState->contrInfoPtr;   pfuncModeParam->ahdlMemAllList = (void **)&(pState->pAllPtrLists_);   pState->pSolution = Solution;   msgReturnIfError(aslDevClearIterMemRefLists(pfuncModeParam));   pfuncModeParam->nodeClaspReln = &(pState->nodeClaspReln);   if (doSourceRamping) {    if (aslDevNeedsRHSInfo((char *)devGetInstSignals(pInstKnot), pState->rhs_values)) {     Severity = resistor1_pGetRhsForSourceRamping(anal_mode, pfuncModeParam->nInPseudoTran_ ? 29 : 17, pfuncModeParam);     pfuncModeParam->nSeverity_ = MAX( pfuncModeParam->nSeverity_, Severity );     if (pfuncModeParam->nSeverity_ == msgFatal)      return msgFatal;    }   }   if (WhatsNeeded IS devDerivNeeded)    pfuncModeParam->nAhdlFuncMode_ = pfuncModeParam->nInPseudoTran_ ? 28 : 16;   else    pfuncModeParam->nAhdlFuncMode_ = pfuncModeParam->nInPseudoTran_ ? 29 : 17;   {    char *instDataAddrList[] = {(char *)pInst, NULL};    char *stateDataAddrList[] = {(char *)pState, NULL};    pfuncModeParam->anal_mode = anal_mode;    pfuncModeParam->instData = instDataAddrList;    pfuncModeParam->stateData = stateDataAddrList;    pfuncModeParam->stenData = (char *)devGetInstStencil(pfuncModeParam->pInstKnot_);    pfuncModeParam->sigData = (char *)devGetInstSignals(pfuncModeParam->pInstKnot_);    if (WhatsNeeded IS devDerivNeeded)     Severity = resistor1_TranFuncDerLoad(pfuncModeParam);    else     Severity = resistor1_TranFuncLoad(pfuncModeParam);   }   if (doSourceRamping) {    aslDevHandleSourceRamping(pfuncModeParam, pState->rhs_values);   }   Severity = MAX(retSeverity, Severity);   if (Severity >= msgAmputate) return Severity;   pfuncModeParam->nSeverity_ = MAX( pfuncModeParam->nSeverity_, (int)Severity );   if(anal_mode != 8)    aslDevFillZeorDiagonalElemet(pStencil->dignal_sten_addr_32, pStencil->dignal_sten_size_40, WhatsNeeded, pfuncModeParam);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               ^
In file included from resistor1.c:24:0:
/eda/cadence/2017-18/RHELx86/SPECTRE_16.10.614/tools.lnx86/spectre/ahdlcmi/include/ahdlDevLibGlobal.h:2513:37: note: expected 'void *' but argument is of type 'long int'
     ASL_FUNC_DECL_START extern void aslDevFillZeorDiagonalElemet( void *, int, unsigned int, struct ahdlFuncModeParam * );
                                     ^
resistor1.c:1057:4: warning: passing argument 1 of 'aslDevFillZeroDiagQuartet' makes pointer from integer without a cast [enabled by default]
    if ( !pfuncModeParam->nInPseudoTran_ ) {    aslDevFillZeroDiagQuartet(pStencil->dignal_quartet_addr_48, pStencil->dignal_quartet_size_56, WhatsNeeded, pfuncModeParam);
    ^
In file included from resistor1.c:24:0:
/eda/cadence/2017-18/RHELx86/SPECTRE_16.10.614/tools.lnx86/spectre/ahdlcmi/include/ahdlDevLibGlobal.h:2515:37: note: expected 'void *' but argument is of type 'long int'
     ASL_FUNC_DECL_START extern void aslDevFillZeroDiagQuartet( void *, int, unsigned int, struct ahdlFuncModeParam * );
                                     ^
rm -f -rf resistor1.c
/eda/cadence/2017-18/RHELx86/SPECTRE_16.10.614/tools.lnx86/cdsgcc/gcc/4.8/bin/gcc -shared -O3 -m64 -fPIC -o obj/optimize/5.0/libahdlcmi_resistor1.so ./obj/optimize/5.0/resistor1.o  -Wl,-rpath,/usr/lib -Wl,-rpath,/lib -s 
ld: /usr/lib/../lib64/crti.o: unrecognized relocation (0x2a) in section `.init'
ld: final link failed: Bad value
collect2: error: ld returned 1 exit status
gnumake: *** [obj/optimize/5.0/libahdlcmi_resistor1.so] Error 1
/eda/cadence/2017-18/RHELx86/SPECTRE_16.10.614/tools.lnx86/cdsgcc/gcc/4.8/bin/gcc -shared -O3 -m64 -fPIC -o obj/optimize/5.0/libahdlcmi_resistor1.so ./obj/optimize/5.0/resistor1.o  -Wl,-rpath,/usr/lib -Wl,-rpath,/lib -s 
ld: /usr/lib/../lib64/crti.o: unrecognized relocation (0x2a) in section `.init'
ld: final link failed: Bad value
collect2: error: ld returned 1 exit status
gnumake: *** [obj/optimize/5.0/libahdlcmi_resistor1.so] Error 1

  • Cancel
  • Andrew Beckett
    Andrew Beckett over 4 years ago

    Can you please give the output of this commend (typed in a UNIX terminal window): lsb_release -a 

    Andrew

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • ID90
    ID90 over 4 years ago in reply to Andrew Beckett

    Hello Andrew,

    Thank you for your reply. This is the output:

    LSB Version: n/a
    Distributor ID: SUSE
    Description: SUSE Linux Enterprise Server 15
    Release: 15
    Codename: n/a

    Iman

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 4 years ago in reply to ID90

    So you're using old Cadence software (IC6.1.7 and SPECTRE16.1) but very up to date OS. We don't officially have SLES 15 on our roadmap until next year: https://www.cadence.com/content/dam/cadence-www/global/en_US/documents/support/cadence-platform-support-plan.pdf . So you're using an unsupported OS.

    I've not seen reports of the specific issue you're facing. It might be better with a newer SPECTRE version (e.g. SPECTRE20.1) but I don't know for certain - we don't test the combination you're using.

    Andrew.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • ID90
    ID90 over 4 years ago in reply to Andrew Beckett

    Thank you Andrew,

    I've connected to the older server with an older OS and the problem solved. 

    Best regards

    Iman

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel

Community Guidelines

The Cadence Design Communities support Cadence users and technologists interacting to exchange ideas, news, technical information, and best practices to solve problems and get the most from Cadence technology. The community is open to everyone, and to provide the most value, we require participants to follow our Community Guidelines that facilitate a quality exchange of ideas and information. By accessing, contributing, using or downloading any materials from the site, you agree to be bound by the full Community Guidelines.

© 2025 Cadence Design Systems, Inc. All Rights Reserved.

  • Terms of Use
  • Privacy
  • Cookie Policy
  • US Trademarks
  • Do Not Sell or Share My Personal Information