Skip to content

Commit

Permalink
return (true/false) added for word_align funcion
Browse files Browse the repository at this point in the history
  • Loading branch information
bhbam committed Jun 15, 2023
1 parent 47fa4cc commit a1403c3
Showing 1 changed file with 9 additions and 6 deletions.
15 changes: 9 additions & 6 deletions econt_sw/testing/set_econt.py
Original file line number Diff line number Diff line change
Expand Up @@ -93,7 +93,7 @@ def set_fpga():

def word_align(bx,emulator_delay,bcr=0,verbose=False):
from eRx import checkWordAlignment,statusLogging

word_align_test = 0

verbose=True
def setAlignment(snapshotBX=None, delay=None):
Expand Down Expand Up @@ -154,8 +154,9 @@ def setAlignment(snapshotBX=None, delay=None):

if goodASIC and goodEmulator:
logger.info(f'Good input word alignment, snapshotBX {snapshotBX} and delay {delay}')

word_align_test = 1
statusLogging(sleepTime=2,N=1)
return word_align_test

def simple_output_align(verbose=False):
#find good delay settings
Expand Down Expand Up @@ -190,7 +191,7 @@ def simple_output_align(verbose=False):
# data = lc.empty_fifo(["lc-ASIC","lc-emulator","lc-input"])


def output_align(verbose=False):
def output_align(verbose=False,outdir='',chip_number=00000):
tv.set_bypass(1)
i2cClient.call(args_yaml="configs/alignOutput_TS.yaml",args_i2c='ASIC,emulator',args_write=True)

Expand Down Expand Up @@ -237,7 +238,7 @@ def output_align(verbose=False):
# find latency
from latency import align
lc_emu_aligned = align()

print('HERE')
# do compare
x=i2cClient.call(args_name='FMTBUF_eporttx_numen',args_i2c="ASIC,emulator",args_write=False)
num_links_asic = x['ASIC']['RW']['FMTBUF_ALL']['config_eporttx_numen']
Expand All @@ -258,11 +259,12 @@ def output_align(verbose=False):
logging.warning(f'eTx error count after alignment: {err_counts}')
data = lc.get_captured_data(lcaptures,nwords)
for lcapture in data.keys():
tv.save_testvector(f"{lcapture}_compare_sc_align.csv",data[lcapture])
tv.save_testvector(f"{outdir}/{lcapture}_compare_sc_align_chip_{chip_number}.csv",data[lcapture])
else:
logging.info('Links are aligned between ASIC and emulator')

data = lc.empty_fifo(["lc-ASIC","lc-emulator","lc-input"])
return err_counts

def bypass_align(idir="configs/test_vectors/alignment/",start_ASIC=0,start_emulator=13):
# configure alignment inputs
Expand All @@ -286,11 +288,12 @@ def bypass_align(idir="configs/test_vectors/alignment/",start_ASIC=0,start_emula
from latency import align

latency_ASIC = lc.read_latency(['lc-ASIC'])['lc-ASIC']
align(BX0_word=0xffffffff,
bypass_test = align(BX0_word=0xffffffff,
neTx=10,
start_ASIC=start_ASIC,start_emulator=start_emulator,
modify_ASIC=False
)
return bypass_test


def bypass_compare(idir,odir,ttag=""):
Expand Down

0 comments on commit a1403c3

Please sign in to comment.