From command line: vivado -mode batch -source get_dna.tcl
Verilog primitive:
0x006845824BD10854
| # set default hw_server connection | |
| set HW_SERVER localhost:3121 | |
| open_hw | |
| if {[llength [get_hw_servers]] == 0 } then { | |
| connect_hw_server -quiet -url $HW_SERVER | |
| set disconnect_en 1 | |
| } | |
| # update list of targets | |
| refresh_hw_server -quiet | |
| # close open targets | |
| foreach TARGET [get_hw_targets] { | |
| if { [get_property IS_OPENED $TARGET] } then { | |
| close_hw_target -quiet $TARGET | |
| } | |
| } | |
| # loop for all open targets and get DNA values for all programmable FPGAs | |
| foreach TARGET [get_hw_targets] { | |
| open_hw_target -quiet $TARGET | |
| refresh_hw_target -quiet $TARGET | |
| foreach DEVICE [get_hw_devices] { | |
| refresh_hw_device -quiet $DEVICE | |
| if { [get_property PROGRAM.IS_SUPPORTED $DEVICE] } then { | |
| set DNA_HEX [get_property REGISTER.EFUSE.FUSE_DNA $DEVICE] | |
| puts "FPGA DNA: $TARGET=>$DEVICE = DNA(hex)=$DNA_HEX" | |
| } | |
| } | |
| close_hw_target -quiet $TARGET | |
| } | |
| if {$disconnect_en == 1 } { | |
| disconnect_hw_server -quiet | |
| } | |
| ****** Vivado v2016.4 (64-bit) | |
| **** SW Build 1756540 on Mon Jan 23 19:11:19 MST 2017 | |
| **** IP Build 1755317 on Mon Jan 23 20:30:07 MST 2017 | |
| ** Copyright 1986-2016 Xilinx, Inc. All Rights Reserved. | |
| source get_dna.tcl | |
| # set HW_SERVER localhost:3121 | |
| # open_hw | |
| # if {[llength [get_hw_servers]] == 0 } then { | |
| # connect_hw_server -quiet -url $HW_SERVER | |
| # set disconnect_en 1 | |
| # } | |
| WARNING: [Labtoolstcl 44-132] No matching hw_servers were found. | |
| # refresh_hw_server -quiet | |
| # foreach TARGET [get_hw_targets] { | |
| # if { [get_property IS_OPENED $TARGET] } then { | |
| # close_hw_target -quiet $TARGET | |
| # } | |
| # } | |
| # foreach TARGET [get_hw_targets] { | |
| # open_hw_target -quiet $TARGET | |
| # refresh_hw_target -quiet $TARGET | |
| # foreach DEVICE [get_hw_devices] { | |
| # refresh_hw_device -quiet $DEVICE | |
| # if { [get_property PROGRAM.IS_SUPPORTED $DEVICE] } then { | |
| # set DNA_HEX [get_property REGISTER.EFUSE.FUSE_DNA $DEVICE] | |
| # puts "FPGA DNA: $TARGET=>$DEVICE = DNA(hex)=$DNA_HEX" | |
| # } | |
| # } | |
| # close_hw_target -quiet $TARGET | |
| # } | |
| FPGA DNA: localhost:3121/xilinx_tcf/Xilinx/00001865ea7201=>xc7z020_1 = DNA(hex)=3A108BD241B94027 | |
| # if {$disconnect_en == 1 } { | |
| # disconnect_hw_server -quiet | |
| # } | |
| INFO: [Common 17-206] Exiting Vivado at Wed Jun 21 19:11:10 2017... |