mirror of https://github.com/openXC7/prjxray.git
28 lines
1.2 KiB
Tcl
28 lines
1.2 KiB
Tcl
open_checkpoint [lindex $argv 0]
|
|
|
|
# Disabling CRC just replaces the CRC register writes with Reset CRC commands.
|
|
# This seems to work via JTAG as it works in combination with PERFRAMECRC
|
|
# either when applied via Vivado (this setting) or by manually patching the
|
|
# bitstream later.
|
|
#
|
|
set_property BITSTREAM.GENERAL.CRC Disable [current_design]
|
|
|
|
# Debug bitstreams write to LOUT which is only valid on serial master/slave
|
|
# programming methods. If those are replaced with NOPs, Reset CRC commands, or
|
|
# removed entirely, the bitstream will program (DONE light goes active) but the
|
|
# configuration doesn't start. The JTAG status register shows BAD_PACKET_ERROR
|
|
# when this happens. I'm guessing that the individual frame writes require the
|
|
# PERFRAMECRC approach to work at all via JTAG.
|
|
#
|
|
#set_property BITSTREAM.GENERAL.DEBUGBITSTREAM YES [current_design]
|
|
|
|
# PERFRAMECRC bitstreams can be directly loaded via JTAG. They also use an
|
|
# undocumented bit to disable autoincrement which seems to be required if doing
|
|
# individual frame writes instead of a bulk write. The CRC chceks after each
|
|
# frame are _required_ for this bitstream to program.
|
|
#
|
|
#set_property BITSTREAM.GENERAL.PERFRAMECRC YES [current_design]
|
|
|
|
|
|
write_bitstream -force [lindex $argv 1]
|