diff options
author | Andreas Hansson <andreas.hansson@arm.com> | 2013-05-30 12:53:56 -0400 |
---|---|---|
committer | Andreas Hansson <andreas.hansson@arm.com> | 2013-05-30 12:53:56 -0400 |
commit | bf6291460d101a3051d7688b317800be6440208b (patch) | |
tree | f620f74280bb759349d5d43a0d14d8feb2baf118 /src | |
parent | ce1ad84abd4ecefdb66b3d0b04b11310089e1578 (diff) | |
download | gem5-bf6291460d101a3051d7688b317800be6440208b.tar.xz |
mem: Add a LPDDR3-1600 configuration
This patch adds a typical (leaning towards fast) LPDDR3 configuration
based on publically available data. As expected, it looks very similar
to the LPDDR2-S4 configuration, only with a slightly lower burst time.
Diffstat (limited to 'src')
-rw-r--r-- | src/mem/SimpleDRAM.py | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/src/mem/SimpleDRAM.py b/src/mem/SimpleDRAM.py index 4ca37a64d..9101de101 100644 --- a/src/mem/SimpleDRAM.py +++ b/src/mem/SimpleDRAM.py @@ -277,3 +277,41 @@ class SimpleWideIO(SimpleDRAM): # Two instead of four activation window tXAW = '50ns' activation_limit = 2 + +# High-level model of a single LPDDR3 x32 interface (one +# command/address bus), with default timings based on a LPDDR3-1600 4 +# Gbit part +class SimpleLPDDR3(SimpleDRAM): + # 4 Gb and 8 Gb devices use a 1 kByte page size, so ssuming 64 byte + # cache lines, that is 16 lines + lines_per_rowbuffer = 16 + + # Use a single rank + ranks_per_channel = 1 + + # LPDDR3 has 8 banks in all configurations + banks_per_rank = 8 + + # Fixed at 15 ns + tRCD = '15ns' + + # 12 CK read latency, 6 CK write latency @ 800 MHz, 1.25 ns cycle time + tCL = '15ns' + + # Pre-charge one bank 15 ns and all banks 18 ns + tRP = '18ns' + + # Assuming 64 byte cache lines, across a x32 DDR interface + # translates to two bursts of BL8, 8 clocks @ 800 MHz + tBURST = '10ns' + + # LPDDR3, 4 Gb + tRFC = '130ns' + tREFI = '3.9us' + + # Irrespective of speed grade, tWTR is 7.5 ns + tWTR = '7.5ns' + + # Irrespective of size, tFAW is 50 ns + tXAW = '50ns' + activation_limit = 4 |