Skip to content

Commit d6cd28b

Browse files
author
Jack Hickish
committed
move address space of adc5g controller
Move the ADC5g controller address space from 0x20000 - 0x2ffff to 0x10000 - 0x1ffff so that it can operate in harmony with other ADCs, in the slightly unusual case where a user wants two different ZDOK ADCs on a single ROACH. This fix is a bit lame, because most/all of the ADCs use the same 0x20000 range for their controllers, so this commit only attempts to solve the case where one adc is an ADC5g. For example, an iADC + ADC16 still won't work. The toolflow doesn't dynamically generate addresses on the fly, so a proper fix would involve trawling the repo to find unused address ranges which could be assigned to different kinds of ADC.
1 parent bf4705d commit d6cd28b

File tree

2 files changed

+3
-3
lines changed

2 files changed

+3
-3
lines changed

xps_base/XPS_ROACH2_base/core_info.tab

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ sys_clkcounter 3 10 4
1616
#IF# (strcmp(get(b,'type'),'xps_xaui') || strncmp(get(b,'type'),'xps_tengbe',10)) && strcmp(get(b, 'flavour'), 'sfp+')#sfp_op_dbg 3 60028 4
1717
#IF# (strcmp(get(b,'type'),'xps_xaui') || strncmp(get(b,'type'),'xps_tengbe',10)) && strcmp(get(b, 'flavour'), 'sfp+')#sfp_op_dbg1 3 6002c 4
1818
#IF# strcmp(get(b,'type'),'xps_adc16')#['adc16_controller 3 20000 ' dec2hex(4096*(1+get(b,'num_units'))) 10]
19-
#IF# strcmp(get(b,'type'),'xps_adc5g')#adc5g_controller 3 20000 1000
19+
#IF# strcmp(get(b,'type'),'xps_adc5g')#adc5g_controller 3 10000 1000
2020
#IF# strcmp(get(b,'type'),'xps_katadc')#kat_adc_controller 3 20000 1000
2121
#IF# strcmp(get(b,'type'),'xps_katadc') && strcmp(get(b,'hw_adc'),'adc0')#iic_adc0 3 40000 100
2222
#IF# strcmp(get(b,'type'),'xps_katadc') && strcmp(get(b,'hw_adc'),'adc1')#iic_adc1 3 48000 100

xps_base/XPS_ROACH2_base/system.mhs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -309,8 +309,8 @@
309309
#IF# (strcmp(get(b,'type'),'xps_adc5g')) # #
310310
#IF# (strcmp(get(b,'type'),'xps_adc5g')) # PARAMETER INSTANCE = opb_adc5g_controller_0
311311
#IF# (strcmp(get(b,'type'),'xps_adc5g')) # PARAMETER HW_VER = 1.00.a
312-
#IF# (strcmp(get(b,'type'),'xps_adc5g')) # PARAMETER C_BASEADDR = 0x00020000
313-
#IF# (strcmp(get(b,'type'),'xps_adc5g')) # PARAMETER C_HIGHADDR = 0x0002ffff
312+
#IF# (strcmp(get(b,'type'),'xps_adc5g')) # PARAMETER C_BASEADDR = 0x00010000
313+
#IF# (strcmp(get(b,'type'),'xps_adc5g')) # PARAMETER C_HIGHADDR = 0x0001ffff
314314
#IF# (strcmp(get(b,'type'),'xps_adc5g')) # BUS_INTERFACE SOPB = opb0
315315
#IF# (strcmp(get(b,'type'),'xps_adc5g')) && get(b, 'use_adc0') && strcmp(get(b,'mode'), 'MODE_ACHAN_DMUX1')# PARAMETER INITIAL_CONFIG_MODE_0 = 0
316316
#IF# (strcmp(get(b,'type'),'xps_adc5g')) && get(b, 'use_adc0') && strcmp(get(b,'mode'), 'MODE_ACHAN_DMUX2')# PARAMETER INITIAL_CONFIG_MODE_0 = 1

0 commit comments

Comments
 (0)