#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_*/