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... |