define.vh
2.19 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
// define.vh v1 Frank Berndt
// compile-time simulation configuration;
// XXX make them cmd line options
// define BB so that testbenches from other ip
// vendors can modify behavior;
`define BB // this is the BB chip;
// memory configuration;
`define N_DDR_CFG 16 // # of ddr configs;
// for sake of simulation speed, the following
// units can be made dummies;
// define RSP_DUMMY, RDP_DUMMY, VI_DUMMY, or AI_DUMMY;
// or use 'setenv SIMDEFS="+define+RSP_DUMMY ..."'
//`define RSP_DUMMY
//`define RDP_DUMMY
//`define VI_DUMMY
//`define AI_DUMMY
`ifdef RSP_DUMMY
`define RSP rsp_dummy
`else // RSP_DUMMY
`define RSP rsp
`endif // RSP_DUMMY
`ifdef RDP_DUMMY
`define RDP rdp_dummy
`else // RDP_DUMMY
`define RDP rdp
`endif // RDP_DUMMY
`ifdef VI_DUMMY
`define VI vi_dummy
`else // VI_DUMMY
`define VI vi
`endif // VI_DUMMY
`ifdef AI_DUMMY
`define AI ai_dummy
`else // AI_DUMMY
`define AI ai
`endif // AI_DUMMY
// configure NAND flashes;
// define FLASH_BIG for pi tests;
// it configures 16/16/32/64MB devices;
`ifdef TOSHIBA_64MB
`ifdef FLASH_BIG
`define FLASH0 tc58128ft // 16MB
`define FLASH1 tc58128ft // 16MB
`define FLASH2 tc58256ft // 32MB
`define FLASH3 tc58512ft // 64MB
`else // FLASH_BIG
`define FLASH0 tc58128ft // 16MB
`endif // FLASH_BIG
`else // TOSHIBA_64MB
`ifdef FLASH_BIG
`define FLASH0 km29u128 // 16MB
`define FLASH1 km29u128 // 16MB
`define FLASH2 km29u256 // 32MB
`define FLASH3 km29u512 // 64MB
`else // FLASH_BIG
`define FLASH0 km29u128 // 16MB
`endif // FLASH_BIG
`endif // TOSHIBA_64MB
// FL_FAST modifies nand flash ready times;
// define FL_FAST to reduce simulator time;
`define FLASH_FAST
// RESET_FAST modifies mi and cpu reset timing;
// define RESET_FAST to reduce simulator time
// by reducing pllx2 and cpu pll lock times;
`define RESET_FAST
// the NEC model of the r4300 has output delays and
// requires input delays, ie. no 0-delay simulation;
// define a t[co] delay time to fix it;
// NB4300V01 has delays on inputs, ie. TCO should be 0;
`define TCO
// SRAM behavioral model switches;
// defining any of the below will use the vendor's models;
`ifdef SIMSDF
`else // SIMSDF
`define NEC_RTL_SIM
`endif // SIMSDF
`define NEC_BROM
`define NEC_BRAM
`define NEC_IRAM
`define NEC_PIBUF