Closed hansemro closed 2 months ago
Currently going through each LUTRAM with Vivado bitstreams to ensure they pass.
I should also mention that I am being very conservative in terms of adapter frequency, but feel free to bump this up if you want very fast tests (and dislike flashing LEDs).
$ time openocd -f digilent-hs2.cfg -f tests.cfg -c "print_test_result [test_RAM256X1S_init]" -c "shutdown"
Open On-Chip Debugger 0.12.0
Licensed under GNU GPL v2
For bug reports, read
http://openocd.org/doc/doxygen/bugs.html
Info : auto-selecting first available session transport "jtag". To override use 'transport select <transport>'.
Info : clock speed 1 kHz
Info : JTAG tap: xc7.tap tap/device found: 0x13636093 (mfg: 0x049 (Xilinx), part: 0x3636, ver: 0x1)
Warn : gdb services need one or more targets defined
setup.cfg loaded
tests.cfg loaded
lutram_do[0]: PASS
shutdown command invoked
real 0m18.157s
user 0m0.016s
sys 0m0.022s
$ time openocd -f digilent-hs2.cfg -f tests.cfg -c "adapter speed 1000" -c "print_test_result [test_RAM256X1S_init]" -c "shutdown"
Open On-Chip Debugger 0.12.0
Licensed under GNU GPL v2
For bug reports, read
http://openocd.org/doc/doxygen/bugs.html
Info : auto-selecting first available session transport "jtag". To override use 'transport select <transport>'.
Info : clock speed 1 kHz
Info : JTAG tap: xc7.tap tap/device found: 0x13636093 (mfg: 0x049 (Xilinx), part: 0x3636, ver: 0x1)
Warn : gdb services need one or more targets defined
setup.cfg loaded
tests.cfg loaded
adapter speed: 1000 kHz
lutram_do[0]: PASS
shutdown command invoked
real 0m0.780s
user 0m0.012s
sys 0m0.017s
@hansfbaier tests passed with Vivado (and openXC7) bitstreams.
Thanks for the great work 👍
This PR introduces
tests.cfg
with openocd test functions to validate whether LUTRAM is initialized correctly (assuming the user did not overwrite contents of LUTRAM).For example, if I have a bitstream with RAM32M freshly loaded onto the FPGA, I can test RAM32M by running the following:
I can force a failure by writing to some address with a different value: