Skip to content

Commit 2ebef17

Browse files
committed
Merge branch 'numpy_compt' into 'master'
Numpy version > 2.X compatibility See merge request hdl-libraries/bedrock!249
2 parents ffe0635 + f3cffa3 commit 2ebef17

File tree

7 files changed

+24
-18
lines changed

7 files changed

+24
-18
lines changed

Dockerfile.bedrock_testing_base_bookworm

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -135,7 +135,7 @@ RUN mkdir ${LITEX_INSTALL_PATH} && \
135135

136136
# Install leep from PyPi
137137
RUN pip3 install \
138-
leep==1.0.1
138+
leep==1.0.2
139139

140140
# Install sv2v
141141
RUN apt-get update && \

Dockerfile.bedrock_testing_base_trixie

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -135,7 +135,7 @@ RUN mkdir ${LITEX_INSTALL_PATH} && \
135135

136136
# Install leep from PyPi
137137
RUN pip3 install \
138-
leep==1.0.1
138+
leep==1.0.2
139139

140140
# Install sv2v
141141
RUN apt-get update && \

board_support/zest/ad7794.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -90,6 +90,7 @@ def configuration_register(self, chan):
9090
return val | 0x0000ff
9191

9292
def conv_volt(self, readout, chan):
93+
readout = int(readout)
9394
vref = 0.0
9495
if chan == 6 or self.REFSEL == 2:
9596
vref = 1.17

board_support/zest/zest_setup.py

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -158,7 +158,8 @@ def hardware_reset(self, injector=False):
158158
if not self.pntest4():
159159
return False
160160
self.adc_twos_comp(twoscomp=True)
161-
print('test pattern %s' % self.set_test_mode('00000000'))
161+
print('test pattern %s' % "".join([
162+
str(item) for sublist in self.set_test_mode('00001100') or [] for item in sublist]))
162163
if not self.amc7823_print(check_channels=[1, 2, 3, 4, 5, 6, 7]):
163164
return False
164165
return True
@@ -575,7 +576,8 @@ def find_best_idelay(self, ix, idelay_dict):
575576
return ix if False else self.top2idelay(lane, ix % 2)[0]
576577

577578
def adc_idelay1(self, dbg1=0):
578-
print('test pattern %s' % self.set_test_mode('00001100'))
579+
print('test pattern %s' % "".join([
580+
str(item) for sublist in self.set_test_mode('00001100') or [] for item in sublist]))
579581
print('Type 1 (firmware) idelay scan')
580582
if True: # not needed after powerup, but will clear old values if re-scanning
581583
self.set_idelays(16*[0])
@@ -605,7 +607,8 @@ def adc_idelay1(self, dbg1=0):
605607
return all([2 == (x >> 5) for x in idelay_mirror]) # all channels scan success!
606608

607609
def adc_idelay0(self):
608-
print('test pattern %s' % self.set_test_mode('00001100'))
610+
print('test pattern %s' % "".join([
611+
str(item) for sublist in self.set_test_mode('00001100') or [] for item in sublist]))
609612
print('Type 0 (software) idelay scan')
610613
print("idelay scan " + " ".join(self.chan_list))
611614
idelay_dict = {}
@@ -651,7 +654,8 @@ def adc_bufr_reset1(self, adc_values, name, adc, ic_reset, iserdes_reset):
651654
return success, adc_values
652655

653656
def adc_bufr_reset(self):
654-
print('test pattern %s' % self.set_test_mode('00001100'))
657+
print('test pattern %s' % "".join([
658+
str(item) for sublist in self.set_test_mode('00001100') or [] for item in sublist]))
655659
adc_values = self.adc_reg(verbose=True)
656660
print('0x%x %s %s' % (adc_values[0], adc_values[0] != 0x4339, adc_values[0] != 0xa19c))
657661
s1, adc_values = self.adc_bufr_reset1(
@@ -661,7 +665,8 @@ def adc_bufr_reset(self):
661665
return s1 and s2
662666

663667
def adc_bitslip(self):
664-
print('bitslip: test pattern %s' % self.set_test_mode('00001100'))
668+
print('bitslip test pattern %s' % "".join([
669+
str(item) for sublist in self.set_test_mode('00001100') or [] for item in sublist]))
665670
index = 0
666671
bitslip = self.bitslip_calc()
667672
print(format(bitslip, '016b'))

projects/common/get_raw_adcs.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,8 @@ def get_raw_adcs_run(dev, filewritepath='raw_adcs_', ext_trig=False, freq=7/33.0
6868
print("difference %6.2f" % diff1)
6969
if save_data is True:
7070
# ISO 8601 2016-06-02T16:06:14Z
71-
datetimestr = datetime.datetime.utcnow().isoformat()+"Z "+str(timestamp)
71+
dt_now = datetime.datetime.now(datetime.timezone.utc)
72+
datetimestr = dt_now.isoformat().replace('+00:00', 'Z') + " " + str(timestamp)
7273
header = "\n".join([datetimestr, chan_txt])
7374

7475
data_dir = start_time.strftime(filewritepath + '%Y%m%d_%H%M%S')
@@ -216,7 +217,7 @@ def process_adcs(dev, npt, mask_int, freq=7/33.0): # ,block,timestamp):
216217

217218

218219
def slow_chain_unpack(readlist):
219-
nums = [256*readlist[ix]+readlist[ix+1] for ix in range(0, 32, 2)]
220+
nums = [int(readlist[ix])*256 + int(readlist[ix+1]) for ix in range(0, 32, 2)]
220221
nums = [x if x < 32768 else x-65536 for x in nums]
221222
timestamp = 0
222223
for ix in range(8):

projects/test_marble_family/config_si570.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@
55
# tested on marble_mmc branch marble_v1_4 commit 80a96fc6
66
# but also backward compatible because of default values
77
import sys
8-
import numpy as np
98
bedrock_dir = "../../"
109
sys.path.append(bedrock_dir + "peripheral_drivers/i2cbridge")
1110
sys.path.append(bedrock_dir + "badger")
@@ -185,9 +184,10 @@ def compute_si570(addr, key, verbose=False, debug=False):
185184
ib = 3*32 # init result memory base, derived from set_resx(3)
186185
a = result[ib+1:ib+7]
187186

188-
hs_div = (a[0] >> 5) + 4
189-
n1 = (((a[0] & 0x1f) << 2) | (a[1] >> 6)) + 1
190-
rfreq = np.uint64((((a[1] & 0x3f) << 32) | (a[2] << 24) | (a[3] << 16) | (a[4] << 8) | a[5])) / (2**28)
187+
hs_div = int(a[0] >> 5) + 4
188+
n1 = int(((a[0] & 0x1f) << 2) | (a[1] >> 6)) + 1
189+
rfreq_int = (int(a[1]) & 0x3f) << 32 | int(a[2]) << 24 | int(a[3]) << 16 | int(a[4]) << 8 | int(a[5])
190+
rfreq = float(rfreq_int) / float(2**28)
191191

192192
freq_default = addr.reg_read(["frequency_si570"])
193193
default = (freq_default[0]/2**24.0)*125

projects/test_marble_family/testcase.py

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
from time import sleep
22
import sys
3-
import numpy as np
43
bedrock_dir = "../../"
54
sys.path.append(bedrock_dir + "peripheral_drivers/i2cbridge")
65
sys.path.append(bedrock_dir + "badger")
@@ -12,7 +11,7 @@
1211
# return an n-long array of 16-bit values, still integer
1312
# constructed assuming 8-bit values are arranged in pairs, msb-first
1413
def merge_16(a):
15-
aa = [x1*256+x2 for x1, x2 in zip(a[0::2], a[1::2])]
14+
aa = [int(x1)*256 + int(x2) for x1, x2 in zip(a[0::2], a[1::2])]
1615
return aa
1716

1817

@@ -180,9 +179,9 @@ def compute_si570(freq_default, a):
180179
# DCO frequency range: 4850 - 5670MHz
181180
# HSDIV values: 4, 5, 6, 7, 9 or 11 (subtract 4 to store)
182181
# N1 values: 1, 2, 4, 6, 8...128
183-
hs_div = (a[0] >> 5) + 4
184-
n1 = (((a[0] & 0x1f) << 2) | (a[1] >> 6)) + 1
185-
rfreq = np.uint64((((a[1] & 0x3f) << 32) | (a[2] << 24) | (a[3] << 16) | (a[4] << 8) | a[5])) / (2**28)
182+
hs_div = int(a[0] >> 5) + 4
183+
n1 = int(((a[0] & 0x1f) << 2) | (a[1] >> 6)) + 1
184+
rfreq = float(int((a[1] & 0x3f) << 32 | a[2] << 24 | a[3] << 16 | a[4] << 8 | a[5])) / float(2**28)
186185

187186
default = (freq_default[0]/2**24.0)*125
188187
fxtal = default * hs_div * n1 / rfreq

0 commit comments

Comments
 (0)