@@ -1152,6 +1152,88 @@ class HBM_1000_4H_1x64(HBM_1000_4H_1x128):
11521152 # self refresh exit time
11531153 tXS = '65ns'
11541154
1155+ # A single HBM2 x64 interface (tested with HBMCtrl in gem5)
1156+ # to be used as a single pseudo channel. The timings are based
1157+ # on HBM gen2 specifications. 4H stack, 8Gb per die and total capacity
1158+ # of 4GiB.
1159+
1160+ class HBM_2000_4H_1x64 (DRAMInterface ):
1161+
1162+ # 64-bit interface for a single pseudo channel
1163+ device_bus_width = 64
1164+
1165+ # HBM2 supports BL4
1166+ burst_length = 4
1167+
1168+ # size of channel in bytes, 4H stack of 8Gb dies is 4GiB per stack;
1169+ # with 16 pseudo channels, 256MiB per pseudo channel
1170+ device_size = "256MiB"
1171+
1172+ device_rowbuffer_size = "1KiB"
1173+
1174+ # 1x128 configuration
1175+ devices_per_rank = 1
1176+
1177+ ranks_per_channel = 1
1178+
1179+ banks_per_rank = 16
1180+ bank_groups_per_rank = 4
1181+
1182+ # 1000 MHz for 2Gbps DDR data rate
1183+ tCK = "1ns"
1184+
1185+ tRP = "14ns"
1186+
1187+ tCCD_L = "3ns"
1188+
1189+ tRCD = "12ns"
1190+ tRCD_WR = "6ns"
1191+ tCL = "18ns"
1192+ tCWL = "7ns"
1193+ tRAS = "28ns"
1194+
1195+ # BL4 in pseudo channel mode
1196+ # DDR @ 1000 MHz means 4 * 1ns / 2 = 2ns
1197+ tBURST = "2ns"
1198+
1199+ # value for 2Gb device from JEDEC spec
1200+ tRFC = "220ns"
1201+
1202+ # value for 2Gb device from JEDEC spec
1203+ tREFI = "3.9us"
1204+
1205+ tWR = "14ns"
1206+ tRTP = "5ns"
1207+ tWTR = "4ns"
1208+ tWTR_L = "9ns"
1209+ tRTW = "18ns"
1210+
1211+ #tAAD from RBus
1212+ tAAD = "1ns"
1213+
1214+ # single rank device, set to 0
1215+ tCS = "0ns"
1216+
1217+ tRRD = "4ns"
1218+ tRRD_L = "6ns"
1219+
1220+ # for a single pseudo channel
1221+ tXAW = "16ns"
1222+ activation_limit = 4
1223+
1224+ # 4tCK
1225+ tXP = "8ns"
1226+
1227+ # start with tRFC + tXP -> 160ns + 8ns = 168ns
1228+ tXS = "216ns"
1229+
1230+ page_policy = 'close_adaptive'
1231+
1232+ read_buffer_size = 64
1233+ write_buffer_size = 64
1234+
1235+ two_cycle_activate = True
1236+
11551237# A single LPDDR5 x16 interface (one command/address bus)
11561238# for a single x16 channel with default timings based on
11571239# initial JEDEC specification
0 commit comments