mem: make DDR4 x16
This commit is contained in:
parent
bd0c2d5b0b
commit
20e6bb0140
1 changed files with 28 additions and 28 deletions
|
@ -508,35 +508,35 @@ class DDR3_2133_x64(DDR3_1600_x64):
|
||||||
VDD = '1.5V'
|
VDD = '1.5V'
|
||||||
|
|
||||||
# A single DDR4-2400 x64 channel (one command and address bus), with
|
# A single DDR4-2400 x64 channel (one command and address bus), with
|
||||||
# timings based on a DDR4-2400 4 Gbit datasheet (Micron MT40A512M8)
|
# timings based on a DDR4-2400 4 Gbit datasheet (Micron MT40A512M16)
|
||||||
# in an 8x8 configuration.
|
# in an 4x16 configuration.
|
||||||
class DDR4_2400_x64(DRAMCtrl):
|
class DDR4_2400_x64(DRAMCtrl):
|
||||||
# size of device
|
# size of device
|
||||||
device_size = '512MB'
|
device_size = '512MB'
|
||||||
|
|
||||||
# 8x8 configuration, 8 devices each with an 8-bit interface
|
# 4x16 configuration, 4 devices each with an 16-bit interface
|
||||||
device_bus_width = 8
|
device_bus_width = 16
|
||||||
|
|
||||||
# DDR4 is a BL8 device
|
# DDR4 is a BL8 device
|
||||||
burst_length = 8
|
burst_length = 8
|
||||||
|
|
||||||
# Each device has a page (row buffer) size of 1 Kbyte (1K columns x8)
|
# Each device has a page (row buffer) size of 2 Kbyte (1K columns x16)
|
||||||
device_rowbuffer_size = '1kB'
|
device_rowbuffer_size = '2kB'
|
||||||
|
|
||||||
# 8x8 configuration, so 8 devices
|
# 4x16 configuration, so 4 devices
|
||||||
devices_per_rank = 8
|
devices_per_rank = 4
|
||||||
|
|
||||||
# Match our DDR3 configurations which is dual rank
|
# Match our DDR3 configurations which is dual rank
|
||||||
ranks_per_channel = 2
|
ranks_per_channel = 2
|
||||||
|
|
||||||
# DDR4 has 2 (x16) or 4 (x4 and x8) bank groups
|
# DDR4 has 2 (x16) or 4 (x4 and x8) bank groups
|
||||||
# Set to 4 for x4, x8 case
|
# Set to 2 for x16 case
|
||||||
bank_groups_per_rank = 4
|
bank_groups_per_rank = 2
|
||||||
|
|
||||||
# DDR4 has 16 banks (4 bank groups) in all
|
# DDR4 has 16 banks(x4,x8) and 8 banks(x16) (4 bank groups in all
|
||||||
# configurations. Currently we do not capture the additional
|
# configurations). Currently we do not capture the additional
|
||||||
# constraints incurred by the bank groups
|
# constraints incurred by the bank groups
|
||||||
banks_per_rank = 16
|
banks_per_rank = 8
|
||||||
|
|
||||||
# override the default buffer sizes and go for something larger to
|
# override the default buffer sizes and go for something larger to
|
||||||
# accommodate the larger bank count
|
# accommodate the larger bank count
|
||||||
|
@ -558,21 +558,21 @@ class DDR4_2400_x64(DRAMCtrl):
|
||||||
# for CAS-to-CAS delay for bursts to different bank groups
|
# for CAS-to-CAS delay for bursts to different bank groups
|
||||||
tCCD_L = '5ns';
|
tCCD_L = '5ns';
|
||||||
|
|
||||||
# DDR4-2400 17-17-17
|
# DDR4-2400 16-16-16
|
||||||
tRCD = '14.16ns'
|
tRCD = '13.32ns'
|
||||||
tCL = '14.16ns'
|
tCL = '13.32ns'
|
||||||
tRP = '14.16ns'
|
tRP = '13.32ns'
|
||||||
tRAS = '32ns'
|
tRAS = '35ns'
|
||||||
|
|
||||||
# RRD_S (different bank group) for 1K page is MAX(4 CK, 3.3ns)
|
# RRD_S (different bank group) for 2K page is MAX(4 CK, 5.3ns)
|
||||||
tRRD = '3.3ns'
|
tRRD = '5.3ns'
|
||||||
|
|
||||||
# RRD_L (same bank group) for 1K page is MAX(4 CK, 4.9ns)
|
# RRD_L (same bank group) for 2K page is MAX(4 CK, 6.4ns)
|
||||||
tRRD_L = '4.9ns';
|
tRRD_L = '6.4ns';
|
||||||
|
|
||||||
tXAW = '21ns'
|
tXAW = '30ns'
|
||||||
activation_limit = 4
|
activation_limit = 4
|
||||||
tRFC = '350ns'
|
tRFC = '260ns'
|
||||||
|
|
||||||
tWR = '15ns'
|
tWR = '15ns'
|
||||||
|
|
||||||
|
@ -592,13 +592,13 @@ class DDR4_2400_x64(DRAMCtrl):
|
||||||
tREFI = '7.8us'
|
tREFI = '7.8us'
|
||||||
|
|
||||||
# Current values from datasheet
|
# Current values from datasheet
|
||||||
IDD0 = '64mA'
|
IDD0 = '70mA'
|
||||||
IDD02 = '4mA'
|
IDD02 = '4.6mA'
|
||||||
IDD2N = '50mA'
|
IDD2N = '50mA'
|
||||||
IDD3N = '67mA'
|
IDD3N = '67mA'
|
||||||
IDD3N2 = '3mA'
|
IDD3N2 = '3mA'
|
||||||
IDD4W = '180mA'
|
IDD4W = '302mA'
|
||||||
IDD4R = '160mA'
|
IDD4R = '230mA'
|
||||||
IDD5 = '192mA'
|
IDD5 = '192mA'
|
||||||
VDD = '1.2V'
|
VDD = '1.2V'
|
||||||
VDD2 = '2.5V'
|
VDD2 = '2.5V'
|
||||||
|
|
Loading…
Reference in a new issue