FPGA-RISC-V-CPU / hardware / sim / csrc / rmapats.h
rmapats.h
Raw
#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 qird QIRD;
typedef unsigned char UST_e;
typedef unsigned uscope_t;
typedef U  NumLibs_t;
struct vec32 {
    U  I1;
    U  I2;
};
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  I710;
    RP  I711;
} RmaReceiveClock1;
typedef NodeCount  FlatNodeNum;
typedef U  InstNum;
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 TimeStamp  RmaTimeStamp;
typedef TimeStamp64  RmaTimeStamp64;
typedef struct {
    int * I712;
    int * I713;
    int I714;
    union {
        long long enumDesc;
        long long classId;
    } I715;
} TypeData;
struct etype {
    U  I590 :8;
    U  I591;
    U  I592;
    U  I593 :1;
    U  I594 :1;
    U  I595 :1;
    U  I596 :1;
    U  I597 :1;
    U  I598 :1;
    U  I599 :1;
    U  I600 :1;
    U  I601 :1;
    U  I602 :4;
    U  I603 :1;
    U  I604 :1;
    U  I605 :1;
    U  I606 :1;
    U  I607 :1;
    U  I608 :1;
    U  I609 :1;
    U  I610 :1;
    U  I611 :2;
    U  I612 :1;
    U  I613 :2;
    U  I614 :1;
    U  I615 :1;
    U  I616 :1;
    U  I617 :1;
    U  I618 :1;
    U  I619 :1;
    TypeData  * I620;
    U  I621;
    U  I622;
    U  I623 :1;
    U  I624 :1;
    U  I625 :1;
    U  I626 :1;
    U  I627 :2;
    U  I628 :2;
    U  I629 :1;
    U  I630 :1;
    U  I631 :1;
    U  I632 :1;
    U  I633 :1;
    U  I634 :1;
    U  I635 :1;
    U  I636 :1;
    U  I637 :1;
    U  I638 :1;
    U  I639 :1;
    U  I640 :13;
};
typedef union {
    double I722;
    unsigned long long I723;
    unsigned  I724[2];
} rma_clock_struct;
typedef struct eblk EBLK;
typedef int (* E_fn)(void);
typedef struct eblk {
    E_fn  I731;
    struct iptmpl * I732;
    struct eblk * I734;
    unsigned I735;
    unsigned I736;
    struct eblk * I737;
} eblk_struct;
typedef struct {
    RP  I731;
    RP  I732;
    RP  I734;
    unsigned I735;
    unsigned I736;
    RP  I737;
} RmaEblk;
typedef struct {
    RP  I731;
    RP  I732;
    RP  I734;
    unsigned I735;
    unsigned I736;
    RP  I737;
    unsigned val;
} RmaEblklq;
typedef union {
    double I722;
    unsigned long long I723;
    unsigned  I724[2];
} clock_struct;
typedef clock_struct  RmaClockStruct;
typedef struct RmaRetain_t RmaRetain;
struct RmaRetain_t {
    RP  I773;
    RmaEblk  I730;
    U  I775;
    US  I776 :1;
    US  I777 :4;
    US  I184 :2;
    US  state :2;
    US  I779 :1;
    US  I780 :2;
    US  I781 :2;
    US  fHsim :1;
    US  I573 :1;
    scalar  newval;
    scalar  I784;
    RP  I785;
};
struct retain_t {
    struct retain_t * I773;
    EBLK  I730;
    U  I775;
    US  I776 :1;
    US  I777 :4;
    US  I184 :2;
    US  state :2;
    US  I779 :1;
    US  I780 :2;
    US  I781 :2;
    US  fHsim :1;
    US  I782 :1;
    scalar  newval;
    scalar  I784;
    void * I785;
};
typedef struct MPSched MPS;
typedef struct RmaMPSched RmaMps;
struct MPSched {
    MPS  * I764;
    scalar  I765;
    scalar  I766;
    scalar  I767;
    scalar  fHsim :1;
    scalar  I184 :6;
    U  I769;
    EBLK  I770;
    void * I771;
    UP   I772[1];
};
struct RmaMPSched {
    RP  I764;
    scalar  I765;
    scalar  I766;
    scalar  I767;
    scalar  fHsim :1;
    scalar  I184 :6;
    U  I769;
    RmaEblk  I770;
    RP  I771;
    RP   I772[1];
};
typedef struct RmaMPSchedPulse RmaMpsp;
struct RmaMPSchedPulse {
    RP  I764;
    scalar  I765;
    scalar  I766;
    scalar  I767;
    scalar  I184;
    U  I769;
    RmaEblk  I770;
    scalar  I781;
    scalar  I790;
    scalar  I791;
    scalar  I792;
    U  I793;
    RmaClockStruct  I794;
    RmaClockStruct  I795;
    U  state;
    U  I796;
    RP  I732;
    RP  I797;
    RP  I798;
    RP   I772[1];
};
typedef struct MPItem MPI;
struct MPItem {
    U  * I800;
    void * I801;
};
typedef struct {
    RmaEblk  I730;
    RP  I802;
    scalar  I803;
    scalar  I781;
    scalar  I804;
} RmaTransEventHdr;
typedef struct RmaMPSchedPulseNewCsdf RmaMpspNewCsdf;
struct RmaMPSchedPulseNewCsdf {
    RP  I764;
    scalar  I765;
    scalar  I766;
    scalar  I767;
    scalar  fHsim :1;
    scalar  I184 :6;
    U  I769;
    RmaEblk  I770;
    scalar  I781;
    scalar  I790;
    scalar  I791;
    scalar  I792;
    U  state :4;
    U  I806 :28;
    RmaClockStruct  I794;
    RmaClockStruct  I795;
    RP  I807;
    RP  I732;
    RP  I808;
    RP   I772[1];
};
typedef struct red_t {
    U  I809;
    U  I810;
    U  I689;
} RED;
typedef struct predd {
    PD_e  I184;
    RED   I811[0];
} PREDD;
union rhs_value {
    vec32  I812;
    scalar  I803;
    vec32  * I781;
    double I813;
    U  I814;
};
typedef struct nbs_t {
    struct nbs_t * I815;
    struct nbs_t * I817;
    void (* I818)(struct nbs_t * I785);
    U  I819 :1;
    U  I820 :1;
    U  I821 :1;
    U  I822 :1;
    U  I823 :1;
    U  I824 :1;
    U  I825 :26;
    U  I826;
    void * I827;
    union rhs_value I828;
    vec32  I722;
    union {
        struct nbs_t * first;
        struct nbs_t * last;
    } I830;
} NBS;
typedef struct {
    RP  I831;
    RP  I797;
    RP  I732;
    RP  I798;
    RmaEblk  I730;
    RmaEblk  I832;
    RP  I833;
    scalar  I803;
    scalar  I781;
    char state;
    uscope_t  I834;
    U  I835;
    RP  I836;
    scalar  I790;
    scalar  I791;
    scalar  I792;
    RmaClockStruct  I794;
    RmaClockStruct  I795;
    RP  I771;
} RmaPulse;
typedef enum {
    QIRDModuleC = 1,
    QIRDSVPackageC = 2,
    QIRDSpiceModuleC = 3
} QIRDModuleType;
typedef struct {
    U  I840 :1;
    U  I841 :1;
    U  I842 :1;
    U  I843 :1;
    U  I844 :1;
    U  I845 :1;
    U  I846 :1;
    U  I847 :1;
    U  I848 :1;
    U  I849 :1;
    U  I850 :1;
    U  I851 :1;
    U  I852 :1;
    U  I853 :1;
    U  I854 :1;
    U  I855 :1;
    U  I856 :1;
    U  I857 :1;
    QIRDModuleType  I858 :2;
    U  I859 :1;
    U  I860 :1;
    U  I861 :1;
    U  I862 :1;
    U  I863 :1;
    U  I864 :1;
    U  I865 :1;
    U  I866 :1;
    U  I867 :1;
    U  I868 :1;
    U  I869 :1;
    U  I870 :1;
    U  I871 :1;
    U  I872 :1;
    U  I873 :1;
    U  I874 :1;
    U  I875 :1;
    U  I876 :1;
    U  I877 :1;
    U  I878 :1;
} BitFlags;
typedef struct qird_dbg_flags_s {
    U  I879 :29;
    U  I880 :1;
    U  I881 :1;
    U  I882 :1;
} qird_dbg_flags_t;
struct qird {
    US  I4;
    US  I5;
    U  I6;
    U  I7;
    char * I8;
    char * I9;
    U  * I10;
    char * I11;
    char * I12;
    U  I13;
    U  I14;
    struct vcd_rt * I15;
    U  I17;
    struct _vcdOffset_rt * I18;
    U  I20;
    U  I21;
    U  * I22;
    U  * I23;
    void * I24;
    void * I25;
    U  I26;
    int I27;
    UP  I28;
    U  I29;
    U  I30;
    U  I31;
    UP  I32;
    U  * I33;
    UP  I34;
    U  I35;
    BitFlags  I36;
    U  I37;
    U  I38;
    U  I39;
    U  I40;
    U  I41;
    U  * I42;
    U  I43;
    U  * I44;
    U  I45;
    U  I46;
    U  I47;
    U  I48;
    U  I49;
    U  I50;
    U  I51;
    U  * I52;
    U  * I53;
    U  I54;
    U  I55;
    U  * I56;
    U  I57;
    U  * I58;
    U  I59;
    U  I60;
    U  I61;
    U  I62;
    U  * I63;
    U  I64;
    U  * I65;
    U  I66;
    U  I67;
    U  I68;
    U  I69;
    U  I70;
    U  I71;
    U  * I72;
    char * I73;
    U  I74;
    U  I75;
    U  I76;
    U  I77;
    U  I78;
    U  * I79;
    U  I80;
    U  I81;
    U  I82;
    UP  * 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;
    struct taskInfo * I100;
    U  I102;
    U  I103;
    U  I104;
    int * I105;
    U  * I106;
    UP  * I107;
    U  * I108;
    U  I109;
    U  I110;
    int * I111;
    U  I112;
    U  I113;
    U  I114;
    U  I115;
    U  I116;
    struct qrefer * I117;
    U  * I119;
    unsigned * I120;
    void * I121;
    U  I122;
    U  I123;
    struct classStaticReferData * I124;
    U  I126;
    U  * I127;
    U  I128;
    U  * I129;
    U  I130;
    struct wakeupInfoStruct * I131;
    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;
    U  * I147;
    U  I148;
    U  I149;
    U  * I150;
    U  * I151;
    U  * I152;
    U  I153;
    U  I154;
    U  I155;
    U  I156;
    U  I157;
    struct qrefee * I158;
    U  * I160;
    U  I161;
    struct qdefrefee * I162;
    U  * I164;
    int (* I165)(void);
    char * I166;
    U  I167;
    U  I168;
    void * I169;
    void * I170;
    NumLibs_t  I171;
    char * I172;
    U  * I173;
    U  I174;
    U  I175;
    U  I176;
    U  I177;
    U  I178;
    U  * I179;
    U  * I180;
    int I181;
    struct clock_load * I182;
    int I197;
    struct clock_data * I198;
    int I214;
    struct clock_hiconn * I215;
    U  I219;
    U  I220;
    U  I221;
    U  I222;
    U  * I223;
    U  * I224;
    U  I225;
    void * I226;
    U  I227;
    U  I228;
    UP  * I229;
    void * I230;
    U  I231;
    UP  * I232;
    U  * I233;
    int (* I234)(void);
    U  * I235;
    UP  * I236;
    U  * I237;
    U  I238 :1;
    U  I239 :31;
    U  I240;
    U  I241;
    UP  * I242;
    U  * I243;
    U  I244 :1;
    U  I245 :1;
    U  I246 :1;
    U  I247 :1;
    U  I248 :28;
    U  I249;
    U  I250;
    U  I251;
    U  I252 :31;
    U  I253 :1;
    UP  * I254;
    UP  * I255;
    U  I256;
    U  I257;
    U  * I258;
    U  * I259;
    UP  * I260;
    UP  * I261;
    U  * I262;
    U  * I263;
    U  * I264;
    U  * I265;
    U  * I266;
    U  * I267;
    UP  * I268;
    UP  * I269;
    UP  * I270;
    U  * I271;
    UP  * I272;
    UP  * I273;
    UP  * I274;
    UP  * I275;
    char * I276;
    U  I277;
    U  I278;
    U  I279;
    UP  * I280;
    UP  * I281;
    U  I282;
    UP  * I283;
    UP  * I284;
    UP  * I285;
    UP  * I286;
    UP  * I287;
    UP  * I288;
    UP  * I289;
    UP  * I290;
    UP  * I291;
    UP  * I292;
    UP  * I293;
    UP  * I294;
    UP  * I295;
    UP  * I296;
    U  * I297;
    U  * I298;
    UP  * I299;
    U  I300;
    U  I301;
    U  I302;
    U  I303;
    U  I304;
    U  I305;
    U  I306;
    U  I307;
    char * I308;
    U  * I309;
    U  I310;
    U  I311;
    U  I312;
    U  I313;
    U  I314;
    UP  * I315;
    UP  * I316;
    UP  * I317;
    UP  * I318;
    struct daidirInfo * I319;
    struct vcs_tftable * I321;
    U  I323;
    UP  * I324;
    UP  * I325;
    U  I326;
    U  I327;
    U  I328;
    UP  * I329;
    U  * I330;
    UP  * I331;
    UP  * I332;
    struct qird_hil_data * I333;
    UP  (* I335)(void);
    UP  (* I336)(void);
    UP  (* I337)(void);
    UP  (* I338)(void);
    UP  (* I339)(void);
    int * I340;
    int (* I341)(void);
    char * I342;
    UP  * I343;
    UP  * I344;
    UP  (* I345)(void);
    int (* I346)(void);
    int * I347;
    int (* I348)(void);
    int * I349;
    char * I350;
    U  * I351;
    U  * I352;
    U  * I353;
    U  * I354;
    void * I355;
    U  I356;
    void * I357;
    U  I358;
    U  I359;
    U  I360;
    U  I361;
    U  I362;
    U  I363;
    char * I364;
    UP  * I365;
    U  * I366;
    U  * I367;
    U  I368 :15;
    U  I369 :14;
    U  I370 :1;
    U  I371 :1;
    U  I372 :1;
    U  I373 :3;
    U  I374 :1;
    U  I375 :1;
    U  I376 :17;
    U  I377 :3;
    U  I378 :5;
    U  I379 :1;
    U  I380 :1;
    U  I381;
    qird_dbg_flags_t  I382;
    struct scope * I383;
    U  I385;
    U  I386;
    U  I387;
    U  * I388;
    U  * I389;
    U  * I390;
    U  I391;
    U  I392;
    U  I393;
    struct pcbt * I394;
    U  I404;
    U  I405;
    U  I406;
    U  I407;
    void * I408;
    void * I409;
    void * I410;
    int I411;
    U  * I412;
    U  I413;
    U  I414;
    U  I415;
    U  I416;
    U  I417;
    U  I418;
    U  I419;
    void * I420;
    UP  * I421;
    U  I422;
    U  I423;
    void * I424;
    U  I425;
    void * I426;
    U  I427;
    void * I428;
    U  I429;
    int (* I430)(void);
    int (* I431)(void);
    void * I432;
    void * I433;
    void * I434;
    U  I435;
    U  I436;
    U  I437;
    U  I438;
    U  I439;
    U  I440;
    char * 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;
    U  I454;
    U  * I455;
    U  I456;
    U  I457;
    U  I458;
    U  * I459;
    char * I460;
    U  I461;
    U  I462;
    U  I463;
    U  I464;
    U  * I465;
    U  * I466;
    U  I467;
    U  * I468;
    U  * I469;
    U  I470;
    U  I471;
    U  I472;
    UP  * I473;
    U  I474;
    U  I475;
    U  I476;
    struct cosim_info * I477;
    U  I479;
    U  * I480;
    U  I481;
    void * I482;
    U  I483;
    U  * I484;
    U  I485;
    struct hybridSimReferrerData * I486;
    U  I488;
    U  * I489;
    U  I490;
    U  I491;
    U  * I492;
    U  I493;
    U  * I494;
    U  I495;
    U  * I496;
    U  I497;
    U  * I498;
    U  I499;
    U  I500;
    UP  * I501;
    struct mhdl_outInfo * I502;
    UP  * I504;
    U  I505;
    UP  * I506;
    U  I507;
    void * I508;
    U  * I509;
    void * I510;
    char * I511;
    int (* I512)(void);
    U  * I513;
    char * I514;
    char * I515;
    U  I516;
    U  * I517;
    char * I518;
    U  I519;
    struct regInitInfo * I520;
    UP  * I522;
    U  * I523;
    char * I524;
    U  I525;
    U  I526;
    U  I527;
    U  I528;
    U  I529;
    U  I530;
    U  I531;
    U  I532;
    UP  * I533;
    U  I534;
    U  I535;
    U  I536;
    U  I537;
    UP  * I538;
    U  I539;
    UP  * I540;
    U  I541;
    U  I542;
    U  I543;
    U  * I544;
    U  I545;
    U  I546;
    U  I547;
    U  * I548;
    U  * I549;
    UP  * I550;
    UP  * I551;
    void * I552;
    UP  I553;
    void * I554;
    void * I555;
    void * I556;
    void * I557;
    void * I558;
    UP  I559;
    U  * I560;
    U  * I561;
    void * I562;
    U  I563 :1;
    U  I564 :31;
    U  I565;
    U  I566;
    U  I567;
    int I568;
    U  I569 :1;
    U  I570 :1;
    U  I571 :1;
    U  I572 :1;
    U  I573 :28;
    void * I574;
    void * I575;
    void * I576;
    void * I577;
    void * I578;
    UP  * I579;
    U  * I580;
    U  I581;
    char * I582;
    U  * I583;
    U  * I584;
    char * I585;
    int * I586;
    UP  * I587;
    struct etype * I588;
    U  I641;
    U  I642;
    U  * I643;
    struct etype * I644;
    U  I645;
    U  I646;
    U  I647;
    U  * I648;
    void * I649;
    U  I650;
    U  I651;
    void * I652;
    U  I653;
    U  I654;
    U  * I655;
    U  * I656;
    char * I657;
    U  I658;
    struct covreg_rt * I659;
    U  I661;
    U  I662;
    U  * I663;
    U  I664;
    U  * I665;
    U  I666;
    U  I667;
    U  * I668;
};
typedef struct pcbt {
    U  * I396;
    UP  I397;
    U  I398;
    U  I399;
    U  I400;
    U  I401;
    U  I402;
    U  I403;
} PCBT;
struct iptmpl {
    QIRD  * I738;
    void * I739;
    void * I740;
    UP  I741;
    UP  I742;
    struct iptmpl * I743[2];
};
typedef unsigned long long FileOffset;
typedef struct _RmaMultiInputTable {
    U  I890 :1;
    U  I891 :1;
    U  I676 :2;
    U  I677 :4;
    U  I678 :5;
    U  I892 :1;
    U  I893 :1;
    U  I894 :1;
    U  I895 :1;
    U  I896 :1;
    U  I897 :1;
    U  I898;
    U  I899;
    U  I206;
    U  I900;
    U  I901 :1;
    U  I902 :31;
    union {
        U  utable;
        U  edgeInputNum;
    } I703;
    U  I903 :4;
    U  I904 :4;
    U  I905 :4;
    U  I906 :4;
    U  I907 :4;
    U  I908 :4;
    U  I909 :1;
    U  I910 :1;
    U  I911 :1;
    U  I912 :1;
    U  I913 :5;
    HsimExprChar  * I914;
    UB  * I915;
    UB  * I916;
    struct _RmaMultiInputTable * I889;
    struct _RmaMultiInputTable * I918;
} RmaMultiInputTable;
typedef struct _HsCgPeriod {
    U  I965;
    U  I966;
} HsCgPeriod;
typedef struct {
    U   I967[2];
    U  I968 :1;
    U  I969 :1;
    U  I970 :8;
    U  I971 :8;
    U  I972 :8;
    U  I973 :4;
    U  I974 :1;
    U  I975 :1;
    unsigned long long I976;
    unsigned long long I977;
    unsigned long long I978;
    unsigned long long I979;
    unsigned long long I966;
    U  I965;
    U  I980;
    U  I981;
    U  I982;
    U  I983;
    U  I984;
    HsCgPeriod  * I985[10];
} HsimSignalMonitor;
typedef struct {
    FlatNodeNum  I986;
    InstNum  I987;
    U  I924;
    scalar  I988;
    UB  I989;
    UB  I990;
    UB  I991;
    UB  I992;
    UB  I993;
    UB  I994;
    U  I995;
    U  I996;
    U  I997;
    U  I998;
    U  I999;
    U  I1000;
    U  I1001;
    U  I1002;
    U  I1003;
    HsimSignalMonitor  * I1004;
    RP  I1005;
    RmaTimeStamp64  I1006;
    U  I1007;
    RmaTimeStamp64  I1008;
    U  I1009;
    UB  I1010;
} HsimNodeRecord;
typedef RP  RCICODE;
typedef struct {
    RP  I1015;
    RP  I732;
} RmaIbfIp;
typedef struct {
    RP  I1015;
    RP  pcode;
} RmaIbfPcode;
typedef struct {
    RmaEblk  I730;
} RmaEvTriggeredOrSyncLoadCg;
typedef struct {
    RO  I886;
    RP  pcode;
} SchedGateFanout;
typedef struct {
    RO  I886;
    RP  pcode;
    U   I946[4];
} SchedSelectGateFanout;
typedef struct {
    RP  pcode;
    RmaEblklq  I730;
} SchedGateEblk;
typedef struct {
    RP  pcode;
    RmaEblklq  I730;
    UB  * I1016;
} SchedSelectGateEblk;
typedef struct {
    RP  I1017;
    RP  pfn;
    RP  pcode;
} RmaSeqPrimOutputEblkData;
typedef struct {
    RmaEblk  I730;
    RP  I1018;
} RmaAnySchedSampleSCg;
typedef struct {
    RmaEblk  I730;
    RP  I1016;
    RP  I1018;
    vec32  I1019;
} RmaAnySchedVCg;
typedef struct {
    RmaEblk  I730;
    RP  I1016;
    RP  I1018;
    vec32   I780[1];
} RmaAnySchedWCg;
typedef struct {
    RmaEblk  I730;
    RP  I1016;
    RP  I1018;
    scalar   I1020[1];
} RmaAnySchedECg;
typedef struct {
    U  I1021;
    U  I718;
    U  I924;
    U  I1022;
    RmaIbfIp  * I1023;
    EBLK  I730;
    void * val;
} RmaThreadSchedCompiledLoads;
typedef struct {
    U  I718;
    U  I726;
    RmaThreadSchedCompiledLoads  * I1024;
} RmaSchedCompileLoadsCg;
typedef struct {
    RP  I1025;
} RmaRootCbkCg;
typedef struct {
    RP  I1026;
} RmaRootForceCbkCg;
typedef struct {
    RmaEblk  I730;
    RP  I1027;
} RmaForceCbkJmpCg;
typedef struct {
    U  I5;
    U  I726 :31;
    U  I1028 :1;
    vec32  I812;
    U  I1029;
    RP  I1030;
    RP  I1031;
} RmaForceSelectorV;
typedef struct {
    U  I5;
    RmaIbfPcode  I1037;
} RmaNetTypeDriverGate;
typedef struct {
    U  I5;
    U  I672;
    RmaIbfPcode   I1037[1];
} RmaNetTypeScatterGate;
typedef struct {
    U  I5;
    RmaIbfPcode  I1037;
} RmaNetTypeGatherGate;
typedef struct {
    RmaIbfPcode  I1038;
    U  I1039 :3;
    U  I1040 :1;
    U  I1041 :1;
    U  I899 :16;
} RmaNbaGateOfn;
typedef struct {
    U  I5;
    NBS  I1042;
    RmaIbfPcode  I1038;
} RmaNbaGate1;
typedef struct {
    RP  ptable;
    RP  pfn;
    RP  pcode;
} Rma1InputGateFaninCgS;
typedef struct RmaSeqPrimOutputS_ RmaSeqPrimOutputOnClkS;
struct RmaSeqPrimOutputS_ {
    RP  pfn;
    RP  I1045;
    U  state;
    U  I1046;
    RP  I1047;
    U  I710;
    scalar  val;
};
typedef struct {
    U  I5;
    U  iinput;
    UB  I1049;
    RP  I1050;
} RmaCondOptLoad;
typedef struct {
    U  I5;
    U  iinput;
    UB  I1049;
    RP  I1050;
} RmaMacroStateUpdate;
typedef struct {
    U  I5;
    U  state;
    U  I1051;
    UB  I1049;
    U  * I1052;
} RmaMacroState;
typedef struct {
    U  iinput;
    RP  I1053;
} RmaMultiInputLogicGateCg;
typedef struct {
    U  iinput;
    RP  ptable;
    RP  I1053;
} RmaSeqPrimEdgeInputCg;
typedef struct {
    RmaEblk  I730;
    RP  pcode;
} RmaSched0GateCg;
typedef struct {
    RmaEblk  I730;
    RP  pcode;
    RP  pfn;
} RmaUdpDeltaGateCg;
typedef struct {
    RmaEblk  I730;
    RP  pcode;
    RP  pfn;
    scalar  I1054;
} RmaSchedDeltaGateCg;
typedef struct {
    UB  I1055;
    RP  I1056;
    RP  I1057;
} RmaPropNodeSeqLhsSCg;
typedef struct {
    RmaEblk  I730;
    RP  pcode;
    U  I924;
    U   I719[1];
} RmaBitEdgeEblk;
typedef struct {
    U  I5;
    RP  I811;
    RmaEblk  I730;
    RmaIbfPcode  I1038;
} RmaGateDelay;
typedef struct {
    U  I5;
    RP  I811;
    RmaEblk  I730;
    RmaIbfPcode  I1038;
} RmaGateBehavioralDelay;
typedef struct {
    U  I5;
    union {
        RP  I1298;
        RP  I1589;
        RP  I1603;
    } I785;
    RmaIbfPcode  I1038;
} RmaMPDelay;
typedef struct {
    U  I5;
    RmaPulse  I1058;
    RmaIbfPcode  I1038;
} RmaMPPulseHybridDelay;
typedef struct {
    U  I5;
    RmaIbfPcode  I1038;
    RmaMps  I1059;
} RmaMPHybridDelay;
typedef struct {
    U  I5;
    U  I1060;
    RmaIbfPcode  I1038;
    RmaEblk  I770;
} RmaMPHybridDelayPacked;
typedef struct {
    U  I5;
    RmaIbfPcode  I1038;
    RmaMpspNewCsdf  I1061;
} RmaMPPulseDelay;
typedef struct {
    U  I5;
    RmaMpsp  I1061;
    RmaIbfPcode  I1038;
} RmaMPPulseOptHybridDelay;
typedef struct _RmaBehavioralTransportDelay {
    U  I5;
    RP  I689;
    RmaTransEventHdr  I930;
    RP  I808;
    RmaIbfPcode  I1038;
} RmaBehavioralTransportDelayS;
typedef struct {
    U  I5;
    U  I689;
    RmaTransEventHdr  I930;
    RP  I808;
    RmaIbfPcode  I1038;
} RmaNtcTransDelay;
typedef struct {
    U  I5;
    U  I689;
    RmaEblk  I730;
    RmaIbfPcode  I1038;
} RmaNtcTransMpwOptDelay;
typedef struct {
    U  I5;
    RmaEblk  I730;
    RmaIbfPcode  I1038;
} RmaNtcTransZeroDelay;
typedef struct {
    U  I5;
    U  I1062;
    U  I1063;
    RmaTransEventHdr  I930;
    RP  I808;
    RmaIbfPcode  I1038;
} RmaNtcTransDelayRF;
typedef struct {
    U  I5;
    U  I1062;
    U  I1063;
    RmaEblk  I730;
    RmaIbfPcode  I1038;
} RmaNtcTransMpwOptDelayRF;
typedef struct {
    U  I5;
    RP  I1064;
    RmaTransEventHdr  I930;
    RP  I808;
    RmaIbfPcode  I1038;
} RmaICTransDelay;
typedef struct {
    U  I5;
    RP  I1064;
    RmaEblk  I730;
    RmaIbfPcode  I1038;
} RmaICTransMpwOptDelay;
typedef struct {
    U  I5;
    RmaEblk  I730;
    RmaIbfPcode  I1038;
} RmaICTransZeroDelay;
typedef struct {
    U  I5;
    RP  I811;
    RmaEblk  I730;
    RmaIbfPcode  I1038;
} RmaICSimpleDelay;
typedef struct {
    U  I5;
    union {
        RP  psimple;
        RP  I1589;
        RP  I1603;
    } I785;
    RmaIbfPcode  I1038;
} RmaICDelay;
typedef struct {
    U  I5;
    RP  I811;
    RmaEblk  I730;
    RmaIbfPcode  I1038;
} RmaPortDelay;
typedef struct {
    U  I899;
    RP  I1068;
} RmaRtlXEdgesLoad;
typedef struct {
    U  I5;
    RmaRtlXEdgesLoad   I1068[(5)];
} RmaRtlXEdgesHdr;
typedef struct {
    U  I5;
    US  I1069;
    US  I1070 :1;
    US  I913 :15;
    RP  I1071;
    RP  I1072;
    RP  I1073;
} RmaRtlEdgeBlockHdr;
typedef struct {
    RP  I1074;
    RP  I1075;
} RemoteDbsedLoad;
typedef struct {
    RmaEblk  I730;
    RP  I1076;
    RP  I1077;
    U  I1078 :16;
    U  I1079 :2;
    U  I1080 :2;
    U  I1081 :1;
    U  I1082 :8;
    U  I913 :3;
    U  I483;
    RP  I1083;
    RP   I815[(5)];
    RP   I817[(5)];
    US  I1084;
    US  I1085;
    RemoteDbsedLoad   I1086[1];
} RmaRtlEdgeBlock;
typedef struct TableAssign_ {
    struct TableAssign_ * I889;
    struct TableAssign_ * I802;
    U  I5;
    U  I1088 :1;
    U  I1089 :1;
    U  I1090 :2;
    U  I1091 :1;
    U  I710 :8;
    U  I1092 :1;
    U  I1093 :1;
    U  I1094 :1;
    U  I1095 :1;
    U  I1096 :1;
    U  I1097 :1;
    U  I913 :13;
    RP  ptable;
    RP  I1053;
} TableAssign;
typedef struct TableAssignLayoutOnClk_ {
    struct TableAssignLayoutOnClk_ * I889;
    struct TableAssignLayoutOnClk_ * I802;
    U  I5;
    U  I1088 :1;
    U  I1089 :1;
    U  I1090 :2;
    U  I1091 :1;
    U  I710 :8;
    U  I1092 :1;
    U  I1093 :1;
    U  I1094 :1;
    U  I1095 :1;
    U  I1096 :1;
    U  I1097 :1;
    U  I913 :13;
    RP  ptable;
    RmaSeqPrimOutputOnClkS  I1099;
    RmaEblk  I730;
} TableAssignLayoutOnClk;
typedef struct {
    U  state;
    U  I1100;
} RmaSeqPrimOutputOnClkOpt;
typedef struct TableAssignLayoutOnClkOpt_ {
    struct TableAssignLayoutOnClkOpt_ * I889;
    struct TableAssignLayoutOnClkOpt_ * I802;
    U  I1102;
    U  I1088 :1;
    U  I1089 :1;
    U  I1090 :2;
    U  I1091 :1;
    U  I710 :8;
    U  I1092 :1;
    U  I1093 :1;
    U  I1094 :1;
    U  I1095 :1;
    U  I1096 :1;
    U  I1097 :1;
    U  I913 :13;
    RmaSeqPrimOutputOnClkOpt  I1099;
    RmaSeqPrimOutputEblkData  I1103;
} TableAssignLayoutOnClkOpt;
typedef struct {
    U  I5;
    RP  I802;
    RP  I1104;
} RmaTableAssignList;
typedef struct {
    U  I5;
    RP  I802;
    RP  I1104;
    RP  I1105;
    RP  I1047;
    US  I710;
    UB  I988;
    UB  I1106;
    UB  I1107;
    UB  I776;
    RP   I1108[0];
} RmaThreadTableAssignList;
typedef struct {
    RP  I1105;
    RP  I1047;
    US  I710;
    UB  I988;
    UB  I1106;
    UB  I1107;
    UB  I776;
} RmaThreadTableHeader;
typedef struct {
    RP  I1074;
} RmaWakeupListCg;
typedef struct {
    RP  I1074;
} RmaWakeupArrayCg;
typedef struct {
    RP  I1074;
    RP  I1109;
} RmaPreCheckWakeupListCg;
typedef struct {
    RP  I1074;
    RP  I1109;
} RmaPreCheckWakeupArrayCg;
typedef struct {
    U  I1110;
    U  I710;
    RmaTimeStamp   I1111[1];
} RmaTsArray;
typedef struct {
    U  iinput;
    RP  I1112;
} RmaConditionsMdb;
typedef struct {
    RP  I1113;
    RP  I1114;
    U  I1115;
} RmaTcListHeader;
typedef struct {
    RP  I889;
    RP  I1116;
    RP  I1117;
    RP  I725;
    U  I1118;
    scalar  I899;
    scalar  I1119;
    US  I1120 :1;
    US  I1121 :1;
    US  I1122 :1;
    US  I1123 :1;
    US  I1124 :1;
    US  I1125 :1;
    US  I1126 :5;
} RmaTcCoreSimple;
typedef struct {
    RP  I889;
    RP  I1116;
    RP  I1117;
    RP  I725;
    U  I1118;
    scalar  I899;
    scalar  I1119;
    US  I1120 :1;
    US  I1121 :1;
    US  I1122 :1;
    US  I1123 :1;
    US  I1124 :1;
    US  I1125 :1;
    US  I1126 :5;
    RP  I1127;
} RmaTcCoreConditional;
typedef struct {
    RP  I889;
    RP  I1116;
    RP  I1117;
    RP  I725;
    U  I1118;
    scalar  I899;
    scalar  I1119;
    US  I1120 :1;
    US  I1121 :1;
    US  I1122 :1;
    US  I1123 :1;
    US  I1124 :1;
    US  I1125 :1;
    US  I1126 :5;
    RP  I1127;
    RP  I1128;
} RmaTcCoreConditionalOpt;
typedef struct {
    RP  I889;
    RP  I1116;
    RP  I1117;
    RP  I725;
    U  I1118;
    scalar  I899;
    scalar  I1119;
    US  I1120 :1;
    US  I1121 :1;
    US  I1122 :1;
    US  I1123 :1;
    US  I1124 :1;
    US  I1125 :1;
    US  I1126 :5;
    RP  I1128;
    RP  I1129;
    U  I1130;
    RmaConditionsMdb   arr[1];
} RmaTcCoreConditionalMtc;
typedef struct {
    RP  I1117;
    RP  I725;
    U  I1118;
    scalar  I899;
    scalar  I1119;
    US  I1120 :1;
    US  I1121 :1;
    US  I1122 :1;
    US  I1123 :1;
    US  I1124 :1;
    US  I1125 :1;
    US  I1126 :5;
} RmaTcCoreSimpleNoList;
typedef struct {
    RP  I1117;
    RP  I725;
    U  I1118;
    scalar  I899;
    scalar  I1119;
    US  I1120 :1;
    US  I1121 :1;
    US  I1122 :1;
    US  I1123 :1;
    US  I1124 :1;
    US  I1125 :1;
    US  I1126 :5;
    RP  I1045;
} RmaTcCoreSimpleNoListMdb;
typedef struct {
    RP  I1117;
    RP  I725;
    U  I1118;
    scalar  I899;
    scalar  I1119;
    US  I1120 :1;
    US  I1121 :1;
    US  I1122 :1;
    US  I1123 :1;
    US  I1124 :1;
    US  I1125 :1;
    US  I1126 :5;
    RP  I1127;
} RmaTcCoreConditionalNoList;
typedef struct {
    RP  I1117;
    RP  I725;
    U  I1118;
    scalar  I899;
    scalar  I1119;
    US  I1120 :1;
    US  I1121 :1;
    US  I1122 :1;
    US  I1123 :1;
    US  I1124 :1;
    US  I1125 :1;
    US  I1126 :5;
    RP  I1127;
    RP  I1128;
} RmaTcCoreConditionalOptNoList;
typedef struct {
    RP  I1117;
    RP  I725;
    U  I1118;
    scalar  I899;
    scalar  I1119;
    US  I1120 :1;
    US  I1121 :1;
    US  I1122 :1;
    US  I1123 :1;
    US  I1124 :1;
    US  I1125 :1;
    US  I1126 :5;
    RP  I1128;
    RP  I1129;
    U  I1130;
    RmaConditionsMdb   arr[1];
} RmaTcCoreConditionalMtcNoList;
typedef struct {
    RP  I1117;
    RP  I725;
    U  I1118;
    scalar  I899;
    scalar  I1119;
    US  I1120 :1;
    US  I1121 :1;
    US  I1122 :1;
    US  I1123 :1;
    US  I1124 :1;
    US  I1125 :1;
    US  I1126 :5;
    RP  I1128;
    RP  I1129;
    RP  I1045;
    U  I1130;
    RmaConditionsMdb   arr[1];
} RmaTcCoreConditionalMtcNoListMdb;
typedef struct {
    RP  I1117;
    RP  I725;
    U  I1118;
    scalar  I899;
    scalar  I1119;
    US  I1120 :1;
    US  I1121 :1;
    US  I1122 :1;
    US  I1123 :1;
    US  I1124 :1;
    US  I1125 :1;
    US  I1126 :5;
    RP  I1127;
    RP  I1045;
} RmaTcCoreConditionalNoListMdb;
typedef struct {
    RP  I1117;
    RP  I725;
    U  I1118;
    scalar  I899;
    scalar  I1119;
    US  I1120 :1;
    US  I1121 :1;
    US  I1122 :1;
    US  I1123 :1;
    US  I1124 :1;
    US  I1125 :1;
    US  I1126 :5;
    U  I1132;
    RP  I1133;
    RP  I1134;
    RP  I1127;
    RP  I1135;
    RP  I1136;
    RmaTimeStamp  I1137;
} RmaTcCoreNochange;
typedef struct {
    RP  I1138;
    RP  I889;
} RmaTcCoreNochangeList;
typedef struct {
    RP  I1112;
    RmaTimeStamp  I1139;
    scalar  I1140;
} RmaConditionalTSLoadNoList;
typedef struct {
    RP  I889;
    RP  I1112;
    RmaTimeStamp  I1139;
    scalar  I1140;
} RmaConditionalTSLoad;
typedef struct {
    RmaTimeStamp  I1139;
    scalar  I1140;
    US  I899;
    RP  I1128;
} RmaConditionalTSLoadOptNoList;
typedef struct {
    RP  I889;
    RmaTimeStamp  I1139;
    scalar  I1140;
    US  I899;
    RP  I1128;
} RmaConditionalTSLoadOpt;
typedef struct {
    RP  I1128;
    RP  I1141;
    U  I1130;
    RmaConditionsMdb   arr[1];
} RmaConditionalTSLoadMtcNoList;
typedef struct {
    RP  I1045;
    RP  I1128;
    RP  I1141;
    U  I1130;
    RmaConditionsMdb   arr[1];
} RmaConditionalTSLoadMtcNoListMdb;
typedef struct {
    RP  I889;
    RP  I1128;
    RP  I1141;
    U  I1130;
    RmaConditionsMdb   arr[1];
} RmaConditionalTSLoadMtc;
typedef struct {
    U  I1142;
    U  I1143;
    FlatNodeNum  I1014;
    U  I924;
    U  I1144;
    U  I1145;
    RmaIbfPcode  I1038;
    union {
        scalar  I1146;
        vec32  I1147;
        scalar  * I1148;
        vec32  * I1149;
    } val;
} RmaScanSwitchData;
typedef struct {
    RP  I889;
    RP  I802;
    RP  I1150;
} RmaDoublyLinkedListElem;
typedef struct {
    RP  I1151;
    U  I1152 :1;
    U  I1153 :1;
    U  I1154 :1;
    U  I1155 :4;
    U  I1156 :1;
    U  I1157 :24;
    U  I1158;
} RmaSwitchGateInCbkListInfo;
typedef struct {
    union {
        RmaDoublyLinkedListElem  I1651;
        RmaSwitchGateInCbkListInfo  I2;
    } I703;
    RmaIbfPcode  I1038;
} RmaSwitchGate;
typedef struct RmaNonEdgeLoadData1_ {
    US  I1159;
    scalar  val;
    scalar  I1160 :1;
    scalar  I1161 :1;
    scalar  I1162 :1;
    scalar  I1163 :1;
    scalar  I1164 :1;
    U  I1165;
    RP  I815;
    RP  I1166;
    RP  I1014;
    RP  I1167;
    RP  I1168;
} RmaNonEdgeLoadData1;
typedef struct RmaNonEdgeLoadHdr1_ {
    UB  I1160;
    UB  I1169;
    UB  I988;
    RmaNonEdgeLoadData1  * I1068;
    RmaNonEdgeLoadData1  * I802;
    void * I1170;
} RmaNonEdgeLoadHdr1;
typedef struct RmaNonEdgeLoadHdrPrl1_ {
    U  I1171;
    RP  I725;
} RmaNonEdgeLoadHdrPrl1;
typedef struct RmaChildClockProp_ {
    RP  I815;
    RP  I1172;
    RP  I1014;
    RP  pcode;
    scalar  val;
} RmaChildClockProp;
typedef struct RmaChildClockPropList1_ {
    RmaChildClockProp  * I1068;
    RmaChildClockProp  * I802;
} RmaChildClockPropList1;
typedef struct {
    U  I5;
    U  I1173;
} RmaHDLCosimDUTGate;
typedef struct {
    UB  I1174;
    UB  I1175 :1;
    UB  I1176 :1;
    UB  I1177 :1;
    UB  I1178 :1;
    UB  I913 :4;
    US  cedges;
} RmaMasterXpropLoadHdr;
typedef struct {
    UB  I1179;
    UB  I1180;
    UB  I1181;
    UB  I1182;
    U  cedges :30;
    U  I1176 :1;
    U  I1183 :1;
    U  I1184;
    U  I1185;
    RP  I1186;
    RP  I1187;
    RmaRtlEdgeBlockHdr  * I1188;
} RmaChildXpropLoadHdr;
struct clock_load {
    U  I184 :5;
    U  I185 :12;
    U  I186 :1;
    U  I187 :2;
    U  I188 :1;
    U  I189 :1;
    U  I190 :1;
    U  I191 :9;
    U  I192;
    U  I193;
    void (* pfn)(void * I195, char val);
};
typedef struct clock_data {
    U  I200 :1;
    U  I201 :1;
    U  I202 :1;
    U  I203 :1;
    U  I184 :5;
    U  I185 :12;
    U  I204 :6;
    U  I205 :1;
    U  I187 :2;
    U  I188 :1;
    U  I191 :1;
    U  I206;
    U  I207;
    U  I208;
    U  I192;
    U  I209;
    U  I210;
    U  I211;
    U  I212;
    U  I213;
} HdbsClockData;
struct clock_hiconn {
    U  I217;
    U  I218;
    U  I192;
    U  I187;
};
typedef struct _RmaDaiCg {
    RP  I1189;
    RP  I1190;
    U  I1191;
} RmaDaiCg;
typedef union _RmaCbkMemOptUnion {
    RP  I1189;
    RP  I1192;
    RP  I1193;
} RmaCbkMemOptUnion;
typedef struct _RmaDaiOptCg {
    RmaCbkMemOptUnion  I1194;
} RmaDaiOptCg;
struct futq_slot2 {
    U  I762;
    U   I763[32];
};
struct futq_slot1 {
    U  I759;
    struct futq_slot2  I760[32];
};
struct futq_info {
    scalar  * I754;
    U  I755;
    U  I756;
    struct futq_slot1  I757[32];
};
struct futq {
    struct futq * I744;
    struct futq * I746;
    RmaEblk  * I747;
    RmaEblk  * I748;
    U  I735;
    U  I1;
};
struct sched_table {
    struct futq * I749;
    struct futq I750;
    struct hash_bucket * I751;
    struct hash_bucket * I753;
};
struct dummyq_struct {
    clock_struct  I1195;
    EBLK  * I1196;
    EBLK  * I1197;
    EBLK  * I1198;
    struct futq * I1199;
    struct futq * I1200;
    struct futq * I1201;
    struct sched_table * I1202;
    struct futq_info * I1204;
    struct futq_info * I1206;
    U  I1207;
    U  I1208;
    U  I1209;
    U  I1210;
    U  I1211;
    U  I1212;
    U  I1213;
    struct millenium * I1214;
    EBLK  * I1216;
    EBLK  * I1217;
    EBLK  * I1218;
    EBLK  * I1219;
    EBLK  * I1220;
    EBLK  * I1221;
    EBLK  * I1222;
    EBLK  * I1223;
    EBLK  * I1224;
    EBLK  * I1225;
    EBLK  * I1226;
    EBLK  * I1227;
    EBLK  * I1228;
    EBLK  * I1229;
    EBLK  * I1230;
    EBLK  * I1231;
    EBLK  * I1232;
    MPS  * I1233;
    struct retain_t * I1234;
    EBLK  * I1235;
    EBLK  * I1236;
    EBLK  * I1237;
    EBLK  * I1238;
    EBLK  * I1239;
    EBLK  * I1240;
    EBLK  * I1241;
    EBLK  * I1242;
    EBLK  * I1243;
    EBLK  * I1244;
    EBLK  * I1245;
    EBLK  * I1246;
    EBLK  * I1247;
    EBLK  * I1248;
    EBLK  * I1249;
    EBLK  * I1250;
    EBLK  * I1251;
    EBLK  * I1252;
    EBLK  * I1253;
    EBLK  * I1254;
    EBLK  * I1255;
    EBLK  * I1256;
    EBLK  * I1257;
    EBLK  * I1258;
    EBLK  * I1259;
    EBLK  * I1260;
    EBLK  I1261;
    EBLK  * I1262;
    EBLK  * I1263;
    int I1264;
    struct vcs_globals_t * I1265;
    clock_struct  I1267;
    unsigned long long I1268;
    EBLK  * I1269;
    EBLK  * I1270;
    void * I1271;
};
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 I1272;
    struct _lqueue * I773;
    EBLK  * I1274;
    EBLK  * I734;
} Queue;
typedef struct {
    void * I1275;
    void * I1276;
    void * I1277[2];
    void * I1278;
} ClkLevel;
typedef struct {
    unsigned long long I1279;
    EBLK  I1183;
    U  I1280;
    U  I1281;
    union {
        void * pHeap;
        Queue  * pList;
    } I703;
    unsigned long long I1282;
    ClkLevel  I1283;
    Queue   I1284[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 FP   bepatsFunctionArray[];
extern FP   rmaFunctionArray[];
extern UP   rmaFunctionRtlArray[];
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 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 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 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 U  fBufferingEvent;
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 scalar   edgeChangeLookUp[4][4];
extern U  fDoingTime0Prop;
extern U  fLoopDetectMode;
extern int gFLoopDectCodeEna;
extern U  fLoopReportRT;


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 SDaicbForHsimNoFlagScalar(void* pDaiCb, unsigned char value);
extern void SDaicbForHsimNoFlagStrengthScalar(void* pDaiCb, unsigned char value);
extern void SDaicbForHsimNoFlag(void* pRmaDaiCg, unsigned char value);
extern void SDaicbForHsimNoFlag2(void* pRmaDaiCg, unsigned char value);
extern void SDaicbForHsimWithFlag(void* pRmaDaiCg, unsigned char value);
extern void SDaicbForHsimNoFlagFrcRel(void* pRmaDaiCg, unsigned char reason, int msb, int lsb, int ndx);
extern void SDaicbForHsimNoFlagFrcRel2(void* pRmaDaiCg, unsigned char reason, int msb, int lsb, int ndx);
extern void VcsHsimValueChangeCB(void* pRmaDaiCg, void* pValue, unsigned int valueFormat);
extern U isNonDesignNodeCallbackList(void* pRmaDaiCg);
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 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 insertTransEvent(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* 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);
extern void unsetHsimFunc(void* ip);
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 VcsRciRtl(RP pcode);
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);
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 HDLCosimProcessDUTInputChange(U inputId, void* 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);
extern void vcs_hwcosim_drive_dut_scalar(uint id, char val);
extern void vcs_hwcosim_drive_dut_vector_4state(uint 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__bios_tb_tb_daidir (UB  * pcode, scalar  val);
void  hs_0_M_0_0__bios_tb_tb_daidir (UB  * pcode, scalar  val);
void  hs_0_M_0_1__bios_tb_tb_daidir (UB  * pcode, scalar  val, U  I681, scalar  * I1312, U  did);
void  hs_0_M_0_2__bios_tb_tb_daidir (UB  * pcode);
void  hs_0_M_1_21__bios_tb_tb_daidir (UB  * pcode, scalar  val);
void  hs_0_M_1_0__bios_tb_tb_daidir (UB  * pcode, scalar  val);
void  hs_0_M_1_1__bios_tb_tb_daidir (UB  * pcode, scalar  val, U  I681, scalar  * I1312, U  did);
void  hs_0_M_1_2__bios_tb_tb_daidir (UB  * pcode);
void  hsG_0__0 (struct dummyq_struct * I1297, EBLK  * I1292, U  I689);
#ifdef __cplusplus
}
#endif

#ifdef __cplusplus
  }
#endif
#endif /*__DO_RMAHDR_*/