2024-11-30 00:50:32 +08:00

2663 lines
62 KiB
C
Executable File

#ifndef __DO_RMAHDR_
#define __DO_RMAHDR_
#ifdef __cplusplus
extern "C" {
#endif
#define VCS_RTLIB_TLS_MODEL __attribute__((tls_model("initial-exec")))
typedef unsigned long UP;
typedef unsigned U;
typedef unsigned char UB;
typedef unsigned char scalar;
typedef struct vec32 vec32;
typedef unsigned short US;
typedef unsigned char SVAL;
typedef unsigned char TYPEB;
typedef struct etype ETYPE;
typedef struct qird QIRD;
typedef unsigned char UST_e;
typedef unsigned uscope_t;
typedef U NumLibs_t;
struct vec32 {
U I1;
U I2;
};
typedef unsigned long long InstNumType;
typedef long long InstNumSigned;
typedef InstNumType InstNum;
typedef U InstNum32;
typedef unsigned long RP;
typedef unsigned long RO;
typedef unsigned long long ULL;
typedef U GateCount;
typedef U NodeCount;
typedef unsigned short HsimEdge;
typedef unsigned char HsimExprChar;
typedef struct {
U I638;
RP I639;
} RmaReceiveClock1;
typedef NodeCount FlatNodeNum;
typedef unsigned ProcessNum;
typedef unsigned long long TimeStamp64;
typedef unsigned long long TimeStamp;
typedef enum {
PD_SING = 0,
PD_RF = 1,
PD_PLSE = 2,
PD_PLSE_RF = 3,
PD_NULL = 4
} PD_e;
typedef TimeStamp64 RmaTimeStamp64;
typedef TimeStamp RmaTimeStamp;
typedef struct {
int * I640;
int * I641;
int I642;
union {
long long enumDesc;
long long classId;
} I643;
} TypeData;
struct etype {
U I4 :8;
U I5;
U I6;
U I7 :1;
U I8 :1;
U I9 :1;
U I10 :1;
U I11 :1;
U I12 :1;
U I13 :1;
U I14 :1;
U I15 :1;
U I16 :4;
U I17 :1;
U I18 :1;
U I19 :1;
U I20 :1;
U I21 :1;
U I22 :1;
U I23 :1;
U I24 :1;
U I25 :2;
U I26 :1;
U I27 :2;
U I28 :1;
U I29 :1;
U I30 :1;
U I31 :1;
U I32 :1;
U I33 :1;
TypeData * I34;
U I35;
U I36;
U I37 :1;
U I38 :1;
U I39 :1;
U I40 :1;
U I41 :2;
U I42 :2;
U I43 :1;
U I44 :1;
U I45 :1;
U I46 :1;
U I47 :1;
U I48 :1;
U I49 :1;
U I50 :1;
U I51 :1;
U I52 :1;
U I53 :1;
U I54 :1;
U I55 :12;
};
typedef union {
double I650;
unsigned long long I651;
unsigned I652[2];
} rma_clock_struct;
typedef struct eblk EBLK;
typedef int (* E_fn)(void);
typedef struct eblk {
E_fn I659;
struct iptmpl * I660;
struct eblk * I662;
unsigned I663;
unsigned I664;
struct eblk * I665;
} eblk_struct;
typedef struct {
RP I659;
RP I660;
RP I662;
unsigned I663;
unsigned I664;
RP I665;
} RmaEblk;
typedef struct {
RP I659;
RP I660;
RP I662;
unsigned I663;
unsigned I664;
RP I665;
unsigned val;
} RmaEblklq;
typedef struct _DEblkLaneT {
struct _DEblkLaneT * I672;
struct eblk * I674;
} DEblkLaneT;
typedef struct _DEblkPoolT {
struct _DEblkLaneT * I675;
struct _DEblkLaneT * I676;
unsigned I677;
unsigned I678;
} DEblkPoolT;
typedef union {
double I650;
unsigned long long I651;
unsigned I652[2];
} clock_struct;
typedef struct RmaRetain_t RmaRetain;
struct RmaRetain_t {
RP I709;
RmaEblk I658;
U I711;
US I712 :1;
US I713 :4;
US I232 :2;
US state :2;
US I715 :1;
US I716 :2;
US I717 :2;
US fHsim :1;
US I554 :1;
scalar newval;
scalar I720;
RP I721;
};
struct retain_t {
struct retain_t * I709;
EBLK I658;
U I711;
US I712 :1;
US I713 :4;
US I232 :2;
US state :2;
US I715 :1;
US I716 :2;
US I717 :2;
US fHsim :1;
US I718 :1;
scalar newval;
scalar I720;
void * I721;
};
typedef struct MPSched MPS;
typedef struct RmaMPSched RmaMps;
struct MPSched {
MPS * I700;
scalar I701;
scalar I702;
scalar I703;
scalar fHsim :1;
scalar I232 :6;
U I705;
EBLK I706;
void * I707;
UP I708[1];
};
struct RmaMPSched {
RP I700;
scalar I701;
scalar I702;
scalar I703;
scalar fHsim :1;
scalar I232 :6;
U I705;
RmaEblk I706;
RP I707;
RP I708[1];
};
typedef struct RmaMPSchedPulse RmaMpsp;
struct RmaMPSchedPulse {
RP I700;
scalar I701;
scalar I702;
scalar I703;
scalar I232;
U I705;
RmaEblk I706;
scalar I717;
scalar I726;
scalar I727;
scalar I728;
U I729;
U I730;
U I731;
U state;
U I732;
RP I660;
RP I733;
RP I734;
RP I708[1];
};
typedef struct MPItem MPI;
struct MPItem {
U * I736;
void * I737;
};
typedef struct {
RmaEblk I658;
RP I738;
scalar I739;
scalar I717;
scalar I740;
} RmaTransEventHdr;
typedef struct RmaMPSchedPulseNewCsdf RmaMpspNewCsdf;
struct RmaMPSchedPulseNewCsdf {
RP I700;
scalar I701;
scalar I702;
scalar I703;
scalar fHsim :1;
scalar I232 :6;
U I705;
RmaEblk I706;
scalar I717;
scalar I726;
scalar I727;
scalar I728;
U state :4;
U I742 :28;
U I730;
U I731;
RP I743;
RP I660;
RP I744;
RP I708[1];
};
typedef struct red_t {
U I745;
U I746;
U I616;
} RED;
typedef struct predd {
PD_e I232;
RED I747[0];
} PREDD;
union rhs_value {
vec32 I748;
scalar I739;
vec32 * I717;
double I749;
U I750;
};
typedef struct nbs_t {
struct nbs_t * I751;
struct nbs_t * I753;
void (* I754)(struct nbs_t * I721);
U I755 :1;
U I756 :1;
U I757 :1;
U I758 :1;
U I759 :1;
U I760 :1;
U I761 :26;
U I762;
void * I763;
union rhs_value I764;
vec32 I650;
union {
struct nbs_t * I1213;
struct nbs_t * last;
} I766;
} NBS;
typedef struct {
RP I767;
RP I733;
RP I660;
RP I734;
RmaEblk I658;
RmaEblk I768;
RP I769;
scalar I739;
scalar I717;
char state;
uscope_t I770;
U I771;
RP I772;
scalar I726;
scalar I727;
scalar I728;
U I730;
U I731;
RP I707;
} RmaPulse;
typedef enum {
QIRDModuleC = 1,
QIRDSVPackageC = 2,
QIRDSpiceModuleC = 3
} QIRDModuleType;
typedef struct {
U I776 :1;
U I777 :1;
U I778 :1;
U I779 :1;
U I780 :1;
U I781 :1;
U I782 :1;
U I783 :1;
U I784 :1;
U I785 :1;
U I786 :1;
U I787 :1;
U I788 :1;
U I789 :1;
U I790 :1;
U I791 :1;
U I792 :1;
U I793 :1;
U I794 :1;
QIRDModuleType I795 :2;
U I796 :1;
U I797 :1;
U I798 :1;
U I799 :1;
U I800 :1;
U I801 :1;
U I802 :1;
U I803 :1;
U I804 :1;
U I805 :1;
U I806 :1;
U I807 :1;
U I808 :1;
U I809 :1;
U I810 :1;
U I811 :1;
U I812 :1;
U I813 :1;
U I814 :1;
U I815 :1;
U I816 :1;
U I817 :1;
U I818 :1;
U I819 :1;
U I820 :1;
U I821 :1;
U I822 :1;
U I823 :1;
U I824 :1;
U I825 :1;
U I826 :1;
} BitFlags;
typedef struct qird_dbg_flags_s {
U I827 :29;
U I828 :1;
U I829 :1;
U I830 :1;
} qird_dbg_flags_t;
typedef struct nlpInfoT {
U * I831;
U * I832;
U * I833;
UP * I834;
UP * I835;
UP * I836;
UP * I837;
char * I838;
UP * I839;
UP * I840;
U * I841;
UP * I842;
UP * I843;
UP * I844;
UP * I845;
UP * I846;
UP * I847;
UP * I848;
UP * I849;
UP * I850;
UP * I851;
UP * I852;
UP * I853;
UP * I854;
char * I855;
char * I856;
U * I857;
U * I858;
U * I859;
UP * I860;
UP * I861;
UP * I862;
UP * I863;
UP * I864;
UP * I865;
U I866;
U I867;
U I868;
U I869;
U I870;
U I871;
U I872;
U I873;
U I874;
U I875;
U I876;
U I877;
U I878;
U I879;
U I880;
U I881;
} nlpInfoT;
typedef struct txpInfoT {
U I882;
U I883;
void * I884;
void * I885;
int (* I886)(void);
int (* I887)(void);
void * I888;
void * I889;
void * I890;
} txpInfoT;
typedef struct fsimInfoT {
U I891;
U I892;
U * I893;
U * I894;
UP * I895;
UP * I896;
U * I897;
U * I898;
U * I899;
} fsimInfoT;
typedef struct fgpInfoT {
U I900;
U I901;
U * I902;
U * I903;
char * I904;
} fgpInfoT;
typedef struct simProfInfoT {
U I905;
U I906;
U I907;
U * I908;
U * I909;
U * I910;
U * I911;
} simProfInfoT;
typedef struct hybridSimInfoT {
U I912;
U I619;
U I913;
U I914;
U I915;
void * I916;
U * I917;
struct hybridSimReferrerData * I918;
struct hybridSimReferrerData * I920;
} hybridSimInfoT;
typedef struct classInfoT {
void * I921;
void * I922;
U I923;
U I924;
U I925;
U I926;
UP I927;
UP I928;
} classInfoT;
struct qird {
US I57;
US I58;
U I59;
U I60;
char * I61;
char * I62;
U * I63;
char * I64;
char * I65;
U I66;
U I67;
struct vcd_rt * I68;
U I70;
struct _vcdOffset_rt * I71;
U I73;
U I74;
ETYPE * I75;
U * I76;
classInfoT * I77;
int I78;
U I79;
U * I80;
U * I81;
UP I82;
BitFlags I83;
U I84;
U I85;
U I86;
U I87;
U * I88;
U I89;
U I90;
U * I91;
U I92;
U I93;
U I94;
U I95;
U I96;
U I97;
U I98;
U I99;
U * I100;
U * I101;
U * I102;
U I103;
U I104;
U * I105;
U I106;
U I107;
U I108;
U I109;
U * I110;
U I111;
U * I112;
U I113;
U I114;
U I115;
U I116;
U I117;
U I118;
U * I119;
char * I120;
U I121;
U I122;
U I123;
U I124;
U * I125;
U I126;
U I127;
U I128;
U I129;
UP * I130;
U I131;
U I132;
U I133;
U I134;
U I135;
U I136;
U * I137;
U I138;
U I139;
U * I140;
U * I141;
U * I142;
U * I143;
U * I144;
U I145;
U I146;
struct taskInfo * I147;
U I149;
U I150;
U I151;
U I152;
int * I153;
U * I154;
UP * I155;
U * I156;
U I157;
U I158;
int * I159;
U I160;
U I161;
U I162;
U I163;
U I164;
U I165;
struct qrefer * I166;
U * I168;
unsigned * I169;
void * I170;
U I171;
struct classStaticReferData * I172;
U I174;
U * I175;
U I176;
U * I177;
U I178;
struct wakeupInfoStruct * I179;
U I181;
U I182;
U I183;
U * I184;
U I185;
U * I186;
U * I187;
U I188;
U I189;
U I190;
U I191;
U * I192;
U I193;
U I194;
U * I195;
U I196;
U I197;
U * I198;
U * I199;
U * I200;
U I201;
U I202;
U I203;
U I204;
U I205;
U I206;
struct qdefrefee * I207;
struct qrefee * I209;
U * I211;
U * I212;
int (* I213)(void);
char * I214;
U I215;
U I216;
void * I217;
void * I218;
NumLibs_t I219;
char * I220;
U * I221;
U I222;
U I223;
U I224;
U I225;
U I226;
U * I227;
U * I228;
int I229;
struct clock_load * I230;
int I245;
struct clock_data * I246;
int I262;
struct clock_hiconn * I263;
U I267;
U I268;
U I269;
U I270;
U * I271;
U I272;
U I273;
U * I274;
U I275;
void * I276;
U I277;
U I278;
UP * I279;
void * I280;
U I281;
UP * I282;
U * I283;
int (* I284)(void);
U * I285;
UP * I286;
U * I287;
U I288 :1;
U I289 :31;
U I290;
U I291;
UP * I292;
U * I293;
U I294 :1;
U I295 :1;
U I296 :1;
U I297 :1;
U I298 :28;
U I299;
U I300;
U I301;
U I302 :31;
U I303 :1;
UP * I304;
UP * I305;
fsimInfoT * I306;
nlpInfoT * I307;
U I308;
U I309;
UP * I310;
UP * I311;
UP * I312;
UP * I313;
struct daidirInfo * I314;
struct vcs_tftable * I316;
U I318;
UP * I319;
UP * I320;
U I321;
U I322;
U I323;
UP * I324;
U * I325;
UP * I326;
UP * I327;
struct qird_hil_data * I328;
U I330;
U * I331;
UP (* I332)(void);
UP (* I333)(void);
UP (* I334)(void);
UP (* I335)(void);
UP (* I336)(void);
int * I337;
int (* I338)(void);
char * I339;
UP * I340;
UP * I341;
UP (* I342)(void);
int (* I343)(void);
int * I344;
int (* I345)(void);
int * I346;
char * I347;
U * I348;
U * I349;
U * I350;
U * I351;
void * I352;
int (* I353)(void);
U I354;
UP * I355;
UP * I356;
U I357;
void * I358;
U I359;
U I360;
U I361;
U I362;
U I363;
U I364;
char * I365;
UP * I366;
U * I367;
U * I368;
U * I369;
U I370 :15;
U I371 :14;
U I372 :1;
U I373 :1;
U I374 :1;
U I375 :3;
U I376 :1;
U I377 :1;
U I378 :17;
U I379 :3;
U I380 :5;
U I381 :1;
U I382 :1;
U I383;
qird_dbg_flags_t I384;
struct scope * I385;
U I387;
U I388;
U I389;
U * I390;
U * I391;
U * I392;
U I393;
U I394;
U I395;
U I396;
struct pcbt * I397;
U I406;
U I407;
U I408;
U I409;
void * I410;
void * I411;
void * I412;
int I413;
U * I414;
U I415;
U I416;
U I417;
U I418;
U I419;
U I420;
U I421;
void * I422;
UP * I423;
U I424;
U I425;
void * I426;
U I427;
txpInfoT * I428;
U I429;
U I430;
U I431;
U I432;
U I433;
U I434;
char * I435;
U I436;
U * I437;
U I438;
U * I439;
U I440;
U I441;
U I442;
U I443;
U I444;
U I445;
U * I446;
U I447;
U I448;
U * I449;
U I450;
U I451;
U I452;
U * I453;
char * I454;
U I455;
U I456;
U I457;
simProfInfoT * I458;
U I459;
U I460;
UP * I461;
U I462;
U I463;
U I464;
struct cosim_info * I465;
U I467;
U * I468;
hybridSimInfoT * I469;
U I470;
U * I471;
U I472;
U I473;
U * I474;
U I475;
U * I476;
U I477;
U * I478;
U I479;
U I480;
U * I481;
U I482;
U * I483;
U I484;
U I485;
U * I486;
struct mhdl_outInfo * I487;
UP * I489;
U I490;
UP * I491;
U I492;
void * I493;
U * I494;
void * I495;
char * I496;
U I497;
U * I498;
char * I499;
U I500;
struct regInitInfo * I501;
UP * I503;
U * I504;
char * I505;
U I506;
U I507;
U I508;
U I509;
U I510;
U I511;
U I512;
U I513;
UP * I514;
U I515;
U I516;
U I517;
U I518;
UP * I519;
U I520;
UP * I521;
U I522;
U I523;
U I524;
U * I525;
U I526;
U I527;
U I528;
U * I529;
U * I530;
UP * I531;
UP * I532;
void * I533;
UP I534;
void * I535;
void * I536;
void * I537;
void * I538;
void * I539;
UP I540;
U * I541;
U * I542;
void * I543;
U I544 :1;
U I545 :31;
U I546;
U I547;
U I548;
int I549;
U I550 :1;
U I551 :1;
U I552 :1;
U I553 :1;
U I554 :28;
void * I555;
void * I556;
void * I557;
void * I558;
void * I559;
UP * I560;
U * I561;
U I562;
char * I563;
U * I564;
U * I565;
U * I566;
char * I567;
int * I568;
int * I569;
UP * I570;
struct etype * I571;
U I572;
U I573;
U * I574;
struct etype * I575;
U I576;
U I577;
U I578;
U * I579;
void * I580;
U I581;
U I582;
void * I583;
fgpInfoT * I584;
U I585;
struct covreg_rt * I586;
U I588;
U I589;
U * I590;
U I591;
U * I592;
U I593;
U I594;
U * I595;
};
typedef struct pcbt {
U * I399;
UP I77;
U I400;
U I401;
U I402;
U I403;
U I404;
U I405;
} PCBT;
struct iptmpl {
QIRD * I666;
void * I667;
void * I668;
UP I669;
UP I670;
struct iptmpl * I671[2];
};
typedef unsigned long long FileOffset;
typedef struct _RmaMultiInputTable {
U I936 :1;
U I937 :1;
U I603 :2;
U I604 :4;
U I605 :5;
U I938 :1;
U I939 :1;
U I940 :1;
U I941 :1;
U I942 :1;
U I943 :1;
U I944;
U I945;
U I254;
U I946;
U I947 :1;
U I948 :31;
union {
U utable;
U edgeInputNum;
} I631;
U I949 :4;
U I950 :4;
U I951 :4;
U I952 :4;
U I953 :4;
U I954 :4;
U I955 :1;
U I956 :1;
U I957 :1;
U I958 :1;
U I959 :5;
HsimExprChar * I960;
UB * I961;
UB * I962;
struct _RmaMultiInputTable * I935;
struct _RmaMultiInputTable * I964;
} RmaMultiInputTable;
typedef struct _HsCgPeriod {
U I1016;
U I1017;
} HsCgPeriod;
typedef struct {
U I1018[2];
U I1019 :1;
U I1020 :1;
U I1021 :8;
U I1022 :8;
U I1023 :8;
U I1024 :4;
U I1025 :1;
U I1026 :1;
unsigned long long I1027;
unsigned long long I1028;
unsigned long long I1029;
unsigned long long I1030;
unsigned long long I1017;
U I1016;
U I1031;
U I1032;
U I1033;
U I1034;
U I1035;
HsCgPeriod * I1036[10];
} HsimSignalMonitor;
typedef struct {
InstNum I1037;
FlatNodeNum I1038;
U I970;
scalar I1039;
UB I1040;
UB I1041;
UB I1042;
UB I1043;
UB I1044;
UB I1045;
ULL I1046;
U I1047;
U I1048;
U I1049;
U I1050;
U I1051;
U I1052;
U I1053;
U I1054;
HsimSignalMonitor * I1055;
RP I1056;
RmaTimeStamp64 I1057;
U I1058;
RmaTimeStamp64 I1059;
U I1060;
UB I1061 :1;
UB I1062 :1;
UB I1063 :1;
RP I1064;
} HsimNodeRecord;
typedef struct {
RP I1072;
RP pcode;
} RmaIbfPcode;
typedef struct {
RP I1072;
RP I660;
} RmaIbfIp;
typedef struct {
U I754;
InstNum32 I622;
} RmaIbfIpById;
typedef struct {
U I663;
U val;
} RmaDynamicEblklq;
typedef struct {
U I663;
U I664;
} RmaFgpDynamicEblklq;
typedef struct {
U val;
} RmaDynamicEblk;
typedef struct {
U I646 :28;
U I1073 :1;
U I1074 :1;
U I1075 :1;
U I1076 :1;
U I1077;
RP I1078;
RP I1079;
U I1080[1];
} RmaDbsedRtlLoads;
typedef struct {
RP I1081;
RP pfn;
RP pcode;
} RmaSeqPrimOutputEblkData;
typedef RP RCICODE;
typedef struct {
RmaEblk I658;
} RmaEvTriggeredOrSyncLoadCg;
typedef struct {
RO I932;
RP pcode;
} SchedGateFanout;
typedef struct {
RO I932;
RP pcode;
U I993[4];
} SchedSelectGateFanout;
typedef struct {
RP pcode;
RmaEblklq I658;
} SchedGateEblk;
typedef struct {
RP pcode;
RmaEblklq I658;
UB * I1082;
} SchedSelectGateEblk;
typedef struct {
RmaEblk I658;
RP I1083;
} RmaAnySchedSampleSCg;
typedef struct {
RmaEblk I658;
RP I1082;
RP I1083;
vec32 I1084;
} RmaAnySchedVCg;
typedef struct {
RmaEblk I658;
RP I1082;
RP I1083;
vec32 I716[1];
} RmaAnySchedWCg;
typedef struct {
RmaEblk I658;
RP I1082;
RP I1083;
scalar I1085[1];
} RmaAnySchedECg;
typedef struct {
U I1086;
U I646;
U I970;
U I1087;
RmaIbfIp * I1088;
EBLK I658;
void * val;
} RmaThreadSchedCompiledLoads;
typedef struct {
U I646;
U I654;
RmaThreadSchedCompiledLoads * I1089;
} RmaSchedCompileLoadsCg;
typedef struct {
RP I1090;
} RmaRootCbkCg;
typedef struct {
RP I1091;
} RmaRootForceCbkCg;
typedef struct {
RmaEblk I658;
RP I1092;
} RmaForceCbkJmpCg;
typedef struct {
U I58;
U I654 :31;
U I1093 :1;
vec32 I748;
U I1094;
RP I1095;
RP I1096;
} RmaForceSelectorV;
typedef struct {
U I58;
RmaIbfPcode I1103;
} RmaNetTypeDriverGate;
typedef struct {
U I58;
U I599;
RmaIbfPcode I1103[1];
} RmaNetTypeScatterGate;
typedef struct {
U I58;
RmaIbfPcode I1103;
} RmaNetTypeGatherGate;
typedef struct {
RmaIbfPcode I1104;
U I1105 :3;
U I1106 :1;
U I1107 :1;
U I945 :16;
} RmaNbaGateOfn;
typedef struct {
U I58;
NBS I1108;
RmaIbfPcode I1104;
} RmaNbaGate1;
typedef struct {
RP ptable;
RP pfn;
RP pcode;
} Rma1InputGateFaninCgS;
typedef struct RmaSeqPrimOutputS_ RmaSeqPrimOutputOnClkS;
struct RmaSeqPrimOutputS_ {
RP pfn;
U state;
U I1111;
RP I1112;
scalar val;
union {
U I638;
U I620;
} I631;
RP I1113[1];
};
typedef struct {
U I58;
U iinput;
UB I1115;
RP I1116;
} RmaCondOptLoad;
typedef struct {
U I58;
U iinput;
UB I1115;
RP I1116;
} RmaMacroStateUpdate;
typedef struct {
U I58;
U state;
U I1117;
UB I1115;
U * I1118;
} RmaMacroState;
typedef struct {
U iinput;
RP I1119;
} RmaMultiInputLogicGateCg;
typedef struct {
U iinput;
RP ptable;
RP I1119;
} RmaSeqPrimEdgeInputCg;
typedef struct {
RmaEblk I658;
RP pcode;
} RmaSched0GateCg;
typedef struct {
RmaEblk I658;
RP pcode;
RP pfn;
} RmaUdpDeltaGateCg;
typedef struct {
RmaEblk I658;
RP pcode;
RP pfn;
scalar I1120;
} RmaSchedDeltaGateCg;
typedef struct {
RP pcode;
RP pfn;
RmaDynamicEblk I658;
scalar I1120;
scalar I1121;
scalar I1122;
scalar I554;
} RmaDynamicSchedDeltaGateCg;
typedef struct {
UB I1123;
RP I1124;
RP I1125;
} RmaPropNodeSeqLhsSCg;
typedef struct {
RmaEblk I658;
RP pcode;
U I970;
U I647[1];
} RmaBitEdgeEblk;
typedef struct {
U I58;
U I1126;
RP I747;
RmaEblk I658;
RmaIbfPcode I1104;
} RmaGateDelay;
typedef struct {
U I58;
RP I747;
RmaEblk I658;
RmaIbfPcode I1104;
} RmaGateBehavioralDelay;
typedef struct {
U I58;
union {
RP I1382;
RP I1677;
RP I1693;
} I721;
RmaIbfPcode I1104;
} RmaMPDelay;
typedef struct {
U I58;
RmaPulse I1127;
RmaIbfPcode I1104;
} RmaMPPulseHybridDelay;
typedef struct {
U I58;
RmaIbfPcode I1104;
RmaMps I1128;
} RmaMPHybridDelay;
typedef struct {
U I58;
U I1129;
RmaIbfPcode I1104;
RmaEblk I706;
} RmaMPHybridDelayPacked;
typedef struct {
U I58;
RmaIbfPcode I1104;
RmaMpspNewCsdf I1130;
} RmaMPPulseDelay;
typedef struct {
U I58;
RmaMpsp I1130;
RmaIbfPcode I1104;
} RmaMPPulseOptHybridDelay;
typedef struct _RmaBehavioralTransportDelay {
U I58;
RP I616;
RmaTransEventHdr I976;
RP I744;
RmaIbfPcode I1104;
} RmaBehavioralTransportDelayS;
typedef struct {
U I58;
RP I616;
RmaTransEventHdr I976;
RP I744;
RmaIbfPcode I1104;
} RmaNtcTransDelay;
typedef struct {
U I58;
RP I616;
RmaEblk I658;
RmaIbfPcode I1104;
} RmaNtcTransMpwOptDelay;
typedef struct {
U I58;
RmaEblk I658;
RmaIbfPcode I1104;
} RmaNtcTransZeroDelay;
typedef struct {
U I58;
RP I1131;
RP I1132;
RmaTransEventHdr I976;
RP I744;
RmaIbfPcode I1104;
} RmaNtcTransDelayRF;
typedef struct {
U I58;
RP I1131;
RP I1132;
RmaEblk I658;
RmaIbfPcode I1104;
} RmaNtcTransMpwOptDelayRF;
typedef struct {
U I58;
RP I1133;
RmaTransEventHdr I976;
RP I744;
RmaIbfPcode I1104;
} RmaICTransDelay;
typedef struct {
U I58;
RP I1133;
RmaEblk I658;
RmaIbfPcode I1104;
} RmaICTransMpwOptDelay;
typedef struct {
U I58;
RmaEblk I658;
RmaIbfPcode I1104;
} RmaICTransZeroDelay;
typedef struct {
U I58;
RP I747;
RmaEblk I658;
RmaIbfPcode I1104;
} RmaICSimpleDelay;
typedef struct {
U I58;
union {
RP psimple;
RP I1677;
RP I1693;
} I721;
RmaIbfPcode I1104;
} RmaICDelay;
typedef struct {
U I58;
RP I747;
RmaEblk I658;
RmaIbfPcode I1104;
} RmaPortDelay;
typedef struct {
U I945;
RP I1134;
} RmaRtlXEdgesLoad;
typedef struct {
U I58;
RmaRtlXEdgesLoad I1134[(5)];
void * I1135;
} RmaRtlXEdgesHdr;
typedef struct {
U I58;
US I1136;
US I1137 :1;
US I959 :15;
RP I1138;
RP I1139;
RP I1140;
} RmaRtlEdgeBlockHdr;
typedef struct {
RP I1141;
RP I1142;
} RemoteDbsedLoad;
typedef struct {
RmaEblk I658;
RP I1143;
RP I1144;
US I1145;
UB I1146;
UB I1147 :2;
UB I1148 :2;
UB I1149 :1;
UB I959 :3;
U I619;
RP I1150;
RP I751[(5)];
RP I753[(5)];
US I1151;
US I1152;
RP I1153;
RemoteDbsedLoad I1154[1];
} RmaRtlEdgeBlock;
typedef struct TableAssign_ {
struct TableAssign_ * I935;
struct TableAssign_ * I738;
U I58;
U I1156 :1;
U I1157 :1;
U I1158 :2;
U I1159 :1;
U I638 :8;
U I1160 :1;
U I1161 :1;
U I1162 :1;
U I1163 :1;
U I1164 :1;
U I1165 :1;
U I1166 :1;
U I1167 :1;
U I1168 :1;
U I1169 :1;
U I959 :9;
RP ptable;
RP I1119;
} TableAssign;
typedef struct TableAssignLayoutOnClk_ {
struct TableAssignLayoutOnClk_ * I935;
struct TableAssignLayoutOnClk_ * I738;
U I58;
U I1156 :1;
U I1157 :1;
U I1158 :2;
U I1159 :1;
U I638 :8;
U I1160 :1;
U I1161 :1;
U I1162 :1;
U I1163 :1;
U I1164 :1;
U I1165 :1;
U I1166 :1;
U I1167 :1;
U I1168 :1;
U I1169 :1;
U I959 :9;
RP ptable;
RmaSeqPrimOutputOnClkS I1171;
RmaEblk I658;
} TableAssignLayoutOnClk;
typedef struct {
U state;
U I1172;
} RmaSeqPrimOutputOnClkOpt;
typedef struct TableAssignLayoutOnClkOpt_ {
struct TableAssignLayoutOnClkOpt_ * I935;
struct TableAssignLayoutOnClkOpt_ * I738;
U I1174;
U I1156 :1;
U I1157 :1;
U I1158 :2;
U I1159 :1;
U I638 :8;
U I1160 :1;
U I1161 :1;
U I1162 :1;
U I1163 :1;
U I1164 :1;
U I1165 :1;
U I1166 :1;
U I1167 :1;
U I1168 :1;
U I1169 :1;
U I959 :9;
RmaSeqPrimOutputOnClkOpt I1171;
RmaSeqPrimOutputEblkData I1175;
} TableAssignLayoutOnClkOpt;
typedef struct {
U I58;
RP I738;
RP I1176;
} RmaTableAssignList;
typedef struct {
U I58;
RP I738;
RP I1176;
RP I1177;
RP I1112;
RP I1178;
US I638;
UB I1039;
UB I1179;
UB I1180;
UB I712;
RP I1181[0];
} RmaThreadTableAssignList;
typedef struct {
RP I1177;
RP I1112;
RP I1178;
US I638;
UB I1039;
UB I1179;
UB I1180;
UB I712;
} RmaThreadTableHeader;
typedef struct {
RP I1141;
} RmaWakeupListCg;
typedef struct {
RP I1141;
} RmaWakeupArrayCg;
typedef struct {
RP I1141;
RP I1182;
} RmaPreCheckWakeupListCg;
typedef struct {
RP I1141;
RP I1182;
} RmaPreCheckWakeupArrayCg;
typedef struct {
U I1183;
U I638;
RmaTimeStamp I1184[1];
} RmaTsArray;
typedef struct {
U iinput;
RP I1185;
} RmaConditionsMdb;
typedef struct {
RP I1186;
RP I1187;
U I1188;
} RmaTcListHeader;
typedef struct {
RP I935;
RP I1189;
RP I1190;
RP I653;
U I1191;
scalar I945;
scalar I1192;
US I1193 :1;
US I1194 :1;
US I1195 :1;
US I1196 :1;
US I1197 :1;
US I1198 :1;
US I1199 :1;
US I1200 :5;
} RmaTcCoreSimple;
typedef struct {
RP I935;
RP I1189;
RP I1190;
RP I653;
U I1191;
scalar I945;
scalar I1192;
US I1193 :1;
US I1194 :1;
US I1195 :1;
US I1196 :1;
US I1197 :1;
US I1198 :1;
US I1199 :1;
US I1200 :5;
RP I1201;
} RmaTcCoreConditional;
typedef struct {
RP I935;
RP I1189;
RP I1190;
RP I653;
U I1191;
scalar I945;
scalar I1192;
US I1193 :1;
US I1194 :1;
US I1195 :1;
US I1196 :1;
US I1197 :1;
US I1198 :1;
US I1199 :1;
US I1200 :5;
RP I1201;
RP I1202;
} RmaTcCoreConditionalOpt;
typedef struct {
RP I935;
RP I1189;
RP I1190;
RP I653;
U I1191;
scalar I945;
scalar I1192;
US I1193 :1;
US I1194 :1;
US I1195 :1;
US I1196 :1;
US I1197 :1;
US I1198 :1;
US I1199 :1;
US I1200 :5;
RP I1202;
RP I1203;
U I1204;
RmaConditionsMdb arr[1];
} RmaTcCoreConditionalMtc;
typedef struct {
RP I1190;
RP I653;
U I1191;
scalar I945;
scalar I1192;
US I1193 :1;
US I1194 :1;
US I1195 :1;
US I1196 :1;
US I1197 :1;
US I1198 :1;
US I1199 :1;
US I1200 :5;
} RmaTcCoreSimpleNoList;
typedef struct {
RP I1190;
RP I653;
U I1191;
scalar I945;
scalar I1192;
US I1193 :1;
US I1194 :1;
US I1195 :1;
US I1196 :1;
US I1197 :1;
US I1198 :1;
US I1199 :1;
US I1200 :5;
RP I1201;
} RmaTcCoreConditionalNoList;
typedef struct {
RP I1190;
RP I653;
U I1191;
scalar I945;
scalar I1192;
US I1193 :1;
US I1194 :1;
US I1195 :1;
US I1196 :1;
US I1197 :1;
US I1198 :1;
US I1199 :1;
US I1200 :5;
RP I1201;
RP I1202;
} RmaTcCoreConditionalOptNoList;
typedef struct {
RP I1190;
RP I653;
U I1191;
scalar I945;
scalar I1192;
US I1193 :1;
US I1194 :1;
US I1195 :1;
US I1196 :1;
US I1197 :1;
US I1198 :1;
US I1199 :1;
US I1200 :5;
RP I1202;
RP I1203;
U I1204;
RmaConditionsMdb arr[1];
} RmaTcCoreConditionalMtcNoList;
typedef struct {
RP I1190;
RP I653;
U I1191;
scalar I945;
scalar I1192;
US I1193 :1;
US I1194 :1;
US I1195 :1;
US I1196 :1;
US I1197 :1;
US I1198 :1;
US I1199 :1;
US I1200 :5;
RP I1202;
RP I1203;
RP I1113;
U I1204;
RmaConditionsMdb arr[1];
} RmaTcCoreConditionalMtcNoListMdb;
typedef struct {
RP I1190;
RP I653;
U I1191;
scalar I945;
scalar I1192;
US I1193 :1;
US I1194 :1;
US I1195 :1;
US I1196 :1;
US I1197 :1;
US I1198 :1;
US I1199 :1;
US I1200 :5;
RP I1201;
RP I1113;
} RmaTcCoreConditionalNoListMdb;
typedef struct {
RP I1190;
RP I653;
U I1191;
scalar I945;
scalar I1192;
US I1193 :1;
US I1194 :1;
US I1195 :1;
US I1196 :1;
US I1197 :1;
US I1198 :1;
US I1199 :1;
US I1200 :5;
U I1206;
RP I1207;
RP I1208;
RP I1201;
RP I1209;
RP I1210;
RmaTimeStamp I1211;
} RmaTcCoreNochange;
typedef struct {
RP I1212;
RP I935;
} RmaTcCoreNochangeList;
typedef struct {
RP I1190;
RP I653;
U I1191;
scalar I945;
scalar I1192;
US I1193 :1;
US I1194 :1;
US I1195 :1;
US I1196 :1;
US I1197 :1;
US I1198 :1;
US I1199 :1;
US I1200 :5;
RP I1201;
RmaEblk I658;
U I1213;
} RmaTcCoreFullskew;
typedef struct {
RP I1214;
RP I935;
} RmaTcCoreFullskewList;
typedef struct {
RP I1185;
RmaTimeStamp I1215;
scalar I1216;
} RmaConditionalTSLoadNoList;
typedef struct {
RP I935;
RP I1185;
RmaTimeStamp I1215;
scalar I1216;
} RmaConditionalTSLoad;
typedef struct {
RmaTimeStamp I1215;
scalar I1216;
US I945;
RP I1202;
} RmaConditionalTSLoadOptNoList;
typedef struct {
RP I935;
RmaTimeStamp I1215;
scalar I1216;
US I945;
RP I1202;
} RmaConditionalTSLoadOpt;
typedef struct {
RP I1202;
RP I1217;
U I1204;
RmaConditionsMdb arr[1];
} RmaConditionalTSLoadMtcNoList;
typedef struct {
RP I1113;
RP I1202;
RP I1217;
U I1204;
RmaConditionsMdb arr[1];
} RmaConditionalTSLoadMtcNoListMdb;
typedef struct {
RP I935;
RP I1202;
RP I1217;
U I1204;
RmaConditionsMdb arr[1];
} RmaConditionalTSLoadMtc;
typedef struct {
U I1218;
U I1219;
FlatNodeNum I1071;
U I970;
U I1220;
U I1221;
RmaIbfPcode I1104;
union {
scalar I1222;
vec32 I1223;
scalar * I1224;
vec32 * I1225;
} val;
} RmaScanSwitchData;
typedef struct {
U I1218;
U I1219;
U I970;
FlatNodeNum I1071;
RmaIbfPcode I1104;
union {
scalar I1222;
vec32 I1223;
scalar * I1224;
vec32 * I1225;
double I1226;
} val;
} RmaRtvsGateData;
typedef struct {
RP I935;
RP I738;
RP I1227;
} RmaDoublyLinkedListElem;
typedef struct {
RP I1228;
RP I1229;
U I1230 :1;
U I1231 :1;
U I1232 :1;
U I1233 :4;
U I1234 :1;
U I1063 :1;
U I1235 :1;
U I1236;
} RmaSwitchGateInCbkListInfo;
typedef struct {
union {
RmaDoublyLinkedListElem I1742;
RmaSwitchGateInCbkListInfo I2;
} I631;
RmaIbfPcode I1104;
} RmaSwitchGate;
typedef struct RmaNonEdgeLoadData1_ {
US I1237;
scalar val;
scalar I1238 :1;
scalar I1239 :1;
scalar I1240 :3;
scalar I1241 :1;
scalar I1242 :1;
scalar I1243 :1;
U I1244;
U I1245;
RP I751;
RP I1246;
RP I1071;
RP I1247;
RP I1248;
} RmaNonEdgeLoadData1;
typedef struct RmaNonEdgeLoadHdr1_ {
UB I1238;
UB I1249;
UB I1039;
RmaNonEdgeLoadData1 * I1134;
RmaNonEdgeLoadData1 * I738;
RP I1153;
void * I1135;
} RmaNonEdgeLoadHdr1;
typedef struct RmaNonEdgeLoadHdrPrl1_ {
U I1250;
RP I653;
} RmaNonEdgeLoadHdrPrl1;
typedef struct RmaNonEdgeLoadArrayHdr1_ {
UB I1238 :1;
UB I1249 :1;
UB I1039;
int I619;
RmaNonEdgeLoadData1 * I623;
U * I1251;
RP I1153;
void * I1135;
} RmaNonEdgeLoadArrayHdr1;
typedef struct RmaNonEdgeLoadDataArray1_ {
U I1252;
} RmaNonEdgeLoadDataArray1;
typedef struct RmaChildClockProp_ {
RP I751;
RP I1253;
RP I1071;
RP pcode;
scalar val;
} RmaChildClockProp;
typedef struct RmaChildClockPropList1_ {
RmaChildClockProp * I1134;
RmaChildClockProp * I738;
} RmaChildClockPropList1;
typedef struct {
UB I1254;
UB I1255 :1;
UB I1256 :1;
UB I1257 :1;
UB I1258 :1;
UB I959 :4;
US cedges;
RP I1259;
} RmaMasterXpropLoadHdr;
typedef struct {
UB I1254;
UB I1260;
UB I1261;
UB I1262 :1;
UB I1263 :1;
UB I959 :6;
U cedges;
} RmaXpropLoadHdr;
typedef struct {
UB I1260;
UB I1261;
UB I1264;
UB I1265;
U cedges :29;
U I1256 :1;
U I1266 :1;
U I1267 :1;
U I1268;
U I1269;
RP I1270;
RP I1271;
RmaRtlEdgeBlockHdr * I1272;
} RmaChildXpropLoadHdr;
struct clock_load {
U I232 :5;
U I233 :12;
U I234 :1;
U I235 :2;
U I236 :1;
U I237 :1;
U I238 :1;
U I239 :9;
U I240;
U I241;
void (* pfn)(void * I243, char val);
};
typedef struct clock_data {
U I248 :1;
U I249 :1;
U I250 :1;
U I251 :1;
U I232 :5;
U I233 :12;
U I252 :6;
U I253 :1;
U I235 :2;
U I236 :1;
U I239 :1;
U I254;
U I255;
U I256;
U I240;
U I257;
U I258;
U I259;
U I260;
U I261;
} HdbsClockData;
struct clock_hiconn {
U I265;
U I266;
U I240;
U I235;
};
typedef union _RmaCbkMemOptUnion {
RP I1273;
RP I1274;
RP I1275;
} RmaCbkMemOptUnion;
typedef struct _RmaDaiOptCg {
RmaCbkMemOptUnion I1276;
} RmaDaiOptCg;
struct futq_slot2 {
U I698;
U I699[32];
};
struct futq_slot1 {
U I695;
struct futq_slot2 I696[32];
};
struct futq_info {
scalar * I690;
U I691;
U I692;
struct futq_slot1 I693[32];
};
struct futq {
struct futq * I679;
struct futq * I681;
RmaEblk * I682;
RmaEblk * I683;
U I663;
U I1;
DEblkPoolT * I684;
};
struct sched_table {
struct futq * I685;
struct futq I686;
struct hash_bucket * I687;
struct hash_bucket * I689;
};
struct dummyq_struct {
clock_struct I1277;
EBLK * I1278;
EBLK * I1279;
EBLK * I1280;
struct futq * I1281;
struct futq * I1282;
struct futq * I1283;
struct sched_table * I1284;
struct futq_info * I1286;
struct futq_info * I1288;
U I1289;
U I1290;
U I1291;
U I1292;
U I1293;
U I1294;
U I1295;
struct millenium * I1296;
EBLK * I1298;
EBLK * I1299;
EBLK * I1300;
EBLK * I1301;
EBLK * I1302;
EBLK * I1303;
EBLK * I1304;
EBLK * I1305;
EBLK * I1306;
EBLK * I1307;
EBLK * I1308;
EBLK * I1309;
EBLK * I1310;
EBLK * I1311;
EBLK * I1312;
EBLK * I1313;
EBLK * I1314;
MPS * I1315;
struct retain_t * I1316;
EBLK * I1317;
EBLK * I1318;
EBLK * I1319;
EBLK * I1320;
EBLK * I1321;
EBLK * I1322;
EBLK * I1323;
EBLK * I1324;
EBLK * I1325;
EBLK * I1326;
EBLK * I1327;
EBLK * I1328;
EBLK * I1329;
EBLK * I1330;
EBLK * I1331;
EBLK * I1332;
EBLK * I1333;
EBLK * I1334;
EBLK * I1335;
EBLK * I1336;
EBLK * I1337;
EBLK * I1338;
EBLK * I1339;
EBLK * I1340;
EBLK * I1341;
EBLK * I1342;
EBLK I1343;
EBLK * I1344;
EBLK * I1345;
int I1346;
struct vcs_globals_t * I1347;
clock_struct I1349;
unsigned long long I1350;
EBLK * I1351;
EBLK * I1352;
void * I1353;
U semilerOptQueuesFlag;
U I1355;
};
typedef void (* FP)(void * , scalar );
typedef void (* FP1)(void * );
typedef void (* FPRAP)(void * , vec32 * , U );
typedef U (* FPU1)(void * );
typedef void (* FPV)(void * , UB * );
typedef void (* FPVU)(void * , UB * , U );
typedef void (* FPDP)(void * , void * , scalar );
typedef void (* FPVDP)(void * , void * , void * );
typedef void (* FPLSEL)(void * , scalar , U );
typedef void (* FPLSELV)(void * , vec32 * , U , U );
typedef void (* FPFPV)(UB * , UB * , U , U , U , U , U , UB * , U );
typedef void (* FPFA)(UB * , UB * , U , U , U , U , U , U , UB * , U );
typedef void (* FPRPV)(UB * , U , U , U );
typedef void (* FPEVCDLSEL)(void * , scalar , U , UB * );
typedef void (* FPEVCDLSELV)(void * , vec32 * , U , U , UB * );
typedef void (* FPNTYPE_L)(void * , void * , U , U , UB * , UB * , UB * , UB * , UB * , UB * , UB * , U );
typedef void (* FPNTYPE_H)(void * , void * , U , U , UB * , UB * , UB * , UB * , U );
typedef void (* FPNTYPE_LPAP)(void * , void * , void * , U , U , UB * , UB * , U );
typedef void (* FPNTYPE_HPAP)(void * , void * , void * , U , U , UB * , UB * , UB * , UB * , U );
typedef struct _lqueue {
int I1356;
struct _lqueue * I709;
EBLK * I1358;
EBLK * I662;
DEblkPoolT * I684;
} Queue;
typedef struct {
void * I1359;
void * I1360;
void * I1361[2];
void * I1362;
} ClkLevel;
typedef struct {
unsigned long long I1363;
EBLK I1266;
U I1364;
U I1365;
union {
void * pHeap;
Queue * pList;
} I631;
unsigned long long I1366;
ClkLevel I1367;
Queue I1368[1];
} Qhdr;
extern UB Xvalchg[];
extern UB X4val[];
extern UB X3val[];
extern UB X2val[];
extern UB XcvtstrTR[];
extern UB Xcvtstr[];
extern UB Xbuf[];
extern UB Xbitnot[];
extern UB Xwor[];
extern UB Xwand[];
extern U Xbitnot4val[];
extern UB globalTable1Input[];
extern __thread unsigned long long vcs_clocks;
extern __thread unsigned long long ref_vcs_clocks;
extern UB Xunion[];
extern UB vcsXunionCg[];
extern UB vcsXworCg[];
extern UB vcsXwandCg[];
extern U fRTFrcRelCbk;
extern FP txpFnPtr;
extern UP bepatsFunctionArray[];
extern FP rmaFunctionArray[];
extern UP rmaFunctionRtlArray[];
extern UP rmaFunctionHsRtlArray[];
extern FP rmaFunctionLRArray[];
extern U rmaFunctionCount;
extern U rmaFunctionLRCount;
extern U rmaFunctionLRDummyCount;
extern UP rmaFunctionDummyEndPtr;
extern FP rmaFunctionFanoutArray[];
extern __thread UB dummyScalar;
extern __thread UB fScalarIsForced;
extern __thread UB fScalarIsReleased;
extern __thread UB fScalarIsDeposited;
extern U fNotimingchecks;
extern U fFsdbDumpOn;
extern RP * iparr;
extern FP1 * rmaPostAnySchedFnPtr;
extern FP1 * rmaPostAnySchedFnSamplePtr;
extern FP1 * rmaPostAnySchedVFnPtr;
extern FP1 * rmaPostAnySchedWFnPtr;
extern FP1 * rmaPostAnySchedEFnPtr;
extern FP1 * rmaPostSchedUpdateClockStatusFnPtr;
extern FP1 * rmaPostSchedUpdateClockStatusNonCongruentFnPtr;
extern FP1 * rmaPostSchedUpdateEvTrigFnPtr;
extern FP1 * rmaSched0UpdateEvTrigFnPtr;
extern FP1 * rmaPostSchedRecoveryResetDbsFnPtr;
extern U fGblDataOrTime0Prop;
extern UB rmaEdgeStatusValArr[];
extern UB rmaposEdgeStatusArray[];
extern UB rmanegEdgeStatusArray[];
extern FP1 * propForceCbkSPostSchedCgFnPtr;
extern FP1 * propForceCbkMemoptSPostSchedCgFnPtr;
extern FP1 * propForceCbkMemoptSPostSchedNativeVcCgFnPtr;
extern U VCS_NCBK_Enabled;
extern UB * ptableGbl;
extern U * vcs_ptableOffsetsGbl;
extern UB * expandedClkValues;
extern __thread Qhdr * lvlQueue;
extern __thread unsigned threadIndex;
extern __thread unsigned fBufferingEvent;
extern int cPeblkThreads;
extern US xedges[];
extern U mhdl_delta_count;
extern U ignoreSchedForScanOpt;
extern U fignoreSchedForDeadComboCloud;
extern int fZeroUser;
extern U fEveBusPullVal;
extern U fEveBusPullFlag;
extern U fFutEventPRL;
extern U fParallelEBLK;
extern __thread UB fNettypeIsForced;
extern __thread UB fNettypeIsReleased;
extern EBLK * peblkFutQ1Head;
extern EBLK * peblkFutQ1Tail;
extern US * edgeActionT;
extern unsigned long long * derivedClk;
extern U fHashTableSize;
extern U fSkipStrChangeOnDelay;
extern U fHsimTcheckOpt;
extern U fHsimRuntimeSdfOpt;
extern U fSkipMpTsUpdateOnStr;
extern scalar edgeChangeLookUp[4][4];
extern U fDoingTime0Prop;
extern U fLoopDetectMode;
extern int gFLoopDectCodeEna;
extern U fLoopReportRT;
extern U rmaProfEvtProp;
extern U semilerOptQueuesFlag;
extern int semilerOpt;
extern void *mempcpy(void* s1, void* s2, unsigned n);
extern UB* rmaEvalDelays(UB* pcode, scalar val);
extern UB* rmaEvalDelaysV(UB* pcode, vec32* pval);
extern void rmaPopTransEvent(UB* pcode);
extern void rmaSetupFuncArray(UP* ra, U c, U w);
extern void rmaSetupRTLoopReportPtrs(UP* funcs, UP* rtlFuncs, U cnt, U cntDummy, UP end);
extern void SinitHsimPats(void);
extern void VVrpDaicb(void* ip, U nIndex);
extern int SDaicb(void *ip, U nIndex);
extern void SDaicbForHsimCbkMemOptNoFlagScalar(void* pDaiCb, unsigned char value, unsigned char isStrength);
extern void SDaicbForHsimCbkMemOptWithFlagScalar(void* pDaiCb, unsigned char value, unsigned char isStrength);
extern void SDaicbForHsimCbkMemOptNoFlagScalar(void* pDaiCb, unsigned char value, unsigned char isStrength);
extern void SDaicbForHsimCbkMemOptWithFlagScalar(void* pDaiCb, unsigned char value, unsigned char isStrength);
extern void VVrpNonEventNonRegdScalarForHsimOptCbkMemopt(void* ip, U nIndex);
extern void SDaicbForHsimCbkMemOptNoFlagDynElabScalar(U* mem, unsigned char value, unsigned char isStrength);
extern void SDaicbForHsimCbkMemOptWithFlagDynElabScalar(U* mem, unsigned char value, unsigned char isStrength);
extern void SDaicbForHsimCbkMemOptNoFlagDynElabFrcRel(U* mem, unsigned char reason, int msb, int lsb, int ndx);
extern void SDaicbForHsimCbkMemOptNoFlagFrcRel(void* pDaiCb, unsigned char reason, int msb, int lsb, int ndx);
extern void hsimDispatchCbkMemOptForVcd(RP p, U val);
extern void* hsimGetCbkMemOptCallback(RP p);
extern void hsimDispatchCbkMemOptNoDynElabS(RP* p, U val, U isStrength);
extern void hsimDispatchDACbkMemOptNoDynElabS(RP* p, U val, UB* da_byte, U isStrength);
extern U slaveTogglesThisTime;
extern void* hsimGetCbkPtrNoDynElab(RP p);
extern void hsimDispatchCbkMemOptDynElabS(U** pvcdarr, U** pcbkarr, U val, U isScalForced, U isScalReleased, U isStrength);
extern void hsimDispatchCbkMemOptNoDynElabVector(RP* /*RmaDaiOptCg* */p, void* pval, U /*RmaValueType*/ vt, U cbits);
extern void copyAndPropRootCbkCgS(RmaRootCbkCg* pRootCbk, scalar val);
extern void copyAndPropRootCbkCgV(RmaRootCbkCg* rootCbk, vec32* pval);
extern void copyAndPropRootCbkCgW(RmaRootCbkCg* rootCbk, vec32* pval);
extern void copyAndPropRootCbkCgE(RmaRootCbkCg* rootCbk, scalar* pval);
extern void Wsvvar_callback_non_dynamic1(RP* ptr, int);
extern void rmaExecEvSyncList(RP plist);
extern void Wsvvar_callback_virt_intf(RP* ptr);
extern void Wsvvar_callback_hsim_var(RP* ptr);
extern void checkAndConvertVec32To2State(vec32* value, vec32* svalue, U cbits, U* pforcedBits);
extern unsigned int fGblDataOrTime0Prop;
extern void SchedSemiLerMP1(UB* pmps, U partId);
extern void SchedSemiLerMPO(UB* pmpso, U partId);
extern void rmaDummyPropagate(void);
extern RP rmaTestCg(RP pcode, U vt, UB* value);
extern void hsUpdateModpathTimeStamp(UB* pmps);
extern void doMpd32One(UB* pmps);
extern void doMpdCommon(MPS* pmps);
extern TimeStamp GET_DIFF_DELAY_FUNC(TimeStamp ts);
extern void SchedSemiLerMP(UB* ppulse, U partId);
extern EBLK *peblkFutQ1Head;
extern EBLK *peblkFutQ1Tail;
extern void scheduleuna(UB *e, U t);
extern void scheduleuna_mp(EBLK *e, unsigned t);
extern void schedule(UB *e, U t);
extern void sched_hsopt(struct dummyq_struct * pQ, EBLK *e, U t);
extern void sched_millenium(struct dummyq_struct * pQ, void *e, U thigh, U t);
extern void schedule_1(EBLK *e);
extern void sched0(UB *e);
extern void sched0Raptor(UB *e);
extern void sched0lq(EBLK *e);
extern void sched0lqnc(EBLK *e);
extern void sched0una(UB *e);
extern void sched0una_th(struct dummyq_struct *pq, UB *e);
extern void hsopt_sched0u_th(struct dummyq_struct *pq, UB *e);
extern void scheduleuna_mp_th(struct dummyq_struct *pq, EBLK *e, unsigned t);
extern void schedal(UB *e);
extern void sched0_th(struct dummyq_struct * pQ, EBLK *e);
extern void sched0u(UB *e);
extern void sched0u_th(struct dummyq_struct *pq, UB *e);
extern void sched0_hsim_front_th(struct dummyq_struct * pQ, UB *e);
extern void sched0_hsim_frontlq_th(struct dummyq_struct * pQ, UB *e);
extern void sched0lq_th(struct dummyq_struct * pQ, UB *e);
extern void schedal_th(struct dummyq_struct * pQ, UB *e);
extern void scheduleuna_th(struct dummyq_struct * pQ, void *e, U t);
extern void schedule_th(struct dummyq_struct * pQ, UB *e, U t);
extern void schedule_1_th(struct dummyq_struct * pQ, EBLK *peblk);
extern void SetupLER_th(struct dummyq_struct * pQ, EBLK *e);
extern void FsdbReportClkGlitch(UB*,U);
extern void AddToClkGLitchArray(EBLK*);
extern void SchedSemiLer_th(struct dummyq_struct * pQ, EBLK *e);
extern void SchedSemiLerTXP_th(struct dummyq_struct * pQ, EBLK *e);
extern void SchedSemiLerTXPFreeVar_th(struct dummyq_struct * pQ, EBLK *e);
extern U getVcdFlags(UB *ip);
extern void VVrpNonEventNonRegdScalarForHsimOpt(void* ip, U nIndex);
extern void VVrpNonEventNonRegdScalarForHsimOpt2(void* ip, U nIndex);
extern void SchedSemiLerTBReactiveRegion(struct eblk* peblk);
extern void SchedSemiLerTBReactiveRegion_th(struct eblk* peblk, U partId);
extern void SchedSemiLerTr(UB* peblk, U partId);
extern void SchedSemiLerNBA(UB* peblk, U partId);
extern void NBA_Semiler(void *ip, void *pNBS);
extern void sched0sd_hsim(UB* peblk);
extern void vcs_sched0sd_hsim_udpclk(UB* peblk);
extern void vcs_sched0sd_hsim_udpclkopt(UB* peblk);
extern void sched0sd_hsim_PRL(UB* peblk);
extern void sched0lq_parallel_clk(EBLK* peblk);
extern void sched0lq_de(U* pe, void* ip, void* prout);
extern void sched0lq_hsopt_nonfgp_de(U* pe, void* ip, void* prout);
extern void sched0lq_hsopt_parallel_de(U* pe, void* ip, void* prout);
extern void sched0_de_inl(void* ip, void* prout);
extern void rmaPostDynamicSchedDeltaGate(UB* pcode);
extern U isRtlClockScheduled(EBLK* peblk);
extern void doFgpRaceCheck(UB* pcode, UB* p, U flag);
extern void doSanityLvlCheck();
extern void sched0lq_parallel_ova(EBLK* peblk);
extern void sched0lq_parallel_ova_precheck(EBLK* peblk);
extern void rmaDlpEvalSeqPrim(UB* peblk, UB val, UB preval);
extern void appendNtcEvent(UB* phdr, scalar s, U schedDelta);
extern void appendTransEventS(RmaTransEventHdr* phdr, scalar s, U schedDelta);
extern void schedRetainHsim(MPS* pMPS, scalar sv, scalar pv);
extern void updateRetainHsim(MPS* pMPS,scalar sv, scalar pv);
extern void hsimCountXEdges(void* record, scalar s);
extern void hsimRegisterEdge(void* sm, scalar s);
extern EBLK* pvcsGetLastEventEblk(U thid);
extern void insertTransEventIC(RmaTransEventHdr* phdr, scalar s, scalar pv, scalar resval, U schedDelta, int re, UB* predd, U fpdd);
extern void insertNtcEventRF(RmaTransEventHdr* phdr, scalar s, scalar pv, scalar resval, U schedDelta, U* delays);
extern U doTimingViolation(RmaTimeStamp ts,RP* pdata, U fskew, U limit, U floaded, U fcondopt, RmaTimeStamp tsNochange);
extern void sched_gate_hsim(EBLK* peblk, unsigned t, RP* offset, U gd_info, U encodeInPcode, void* propValue);
extern int getCurSchedRegion();
extern FP getRoutPtr(RP, U);
extern U rmaChangeCheckAndUpdateE(scalar* pvalDst, scalar* pvalSrc, U cbits);
extern void rmaUpdateE(scalar* pvalDst, scalar* pvalSrc, U cbits);
extern U rmaChangeCheckAndUpdateEFromW(scalar* pvalDst, vec32* pvalSrc, U cbits);
extern void rmaLhsPartSelUpdateE(scalar* pvalDst, scalar* pvalSrc, U index, U width);
extern void rmaUpdateWithForceSelectorE(scalar* pvalDst, scalar* pvalSrc, U cbits, U* pforceSelector);
extern void rmaUpdateWFromE(vec32* pvalDst, scalar* pvalSrc, U cbits);
extern U rmaLhsPartSelWithChangeCheckE(scalar* pvalDst, scalar* pvalSrc, U index, U width);
extern void rmaLhsPartSelWFromE(vec32* pvalDst, scalar* pvalSrc, U index,U width);
extern U rmaChangeCheckAndUpdateW(vec32* pvalDst, vec32* pvalSrc, U cbits);
extern void rmaUpdateW(vec32* pvalDst, vec32* pvalSrc, U cbits);
extern void rmaUpdateEFromW(scalar* pvalDst, vec32* pvalSrc, U cbits);
extern void *VCSCalloc(size_t size, size_t count);
extern void *VCSMalloc(size_t size);
extern void VCSFree(void *ptr);
extern U rmaLhsPartSelWithChangeCheckW(vec32* pvalDst, vec32* pvalSrc, U index,U width);
extern void rmaLhsPartSelEFromW(scalar* pvalDst, vec32* pvalSrc, U index,U width);
extern U rmaLhsPartSelWithChangeCheckEFromW(scalar* pvalDst, vec32* pvalSrc, U index,U width);
extern void rmaLhsPartSelUpdateW(vec32* pvalDst, vec32* pvalSrc, U index, U width);
extern void rmaEvalWunionW(vec32* dst, vec32* src, U cbits, U count);
extern void rmaEvalWorW(vec32* dst, vec32* src, U cbits, U count);
extern void rmaEvalWandW(vec32* dst, vec32* src, U cbits, U count);
extern void rmaEvalUnionE(scalar* dst, scalar* src, U cbits, U count, RP ptable);
typedef U RmaCgFunctionType;
extern RmaIbfPcode* rmaEvalPartSelectsW(vec32* pvec32, U startIndex, U onWidth, U offWidth, U count, RmaIbfPcode* pibfPcode, U fnonRootForce, UB* pevcdStatus);
extern RmaIbfPcode* rmaEvalPartSelectsWLe32(vec32* pvec32, U startIndex, U onWidth, U offWidth, U count, RmaIbfPcode* pibfPcode, U fnonRootForce, UB* pevcdStatus);
extern RmaIbfPcode* rmaEvalPartSelectsWToE(vec32* pvec32, U startIndex, U onWidth, U offWidth, U count, RmaIbfPcode* pibfPcode, U fnonRootForce);
extern RmaIbfPcode* rmaEvalPartSelectsEToE(scalar* pv, U startIndex, U onWidth, U offWidth, U count, RmaIbfPcode* pibfPcode, U fnonRootForce, UB* pevcdStatus);
extern RmaIbfPcode* rmaEvalPartSelectsEToW(scalar* pv, U startIndex, U onWidth, U offWidth, U count, RmaIbfPcode* pibfPcode, U fnonRootForce);
extern U rmaEvalBitPosEdgeW(vec32* pvalCurr, vec32* pvalPrev, U cbits, U* pedges);
extern U rmaEvalBitNegEdgeW(vec32* pvalCurr, vec32* pvalPrev, U cbits, U* pedges);
extern U rmaEvalBitChangeW(vec32* pvalCurr, vec32* pvalPrev, U cbits, U* pedges);
extern U VcsForceVecVCg(UB* pcode, UB* pval, UB* pvDst, UB* pvCur, U fullcbits, U ibeginSrc, U ibeginDst, U width, U/*RmaValueConvType*/ convtype, U/*RmaForceType*/ frcType, UB* prhs, UB* prhsDst, U frhs, U* pforcedbits, U fisRoot);
extern U VcsReleaseVecVCg(UB* pcode, UB* pvDst, U fullcbits, U ibeginDst, U width, UB* prhsDst, U frhs, U* pforcedbits, U fisRoot);
extern U VcsForceVecWCg(UB* pcode, UB* pval, UB* pvDst, UB* pvCur, U fullcbits, U ibeginSrc, U ibeginDst, U width, U/*RmaValueConvType*/ convtype, U /*RmaForceType*/ frcType, UB* prhs, UB* prhsDst, U frhs, U* pforcedbits, U fisRoot);
extern U VcsReleaseVecWCg(UB* pcode, UB* pvDst, U fullcbits, U ibeginDst, U width, UB* prhsDst, U frhs, U* pforcedbits, U fisRoot);
extern U VcsForceVecECg(UB* pcode, UB* pval, UB* pvDst, UB* pvCur, U fullcbits, U ibeginSrc, U ibeginDst, U width, U /*RmaValueConvType*/ convtype, U /*RmaForceType*/ frcType,UB* prhs, UB* prhsDst, U frhs, U* pforcedbits, U fisRoot);
extern U VcsForceVecACg(UB* pcode, UB* pval, UB* pvDst, UB* pvCur, U fullcbits, U ibeginSrc, U ibeginDst, U width, U /*RmaValueConvType*/ convtype, U /*RmaForceType*/ frcType,UB* prhs, UB* prhsDst, U frhs, U* pforcedbits, U fisRoot);
extern U VcsReleaseVecCg(UB* pcode, UB* pvDst, U ibeginDst, U width, U /*RmaValueType*/ type,U fisRoot, UB* prhsDst, U frhs, U* pforcedbits);
extern U VcsDriveBitsAndDoChangeCheckV(vec32* pvSel, vec32* pvCur, U fullcbits, U* pforcedbits, U isRoot);
extern U VcsDriveBitsAndDoChangeCheckW(vec32* pvSel, vec32* pvCur, U fullcbits, U* pforcedbits, U isRoot);
extern U VcsDriveBitsAndDoChangeCheckE(scalar* pvSel, scalar* pvCur, U fullcbits, U* pforcedbits, U isRoot);
extern void cgvecDebug_Eblk(UB* pcode);
extern U rmaCmpW(vec32* pvalDst, vec32* pvalSrc, U index, U width);
extern void copyVec32ArrMask(vec32* pv1, vec32* pv2, U len, U* mask);
extern void* memcpy(void*, const void*, size_t);
extern int memcmp(const void*, const void*, size_t);
extern void propagateScanOptPathVal(EBLK *peblk);
extern UB* rmaProcessRtvsSwitches(UB* pcode, scalar val);
extern UB* rmaProcessScanSwitches(UB* pcode, scalar val);
extern UB* rmaProcessScanSwitchesV(UB* pcode, vec32 *pval);
extern UB* rmaProcessScanoptDump(UB* pcode, scalar val);
extern UB* rmaProcessScanoptDumpV(UB* pcode, vec32 *pval);
extern UB* rmaProcessScanChainOptSeqPrims(UB* pcode, scalar val);
extern void schedResetRecoveryDbs(U cedges, EBLK* peblkFirst);
extern UB* rmaEvalUnaryOpV(UB* pcode, vec32* pval);
extern UB* rmaEvalBinaryOpV(UB* pcode, vec32* pval);
extern UB* rmaEvalBinaryOpVOneFanoutCount(UB* pcode, vec32* pval);
extern UB* rmaEvalBinaryOpVLargeFanoutCount(UB* pcode, vec32* pval);
extern UB* rmaEvalAndOpVOneFanoutCount(UB* pcode, vec32* value);
extern UB* rmaEvalAndOpVLargeFanoutCount(UB* pcode, vec32* value);
extern UB* rmaEvalAndOpV(UB* pcode, vec32* value);
extern UB* rmaEvalOrOpVOneFanoutCount(UB* pcode, vec32* value);
extern UB* rmaEvalOrOpVLargeFanoutCount(UB* pcode, vec32* value);
extern UB* rmaEvalOrOpV(UB* pcode, vec32* value);
extern UB* rmaEvalTernaryOpV(UB* pcode, vec32* pval);
extern UB* rmaEvalUnaryOpW(UB* pcode, vec32* pval);
extern UB* rmaEvalBinaryOpW(UB* pcode, vec32* pval);
extern UB* rmaEvalTernaryOpW(UB* pcode, vec32* pval);
extern UB* rmaEvalUnaryOpE(UB* pcode, scalar* pv);
extern UB* rmaEvalBinaryOpE(UB* pcode, scalar* pv);
extern UB* rmaEvalTernaryOpE(UB* pcode, scalar* pv);
extern UB* rmaEvalTernaryOpS(UB* pcode, scalar val);
extern scalar rmaGetScalarFromWCg(vec32* pval, U index);
extern void rmaSetScalarInWCg(vec32* pval, U index, scalar s);
extern void rmaSetWInW(vec32* dst, vec32* src, U index, U indexSrc, U width);
extern void rmaCountRaptorBits(void* pval, void* pvalPrev, U cbits, U vt);
extern void setHsimFunc(void* ip, U offset);
extern void vcs_updateHsimFunc(void* ip, U offset);
extern void unsetHsimFunc(void* ip);
extern U fProfEvtProp;
extern UB* getEvcdStatusByFlagsE(scalar* pscalar, UB* pevcdTBDriverFlags, U cdrivers, UB* table, U cbits);
extern UB* getEvcdStatusByFlagsV(vec32* pvec32, UB* pevcdTBDriverFlags, U cdrivers, UB* table, U cbits);
extern UB* getEvcdStatusByFlagsW(vec32* pvec32, UB* pevcdTBDriverFlags, U cdrivers, UB* table, U cbits);
extern UB* getEvcdStatusByFlagsS(scalar* pscalar, UB* pevcdTBDriverFlags, U cdrivers, UB* table);
extern UB* getSingleDrvEvcdStatusS(UB value, U fTBDriver);
extern UB* getSingleDrvEvcdStatusE(scalar* pscalars, U fTBDriver, U cbits);
extern UB* getSingleDrvEvcdStatusV(scalar* pscalars, U fTBDriver, U cbits);
extern UB* getSingleDrvEvcdStatusW(scalar* pscalars, U fTBDriver, U cbits);
extern UB* getEvcdStatusByDrvEvcdStatus(UB* pdrvevcdStatus, U cdrivers, UB* table, U cbits);
extern void evcdCallback(UP pcode, U cbits);
extern UB* getSavedEvcdStatus(void);
extern void saveEvcdStatus(UB*);
extern void mhdlMarkExport(void*, U);
extern void levelInsertQueue(int);
extern void levelInsertQueueGL(int);
extern void VcsRciRtl(RP pcode);
extern void VcsRciSCompiledLoad(scalar* pcode, scalar ibnVal);
extern U fLoopDetectMode;
extern int gFLoopDectCodeEna;
extern U fLoopReportRT;
extern void rtSched0LoopDectDumpProcess(void* e, void* rtn, void* PQ);
extern void pushHsimRtnCtxt(void* pcode);
extern void popHsimRtnCtxt();
extern EBLK* loopReportInlinedSched0Wrapper(EBLK *peblk);
extern void loopReportSched0Wrapper(EBLK *peblk, unsigned int sfType, unsigned int fTH, struct dummyq_struct* pq);
extern void loopReportSchedSemiLerWrapper(EBLK *peblk, int sfType);
extern void CallGraphPushNodeAndAddToGraph(UP flatNode, UP instNum, U dummy);
extern void CallGraphPopNode(void);
extern RP elabGetIpTpl(U in);
extern U rmaEvalBitBothEdgeW(vec32* pvalCurr, vec32* pvalPrev, U cbits, U* pedges);
extern U rmaEvalBitEdgeQ1W(vec32* pvalCurr, vec32* pvalPrev, U cbits, U* pedges);
extern U rmaEvalBitEdgeQXW(vec32* pvalCurr, vec32* pvalPrev, U cbits, U* pedges);
extern U rmaEvalBitEdgeQ0W(vec32* pvalCurr, vec32* pvalPrev, U cbits, U* pedges);
extern U rmaEval01EdgeW(vec32* pvalCurr, vec32* pvalPrev, U cbits, U* pedges);
extern U rmaEval0XEdgeW(vec32* pvalCurr, vec32* pvalPrev, U cbits, U* pedges);
extern U rmaEval10EdgeW(vec32* pvalCurr, vec32* pvalPrev, U cbits, U* pedges);
extern U rmaEval1XEdgeW(vec32* pvalCurr, vec32* pvalPrev, U cbits, U* pedges);
extern U rmaEvalX1EdgeW(vec32* pvalCurr, vec32* pvalPrev, U cbits, U* pedges);
extern U rmaEvalX0EdgeW(vec32* pvalCurr, vec32* pvalPrev, U cbits, U* pedges);
extern U rmaEvalBitPosEdgeE(scalar* pvalCurr, scalar* pvalPrev, U cbits, U* pedges);
extern U rmaEvalBitNegEdgeE(scalar* pvalCurr, scalar* pvalPrev, U cbits, U* pedges);
extern U rmaEvalBitBothEdgeE(scalar* pvalCurr, scalar* pvalPrev, U cbits, U* pedges);
extern U rmaEvalBitEdgeQ1E(scalar* pvalCurr, scalar* pvalPrev, U cbits, U* pedges);
extern U rmaEvalBitEdgeQ0E(scalar* pvalCurr, scalar* pvalPrev, U cbits, U* pedges);
extern U rmaEvalBitChangeE(scalar* pvalCurr, scalar* pvalPrev, U cbits, U* pedges);
extern void rmaScheduleNbaGate(RP pcode, scalar val);
extern void rmaEvalRtlEdgeLoads(RmaRtlEdgeBlockHdr *phdr, US clkEdge, scalar clkVal, scalar prevClkVal, scalar val4, scalar prevval4, scalar master4val);
extern void rmaEvaluateDynamicGateLoadsCg(RP p, scalar s);
extern void rmaEvaluateFusedWithDynamicGateLoadsCg(RP p, scalar s);
extern void rmaScheduleGatedClockEdgeLoadNew(UB* p, US* ea, U flags, UB* plist, UB* pprevlist, scalar v, scalar pv);
extern void rmaScheduleGatedClockEdgeLoad(UB* p, US* ea, U flags, UB* plist, UB* pprevlist, scalar v);
extern void vcsCheckIfClkValValid(U val, U index);
extern void rmaRemoveNonEdgeLoads(UB* pcode);
extern void rmaRecordEvents(HsimNodeRecord *pnr);
extern void handlePCBs(UB* p, U i);
extern void markMasterClkOvaLists(U fdbs, RP p);
extern void rmaChildClockPropAfterWrite(UB* p);
extern void rmaSchedChildClockPropAfterWrite(UB* p, UB* pmasterList, UB val);
extern void rmaChangeListForMovedGates(UB clkVal, UB f10Edge, UB* subMasterVal, UB* plist, RP* p, U count);
extern void rmaEvalSeqPrimLoadsByteArray(UB* pcode, UB val, UB prevval4);
extern void rmaEvalSeqPrimLoadsByteArrayX(UB* pcode, UB val, UB prevval4);
extern void vcsRmaEvalSeqPrimLoadsByteArraySCT(UB* pcode, UB val, UB prevval4, U c);
extern void vcsAbortForBadEBlk(void);
extern scalar edgeChangeLookUp[4][4];
extern void Wsvvar_sched_virt_intf_eval(RP* ptr, char val);
extern void vcs_hwcosim_drive_dut_scalar(U id, char val);
extern void vcs_hwcosim_drive_dut_vector_4state(U id, vec32* val);
extern U vcs_rmaGetClkValForSeqUdpLayoutOnClkOpt(UB* poutput);
extern U rmaIsS2State(scalar s);
extern U rmaIsV2State(vec32* pval, U cbits);
extern U rmaIsW2State(vec32* pval, U cbits);
extern U rmaIsE2State(scalar* pval, U cbits);
extern void rmaUpdateRecordFor2State(HsimNodeRecord* record, U f2state);
typedef void (*FuncPtr)();
static inline U asm_bsf (U in)
{
#if defined(linux)
U out;
#if !defined(__aarch64__)
asm ("movl %1, %%eax; bsf %%eax, %%eax; movl %%eax, %0;"
:"=r"(out)
:"r"(in)
:"%eax"
);
#else
out = ffs(in) - 1;
#endif
return out;
#else
return 0;
#endif
}
#ifdef __cplusplus
extern "C" {
#endif
void hs_0_M_0_21__simv_daidir (UB * pcode, scalar val);
void hs_0_M_0_0__simv_daidir (UB * pcode, scalar val);
void hs_0_M_0_1__simv_daidir (UB * pcode, scalar val, U I608, scalar * I1396, U did);
void hs_0_M_0_2__simv_daidir (UB * pcode);
void hs_0_M_1_21__simv_daidir (UB * pcode, scalar val);
void hs_0_M_1_0__simv_daidir (UB * pcode, scalar val);
void hs_0_M_1_1__simv_daidir (UB * pcode, scalar val, U I608, scalar * I1396, U did);
void hs_0_M_1_2__simv_daidir (UB * pcode);
void hs_0_M_2_21__simv_daidir (UB * pcode, scalar val);
void hs_0_M_2_0__simv_daidir (UB * pcode, scalar val);
void hs_0_M_2_1__simv_daidir (UB * pcode, scalar val, U I608, scalar * I1396, U did);
void hs_0_M_2_2__simv_daidir (UB * pcode);
void hs_0_M_3_21__simv_daidir (UB * pcode, scalar val);
void hs_0_M_3_0__simv_daidir (UB * pcode, scalar val);
void hs_0_M_3_1__simv_daidir (UB * pcode, scalar val, U I608, scalar * I1396, U did);
void hs_0_M_3_2__simv_daidir (UB * pcode);
void hs_0_M_4_0__simv_daidir (UB * pcode, scalar val);
void hs_0_M_4_5__simv_daidir (UB * pcode, UB val);
void hsG_0__0 (struct dummyq_struct * I1381, EBLK * I1376, U I616);
#ifdef __cplusplus
}
#endif
#ifdef __cplusplus
}
#endif
#endif /*__DO_RMAHDR_*/