DRAMCtrl.py (10212:acc1131e01d6) DRAMCtrl.py (10216:52c869140fc2)
1# Copyright (c) 2012-2014 ARM Limited
2# All rights reserved.
3#
4# The license below extends only to copyright in the software and shall
5# not be construed as granting a license to any other intellectual
6# property including but not limited to intellectual property relating
7# to a hardware implementation of the functionality of the software
8# licensed hereunder. You may use the software subject to the license

--- 105 unchanged lines hidden (view full) ---

114 banks_per_rank = Param.Unsigned("Number of banks per rank")
115 # only used for the address mapping as the controller by
116 # construction is a single channel and multiple controllers have
117 # to be instantiated for a multi-channel configuration
118 channels = Param.Unsigned(1, "Number of channels")
119
120 # timing behaviour and constraints - all in nanoseconds
121
1# Copyright (c) 2012-2014 ARM Limited
2# All rights reserved.
3#
4# The license below extends only to copyright in the software and shall
5# not be construed as granting a license to any other intellectual
6# property including but not limited to intellectual property relating
7# to a hardware implementation of the functionality of the software
8# licensed hereunder. You may use the software subject to the license

--- 105 unchanged lines hidden (view full) ---

114 banks_per_rank = Param.Unsigned("Number of banks per rank")
115 # only used for the address mapping as the controller by
116 # construction is a single channel and multiple controllers have
117 # to be instantiated for a multi-channel configuration
118 channels = Param.Unsigned(1, "Number of channels")
119
120 # timing behaviour and constraints - all in nanoseconds
121
122 # the base clock period of the DRAM
123 tCK = Param.Latency("Clock period")
124
122 # the amount of time in nanoseconds from issuing an activate command
123 # to the data being available in the row buffer for a read/write
124 tRCD = Param.Latency("RAS to CAS delay")
125
126 # the time from issuing a read/write command to seeing the actual data
127 tCL = Param.Latency("CAS latency")
128
129 # minimum time between a precharge and subsequent activate

--- 60 unchanged lines hidden (view full) ---

190 devices_per_rank = 8
191
192 # Use two ranks
193 ranks_per_channel = 2
194
195 # DDR3 has 8 banks in all configurations
196 banks_per_rank = 8
197
125 # the amount of time in nanoseconds from issuing an activate command
126 # to the data being available in the row buffer for a read/write
127 tRCD = Param.Latency("RAS to CAS delay")
128
129 # the time from issuing a read/write command to seeing the actual data
130 tCL = Param.Latency("CAS latency")
131
132 # minimum time between a precharge and subsequent activate

--- 60 unchanged lines hidden (view full) ---

193 devices_per_rank = 8
194
195 # Use two ranks
196 ranks_per_channel = 2
197
198 # DDR3 has 8 banks in all configurations
199 banks_per_rank = 8
200
201 # 800 MHz
202 tCK = '1.25ns'
203
198 # DDR3-1600 11-11-11-28
199 tRCD = '13.75ns'
200 tCL = '13.75ns'
201 tRP = '13.75ns'
202 tRAS = '35ns'
203 tWR = '15ns'
204 tRTP = '7.5ns'
205

--- 45 unchanged lines hidden (view full) ---

251 devices_per_rank = 8
252
253 # Use two ranks
254 ranks_per_channel = 2
255
256 # DDR3 has 8 banks in all configurations
257 banks_per_rank = 8
258
204 # DDR3-1600 11-11-11-28
205 tRCD = '13.75ns'
206 tCL = '13.75ns'
207 tRP = '13.75ns'
208 tRAS = '35ns'
209 tWR = '15ns'
210 tRTP = '7.5ns'
211

--- 45 unchanged lines hidden (view full) ---

257 devices_per_rank = 8
258
259 # Use two ranks
260 ranks_per_channel = 2
261
262 # DDR3 has 8 banks in all configurations
263 banks_per_rank = 8
264
265 # 666 MHs
266 tCK = '1.5ns'
267
259 tRCD = '15ns'
260 tCL = '15ns'
261 tRP = '15ns'
262 tRAS = '36ns'
263 tWR = '15ns'
264 tRTP = '7.5ns'
265
266 # 8 beats across an x64 interface translates to 4 clocks @ 666.66 MHz.

--- 35 unchanged lines hidden (view full) ---

302 devices_per_rank = 1
303
304 # Use a single rank
305 ranks_per_channel = 1
306
307 # LPDDR2-S4 has 8 banks in all configurations
308 banks_per_rank = 8
309
268 tRCD = '15ns'
269 tCL = '15ns'
270 tRP = '15ns'
271 tRAS = '36ns'
272 tWR = '15ns'
273 tRTP = '7.5ns'
274
275 # 8 beats across an x64 interface translates to 4 clocks @ 666.66 MHz.

--- 35 unchanged lines hidden (view full) ---

311 devices_per_rank = 1
312
313 # Use a single rank
314 ranks_per_channel = 1
315
316 # LPDDR2-S4 has 8 banks in all configurations
317 banks_per_rank = 8
318
319 # 533 MHz
320 tCK = '1.876ns'
321
310 # Fixed at 15 ns
311 tRCD = '15ns'
312
313 # 8 CK read latency, 4 CK write latency @ 533 MHz, 1.876 ns cycle time
314 tCL = '15ns'
315
316 # Pre-charge one bank 15 ns (all banks 18 ns)
317 tRP = '15ns'

--- 44 unchanged lines hidden (view full) ---

362 devices_per_rank = 1
363
364 # Use one rank for a one-high die stack
365 ranks_per_channel = 1
366
367 # WideIO has 4 banks in all configurations
368 banks_per_rank = 4
369
322 # Fixed at 15 ns
323 tRCD = '15ns'
324
325 # 8 CK read latency, 4 CK write latency @ 533 MHz, 1.876 ns cycle time
326 tCL = '15ns'
327
328 # Pre-charge one bank 15 ns (all banks 18 ns)
329 tRP = '15ns'

--- 44 unchanged lines hidden (view full) ---

374 devices_per_rank = 1
375
376 # Use one rank for a one-high die stack
377 ranks_per_channel = 1
378
379 # WideIO has 4 banks in all configurations
380 banks_per_rank = 4
381
382 # 200 MHz
383 tCK = '5ns'
384
370 # WIO-200
371 tRCD = '18ns'
372 tCL = '18ns'
373 tRP = '18ns'
374 tRAS = '42ns'
375 tWR = '15ns'
376 # Read to precharge is same as the burst
377 tRTP = '20ns'

--- 38 unchanged lines hidden (view full) ---

416 devices_per_rank = 1
417
418 # Use a single rank
419 ranks_per_channel = 1
420
421 # LPDDR3 has 8 banks in all configurations
422 banks_per_rank = 8
423
385 # WIO-200
386 tRCD = '18ns'
387 tCL = '18ns'
388 tRP = '18ns'
389 tRAS = '42ns'
390 tWR = '15ns'
391 # Read to precharge is same as the burst
392 tRTP = '20ns'

--- 38 unchanged lines hidden (view full) ---

431 devices_per_rank = 1
432
433 # Use a single rank
434 ranks_per_channel = 1
435
436 # LPDDR3 has 8 banks in all configurations
437 banks_per_rank = 8
438
439 # 800 MHz
440 tCK = '1.25ns'
441
424 # Fixed at 15 ns
425 tRCD = '15ns'
426
427 # 12 CK read latency, 6 CK write latency @ 800 MHz, 1.25 ns cycle time
428 tCL = '15ns'
429
430 tRAS = '42ns'
431 tWR = '15ns'

--- 29 unchanged lines hidden ---
442 # Fixed at 15 ns
443 tRCD = '15ns'
444
445 # 12 CK read latency, 6 CK write latency @ 800 MHz, 1.25 ns cycle time
446 tCL = '15ns'
447
448 tRAS = '42ns'
449 tWR = '15ns'

--- 29 unchanged lines hidden ---