import casperfpga,time f=casperfpga.SkarabFpga('10.99.37.5') #f.upload_to_ram_and_program('test_hmc_vacc1_2017-3-31_1403.fpg') #180MHz f.upload_to_ram_and_program('test_hmc_vacc1_2017-3-29_1700.fpg') #156.25MHz f.registers.vacctvg_control.write(sync_sel=1,valid_sel=1,data_sel=1) f.registers.vacctvg_control.write(ctr_en=1) f.registers.vacctvg_control.write(vector_en=1) #f.registers.vacctvg_control.write(reset='pulse') f.registers.vacc_rst=1 f.registers.hmc_vacc_ctrl_rb_disable=1 f.registers.acc_len.write(reg=200) f.registers.vacc_tvg0_n_per_group.write(reg=12) # 180MHz #f.registers.vacc_tvg0_n_per_group.write(reg=14) #156.25MHz f.registers.vacc_tvg0_group_period.write(reg=20) f.registers.vacc_tvg0_n_pulses.write(reg=2001000) #prep the snap block: f.snapshots.snap_acc.arm() #f.snapshots.snap_acc.arm(man_trig=True) f.snapshots.hmc_vacc_hmc_in_rd_snap_ss.arm() f.snapshots.hmc_vacc_hmc_in_wr_snap_ss.arm() f.snapshots.hmc_vacc_hmc_out_snap_ss.arm() f.snapshots.hmc_vacc_qdr_out_snap_ss.arm() f.snapshots.hmc_vacc_ctrl_snap_ss.arm() f.registers.hmc_vacc_cnt_rst.write(reg='pulse')
import casperfpga, time f = casperfpga.SkarabFpga('10.99.55.170') # JRM board #f.upload_to_ram_and_program('test_hmc_vacc_nosnap_2017-3-31_1045.fpg') #156.25MHz, div-by-4? readback/erase #f.upload_to_ram_and_program('test_hmc_vacc_nosnap_2017-3-31_0924.fpg') #180MHz, div-by-4? readback/erase #f.upload_to_ram_and_program('test_hmc_vacc_nosnap_2017-3-31_1640.fpg') #156.25MHz, div-by-16 readback/erase #f.upload_to_ram_and_program('test_hmc_vacc_nosnap_2017-4-3_0832.fpg') #180MHz, div-by-16 readback/erase #f.upload_to_ram_and_program('test_hmc_vacc_nosnap_2017-4-3_1218.fpg') #180MHz, div-by-16 readback/erase, 32B MAX BLOCK SIZE #f.upload_to_ram_and_program('test_hmc_vacc_nosnap_2017-4-3_1416.fpg') #200MHz, div-by-16, 32B, serialiser #f.upload_to_ram_and_program('test_hmc_vacc_nosnap_2017-4-3_1548.fpg') #156.25MHz, div-by-16, 32B, serialiser #f.upload_to_ram_and_program('test_hmc_vacc_nosnap_2017-4-3_1709.fpg') #as above, but with clean recompile #f.upload_to_ram_and_program('test_hmc_vacc_nosnap_2017-4-4_0932.fpg') #as above, but AvdB compile. None of above recent compiles worked. Board-specific POST troubles tracked to new resets. #f.upload_to_ram_and_program('test_hmc_vacc_nosnap_2017-4-4_1619.fpg') #156.25MHz, div-by-16, 32B, single AXI, some resets removed #f.upload_to_ram_and_program('test_hmc_vacc_nosnap_2017-4-4_1728.fpg') #156.25MHz, div-by-16, 32B, single AXI, no resets #f.upload_to_ram_and_program('test_hmc_vacc_nosnap_2017-4-5_1123.fpg') #As above, but 200MHz, DID NOT MAKE TIMING #f.upload_to_ram_and_program('test_hmc_vacc_nosnap_2017-4-6_0843.fpg') #256b VACC (4x31b numbers) #f.upload_to_ram_and_program('test_hmc_vacc_nosnap_2017-4-6_1109.fpg') #256b VACC (4x31b numbers), 156MHz, DIDNOTMAKETIMING #f.upload_to_ram_and_program('test_hmc_vacc_nosnap_2017-4-10_0946.fpg') #256b VACC (4x31b numbers), 156MHz, Juri's flitgen mods #f.upload_to_ram_and_program('test_hmc_vacc_nosnap_2017-4-10_1042.fpg') #256b VACC (4x31b numbers), 200MHz, Juri's flitgen mods #f.upload_to_ram_and_program('test_hmc_vacc_nosnap_2017-4-10_1433.fpg') #256b, 200MHz, Juri's flitgen mods, no serialiser #f.upload_to_ram_and_program('test_hmc_vacc_nosnap_2017-4-10_1530.fpg') #256b, 156MHz, Juri's flitgen mods, no serialiser #f.upload_to_ram_and_program('test_hmc_vacc_all_2017-5-9_1318.fpg') #four vaccs, 225MHz. both interfaces on each hmc try to write to same memory locations and clobber each other. Can only test one interface at a time. #f.upload_to_ram_and_program('test_hmc_vacc_all_2017-5-9_1544.fpg') #vector length: 1000 f.upload_to_ram_and_program( 'test_hmc_vacc_all_2017-5-11_1418.fpg') #vector length: 200000 print 'Programmed!' f.registers.vacctvg_control.write(sync_sel=1, valid_sel=1, data_sel=1, ctr_en=1, vector_en=1,
import casperfpga, time #f=casperfpga.SkarabFpga('10.99.55.170') #AvdB board #f=casperfpga.SkarabFpga('10.99.51.170') #PP board f = casperfpga.SkarabFpga('10.99.37.5') # JRM board #f.upload_to_ram_and_program('test_hmc_vacc_nosnap_2017-3-31_1045.fpg') #156.25MHz, div-by-4? readback/erase #f.upload_to_ram_and_program('test_hmc_vacc_nosnap_2017-3-31_0924.fpg') #180MHz, div-by-4? readback/erase #f.upload_to_ram_and_program('test_hmc_vacc_nosnap_2017-3-31_1640.fpg') #156.25MHz, div-by-16 readback/erase #f.upload_to_ram_and_program('test_hmc_vacc_nosnap_2017-4-3_0832.fpg') #180MHz, div-by-16 readback/erase #f.upload_to_ram_and_program('test_hmc_vacc_nosnap_2017-4-3_1218.fpg') #180MHz, div-by-16 readback/erase, 32B MAX BLOCK SIZE #f.upload_to_ram_and_program('test_hmc_vacc_nosnap_2017-4-3_1416.fpg') #200MHz, div-by-16, 32B, serialiser #f.upload_to_ram_and_program('test_hmc_vacc_nosnap_2017-4-3_1548.fpg') #156.25MHz, div-by-16, 32B, serialiser #f.upload_to_ram_and_program('test_hmc_vacc_nosnap_2017-4-3_1709.fpg') #as above, but with clean recompile #f.upload_to_ram_and_program('test_hmc_vacc_nosnap_2017-4-4_0932.fpg') #as above, but AvdB compile. None of above recent compiles worked. Board-specific POST troubles tracked to new resets. #f.upload_to_ram_and_program('test_hmc_vacc_nosnap_2017-4-4_1619.fpg') #156.25MHz, div-by-16, 32B, single AXI, some resets removed #f.upload_to_ram_and_program('test_hmc_vacc_nosnap_2017-4-4_1728.fpg') #156.25MHz, div-by-16, 32B, single AXI, no resets #f.upload_to_ram_and_program('test_hmc_vacc_nosnap_2017-4-5_1123.fpg') #As above, but 200MHz, DID NOT MAKE TIMING #f.upload_to_ram_and_program('test_hmc_vacc_nosnap_2017-4-6_0843.fpg') #256b VACC (4x31b numbers) #f.upload_to_ram_and_program('test_hmc_vacc_nosnap_2017-4-6_1109.fpg') #256b VACC (4x31b numbers), 156MHz, DIDNOTMAKETIMING #f.upload_to_ram_and_program('test_hmc_vacc_nosnap_2017-4-10_0946.fpg') #256b VACC (4x31b numbers), 156MHz, Juri's flitgen mods #f.upload_to_ram_and_program('test_hmc_vacc_nosnap_2017-4-10_1042.fpg') #256b VACC (4x31b numbers), 200MHz, Juri's flitgen mods #f.upload_to_ram_and_program('test_hmc_vacc_nosnap_2017-4-10_1433.fpg') #256b, 200MHz, Juri's flitgen mods, no serialiser f.upload_to_ram_and_program( 'test_hmc_vacc_nosnap_2017-4-10_1530.fpg' ) #256b, 156MHz, Juri's flitgen mods, no serialiser f.registers.vacctvg_control.write(sync_sel=1, valid_sel=1, data_sel=1, ctr_en=1, vector_en=1)