|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册
x
前段时间,用ubuntu16.04安装了IC617 MMSIM15.1,然而开始仿真的时候,加上工艺库里的电阻ahdlcmi编译报错了,找了好久并没有找到解决方法。
ahdlcmi.out信息如下(有点长,红色字体为报错信息):
ahdlcmicompile: Compiling ahdlcmi in input.ahdlSimDB//bsource_c38538.va.bsource_c38538.ahdlcmi/Linux-64/ for Linux-64 with optimize using gcc on Sun Sep 3 19:18:05 CST 2017 [5.0]
ahdlcmicompile: Generating makefile
PATH: /opt/cadence/MMSIM151/tools.lnx86/cdsgcc/gcc/4.1-x86_64/install/bin:/opt/cadence/MMSIM151/bin:/opt/cadence/MMSIM151/tools.lnx86/bin/64bit:/opt/cadence/MMSIM151/tools.lnx86/bin:/opt/cadence/IC617/bin:/opt/cadence/IC617/tools/bin:/opt/cadence/IC617/tools/bin/64bit:/opt/cadence/IC617/share/oa/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/opt/cadence/IC617/tools/dfII/bin:/opt/cadence/IC617/tools/plot/bin:/opt/cadence/MMSIM151/tools/relxpert/bin:/opt/cadence/EXT151/bin:/opt/cadence/PVS151/bin:/opt/cadence/PVS151/tools/bin:/opt/cadence/PVS151/tools/K2/MaskCompose/bin:/opt/cadence/GENUS152/tools/bin:/opt/cadence/JLS151/bin:/opt/cadence/INNOVUS152/bin:/opt/cadence/CTOS142/bin:/opt/cadence/CONFRML152/bin:/opt/cadence/SSV152/tools/bin:/opt/cadence/INCISIVE151/bin:/opt/cadence/INCISIVE151/tools/bin:/opt/cadence/INCISIVE151/tools/vtools/vfault/bin:/opt/cadence/INCISIVE151/kits/VerificationKit/bin:/opt/cadence/ET151/bin:/opt/cadence/VIPCAT113/tools/denali_64bit/bin:/opt/cadence/MVS152/tools/bin:/opt/mentor/Calibre2015/aoi_cal_2015.2_36.27/bin
LD_LIBRARY_PATH: /opt/cadence/MMSIM151/tools.lnx86/cdsgcc/gcc/4.1-x86_64/install/lib:/opt/cadence/MMSIM151/tools.lnx86/giganta/lib/64bit:/opt/cadence/MMSIM151/tools.lnx86/mdl/lib/64bit:/opt/cadence/MMSIM151/tools.lnx86/mmsim/lib/64bit:/opt/cadence/MMSIM151/tools.lnx86/inca/lib/64bit:/opt/cadence/MMSIM151/tools.lnx86/spectre/lib/64bit:/opt/cadence/MMSIM151/tools.lnx86/dfII/lib/64bit:/opt/cadence/MMSIM151/tools.lnx86/lib/64bit:/opt/cadence/MMSIM151/tools.lnx86/lib:/opt/cadence/IC617/tools/lib:/opt/cadence/IC617/tools/lib/64bit/Ubuntu:/opt/cadence/IC617/share/oa/lib/linux_rhel50_gcc48x_64/opt:/opt/cadence/IC617/tools/Qt/64bit/lib:/opt/cadence/IC617/tools/dfII/lib/64bit:/opt/cadence/IC617/tools/sev/lib/64bit:/opt/cadence/IC617/tools/lib/64bit:/opt/cadence/INCISIVE151/tools.lnx86/lib/64bit:/opt/cadence/INCISIVE151/tools/lib/64bit:/opt/cadence/INCISIVE151/tools/lib
/opt/cadence/MMSIM151/tools.lnx86/spectre/ahdlcmi/bin/gnumake -l 4.000000 -j4 -f GNUmakefile
Cleaning ./obj/optimize/5.0
rm -f -rf ./obj/optimize/5.0
Compiling C file bsource_c38538_func.c (optimize)
Compiling C file bsource_c38538_DcFuncDerLoad.c (optimize)
/opt/cadence/MMSIM151/tools.lnx86/cdsgcc/gcc/4.8/bin/gcc -march=k8 -ffast-math -O3 -m64 -DSYSV -DSVR4 -D_REENTRANT -fPIC -DconfigSPECTRE -I. -I/opt/cadence/MMSIM151/tools.lnx86/spectre/ahdlcmi/include -c bsource_c38538_func.c -o obj/optimize/5.0/bsource_c38538_func.o || rm -f -f obj/optimize/5.0/bsource_c38538_func.o
Compiling C file bsource_c38538_DcFuncLoad.c (optimize)
Compiling C file bsource_c38538_TranFuncDerLoad.c (optimize)
/opt/cadence/MMSIM151/tools.lnx86/cdsgcc/gcc/4.8/bin/gcc -march=k8 -ffast-math -O3 -m64 -DSYSV -DSVR4 -D_REENTRANT -fPIC -DconfigSPECTRE -I. -I/opt/cadence/MMSIM151/tools.lnx86/spectre/ahdlcmi/include -c bsource_c38538_DcFuncDerLoad.c -o obj/optimize/5.0/bsource_c38538_DcFuncDerLoad.o || rm -f -f obj/optimize/5.0/bsource_c38538_DcFuncDerLoad.o
/opt/cadence/MMSIM151/tools.lnx86/cdsgcc/gcc/4.8/bin/gcc -march=k8 -ffast-math -O3 -m64 -DSYSV -DSVR4 -D_REENTRANT -fPIC -DconfigSPECTRE -I. -I/opt/cadence/MMSIM151/tools.lnx86/spectre/ahdlcmi/include -c bsource_c38538_DcFuncLoad.c -o obj/optimize/5.0/bsource_c38538_DcFuncLoad.o || rm -f -f obj/optimize/5.0/bsource_c38538_DcFuncLoad.o
/opt/cadence/MMSIM151/tools.lnx86/cdsgcc/gcc/4.8/bin/gcc -march=k8 -ffast-math -O3 -m64 -DSYSV -DSVR4 -D_REENTRANT -fPIC -DconfigSPECTRE -I. -I/opt/cadence/MMSIM151/tools.lnx86/spectre/ahdlcmi/include -c bsource_c38538_TranFuncDerLoad.c -o obj/optimize/5.0/bsource_c38538_TranFuncDerLoad.o || rm -f -f obj/optimize/5.0/bsource_c38538_TranFuncDerLoad.o
rm -f -rf bsource_c38538_DcFuncLoad.c
Compiling C file bsource_c38538_TranFuncLoad.c (optimize)
/opt/cadence/MMSIM151/tools.lnx86/cdsgcc/gcc/4.8/bin/gcc -march=k8 -ffast-math -O3 -m64 -DSYSV -DSVR4 -D_REENTRANT -fPIC -DconfigSPECTRE -I. -I/opt/cadence/MMSIM151/tools.lnx86/spectre/ahdlcmi/include -c bsource_c38538_TranFuncLoad.c -o obj/optimize/5.0/bsource_c38538_TranFuncLoad.o || rm -f -f obj/optimize/5.0/bsource_c38538_TranFuncLoad.o
rm -f -rf bsource_c38538_DcFuncDerLoad.c
Compiling C file bsource_c38538_OpPointCalc.c (optimize)
/opt/cadence/MMSIM151/tools.lnx86/cdsgcc/gcc/4.8/bin/gcc -march=k8 -ffast-math -O3 -m64 -DSYSV -DSVR4 -D_REENTRANT -fPIC -DconfigSPECTRE -I. -I/opt/cadence/MMSIM151/tools.lnx86/spectre/ahdlcmi/include -c bsource_c38538_OpPointCalc.c -o obj/optimize/5.0/bsource_c38538_OpPointCalc.o || rm -f -f obj/optimize/5.0/bsource_c38538_OpPointCalc.o
rm -f -rf bsource_c38538_TranFuncDerLoad.c
Compiling C file bsource_c38538_cmi_c.c (optimize)
/opt/cadence/MMSIM151/tools.lnx86/cdsgcc/gcc/4.8/bin/gcc -march=k8 -ffast-math -O3 -m64 -DSYSV -DSVR4 -D_REENTRANT -fPIC -DconfigSPECTRE -I. -I/opt/cadence/MMSIM151/tools.lnx86/spectre/ahdlcmi/include -I/opt/cadence/MMSIM151/tools.lnx86/cmi/include -c bsource_c38538_cmi_c.c -o obj/optimize/5.0/bsource_c38538_cmi_c.o || rm -f -f obj/optimize/5.0/bsource_c38538_cmi_c.o
rm -f -rf bsource_c38538_func.c
bsource_c38538_cmi_c.c: In function 'bsource_c38538_pDC_Load':
bsource_c38538_cmi_c.c:1110:976: 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 = (bsource_c38538_Inst *)devGetInstData(pInstKnot); pState = (bsource_c38538_State *)devGetInstState(pInstKnot); pStencil = (struct bsource_c38538StencilData *)devGetInstStencil(pInstKnot); pfuncModeParam->ahdlRestoreFail = pState->ahdlRestoreFail; if(pInst->isConv == 1) { pInstKnot = devGetInstNext(pInstKnot); continue; } pfuncModeParam->ahdlMemAllList = (void **)&(pState->pAllPtrLists_); pState->pSolution = Solution; msgReturnIfError(aslDevClearIterMemRefLists(pfuncModeParam)); if (doSourceRamping) { if (aslDevNeedsRHSInfo((char *)devGetInstSignals(pInstKnot), pState->rhs_values)) { Severity = bsource_c38538_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 = bsource_c38538_TranFuncDerLoad(pfuncModeParam); else if (WhatsNeeded IS devDerivNeeded) Severity = bsource_c38538_DcFuncDerLoad(pfuncModeParam); else Severity = bsource_c38538_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 bsource_c38538_cmi_c.c:24:0:
/opt/cadence/MMSIM151/tools.lnx86/spectre/ahdlcmi/include/ahdlDevLibGlobal.h:1967:37: note: expected 'void *' but argument is of type 'long int'
ASL_FUNC_DECL_START extern void aslDevFillZeorDiagonalElemet( void *, int, unsigned int, struct ahdlFuncModeParam * );
^
bsource_c38538_cmi_c.c: In function 'bsource_c38538_pCompare':
bsource_c38538_cmi_c.c:1147:1205: warning: assignment makes integer from pointer without a cast [enabled by default]
struct devMiscInfo *pMiscInfo, GenericPtr Jacobian){ if ((pOldModelKnot == NULL) || (pNewModelKnot == NULL)) { struct bsource_c38538InstData *oldInstData = NULL, *newInstData = NULL; oldInstData = (struct bsource_c38538InstData* ) devGetInstData( pOldInstKnot ); newInstData = (struct bsource_c38538InstData* ) devGetInstData( pNewInstKnot ); struct bsource_c38538ModData *oldModData = NULL, *newModData = NULL; oldModData = (struct bsource_c38538ModData* ) devGetModelData( devGetInstModelKnot( pOldInstKnot ) ); newModData = (struct bsource_c38538ModData* ) devGetModelData( devGetInstModelKnot( pNewInstKnot ) ); memcpy( devGetInstSignals(pNewInstKnot), devGetInstSignals(pOldInstKnot), 24); struct bsource_c38538StencilData *oldStenData = NULL, *newStenData = NULL; oldStenData = (struct bsource_c38538StencilData* ) devGetInstStencil( pOldInstKnot ); newStenData = (struct bsource_c38538StencilData* ) devGetInstStencil( pNewInstKnot ); 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;}
^
bsource_c38538_cmi_c.c:1147:894: 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 bsource_c38538InstData *oldInstData = NULL, *newInstData = NULL; oldInstData = (struct bsource_c38538InstData* ) devGetInstData( pOldInstKnot ); newInstData = (struct bsource_c38538InstData* ) devGetInstData( pNewInstKnot ); struct bsource_c38538ModData *oldModData = NULL, *newModData = NULL; oldModData = (struct bsource_c38538ModData* ) devGetModelData( devGetInstModelKnot( pOldInstKnot ) ); newModData = (struct bsource_c38538ModData* ) devGetModelData( devGetInstModelKnot( pNewInstKnot ) ); memcpy( devGetInstSignals(pNewInstKnot), devGetInstSignals(pOldInstKnot), 24); struct bsource_c38538StencilData *oldStenData = NULL, *newStenData = NULL; oldStenData = (struct bsource_c38538StencilData* ) devGetInstStencil( pOldInstKnot ); newStenData = (struct bsource_c38538StencilData* ) devGetInstStencil( pNewInstKnot ); 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 /opt/cadence/MMSIM151/tools.lnx86/spectre/ahdlcmi/include/ahdlPiCmi.h:5:0,
from /opt/cadence/MMSIM151/tools.lnx86/spectre/ahdlcmi/include/ahdlDevLibGlobal.h:81,
from bsource_c38538_cmi_c.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,
^
bsource_c38538_cmi_c.c:1147:894: 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 bsource_c38538InstData *oldInstData = NULL, *newInstData = NULL; oldInstData = (struct bsource_c38538InstData* ) devGetInstData( pOldInstKnot ); newInstData = (struct bsource_c38538InstData* ) devGetInstData( pNewInstKnot ); struct bsource_c38538ModData *oldModData = NULL, *newModData = NULL; oldModData = (struct bsource_c38538ModData* ) devGetModelData( devGetInstModelKnot( pOldInstKnot ) ); newModData = (struct bsource_c38538ModData* ) devGetModelData( devGetInstModelKnot( pNewInstKnot ) ); memcpy( devGetInstSignals(pNewInstKnot), devGetInstSignals(pOldInstKnot), 24); struct bsource_c38538StencilData *oldStenData = NULL, *newStenData = NULL; oldStenData = (struct bsource_c38538StencilData* ) devGetInstStencil( pOldInstKnot ); newStenData = (struct bsource_c38538StencilData* ) devGetInstStencil( pNewInstKnot ); 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 /opt/cadence/MMSIM151/tools.lnx86/spectre/ahdlcmi/include/ahdlPiCmi.h:5:0,
from /opt/cadence/MMSIM151/tools.lnx86/spectre/ahdlcmi/include/ahdlDevLibGlobal.h:81,
from bsource_c38538_cmi_c.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,
^
bsource_c38538_cmi_c.c:1147:1447: warning: assignment makes integer from pointer without a cast [enabled by default]
struct devMiscInfo *pMiscInfo, GenericPtr Jacobian){ if ((pOldModelKnot == NULL) || (pNewModelKnot == NULL)) { struct bsource_c38538InstData *oldInstData = NULL, *newInstData = NULL; oldInstData = (struct bsource_c38538InstData* ) devGetInstData( pOldInstKnot ); newInstData = (struct bsource_c38538InstData* ) devGetInstData( pNewInstKnot ); struct bsource_c38538ModData *oldModData = NULL, *newModData = NULL; oldModData = (struct bsource_c38538ModData* ) devGetModelData( devGetInstModelKnot( pOldInstKnot ) ); newModData = (struct bsource_c38538ModData* ) devGetModelData( devGetInstModelKnot( pNewInstKnot ) ); memcpy( devGetInstSignals(pNewInstKnot), devGetInstSignals(pOldInstKnot), 24); struct bsource_c38538StencilData *oldStenData = NULL, *newStenData = NULL; oldStenData = (struct bsource_c38538StencilData* ) devGetInstStencil( pOldInstKnot ); newStenData = (struct bsource_c38538StencilData* ) devGetInstStencil( pNewInstKnot ); 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;}
^
bsource_c38538_cmi_c.c: In function 'bsource_c38538_pGetMatrixPointers':
bsource_c38538_cmi_c.c:1153:2801: warning: assignment makes integer from pointer without a cast [enabled by default]
struct devMiscInfo *pMiscInfo, GenericPtr Jacobian){ msgSeverity Severity = msgIgnore; extern int bsource_c38538_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 = bsource_c38538_va_file; pfuncModeParam->fileDescOffset = 104; pfuncModeParam->numOfFileDescAllocated = 1; pfuncModeParam->is_bsource = 1; if (setjmp (pfuncModeParam->catchExecErr [0])) { if (pfuncModeParam->nSeverity_ >= msgAmputate) { aslDevDoFlushIOandStdoutBuffers(pfuncModeParam->nAhdlFuncMode_, pfuncModeParam); return pfuncModeParam->nSeverity_; } } bsource_c38538_Inst *pInst = NULL; bsource_c38538_State *pState = NULL; struct bsource_c38538StencilData *pStencil = NULL; pfuncModeParam->Jacobian_ = Jacobian; while (pModelKnot != NULL) { devInstKnot *pInstKnot = devGetModelInstances(pModelKnot); while (pInstKnot != NULL) { pfuncModeParam->pInstKnot_ = pInstKnot; pInst = (bsource_c38538_Inst *)devGetInstData(pInstKnot); pState = (bsource_c38538_State *)devGetInstState(pInstKnot); pStencil = (struct bsource_c38538StencilData *)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; struct bsource_c38538StencilData *pStencil = NULL; pStencil = (struct bsource_c38538StencilData *)devGetInstStencil(pInstKnot); struct bsource_c38538StencilData *stenDataStruct = pStencil; struct bsource_c38538SignalData *pSignal = NULL; pSignal = (struct bsource_c38538SignalData *)devGetInstSignals(pInstKnot); struct bsource_c38538SignalData *sigDataStruct = pSignal; if(pInst->isConv == 1) { aslDevInterGetQuartet(sigDataStruct->bs_p1_8 , sigDataStruct->bs_p2_16 , sigDataStruct->bs_p1_8 , sigDataStruct->bs_p2_16,(void *)&stenDataStruct->bsr_vcr_vccap_matrx_addr , pfuncModeParam); } else { 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 = bsource_c38538_GetMatrixPointers(pfuncModeParam); } } pStencil->dignal_sten_addr_32 = pfuncModeParam->diagElementArray; pStencil->dignal_sten_size_40 = pfuncModeParam->diagElementRealSize; 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_;}
^
bsource_c38538_cmi_c.c: In function 'bsource_c38538_pAnalTranLoad':
bsource_c38538_cmi_c.c:1195:1938: 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){ bsource_c38538_Inst *pInst = NULL; bsource_c38538_State *pState = NULL; struct bsource_c38538StencilData *pStencil = NULL; msgSeverity Severity = msgIgnore, retSeverity = msgIgnore; extern int bsource_c38538_TranFuncLoad(struct ahdlFuncModeParam *); extern int bsource_c38538_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 = (bsource_c38538_Inst *)devGetInstData(pInstKnot); pState = (bsource_c38538_State *)devGetInstState(pInstKnot); pStencil = (struct bsource_c38538StencilData *)devGetInstStencil(pInstKnot); pfuncModeParam->ahdlRestoreFail = pState->ahdlRestoreFail; if(pInst->isConv == 1) { pInstKnot = devGetInstNext(pInstKnot); continue; } 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 = bsource_c38538_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 = bsource_c38538_TranFuncDerLoad(pfuncModeParam); else Severity = bsource_c38538_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 bsource_c38538_cmi_c.c:24:0:
/opt/cadence/MMSIM151/tools.lnx86/spectre/ahdlcmi/include/ahdlDevLibGlobal.h:1967:37: note: expected 'void *' but argument is of type 'long int'
ASL_FUNC_DECL_START extern void aslDevFillZeorDiagonalElemet( void *, int, unsigned int, struct ahdlFuncModeParam * );
^
bsource_c38538_cmi_c.c: In function 'bsource_c38538_pNoiseBindSrcs':
bsource_c38538_cmi_c.c:1221:506: warning: passing argument 3 of 'aslDevNoiseBindStartModel' discards 'const' qualifier from pointer target type [enabled by default]
static msgSeverity bsource_c38538_pNoiseBindSrcs(devModelKnot *pModelKnot, struct devMiscInfo *pMiscInfo, struct noiseData *pnData){ bsource_c38538_Inst *pInst = NULL; bsource_c38538_State *pState = NULL; extern int bsource_c38538_NoiseBindSrcs(struct ahdlFuncModeParam *); msgSeverity Severity = msgIgnore; struct ahdlFuncModeParam funcModeParam; struct ahdlFuncModeParam *pfuncModeParam = &funcModeParam; memset( pfuncModeParam, 0, sizeof(struct ahdlFuncModeParam) ); pfuncModeParam->sim_lang = (enum SimLangType *)&(mod_sim_lang); pfuncModeParam->filename = bsource_c38538_va_file; pfuncModeParam->fileDescOffset = 104; pfuncModeParam->numOfFileDescAllocated = 1; pfuncModeParam->is_bsource = 1; if (setjmp (pfuncModeParam->catchExecErr [0])) { if (pfuncModeParam->nSeverity_ >= msgAmputate) { aslDevDoFlushIOandStdoutBuffers(pfuncModeParam->nAhdlFuncMode_, pfuncModeParam); return pfuncModeParam->nSeverity_; } } aslDevSetAnalysisNameAndType( NULL, &(pfuncModeParam->analType) ); pfuncModeParam->nSeverity_ = msgIgnore; pfuncModeParam->pAhdl_pnData_ = pnData; pfuncModeParam->dSpectre_anal_freq_ = 0.0; while (pModelKnot) { if (2 == 0){ pModelKnot = devGetModelNext(pModelKnot); continue; } else { pfuncModeParam->pModelKnot_ = pModelKnot; devInstKnot *pInstKnot = devGetModelInstances(pModelKnot); aslDevNoiseBindStartModel(pnData, pInstKnot, devGetModelID(pModelKnot), "bsource_c38538"); while (pInstKnot) { aslDevNoiseBindStartInstance(pnData, pInstKnot); pfuncModeParam->pInstKnot_ = pInstKnot; pInst = (bsource_c38538_Inst *)devGetInstData(pInstKnot); pState = (bsource_c38538_State *)devGetInstState(pInstKnot); pfuncModeParam->ahdlRestoreFail = pState->ahdlRestoreFail; pfuncModeParam->nAhdlFuncMode_ = 8; { 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 = bsource_c38538_NoiseBindSrcs(pfuncModeParam); } pfuncModeParam->nSeverity_ = MAX( pfuncModeParam->nSeverity_, (int)Severity ); aslDevNoiseBindEndInstance(pnData); pInstKnot = devGetInstNext(pInstKnot); }
^
In file included from bsource_c38538_cmi_c.c:24:0:
/opt/cadence/MMSIM151/tools.lnx86/spectre/ahdlcmi/include/ahdlDevLibGlobal.h:1053:37: note: expected 'char *' but argument is of type 'devModelID'
ASL_FUNC_DECL_START extern void aslDevNoiseBindStartModel( struct noiseData *, devInstKnot *, char *, char * );
^
bsource_c38538_cmi_c.c: In function 'bsource_c38538_pNoiseNameSrcs':
bsource_c38538_cmi_c.c:1224:506: warning: passing argument 3 of 'aslDevNoiseNameModel' discards 'const' qualifier from pointer target type [enabled by default]
static msgSeverity bsource_c38538_pNoiseNameSrcs(devModelKnot *pModelKnot, struct devMiscInfo *pMiscInfo, struct noiseData *pnData){ bsource_c38538_Inst *pInst = NULL; bsource_c38538_State *pState = NULL; extern int bsource_c38538_NoiseNameSrcs(struct ahdlFuncModeParam *); msgSeverity Severity = msgIgnore; struct ahdlFuncModeParam funcModeParam; struct ahdlFuncModeParam *pfuncModeParam = &funcModeParam; memset( pfuncModeParam, 0, sizeof(struct ahdlFuncModeParam) ); pfuncModeParam->sim_lang = (enum SimLangType *)&(mod_sim_lang); pfuncModeParam->filename = bsource_c38538_va_file; pfuncModeParam->fileDescOffset = 104; pfuncModeParam->numOfFileDescAllocated = 1; pfuncModeParam->is_bsource = 1; if (setjmp (pfuncModeParam->catchExecErr [0])) { if (pfuncModeParam->nSeverity_ >= msgAmputate) { aslDevDoFlushIOandStdoutBuffers(pfuncModeParam->nAhdlFuncMode_, pfuncModeParam); return pfuncModeParam->nSeverity_; } } aslDevSetAnalysisNameAndType( NULL, &(pfuncModeParam->analType) ); pfuncModeParam->nSeverity_ = msgIgnore; pfuncModeParam->pAhdl_pnData_ = pnData; pfuncModeParam->dSpectre_anal_freq_ = 0.0; while (pModelKnot) { if (2 == 0){ pModelKnot = devGetModelNext(pModelKnot); continue; } else { pfuncModeParam->pModelKnot_ = pModelKnot; devInstKnot *pInstKnot = devGetModelInstances(pModelKnot); aslDevNoiseNameModel(pnData, pInstKnot, devGetModelID(pModelKnot), "bsource_c38538"); pfuncModeParam->pInstKnot_ = pInstKnot; pInst = (bsource_c38538_Inst *)devGetInstData(pInstKnot); pState = (bsource_c38538_State *)devGetInstState(pInstKnot); pfuncModeParam->nAhdlFuncMode_ = 7; { 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 = bsource_c38538_NoiseNameSrcs(pfuncModeParam); } pfuncModeParam->nSeverity_ = MAX( pfuncModeParam->nSeverity_, (int)Severity ); pModelKnot = devGetModelNext(pModelKnot); } }
^
In file included from bsource_c38538_cmi_c.c:24:0:
/opt/cadence/MMSIM151/tools.lnx86/spectre/ahdlcmi/include/ahdlDevLibGlobal.h:1061:44: note: expected 'char *' but argument is of type 'devModelID'
ASL_FUNC_DECL_START extern msgSeverity aslDevNoiseNameModel( struct noiseData *, devInstKnot *, char *, char * );
^
bsource_c38538_cmi_c.c: In function 'bsource_c38538_pSaveRestart':
bsource_c38538_cmi_c.c:1230:545: warning: passing argument 2 of 'aslDevAvarSR' from incompatible pointer type [enabled by default]
static msgSeverity bsource_c38538_pSaveRestart(devModelKnot *pModelKnot, GenericPtr pError, struct devMiscInfo *pMiscInfo){ bsource_c38538_Inst *pInst = NULL; bsource_c38538_State *pState = NULL; PklError_e * eError = (PklError_e *) pError; PklError_e qError = PKL_NO_ERR; msgSeverity Severity = msgIgnore; PklJar_t *myJar=NULL; int i; char *tag; struct ahdlFuncModeParam funcModeParam; struct ahdlFuncModeParam *pfuncModeParam = &funcModeParam; memset( pfuncModeParam, 0, sizeof(struct ahdlFuncModeParam) ); pfuncModeParam->sim_lang = (enum SimLangType *)&(mod_sim_lang); pfuncModeParam->filename = bsource_c38538_va_file; pfuncModeParam->fileDescOffset = 104; pfuncModeParam->numOfFileDescAllocated = 1; pfuncModeParam->is_bsource = 1; if (setjmp (pfuncModeParam->catchExecErr [0])) { if (pfuncModeParam->nSeverity_ >= msgAmputate) { aslDevDoFlushIOandStdoutBuffers(pfuncModeParam->nAhdlFuncMode_, pfuncModeParam); return pfuncModeParam->nSeverity_; } } pfuncModeParam->nSeverity_ = msgIgnore; while (pModelKnot) { pfuncModeParam->pModelKnot_ = pModelKnot; devInstKnot *pInstKnot = devGetModelInstances(pModelKnot); while (pInstKnot) { pfuncModeParam->pInstKnot_ = pInstKnot; pInst = (bsource_c38538_Inst *)devGetInstData(pInstKnot); pState = (bsource_c38538_State *)devGetInstState(pInstKnot); *eError = aslDevIOSR(pfuncModeParam, (char *)pState); if( *eError > PKL_NO_ERR ) return msgFatal; if ( !devGetInstID(pInstKnot) ) { return msgFatal; } tag = (char*) aslDevMalloc( (strlen(devGetInstID(pInstKnot))+1000) ); qError = pklGetOpenJar( (char*)devGetInstID(pInstKnot), NULL, "AHDLState", -1, PKL_DEFAULT_TYPE, &myJar ); if (qError > PKL_NO_ERR) { pklPrintError( myJar ); return msgFatal; } sprintf(tag, "%s_break_point", devGetInstID(pInstKnot)); double default_break_point = machLargestReal; pklAccessDouble(myJar, tag, &default_break_point); qError = aslDevAvarSR(12, bsource_c38538_avarList, (char *)pInst, (char *)pState, tag, myJar); if (qError > PKL_NO_ERR) { pklPrintError( myJar ); return msgFatal; } qError = pklCloseJar( &myJar ); if (qError > PKL_NO_ERR) { pklPrintError( myJar ); return msgFatal; } pfuncModeParam->nSeverity_ = MAX( pfuncModeParam->nSeverity_, (int)Severity ); aslDevFree(tag); pInstKnot = devGetInstNext(pInstKnot); }
^
In file included from bsource_c38538_cmi_c.c:24:0:
/opt/cadence/MMSIM151/tools.lnx86/spectre/ahdlcmi/include/ahdlDevLibGlobal.h:1170:43: note: expected 'struct ahdlAnalogVar *' but argument is of type 'char *'
ASL_FUNC_DECL_START extern PklError_e aslDevAvarSR( int, struct ahdlAnalogVar *, char *, char *, char *, PklJar_t * );
^
bsource_c38538_cmi_c.c: In function 'bsource_c38538_pSaveRestartInst':
bsource_c38538_cmi_c.c:1233:547: warning: passing argument 2 of 'aslDevAvarSR' from incompatible pointer type [enabled by default]
static msgSeverity bsource_c38538_pSaveRestartInst(devInstKnot *pInstKnot, GenericPtr pError, struct devMiscInfo *pMiscInfo){ bsource_c38538_Inst *pInst = NULL; bsource_c38538_State *pState = NULL; PklError_e * eError = (PklError_e *) pError; PklError_e qError = PKL_NO_ERR; msgSeverity Severity = msgIgnore; PklJar_t *myJar=NULL; int i; char *tag; struct ahdlFuncModeParam funcModeParam; struct ahdlFuncModeParam *pfuncModeParam = &funcModeParam; memset( pfuncModeParam, 0, sizeof(struct ahdlFuncModeParam) ); pfuncModeParam->sim_lang = (enum SimLangType *)&(mod_sim_lang); pfuncModeParam->filename = bsource_c38538_va_file; pfuncModeParam->fileDescOffset = 104; pfuncModeParam->numOfFileDescAllocated = 1; pfuncModeParam->is_bsource = 1; if (setjmp (pfuncModeParam->catchExecErr [0])) { if (pfuncModeParam->nSeverity_ >= msgAmputate) { aslDevDoFlushIOandStdoutBuffers(pfuncModeParam->nAhdlFuncMode_, pfuncModeParam); return pfuncModeParam->nSeverity_; } } pfuncModeParam->nSeverity_ = msgIgnore; pfuncModeParam->pInstKnot_ = pInstKnot; pInst = (bsource_c38538_Inst *)devGetInstData(pInstKnot); pState = (bsource_c38538_State *)devGetInstState(pInstKnot); *eError = aslDevIOSR(pfuncModeParam, (char *)pState); if( *eError > PKL_NO_ERR ) { pState->ahdlRestoreFail = 1; pfuncModeParam->ahdlRestoreFail = pState->ahdlRestoreFail; return msgFatal; } if ( !devGetInstID(pInstKnot) ) { return msgFatal; } tag = (char*) aslDevMalloc( (strlen(devGetInstID(pInstKnot))+1000) ); qError = pklGetOpenJar( (char*)devGetInstID(pInstKnot), NULL, "AHDLState", -1, PKL_DEFAULT_TYPE, &myJar ); if (qError > PKL_NO_ERR) { pklPrintError( myJar ); return msgFatal; } sprintf(tag, "%s_break_point", devGetInstID(pInstKnot)); double default_break_point = machLargestReal; pklAccessDouble(myJar, tag, &default_break_point); qError = aslDevAvarSR(12, bsource_c38538_avarList, (char *)pInst, (char *)pState, tag, myJar); if (qError > PKL_NO_ERR) { pklPrintError( myJar ); return msgFatal; } qError = pklCloseJar( &myJar ); if (qError > PKL_NO_ERR) { pklPrintError( myJar ); return msgFatal; } pfuncModeParam->nSeverity_ = MAX( pfuncModeParam->nSeverity_, (int)Severity ); aslDevFree(tag); return pfuncModeParam->nSeverity_;}
^
In file included from bsource_c38538_cmi_c.c:24:0:
/opt/cadence/MMSIM151/tools.lnx86/spectre/ahdlcmi/include/ahdlDevLibGlobal.h:1170:43: note: expected 'struct ahdlAnalogVar *' but argument is of type 'char *'
ASL_FUNC_DECL_START extern PklError_e aslDevAvarSR( int, struct ahdlAnalogVar *, char *, char *, char *, PklJar_t * );
^
rm -f -rf bsource_c38538_TranFuncLoad.c
rm -f -rf bsource_c38538_OpPointCalc.c
rm -f -rf bsource_c38538_cmi_c.c
/opt/cadence/MMSIM151/tools.lnx86/cdsgcc/gcc/4.8/bin/gcc -shared -O3 -m64 -fPIC -o obj/optimize/5.0/libahdlcmi_bsource_c38538.so ./obj/optimize/5.0/bsource_c38538_func.o ./obj/optimize/5.0/bsource_c38538_DcFuncDerLoad.o ./obj/optimize/5.0/bsource_c38538_DcFuncLoad.o ./obj/optimize/5.0/bsource_c38538_TranFuncDerLoad.o ./obj/optimize/5.0/bsource_c38538_TranFuncLoad.o ./obj/optimize/5.0/bsource_c38538_OpPointCalc.o ./obj/optimize/5.0/bsource_c38538_cmi_c.o -Wl,-rpath,/usr/lib -Wl,-rpath,/lib -s
ld: /usr/lib/x86_64-linux-gnu/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_bsource_c38538.so] Error 1
/opt/cadence/MMSIM151/tools.lnx86/cdsgcc/gcc/4.8/bin/gcc -shared -O3 -m64 -fPIC -o obj/optimize/5.0/libahdlcmi_bsource_c38538.so ./obj/optimize/5.0/bsource_c38538_func.o ./obj/optimize/5.0/bsource_c38538_DcFuncDerLoad.o ./obj/optimize/5.0/bsource_c38538_DcFuncLoad.o ./obj/optimize/5.0/bsource_c38538_TranFuncDerLoad.o ./obj/optimize/5.0/bsource_c38538_TranFuncLoad.o ./obj/optimize/5.0/bsource_c38538_OpPointCalc.o ./obj/optimize/5.0/bsource_c38538_cmi_c.o -Wl,-rpath,/usr/lib -Wl,-rpath,/lib -s
ld: /usr/lib/x86_64-linux-gnu/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_bsource_c38538.so] Error 1
恳请大神们的帮助!
|
|