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

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [orpsocv2/] [bench/] [verilog/] [include/] [cfi_flash_data.h] - Blame information for rev 655

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 655 julius
//          _/             _/_/
2
//        _/_/           _/_/_/
3
//      _/_/_/_/         _/_/_/
4
//      _/_/_/_/_/       _/_/_/              ____________________________________________ 
5
//      _/_/_/_/_/       _/_/_/             /                                           / 
6
//      _/_/_/_/_/       _/_/_/            /                                 28F256P30 / 
7
//      _/_/_/_/_/       _/_/_/           /                                           /  
8
//      _/_/_/_/_/_/     _/_/_/          /                                   256Mbit / 
9
//      _/_/_/_/_/_/     _/_/_/         /                                single die / 
10
//      _/_/_/ _/_/_/    _/_/_/        /                                           / 
11
//      _/_/_/  _/_/_/   _/_/_/       /                  Verilog Behavioral Model / 
12
//      _/_/_/   _/_/_/  _/_/_/      /                               Version 1.3 / 
13
//      _/_/_/    _/_/_/ _/_/_/     /                                           /
14
//      _/_/_/     _/_/_/_/_/_/    /           Copyright (c) 2010 Numonyx B.V. / 
15
//      _/_/_/      _/_/_/_/_/    /___________________________________________/ 
16
//      _/_/_/       _/_/_/_/      
17
//      _/_/          _/_/_/  
18
// 
19
//     
20
//             NUMONYX              
21
 
22
// ******
23
//
24
// data.h
25
//
26
// ******
27
 
28
// ********************
29
//
30
// Main Characteristics
31
//
32
// ********************
33
 
34
`define ADDRBUS_dim 24                        // - Address Bus pin numbers
35
`define DATABUS_dim 16                        // - Data Bus pin numbers
36
`define MEMORY_dim 1 << `ADDRBUS_dim          // - Memory Dimension
37
`define LAST_ADDR  (`MEMORY_dim) - 1          // - Last Address
38
 
39
// ********************
40
//
41
// Address & Data range
42
//
43
// ********************
44
 
45
`define ADDRBUS_range `ADDRBUS_dim - 1 : 0
46
`define DATABUS_range `DATABUS_dim - 1 : 0
47
 
48
// *****************
49
//
50
// Init Memory Files
51
//
52
// *****************
53
 
54
`define CFI_dim 9'h157
55
`define CFI_range `CFI_dim - 1:9'h10
56
// *******************
57
//
58
// Protection Register 
59
//
60
// *******************
61
 
62
 
63
`define REG_addrStart           16'h0
64
`define REG_addrEnd             16'h15
65
 
66
`define REGSTART_addr           9'h80                       // Protection Register Start Address
67
`define REGEND_addr            9'h109                        // Protection Register End   Address
68
`define REG_dim                 `REGEND_addr - `REGSTART_addr + 1
69
 
70
`define REG_addrRange           `REG_addrEnd:`REG_addrStart
71
 
72
`define REG_addrbitStart        8'd0
73
`define REG_addrbitEnd          8'd8
74
`define REG_addrbitRange        `REG_addrbitEnd:`REG_addrbitStart
75
 
76
`define PROTECTREGLOCK_addr    9'h80                        // Protection Register Lock Address
77
 
78
 
79
`define UDNREGSTART_addr        9'h81
80
`define UDNREGEND_addr          9'h84
81
`define UDNprotect_bit          8'hFE
82
 
83
`define UPREGSTART_addr         9'h85
84
`define UPREGEND_addr           9'h88
85
`define UPprotect_bit           8'hFD // serve ad indentificare quale bit deve essere 0 nel lock regi
86
`define PRL_default             16'h0002  // Protection Register Lock default definito anche in def  
87
 
88
// *****************************
89
//
90
// Extended User OTP
91
//
92
// *****************************
93
 
94
`define ExtREG_dim                  8'h20
95
 
96
 
97
`define ExtREG_regiondim           8'h8
98
`define ExtREGSTART_regionaddr   9'h8A      // Ext Protection Register Start Address
99
`define ExtREGEND_regionaddr    9'h109      // Ext Protection Register End   Address
100
 
101
`define ExtPROTECTREGLOCK_addr   9'h89      // Ext Protection Register Lock Address
102
`define ExtPRL_default         16'hFFFF  // Protection Register Lock default   
103
 
104
 
105
 
106
// ***********************
107
//
108
// Voltage Characteristics
109
//
110
// ***********************
111
`define Voltage_range    35:0
112
`define VDDmin           36'd01700
113
`define VDDmax           36'd02000
114
`define VDDQmin          36'd01700
115
`define VDDQmax          36'd03600
116
`define VPPmin           36'd00900
117
`define VPPmax           36'd03600
118
`define VPPHmin          36'd08500
119
`define VPPHmax          36'd09500
120
 
121
// **********************
122
//
123
// Configuration Register
124
//
125
// **********************
126
 
127
`define ConfigurationReg_dim    16
128
`define ConfigReg_default       16'hF94F
129
 
130
// ********************
131
//
132
// Electronic Signature
133
//
134
// ********************
135
 
136
`define ManufacturerCode      8'h89
137
`define TopDeviceCode         8'h19
138
`define BottomDeviceCode      8'h1C
139
`define SignAddress_dim       9
140
`define SignAddress_range     `SignAddress_dim - 1 : 0
141
 
142
 
143
 
144
// *********************
145
//
146
// Write Buffer constant
147
//
148
// *********************
149
 
150
 
151
`define ProgramBuffer_addrDim           9         // Program Buffer address dimension
152
`define ProgramBuffer_addrRange         `ProgramBuffer_addrDim - 1:0
153
`define ProgramBuffer_dim              512        // Buffer Size= 2 ^ ProgramBuffer_addrDim
154
`define ProgramBuffer_range             `ProgramBuffer_dim - 1:0
155
 
156
// *********************
157
//
158
// Buffer Enhanced Program constant
159
//
160
// *********************
161
 
162
`define BuffEnhProgramBuffer_dim  512
163
`define BuffEnhProgramBuffer_range  `BuffEnhProgramBuffer_dim - 1 : 0
164
`define BuffEnhProgramBuffer_addrDim  9
165
`define BuffEnhProgramBuffer_addrRange  `BuffEnhProgramBuffer_addrDim - 1:0
166
 
167
 
168
// Warning and Error Messages 
169
 
170
`define NoError_msg             0       // No Error Found
171
`define CmdSeq_msg              1       // Sequence Command Unknown
172
`define SuspCmd_msg             2       // Cannot execute this command during suspend
173
`define SuspAcc_msg             3       // Cannot access this address due to suspend
174
`define AddrRange_msg           4       // Address out of range
175
`define AddrTog_msg             5       // Cannot change block address during command sequence
176
`define SuspAccWarn_msg         6       // It isn't possible access this address due to suspend
177
`define InvVDD_msg              7       // Voltage Supply must be: VDD>VDDmin or VDD<VDDmax
178
`define InvVPP_msg              8       // Voltage Supply must be: VDD>VDDmin or VDD<VDDmax
179
`define BlockLock_msg           9       // Cannot complete operation when the block is locked
180
`define ByteToggle_msg          10      // Cannot toggle BYTE_N while busy
181
`define NoUnLock_msg            11      // Invalid UnLock Block command in Locked-Down Block
182
`define AddrCFI_msg             12      // CFI Address out of range
183
`define PreProg_msg             13      // Program Failure due to cell failure
184
`define NoBusy_msg              14      // Device is not Busy
185
`define NoSusp_msg              15      // Nothing previus suspend command
186
`define Suspend_msg             16      // Device is Suspend mode
187
`define UDNlock_msg             17      // Unique Device Number Register is locked
188
`define UPlock_msg              18      // User Programmable Register is locked
189
`define ExitPHASE_BEFP_msg     19
190
`define WrongEraseConfirm_msg   20      // Wrong Erase Confirm code
191
`define SignAddrRange_msg      21       // Signature Address out of range
192
`define CFIAddrRange_msg       22       // CFI Address out of range
193
`define WrongBlankCheckConfirm_msg   23 // Wrong Blank Check Confirm code command
194
`define BlankCheckFailed_msg    24 //  Blank Check Failed
195
`define ProgramPHASE_BEFP_msg  25  // End of Program or Verify Phase on Enhanced Factory Program
196
`define BlkBuffer_msg          26       // Program Buffer cannot cross block boundary
197
`define ExtREGLock_msg         27       // Extended User Programmable Register is locked
198
`define LeastAddr0             28       // Significative bit [%d,0] of Start Address must be 0
199
`define ProtRegAddrRange_msg   29       // Protect Register Address out of range
200
`define BuffSize_msg           30       // Buffer size is too large
201
`define WrongBlankCheckBlock 31 // No main block
202
 
203
// ******************
204
//
205
// Valid Access Times
206
//
207
// ******************
208
 
209
`define tAccess_1      100
210
`define tAccess_2      110
211
 
212
 
213
 
214
 

powered by: WebSVN 2.1.0

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