64 lines
1.3 KiB
INI
64 lines
1.3 KiB
INI
|
interface ftdi
|
||
|
ftdi_vid_pid 0x0403 0x6014
|
||
|
ftdi_channel 0
|
||
|
ftdi_layout_init 0x00e8 0x60eb
|
||
|
reset_config none
|
||
|
|
||
|
#openocd missing support, added to local cfg file
|
||
|
|
||
|
set CHIP XCAU25P
|
||
|
|
||
|
|
||
|
if { [info exists CHIPNAME] } {
|
||
|
set _CHIPNAME $CHIPNAME
|
||
|
} else {
|
||
|
set _CHIPNAME xcu
|
||
|
}
|
||
|
|
||
|
# The cvarious chips in the Ultrascale family have different IR length.
|
||
|
# Set $CHIP before including this file to determine the device.
|
||
|
array set _XCU_DATA {
|
||
|
XCAU25P {0x04A64093 6}
|
||
|
}
|
||
|
|
||
|
if { ![info exists CHIP] } {
|
||
|
error "set CHIP to one of "[concat [array names _XCU_DATA]]
|
||
|
}
|
||
|
|
||
|
if { ![llength [array names _XCU_DATA $CHIP]] } {
|
||
|
error "unknown CHIP: "$CHIP
|
||
|
}
|
||
|
|
||
|
set _EXPID [lindex $_XCU_DATA($CHIP) 0]
|
||
|
set _IRLEN [lindex $_XCU_DATA($CHIP) 1]
|
||
|
|
||
|
# the 4 top bits (28:31) are the die stepping/revisions. ignore it.
|
||
|
jtag newtap $_CHIPNAME tap -irlen $_IRLEN -ignore-version -expected-id $_EXPID
|
||
|
|
||
|
pld device virtex2 $_CHIPNAME.tap 1
|
||
|
|
||
|
set XCU_JSHUTDOWN 0x0d
|
||
|
set XCU_JPROGRAM 0x0b
|
||
|
set XCU_JSTART 0x0c
|
||
|
set XCU_BYPASS 0x3f
|
||
|
|
||
|
proc xcu_program {tap} {
|
||
|
global XCU_JSHUTDOWN XCU_JPROGRAM XCU_JSTART XCU_BYPASS
|
||
|
irscan $tap $XCU_JSHUTDOWN
|
||
|
irscan $tap $XCU_JPROGRAM
|
||
|
runtest 60000
|
||
|
#JSTART prevents this from working...
|
||
|
#irscan $tap $XCU_JSTART
|
||
|
runtest 2000
|
||
|
irscan $tap $XCU_BYPASS
|
||
|
runtest 2000
|
||
|
}
|
||
|
|
||
|
source [find cpld/jtagspi.cfg]
|
||
|
adapter_khz 25000
|
||
|
|
||
|
|
||
|
proc fpga_program {} {
|
||
|
global _CHIPNAME
|
||
|
xc7_program $_CHIPNAME.tap
|
||
|
}
|