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

Subversion Repositories or1k

[/] [or1k/] [tags/] [nog_patch_61/] [or1ksim/] [sim-config.h] - Blame information for rev 262

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 7 jrydberg
/* config.h -- Simulator configuration header file
2
   Copyright (C) 1999 Damjan Lampret, lampret@opencores.org
3
 
4
   This file is part of OpenRISC 1000 Architectural Simulator.
5
 
6
   This program is free software; you can redistribute it and/or modify
7
   it under the terms of the GNU General Public License as published by
8
   the Free Software Foundation; either version 2 of the License, or
9
   (at your option) any later version.
10
 
11
   This program is distributed in the hope that it will be useful,
12
   but WITHOUT ANY WARRANTY; without even the implied warranty of
13
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14
   GNU General Public License for more details.
15
 
16
   You should have received a copy of the GNU General Public License
17
   along with this program; if not, write to the Free Software
18
   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
19
 
20 173 markom
#include <stdio.h>
21
 
22 7 jrydberg
/* Simulator configuration macros. Eventually this one will be a lot bigger. */
23 30 lampret
 
24 221 markom
#define NR_UARTS        4       /* Number of UARTs simulated */   
25 212 erez
#define NR_DMAS         1       /* Number of DMA controllers */
26 257 erez
#define NR_ETHERNETS    2       /* Number of Ethernet MACs   */
27 239 markom
#define NONE            0
28
#define VIRTUAL         1
29
#define PHYSICAL        2
30 7 jrydberg
 
31 239 markom
#define STR_SIZE        (256)
32
 
33 7 jrydberg
struct config {
34 239 markom
  struct {
35
    int tagtype;
36
  } dc;
37
 
38
  struct {
39
    int tagtype;
40
  } ic;
41
 
42
  struct {
43
    int bpb_sim;
44
    int btic_sim;
45
  } bp;     /* Branch prediction */
46
  int clkcycle_ns;  /* Clock cycle in nanoseconds */
47
 
48 261 markom
  int nuarts;
49
  int uarts_enabled;
50 239 markom
  struct {
51 261 markom
    char rxfile[STR_SIZE]; /* File for RX */
52
    char txfile[STR_SIZE]; /* File for TX (required) */
53
    int jitter;     /* CZ 250801 - in msecs...time to block */
54 239 markom
    unsigned long baseaddr; /* Naturally aligned base address */
55
  } uarts[NR_UARTS];
56
 
57 261 markom
  int ndmas;
58
  int dmas_enabled;
59 239 markom
  struct {
60
    unsigned long baseaddr;
61
    unsigned irq;
62
  } dmas[NR_DMAS];
63
 
64 257 erez
        struct {
65
                unsigned long baseaddr;
66
                unsigned dma; /* Which controller is this ethernet "connected" to */
67
                unsigned tx_channel; /* DMA channel used for TX */
68
                unsigned rx_channel; /* DMA channel used for RX */
69
                char *rxfile;
70
                char *txfile;
71
        } ethernets[NR_ETHERNETS];
72
 
73 261 markom
  struct {
74
    int enabled;                      /* is MC enabled? */
75
    unsigned long baseaddr;           /* Naturally aligned base address */
76 239 markom
    unsigned POC;                     /* power on reset configuration register */
77
  } mc;
78 262 markom
 
79
  struct {
80
    char memory_table_file[STR_SIZE]; /* Memory table filename */
81
    int pattern;            /* A user specified memory initialization pattern */
82
    int random_seed;        /* Initialize the memory with random values, starting with seed */
83
    enum {
84
      MT_PATTERN,
85
      MT_RANDOM
86
    } type;
87
  } memory;
88 239 markom
 
89
  int simdebug; /* Simulator debugging */
90 221 markom
  int profile;    /* Is profiler running */
91
  FILE *fprof;    /* profiler file */
92 239 markom
  int iprompt;  /* Interactive prompt */
93
  int dependstats;/* Calculation of dependency statistics */
94
  int dependency; /* Calculation of dependency (implied by dependstats) */
95
  int history;  /* Instruction stream history remembered by the simulator */
96
  int superscalar;/* "Superscalar" simulation */
97
  int slp;
98
  int inhibit_server; /* Don't start up the JTAG proxy server */
99
  int server_port; /* A user specified port number for services */
100
 
101
  char* filename;  /* Original Command Simulator file (CZ) */
102 7 jrydberg
};
103 239 markom
 
104 7 jrydberg
extern struct config config;
105 239 markom
 
106
/* Read environment from a script file. Does not fail - assumes defaukt configuration instead. */
107
void read_script_file (char *filename);

powered by: WebSVN 2.1.0

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