OpenCores
URL https://opencores.org/ocsvn/or1k/or1k/trunk

Subversion Repositories or1k

[/] [or1k/] [tags/] [nog_patch_60/] [or1ksim/] [cpu/] [common/] [stats.h] - Diff between revs 532 and 535

Go to most recent revision | Show entire file | Details | Blame | View Log

Rev 532 Rev 535
Line 18... Line 18...
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
 
 
#define DSTATS_LEN      3000
#define DSTATS_LEN      3000
#define SSTATS_LEN      300
#define SSTATS_LEN      300
#define FSTATS_LEN      200
#define FSTATS_LEN      200
#define RAW_RANGE       13
#define RAW_RANGE       1000
 
 
/* Used by safe division - increment divisor by one if it is zero */
/* Used by safe division - increment divisor by one if it is zero */
#define SD(X) (X != 0 ? X : 1)
#define SD(X) (X != 0 ? X : 1)
 
 
struct dstats_entry {
struct dstats_entry {
        char insn1[OPERANDNAME_LEN];
        int  insn1;
        char insn2[OPERANDNAME_LEN];
        int  insn2;
        int  cnt_dynamic;
        int  cnt_dynamic;
        int  depend;
        int  depend;
};
};
 
 
struct sstats_entry {
struct sstats_entry {
        char insn[OPERANDNAME_LEN];
        int  insn;
        int  cnt_static;
 
        int  cnt_dynamic;
        int  cnt_dynamic;
};      /* single stats */
};      /* single stats */
 
 
struct fstats_entry {
struct fstats_entry {
        enum insn_type insn1;
        enum insn_type insn1;
        enum insn_type insn2;
        enum insn_type insn2;
        int  cnt_dynamic;
        int  cnt_dynamic;
        int  depend;
        int  depend;
};      /* functional units stats */
};      /* functional units stats */
 
 
struct branchstat {
 
        int taken;
 
        int nottaken;
 
        int forward;
 
        int backward;
 
};
 
 
 
struct staticbp_stat {
 
        int correct;
 
        int all;
 
};
 
 
 
struct bpbstat {
struct bpbstat {
        int hit;
        int hit;
        int miss;
        int miss;
        int correct;
        int correct;
        int incorrect;
        int incorrect;
Line 69... Line 56...
        int miss;
        int miss;
};
};
 
 
struct mstats_entry {
struct mstats_entry {
        int  byteadd;
        int  byteadd;
        struct branchstat beqz;
        int bf[2][2];  /* [taken][fwd/bwd] */
        struct branchstat bnez;
        int bnf[2][2]; /* [taken][fwd/bwd] */
        struct staticbp_stat sbp_bf;
 
        struct staticbp_stat sbp_bnf;
 
        struct bpbstat bpb;
        struct bpbstat bpb;
        struct bticstat btic;
        struct bticstat btic;
};      /* misc units stats */
};      /* misc units stats */
 
 
struct cachestats_entry {
struct cachestats_entry {
Line 115... Line 100...
extern struct immustats_entry immu_stats;
extern struct immustats_entry immu_stats;
extern struct dmmustats_entry dmmu_stats;
extern struct dmmustats_entry dmmu_stats;
extern struct raw_stats raw_stats;
extern struct raw_stats raw_stats;
 
 
extern int check_depend();
extern int check_depend();
extern void addsstats(char *item, int cnt_dynamic, int cnt_static);
extern void addsstats(int item, int cnt_dynamic);
extern void adddstats(char *item1, char *item2, int cnt_dynamic, int depend);
extern void adddstats(int item1, int item2, int cnt_dynamic, int depend);
extern void addfstats(enum insn_type item1, enum insn_type item2, int cnt_dynamic, int depend);
extern void addfstats(enum insn_type item1, enum insn_type item2, int cnt_dynamic, int depend);
extern void initstats();
extern void initstats();
extern void printstats();
extern void printstats();
 
 
 No newline at end of file
 No newline at end of file

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.