1 |
266 |
lampret |
/*
|
2 |
|
|
INTEL DEVELOPER'S SOFTWARE LICENSE AGREEMENT
|
3 |
|
|
|
4 |
|
|
BY USING THIS SOFTWARE, YOU ARE AGREEING TO BE BOUND BY THE TERMS OF
|
5 |
|
|
THIS AGREEMENT. DO NOT USE THE SOFTWARE UNTIL YOU HAVE CAREFULLY READ
|
6 |
|
|
AND AGREED TO THE FOLLOWING TERMS AND CONDITIONS. IF YOU DO NOT AGREE
|
7 |
|
|
TO THE TERMS OF THIS AGREEMENT, PROMPTLY RETURN THE SOFTWARE PACKAGE AND
|
8 |
|
|
ANY ACCOMPANYING ITEMS.
|
9 |
|
|
|
10 |
|
|
IF YOU USE THIS SOFTWARE, YOU WILL BE BOUND BY THE TERMS OF THIS
|
11 |
|
|
AGREEMENT
|
12 |
|
|
|
13 |
|
|
LICENSE: Intel Corporation ("Intel") grants you the non-exclusive right
|
14 |
|
|
to use the enclosed software program ("Software"). You will not use,
|
15 |
|
|
copy, modify, rent, sell or transfer the Software or any portion
|
16 |
|
|
thereof, except as provided in this Agreement.
|
17 |
|
|
|
18 |
|
|
System OEM Developers may:
|
19 |
|
|
1. Copy the Software for support, backup or archival purposes;
|
20 |
|
|
2. Install, use, or distribute Intel owned Software in object code
|
21 |
|
|
only;
|
22 |
|
|
3. Modify and/or use Software source code that Intel directly makes
|
23 |
|
|
available to you as an OEM Developer;
|
24 |
|
|
4. Install, use, modify, distribute, and/or make or have made
|
25 |
|
|
derivatives ("Derivatives") of Intel owned Software under the
|
26 |
|
|
terms and conditions in this Agreement, ONLY if you are a System
|
27 |
|
|
OEM Developer and NOT an end-user.
|
28 |
|
|
|
29 |
|
|
RESTRICTIONS:
|
30 |
|
|
|
31 |
|
|
YOU WILL NOT:
|
32 |
|
|
1. Copy the Software, in whole or in part, except as provided for
|
33 |
|
|
in this Agreement;
|
34 |
|
|
2. Decompile or reverse engineer any Software provided in object
|
35 |
|
|
code format;
|
36 |
|
|
3. Distribute any Software or Derivative code to any end-users,
|
37 |
|
|
unless approved by Intel in a prior writing.
|
38 |
|
|
|
39 |
|
|
TRANSFER: You may transfer the Software to another OEM Developer if the
|
40 |
|
|
receiving party agrees to the terms of this Agreement at the sole risk
|
41 |
|
|
of any receiving party.
|
42 |
|
|
|
43 |
|
|
OWNERSHIP AND COPYRIGHT OF SOFTWARE: Title to the Software and all
|
44 |
|
|
copies thereof remain with Intel or its vendors. The Software is
|
45 |
|
|
copyrighted and is protected by United States and international
|
46 |
|
|
copyright laws. You will not remove the copyright notice from the
|
47 |
|
|
Software. You agree to prevent any unauthorized copying of the
|
48 |
|
|
Software.
|
49 |
|
|
|
50 |
|
|
DERIVATIVE WORK: OEM Developers that make or have made Derivatives will
|
51 |
|
|
not be required to provide Intel with a copy of the source or object
|
52 |
|
|
code. OEM Developers shall be authorized to use, market, sell, and/or
|
53 |
|
|
distribute Derivatives to other OEM Developers at their own risk and
|
54 |
|
|
expense. Title to Derivatives and all copies thereof shall be in the
|
55 |
|
|
particular OEM Developer creating the Derivative. Such OEMs shall
|
56 |
|
|
remove the Intel copyright notice from all Derivatives if such notice is
|
57 |
|
|
contained in the Software source code.
|
58 |
|
|
|
59 |
|
|
DUAL MEDIA SOFTWARE: If the Software package contains multiple media,
|
60 |
|
|
you may only use the medium appropriate for your system.
|
61 |
|
|
|
62 |
|
|
WARRANTY: Intel warrants that it has the right to license you to use,
|
63 |
|
|
modify, or distribute the Software as provided in this Agreement. The
|
64 |
|
|
Software is provided "AS IS". Intel makes no representations to
|
65 |
|
|
upgrade, maintain, or support the Software at any time. Intel warrants
|
66 |
|
|
that the media on which the Software is furnished will be free from
|
67 |
|
|
defects in material and workmanship for a period of one (1) year from
|
68 |
|
|
the date of purchase. Upon return of such defective media, Intel's
|
69 |
|
|
entire liability and your exclusive remedy shall be the replacement of
|
70 |
|
|
the Software.
|
71 |
|
|
|
72 |
|
|
THE ABOVE WARRANTIES ARE THE ONLY WARRANTIES OF ANY KIND, EITHER EXPRESS
|
73 |
|
|
OR IMPLIED, INCLUDING WARRANTIES OF MERCHANTABILITY OR FITNESS FOR ANY
|
74 |
|
|
PARTICULAR PURPOSE.
|
75 |
|
|
|
76 |
|
|
LIMITATION OF LIABILITY: NEITHER INTEL NOR ITS VENDORS OR AGENTS SHALL
|
77 |
|
|
BE LIABLE FOR ANY LOSS OF PROFITS, LOSS OF USE, LOSS OF DATA,
|
78 |
|
|
INTERRUPTION OF BUSINESS, NOR FOR INDIRECT, SPECIAL, INCIDENTAL OR
|
79 |
|
|
CONSEQUENTIAL DAMAGES OF ANY KIND WHETHER UNDER THIS AGREEMENT OR
|
80 |
|
|
OTHERWISE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
|
81 |
|
|
|
82 |
|
|
TERMINATION OF THIS LICENSE: Intel reserves the right to conduct or have
|
83 |
|
|
conducted audits to verify your compliance with this Agreement. Intel
|
84 |
|
|
may terminate this Agreement at any time if you are in breach of any of
|
85 |
|
|
its terms and conditions. Upon termination, you will immediately
|
86 |
|
|
destroy, and certify in writing the destruction of, the Software or
|
87 |
|
|
return all copies of the Software and documentation to Intel.
|
88 |
|
|
|
89 |
|
|
U.S. GOVERNMENT RESTRICTED RIGHTS: The Software and documentation were
|
90 |
|
|
developed at private expense and are provided with "RESTRICTED RIGHTS".
|
91 |
|
|
Use, duplication or disclosure by the Government is subject to
|
92 |
|
|
restrictions as set forth in FAR52.227-14 and DFAR252.227-7013 et seq.
|
93 |
|
|
or its successor.
|
94 |
|
|
|
95 |
|
|
EXPORT LAWS: You agree that the distribution and export/re-export of the
|
96 |
|
|
Software is in compliance with the laws, regulations, orders or other
|
97 |
|
|
restrictions of the U.S. Export Administration Regulations.
|
98 |
|
|
|
99 |
|
|
APPLICABLE LAW: This Agreement is governed by the laws of the State of
|
100 |
|
|
California and the United States, including patent and copyright laws.
|
101 |
|
|
Any claim arising out of this Agreement will be brought in Santa Clara
|
102 |
|
|
County, California.
|
103 |
|
|
|
104 |
|
|
*/
|
105 |
|
|
|
106 |
|
|
//************************************************************************
|
107 |
|
|
// This file contains the paramenters which define the part for the
|
108 |
|
|
// Byte-Wide Smart 3 FlashFile(tm) memory model (bwsvff.v). The '3.3V
|
109 |
|
|
// Vcc Timing' parameters are representative of
|
110 |
|
|
// the 3.3V Vcc 28F016S3-120. These parameters need to be changed if the
|
111 |
|
|
// 3.3V Vcc 28F016S3-150 is to be modeled. The '2.7V Vcc Timing' parameters
|
112 |
|
|
// are representative of the 2.7V Vcc 28F016S3-150. These parameters need
|
113 |
|
|
// to be changed if the 2.7V Vcc 28F016S3-170 is to be modeled. The
|
114 |
|
|
// parameters were taken from the Byte-Wide SmartVoltage FlashFile Memory
|
115 |
|
|
// Family datasheet (Order Number 290598).
|
116 |
|
|
|
117 |
|
|
// This file must be loaded before the main model, as it contains
|
118 |
|
|
// definitions required by the model.
|
119 |
|
|
|
120 |
|
|
//28F016S3
|
121 |
|
|
|
122 |
|
|
`define BlockFileBegin "../../bench/models/28f016s3/28f016s3.bkb" //starting addresses of each block
|
123 |
|
|
`define BlockFileEnd "../../bench/models/28f016s3/28f016s3.bke" //ending addresses of each block
|
124 |
|
|
|
125 |
|
|
//Available Vcc supported by the device.
|
126 |
|
|
`define VccLevels 1 //Bit 0 - 5V, Bit 1 = 3.3V, Bit 2 = 2.7V
|
127 |
|
|
|
128 |
|
|
`define AddrSize 21 //number of address pins
|
129 |
|
|
`define MaxAddr `AddrSize'h1FFFFF // device ending address
|
130 |
|
|
`define MainArraySize 0:`MaxAddr //array definition in bytes
|
131 |
|
|
//include A-1 for 8 bit mode)
|
132 |
|
|
`define MaxOutputs 8 //number of output pins
|
133 |
|
|
`define NumberOfBlocks 32 //number of blocks in the array
|
134 |
|
|
|
135 |
|
|
`define ID_DeviceCodeB 'hAA //016 S3
|
136 |
|
|
`define ID_ManufacturerB 'h89
|
137 |
|
|
|
138 |
|
|
// Timing parameters. See the data sheet for definition
|
139 |
|
|
// of the parameter.
|
140 |
|
|
|
141 |
|
|
//5V Vcc Timing
|
142 |
|
|
`define TAVAV_50 95
|
143 |
|
|
`define TAVQV_50 95
|
144 |
|
|
`define TELQV_50 95
|
145 |
|
|
`define TPHQV_50 400
|
146 |
|
|
`define TGLQV_50 40
|
147 |
|
|
`define TGLQX_50 0 //TELQX also
|
148 |
|
|
`define TGHQZ_50 10
|
149 |
|
|
`define TEHQZ_50 55
|
150 |
|
|
`define TOH_50 0
|
151 |
|
|
`define TPHHWH_50 100
|
152 |
|
|
`define TAVWH_50 40
|
153 |
|
|
`define TDVWH_50 40
|
154 |
|
|
`define TPHWL_50 1
|
155 |
|
|
`define TWPH_50 25 //TWHWL, TEHEL, TWHEL, TEHWL
|
156 |
|
|
`define TWP_50 50 //TWLWH, TELEH, TWLEH, TELWH
|
157 |
|
|
`define TWHDX_50 5
|
158 |
|
|
`define TWHAX_50 5
|
159 |
|
|
|
160 |
|
|
|
161 |
|
|
//3.3V Vcc Timing
|
162 |
|
|
`define TAVAV_33 120
|
163 |
|
|
`define TAVQV_33 120
|
164 |
|
|
`define TELQV_33 120
|
165 |
|
|
`define TPHQV_33 600
|
166 |
|
|
`define TGLQV_33 50
|
167 |
|
|
`define TGLQX_33 0 //TELQX also
|
168 |
|
|
`define TGHQZ_33 15
|
169 |
|
|
`define TEHQZ_33 55
|
170 |
|
|
`define TOH_33 0
|
171 |
|
|
`define TPHHWH_33 100
|
172 |
|
|
`define TAVWH_33 50
|
173 |
|
|
`define TDVWH_33 50
|
174 |
|
|
`define TPHWL_33 1
|
175 |
|
|
`define TWPH_33 25 //TWHWL, TEHEL, TWHEL, TEHWL
|
176 |
|
|
`define TWP_33 70 //TWLWH, TELEH, TWLEH, TELWH
|
177 |
|
|
`define TWHDX_33 5
|
178 |
|
|
`define TWHAX_33 5
|
179 |
|
|
|
180 |
|
|
//2.7V Vcc Timing
|
181 |
|
|
`define TAVAV_27 150
|
182 |
|
|
`define TAVQV_27 150
|
183 |
|
|
`define TELQV_27 150
|
184 |
|
|
`define TPHQV_27 600
|
185 |
|
|
`define TGLQV_27 55
|
186 |
|
|
`define TGLQX_27 0 //TELQX also
|
187 |
|
|
`define TGHQZ_27 20
|
188 |
|
|
`define TEHQZ_27 55
|
189 |
|
|
`define TOH_27 0
|
190 |
|
|
`define TPHHWH_27 100
|
191 |
|
|
`define TAVWH_27 50
|
192 |
|
|
`define TDVWH_27 50
|
193 |
|
|
`define TPHWL_27 1
|
194 |
|
|
`define TWPH_27 25 //TWHWL, TEHEL, TWHEL, TEHWL
|
195 |
|
|
`define TWP_27 70 //TWLWH, TELEH, TWLEH, TELWH
|
196 |
|
|
`define TWHDX_27 5
|
197 |
|
|
`define TWHAX_27 5
|
198 |
|
|
|
199 |
|
|
//The following constants control how long it take an algorithm to run
|
200 |
|
|
|
201 |
|
|
// To scale all times together (for making simulation run faster)
|
202 |
|
|
// change the constant later listed as TimerPeriod. The actual delays
|
203 |
|
|
// are TimerPeriod*xxx_Time, except for suspend latency times.
|
204 |
|
|
|
205 |
|
|
`define TimerPeriod_ 1000 //1 usec = 1000ns requires for
|
206 |
|
|
//following times to be accurate
|
207 |
|
|
|
208 |
|
|
//reducing the following will reduce simulation time
|
209 |
|
|
|
210 |
|
|
//the times used below are the maximum (or typical if no maximum
|
211 |
|
|
//time is given) values from the data sheet
|
212 |
|
|
|
213 |
|
|
//5V Vcc, 12V Vpp
|
214 |
|
|
`define AC_ProgramTime_Byte_50_12 6 //usecs
|
215 |
|
|
`define AC_EraseTime_Block_50_12 1000000 //1 sec
|
216 |
|
|
`define AC_Set_LockBit_50_12 10 //usecs
|
217 |
|
|
`define AC_Clear_LockBit_50_12 1000000 //1 sec
|
218 |
|
|
//Latency times are NOT multiplied by TimerPeriod_
|
219 |
|
|
`define AC_Program_Suspend_50_12 5000 //usecs
|
220 |
|
|
`define AC_Erase_Suspend_50_12 12000 //usecs
|
221 |
|
|
|
222 |
|
|
//3.3V Vcc, 12V Vpp
|
223 |
|
|
`define AC_ProgramTime_Byte_33_12 8 //usecs 7.6us
|
224 |
|
|
`define AC_EraseTime_Block_33_12 1100000 //1.1secs
|
225 |
|
|
`define AC_Set_LockBit_33_12 12 //usecs 11.6us
|
226 |
|
|
`define AC_Clear_LockBit_33_12 1100000 //1.1 sec
|
227 |
|
|
//Latency times are NOT multiplied by TimerPeriod_
|
228 |
|
|
`define AC_Program_Suspend_33_12 6000 //usecs
|
229 |
|
|
`define AC_Erase_Suspend_33_12 12000 //usecs
|
230 |
|
|
|
231 |
|
|
//5V Vcc, 5V Vpp
|
232 |
|
|
`define AC_ProgramTime_Byte_50_5 8 //usecs
|
233 |
|
|
`define AC_EraseTime_Block_50_5 1100000 //1.1secs
|
234 |
|
|
`define AC_Set_LockBit_50_5 12 //usecs
|
235 |
|
|
`define AC_Clear_LockBit_50_5 1100000 //1.1 sec
|
236 |
|
|
//Latency times are NOT multiplied by TimerPeriod_
|
237 |
|
|
`define AC_Program_Suspend_50_5 6000 //usecs
|
238 |
|
|
`define AC_Erase_Suspend_50_5 12000 //usecs
|
239 |
|
|
|
240 |
|
|
//3.3V Vcc, 5V Vpp
|
241 |
|
|
`define AC_ProgramTime_Byte_33_5 10 //usecs 9.3us
|
242 |
|
|
`define AC_EraseTime_Block_33_5 1200000 //1.2secs
|
243 |
|
|
`define AC_Set_LockBit_33_5 14 //usecs 13.3us
|
244 |
|
|
`define AC_Clear_LockBit_33_5 1200000 //1.2 sec
|
245 |
|
|
//Latency times are NOT multiplied by TimerPeriod_
|
246 |
|
|
`define AC_Program_Suspend_33_5 7000 //usecs
|
247 |
|
|
`define AC_Erase_Suspend_33_5 12000 //usecs
|
248 |
|
|
|
249 |
|
|
//3.3V Vcc, 3.3V Vpp
|
250 |
|
|
`define AC_ProgramTime_Byte_33_33 17 //usecs
|
251 |
|
|
`define AC_EraseTime_Block_33_33 1800000 //1.8secs
|
252 |
|
|
`define AC_Set_LockBit_33_33 21 //usecs
|
253 |
|
|
`define AC_Clear_LockBit_33_33 1800000 //1.8 sec
|
254 |
|
|
//Latency times are NOT multiplied by TimerPeriod_
|
255 |
|
|
`define AC_Program_Suspend_33_33 7000 //usecs
|
256 |
|
|
`define AC_Erase_Suspend_33_33 20000 //usecs
|