# SPDX-License-Identifier: GPL-2.0-or-later # xilinx series 7 (spartan, artix, kintex, virtex) # http://www.xilinx.com/support/documentation/user_guides/ug470_7Series_Config.pdf if { [info exists CHIPNAME] } { set _CHIPNAME $CHIPNAME } else { set _CHIPNAME xc7 } # the 4 top bits (28:31) are the die stepping/revisions. ignore it. jtag newtap $_CHIPNAME tap -irlen 6 -ignore-version \ -expected-id 0x03622093 \ -expected-id 0x03620093 \ -expected-id 0x037C4093 \ -expected-id 0x0362F093 \ -expected-id 0x037C8093 \ -expected-id 0x037C7093 \ -expected-id 0x037C3093 \ -expected-id 0x0362E093 \ -expected-id 0x037C2093 \ -expected-id 0x0362D093 \ -expected-id 0x0362C093 \ -expected-id 0x03632093 \ -expected-id 0x03631093 \ -expected-id 0x03636093 \ -expected-id 0x03647093 \ -expected-id 0x0364C093 \ -expected-id 0x03651093 \ -expected-id 0x03747093 \ -expected-id 0x03656093 \ -expected-id 0x03752093 \ -expected-id 0x03751093 \ -expected-id 0x03671093 \ -expected-id 0x03667093 \ -expected-id 0x03682093 \ -expected-id 0x03687093 \ -expected-id 0x03692093 \ -expected-id 0x03691093 \ -expected-id 0x03696093 pld create $_CHIPNAME.pld virtex2 -chain-position $_CHIPNAME.tap -no_jstart virtex2 set_user_codes $_CHIPNAME.pld 0x02 0x03 0x22 0x23 set XC7_JSHUTDOWN 0x0d set XC7_JPROGRAM 0x0b set XC7_JSTART 0x0c set XC7_BYPASS 0x3f proc xc7_program {tap} { echo "DEPRECATED! use 'virtex2 refresh XXXX.pld' not 'xc7_program'" global XC7_JSHUTDOWN XC7_JPROGRAM XC7_JSTART XC7_BYPASS irscan $tap $XC7_JSHUTDOWN irscan $tap $XC7_JPROGRAM runtest 60000 #JSTART prevents this from working... #irscan $tap $XC7_JSTART runtest 2000 irscan $tap $XC7_BYPASS runtest 2000 }