I recently bought a Nexys 4 Artix 7 (PSRAM not DDR version) and I'm trying to program the memory device so it boots directly into MEGA65.
I've compiled the latest nexys4.bit and nexys4.mcs files using Vivado 2019.2. Programming the memory device appears to be successful until I do a "Boot from configuration memory device" and then "Refresh Device". It shows a BIT05_0_CRC_ERROR. JP1 is set to QSPI.
According to the Xilinx forums:
QuoteCRC error - The CRC error bit indicates whether the bit stream has passed "0" or failed "1" the CRC checking.
INIT_B will also go Low when CRC errors occur, unless JTAG configuration is being used.
CRC errors are typically due to clocking or SI issues on the board.
If a CRC error occurs, try slowing down the configuration speed, or investigating the SI characteristics of the configuration signals (in particular, the clock line).
So I tried setting the frequency to the lowest setting (125000). I'm not sure what "SI characteristics" are?
I also tried doing the same with the files from official repo in the "19-4a8842d" folder. Same errors.
I've also successfully run the following commands:
QuoteDisplay Moresed -e s,THEMCSFILE,bin/nexys4.mcs,g
****** Vivado v2019.2 (64-bit)
**** SW Build 2708876 on Wed Nov 6 21:39:14 MST 2019
**** IP Build 2700528 on Thu Nov 7 00:09:20 MST 2019
** Copyright 1986-2019 Xilinx, Inc. All Rights Reserved.
source temp.tcl -notrace
WARNING: 'open_hw' is deprecated, please use 'open_hw_manager' instead.
INFO: [Labtools 27-2285] Connecting to hw_server url TCP:localhost:3121
INFO: [Labtools 27-2222] Launching hw_server...
INFO: [Labtools 27-2221] Launch Output:
****** Xilinx hw_server v2019.2
**** Build date : Nov 6 2019 at 22:13:42
** Copyright 1986-2019 Xilinx, Inc. All Rights Reserved.
INFO: [Labtools 27-3415] Connecting to cs_server url TCP:localhost:3042
INFO: [Labtools 27-3417] Launching cs_server...
INFO: [Labtools 27-2221] Launch Output:
****** Xilinx cs_server v2019.2.0
**** Build date : Nov 07 2019-00:41:48
** Copyright 2017-2019 Xilinx, Inc. All Rights Reserved.
INFO: [Labtoolstcl 44-466] Opening hw_target localhost:3121/xilinx_tcf/Digilent/210274675098A
INFO: [Labtools 27-1434] Device xc7a100t (JTAG device index = 0) is programmed with a design that has no supported debug core(s) in it.
INFO: [Labtools 27-3164] End of startup status: HIGH
Mfg ID : 1 Memory Type : 20 Memory Capacity : 18 Device ID 1 : 0 Device ID 2 : 0
Performing Erase Operation...
Erase Operation successful.
Performing Program and Verify Operations...
Program/Verify Operation successful.
INFO: [Labtoolstcl 44-377] Flash programming completed successfully
program_hw_cfgmem: Time (s): cpu = 00:00:00.23 ; elapsed = 00:01:23 . Memory (MB): peak = 2582.789 ; gain = 9.383 ; free physical = 11835 ; free virtual = 15580
INFO: [Common 17-206] Exiting Vivado at Thu Nov 26 12:29:12 2020...
QuoteDisplay Morefpgajtag: Digilent:Digilent USB Device:210274675098; bcd:700
count 0/1 cortex -1 dcount 0 trail 0
STATUS 00700019 done 0 release_done 0 eos 10 startup_state 4
fpgajtag: Starting to send file
fpgajtag: Done sending file
fpgajtag: bypass already programmed bc
STATUS 00501079 done 0 release_done 0 eos 10 startup_state 4
fpgajtag: ERROR failed to run pciescanportal: No such file or directory
QuoteDisplay Morefpgajtag: Digilent:Digilent USB Device:210274675098; bcd:700
Auto-detected serial port '/dev/ttyUSB1'
count 0/1 cortex -1 dcount 0 trail 0
STATUS 00700019 done 0 release_done 0 eos 10 startup_state 4
fpgajtag: Starting to send file
fpgajtag: Done sending file
fpgajtag: bypass already programmed bc
STATUS 00501079 done 0 release_done 0 eos 10 startup_state 4
fpgajtag: ERROR failed to run pciescanportal: No such file or directory
[T+3sec] Bitstream loaded
[T+3sec] Replacing hyppo...
[T+3sec] 'bin/HICKUP.M65' loaded.
MEGA65 is in C65 mode.
Exiting now that we are in C65 mode.
Does anyone have any ideas on why I can't get the bitstream to program from flash upon boot?