tdaq-develop-2025-02-12
erase_flash_both_DTCs.tcl
1 puts "JTAG-0 programming mcs file: [lindex $argv 0]"
2 puts "JTAG-0 target flash part: [lindex $argv 1]"
3 puts "JTAG-1 programming mcs file: [lindex $argv 2]"
4 puts "JTAG-1 target flash part: [lindex $argv 3]"
5 #puts "Tcl programming mcs file in flash memory mt28gu01gaax1e-bpi-x16: [lindex $argv 0]"
6 open_hw_manager
7 connect_hw_server
8 
9 
10 open_hw_target [lindex [get_hw_targets *] 0]
11 #create_hw_cfgmem -hw_device [lindex [get_hw_devices xc7k325t_0] 0] [lindex [get_cfgmem_parts {mt28gu512aax1e-bpi-x16}] 0]
12 #create_hw_cfgmem -hw_device [lindex [get_hw_devices] 0] [lindex [get_cfgmem_parts {mt28gu01gaax1e-bpi-x16}] 0]
13 create_hw_cfgmem -hw_device [lindex [get_hw_devices] 0] [lindex [get_cfgmem_parts [lindex $argv 1]] 0]
14 set_property PROGRAM.BLANK_CHECK 0 [ get_property PROGRAM.HW_CFGMEM [lindex [get_hw_devices] 0]]
15 set_property PROGRAM.ERASE 1 [ get_property PROGRAM.HW_CFGMEM [lindex [get_hw_devices] 0]]
16 set_property PROGRAM.CFG_PROGRAM 0 [ get_property PROGRAM.HW_CFGMEM [lindex [get_hw_devices] 0]]
17 set_property PROGRAM.VERIFY 0 [ get_property PROGRAM.HW_CFGMEM [lindex [get_hw_devices] 0]]
18 set_property PROGRAM.CHECKSUM 0 [ get_property PROGRAM.HW_CFGMEM [lindex [get_hw_devices] 0]]
19 set_property PROGRAM.ADDRESS_RANGE {entire_device} [ get_property PROGRAM.HW_CFGMEM [lindex [get_hw_devices] 0]]
20 #set_property PROGRAM.BPI_RS_PINS {none} [ get_property PROGRAM.HW_CFGMEM [lindex [get_hw_devices] 0]]
21 #refresh_hw_device [lindex [get_hw_devices] 0]
22 startgroup
23 create_hw_bitstream -hw_device [lindex [get_hw_devices ] 0] [get_property PROGRAM.HW_CFGMEM_BITFILE [ lindex [get_hw_devices ] 0]]; program_hw_devices [lindex [get_hw_devices ] 0]; refresh_hw_device [lindex [get_hw_devices ] 0];
24 program_hw_cfgmem -hw_cfgmem [ get_property PROGRAM.HW_CFGMEM [lindex [get_hw_devices] 0]]
25 endgroup
26 
27 #boot_hw_device [lindex [get_hw_devices] 0]
28 refresh_hw_device [lindex [get_hw_devices] 0]
29 
30 close_hw_target
31 
32 
33 
34 open_hw_target [lindex [get_hw_targets *] 1]
35 #create_hw_cfgmem -hw_device [lindex [get_hw_devices xc7k325t_0] 0] [lindex [get_cfgmem_parts {mt28gu512aax1e-bpi-x16}] 0]
36 #create_hw_cfgmem -hw_device [lindex [get_hw_devices] 0] [lindex [get_cfgmem_parts {mt28gu01gaax1e-bpi-x16}] 0]
37 create_hw_cfgmem -hw_device [lindex [get_hw_devices] 0] [lindex [get_cfgmem_parts [lindex $argv 1]] 0]
38 set_property PROGRAM.BLANK_CHECK 0 [ get_property PROGRAM.HW_CFGMEM [lindex [get_hw_devices] 0]]
39 set_property PROGRAM.ERASE 1 [ get_property PROGRAM.HW_CFGMEM [lindex [get_hw_devices] 0]]
40 set_property PROGRAM.CFG_PROGRAM 0 [ get_property PROGRAM.HW_CFGMEM [lindex [get_hw_devices] 0]]
41 set_property PROGRAM.VERIFY 0 [ get_property PROGRAM.HW_CFGMEM [lindex [get_hw_devices] 0]]
42 set_property PROGRAM.CHECKSUM 0 [ get_property PROGRAM.HW_CFGMEM [lindex [get_hw_devices] 0]]
43 set_property PROGRAM.ADDRESS_RANGE {entire_device} [ get_property PROGRAM.HW_CFGMEM [lindex [get_hw_devices] 0]]
44 #set_property PROGRAM.BPI_RS_PINS {none} [ get_property PROGRAM.HW_CFGMEM [lindex [get_hw_devices] 0]]
45 #refresh_hw_device [lindex [get_hw_devices] 0]
46 startgroup
47 create_hw_bitstream -hw_device [lindex [get_hw_devices ] 0] [get_property PROGRAM.HW_CFGMEM_BITFILE [ lindex [get_hw_devices ] 0]]; program_hw_devices [lindex [get_hw_devices ] 0]; refresh_hw_device [lindex [get_hw_devices ] 0];
48 program_hw_cfgmem -hw_cfgmem [ get_property PROGRAM.HW_CFGMEM [lindex [get_hw_devices] 0]]
49 endgroup
50 
51 #boot_hw_device [lindex [get_hw_devices] 0]
52 refresh_hw_device [lindex [get_hw_devices] 0]
53 
54 close_hw_target
55 
56 disconnect_hw_server
57 close_hw_manager