DRAMCtrl.py (10206:823f7fd1a82f) | DRAMCtrl.py (10210:793e5ff26e0b) |
---|---|
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 --- 118 unchanged lines hidden (view full) --- 127 tCL = Param.Latency("CAS latency") 128 129 # minimum time between a precharge and subsequent activate 130 tRP = Param.Latency("Row precharge time") 131 132 # minimum time between an activate and a precharge to the same row 133 tRAS = Param.Latency("ACT to PRE delay") 134 | 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 --- 118 unchanged lines hidden (view full) --- 127 tCL = Param.Latency("CAS latency") 128 129 # minimum time between a precharge and subsequent activate 130 tRP = Param.Latency("Row precharge time") 131 132 # minimum time between an activate and a precharge to the same row 133 tRAS = Param.Latency("ACT to PRE delay") 134 |
135 # minimum time between a write data transfer and a precharge 136 tWR = Param.Latency("Write recovery time") 137 |
|
135 # time to complete a burst transfer, typically the burst length 136 # divided by two due to the DDR bus, but by making it a parameter 137 # it is easier to also evaluate SDR memories like WideIO. 138 # This parameter has to account for burst length. 139 # Read/Write requests with data size larger than one full burst are broken 140 # down into multiple requests in the controller 141 tBURST = Param.Latency("Burst duration (for DDR burst length / 2 cycles)") 142 --- 46 unchanged lines hidden (view full) --- 189 # DDR3 has 8 banks in all configurations 190 banks_per_rank = 8 191 192 # DDR3-1600 11-11-11-28 193 tRCD = '13.75ns' 194 tCL = '13.75ns' 195 tRP = '13.75ns' 196 tRAS = '35ns' | 138 # time to complete a burst transfer, typically the burst length 139 # divided by two due to the DDR bus, but by making it a parameter 140 # it is easier to also evaluate SDR memories like WideIO. 141 # This parameter has to account for burst length. 142 # Read/Write requests with data size larger than one full burst are broken 143 # down into multiple requests in the controller 144 tBURST = Param.Latency("Burst duration (for DDR burst length / 2 cycles)") 145 --- 46 unchanged lines hidden (view full) --- 192 # DDR3 has 8 banks in all configurations 193 banks_per_rank = 8 194 195 # DDR3-1600 11-11-11-28 196 tRCD = '13.75ns' 197 tCL = '13.75ns' 198 tRP = '13.75ns' 199 tRAS = '35ns' |
200 tWR = '15ns' |
|
197 198 # 8 beats across an x64 interface translates to 4 clocks @ 800 MHz. 199 # Note this is a BL8 DDR device. 200 tBURST = '5ns' 201 202 # DDR3, 4 Gbit has a tRFC of 240 CK and tCK = 1.25 ns 203 tRFC = '300ns' 204 --- 42 unchanged lines hidden (view full) --- 247 248 # DDR3 has 8 banks in all configurations 249 banks_per_rank = 8 250 251 tRCD = '15ns' 252 tCL = '15ns' 253 tRP = '15ns' 254 tRAS = '36ns' | 201 202 # 8 beats across an x64 interface translates to 4 clocks @ 800 MHz. 203 # Note this is a BL8 DDR device. 204 tBURST = '5ns' 205 206 # DDR3, 4 Gbit has a tRFC of 240 CK and tCK = 1.25 ns 207 tRFC = '300ns' 208 --- 42 unchanged lines hidden (view full) --- 251 252 # DDR3 has 8 banks in all configurations 253 banks_per_rank = 8 254 255 tRCD = '15ns' 256 tCL = '15ns' 257 tRP = '15ns' 258 tRAS = '36ns' |
259 tWR = '15ns' |
|
255 256 # 8 beats across an x64 interface translates to 4 clocks @ 666.66 MHz. 257 # Note this is a BL8 DDR device. 258 tBURST = '6ns' 259 260 tRFC = '160ns' 261 262 # DDR3, <=85C, half for >85C --- 39 unchanged lines hidden (view full) --- 302 303 # 8 CK read latency, 4 CK write latency @ 533 MHz, 1.876 ns cycle time 304 tCL = '15ns' 305 306 # Pre-charge one bank 15 ns (all banks 18 ns) 307 tRP = '15ns' 308 309 tRAS = '42ns' | 260 261 # 8 beats across an x64 interface translates to 4 clocks @ 666.66 MHz. 262 # Note this is a BL8 DDR device. 263 tBURST = '6ns' 264 265 tRFC = '160ns' 266 267 # DDR3, <=85C, half for >85C --- 39 unchanged lines hidden (view full) --- 307 308 # 8 CK read latency, 4 CK write latency @ 533 MHz, 1.876 ns cycle time 309 tCL = '15ns' 310 311 # Pre-charge one bank 15 ns (all banks 18 ns) 312 tRP = '15ns' 313 314 tRAS = '42ns' |
315 tWR = '15ns' |
|
310 311 # 8 beats across an x32 DDR interface translates to 4 clocks @ 533 MHz. 312 # Note this is a BL8 DDR device. 313 # Requests larger than 32 bytes are broken down into multiple requests 314 # in the controller 315 tBURST = '7.5ns' 316 317 # LPDDR2-S4, 4 Gbit --- 35 unchanged lines hidden (view full) --- 353 # WideIO has 4 banks in all configurations 354 banks_per_rank = 4 355 356 # WIO-200 357 tRCD = '18ns' 358 tCL = '18ns' 359 tRP = '18ns' 360 tRAS = '42ns' | 316 317 # 8 beats across an x32 DDR interface translates to 4 clocks @ 533 MHz. 318 # Note this is a BL8 DDR device. 319 # Requests larger than 32 bytes are broken down into multiple requests 320 # in the controller 321 tBURST = '7.5ns' 322 323 # LPDDR2-S4, 4 Gbit --- 35 unchanged lines hidden (view full) --- 359 # WideIO has 4 banks in all configurations 360 banks_per_rank = 4 361 362 # WIO-200 363 tRCD = '18ns' 364 tCL = '18ns' 365 tRP = '18ns' 366 tRAS = '42ns' |
367 tWR = '15ns' |
|
361 362 # 4 beats across an x128 SDR interface translates to 4 clocks @ 200 MHz. 363 # Note this is a BL4 SDR device. 364 tBURST = '20ns' 365 366 # WIO 8 Gb 367 tRFC = '210ns' 368 --- 37 unchanged lines hidden (view full) --- 406 407 # Fixed at 15 ns 408 tRCD = '15ns' 409 410 # 12 CK read latency, 6 CK write latency @ 800 MHz, 1.25 ns cycle time 411 tCL = '15ns' 412 413 tRAS = '42ns' | 368 369 # 4 beats across an x128 SDR interface translates to 4 clocks @ 200 MHz. 370 # Note this is a BL4 SDR device. 371 tBURST = '20ns' 372 373 # WIO 8 Gb 374 tRFC = '210ns' 375 --- 37 unchanged lines hidden (view full) --- 413 414 # Fixed at 15 ns 415 tRCD = '15ns' 416 417 # 12 CK read latency, 6 CK write latency @ 800 MHz, 1.25 ns cycle time 418 tCL = '15ns' 419 420 tRAS = '42ns' |
421 tWR = '15ns' |
|
414 415 # Pre-charge one bank 15 ns (all banks 18 ns) 416 tRP = '15ns' 417 418 # 8 beats across a x32 DDR interface translates to 4 clocks @ 800 MHz. 419 # Note this is a BL8 DDR device. 420 # Requests larger than 32 bytes are broken down into multiple requests 421 # in the controller --- 18 unchanged lines hidden --- | 422 423 # Pre-charge one bank 15 ns (all banks 18 ns) 424 tRP = '15ns' 425 426 # 8 beats across a x32 DDR interface translates to 4 clocks @ 800 MHz. 427 # Note this is a BL8 DDR device. 428 # Requests larger than 32 bytes are broken down into multiple requests 429 # in the controller --- 18 unchanged lines hidden --- |