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