Saturday, 2021-04-17

*** tpb has joined #yosys00:00
*** Degi_ has joined #yosys00:45
*** Degi has quit IRC00:49
*** Degi_ is now known as Degi00:49
*** FFY00_ has quit IRC01:01
promach3vup: I know, I mean yosys script that calls ISE bitstream generator01:18
promach3now, I have the bitstream, how do I put the bitstream onto Spartan-6 without opening ISE software itself ?01:19
vuphow is the fpga connected?01:19
promach3JTAG01:20
vupis the JTAG adapter supported by openocd?, if yes maybe take a look at this: https://tomverbeure.github.io/2019/09/15/Loading-a-Spartan-6-bitstream-with-openocd.html ?01:20
tpbTitle: Loading a Xilinx Spartan 6 bitstream with OpenOCD | Electronics etc… (at tomverbeure.github.io)01:20
promach3vup: I am using FT2232H01:21
vupthen that should probabl01:22
vupy work01:22
promach3thanks for pointing out OpenOCD, let me try installing the software later01:22
*** peeps[zen] has joined #yosys06:54
*** peepsalot has quit IRC06:54
*** peeps[zen] has quit IRC07:42
*** danvet has joined #yosys07:54
*** srk has joined #yosys09:34
promach3vup: I tried the webpage instruction, but I got the following error12:04
* promach3 < https://matrix.org/_matrix/media/r0/download/matrix.org/XppOMhpPkaZdXlzcwCvOKTte/message.txt >12:05
vuppromach3: try a slower speed maybe? its not detecting any xilinx devices in the chain, maybe there are SI issues12:24
promach3vup: now I have `Info : 111 5 core.c:1142 jtag_examine_chain_display(): JTAG tap: xc6s.tap tap/device found: 0x44002093 (mfg: 0x049 (Xilinx), part: 0x4002, ver: 0x4)`12:29
promach3however, I still could not load the bitstream onto the FPGA using `sudo /usr/bin/openocd -d -f ./digilent-hs1.cfg -f /usr/share/openocd/scripts/cpld/xilinx-xc6s.cfg -c "transport select jtag" -c "adapter speed 1000 init; xc6s_program xc6s.tap; pld load 0 ./ddr3_memory_controller_par.bit ; exit"` Why ?12:30
vupwell you did not give any error message or anything, so no clue?12:31
* promach3 < https://matrix.org/_matrix/media/r0/download/matrix.org/qnBYuQRSmislwGmPUBDXbCxi/message.txt >12:31
promach3vup: here you go the log12:31
vuppromach3: other than leaving out the duplicate `transport select jtag`, I see nothing wrong, are you sure it did not actually load the bitstream?12:34
* promach3 uploaded an image: (17KiB) < https://matrix.org/_matrix/media/r0/download/matrix.org/ixKaMOnRuFHeTpNTVFtMoqlK/image.png >12:40
promach3vup: See https://github.com/promach/DDR/blob/main/test_ddr3_memory_controller.v#L81 and https://github.com/promach/DDR/blob/main/ddr3_memory_controller.ucf#L312:40
promach3let me continue the debugging work later after I have my food12:41
vuppromach3: I mean are you sure the ddr controller actually works? Maybe try a simple blinky on the other led first?12:44
*** FFY00_ has joined #yosys13:01
promach3vup: just tested a LED, the openOCD does not put the bitstream yet13:17
promach3D3 on R913:18
promach3 * D3 on `BANK2_IO_R9`13:19
promach3what is the purpose of using `telnet` in this case ?13:20
promach3besides, lowering the frequency speed to 100 still resulted in detection of AMD device instead of Xilinx device13:21
vupwell without error messages, I don't really know what the problem could be, you could try xc3sprog...14:09
* promach3 < https://matrix.org/_matrix/media/r0/download/matrix.org/PJywbbifhdvMsvnFJrXpfoim/message.txt >14:11
promach3vup: here you go the error log14:11
promach3I suppose https://github.com/matrix-io/xc3sprog does not have FULL support for Spartan-6 ?14:13
*** vidbina has joined #yosys15:04
vuppromach3: not sure what FULL support means, but it should be possible to program Spartan-6 with it15:16
promach3vup: may I know the exact command-line syntax to program xc6slx16-3ftg256  ?15:39
vuppromach3: man xc3sprog...15:42
vupbut `xc3sprog -c ftdi` should show the fpga15:43
vup`xc3sprog -c ftdi bitstream.bit` should program it15:43
* promach3 < https://matrix.org/_matrix/media/r0/download/matrix.org/sRdnceqIHfKUhMkTghGcjiSf/message.txt >16:03
promach3vup: I got some strange IDCODE issue from xc3sprog , probably spartan-6 is not yet fully supported ?16:04
vuppromach3: I mean it says spartan-6 is supported: http://xc3sprog.sourceforge.net/hardware.php16:05
tpbTitle: xc3sprog - Supported hardware (at xc3sprog.sourceforge.net)16:05
vupit seems to me that there are some connection / SI issues16:06
promach3vup: solved the connection issue, but still could not load the bitstream onto Spartan-616:14
* promach3 < https://matrix.org/_matrix/media/r0/download/matrix.org/YXskfkTjfREDVBJkMOQZsKXg/message.txt >16:14
vuphmm a dna of 0xfeffffffffffffff seems pretty sketchy, maybe still connection issues?16:20
promach3vup: after few more tries, `Device failed to configure, INSTRUCTION_CAPTURE is 0x11` disappears16:26
promach3but the bitstream still won't load16:26
promach3however, I still have `DNA is 0xfeffffffffffffff`16:26
* promach3 < https://matrix.org/_matrix/media/r0/download/matrix.org/DMhHhIErmkWuhIupNQeXpxUh/message.txt >16:27
vupwell are you sure the bitstream is correct? can you check the DONE pin?16:28
vupalso you can try the `-v` option to get more information16:29
vupbut it seems like it actually writes the bitstream16:29
* promach3 < https://matrix.org/_matrix/media/r0/download/matrix.org/PLkrDiuJZnafKHYIEbZcKoCh/message.txt >16:29
vupyeah that sounds like it is programming the bitstream. What does the DONE pin say? (Is it low or high?)16:31
promach3vup: see the updated code at https://github.com/promach/DDR/blob/main/test_ddr3_memory_controller.v#L75 and https://github.com/promach/DDR/blob/main/ddr3_memory_controller.ucf#L5216:35
* promach3 uploaded an image: (18KiB) < https://matrix.org/_matrix/media/r0/download/matrix.org/qDCjWrVDLRKmzwYEfzyyHHXD/image.png >16:35
promach3D3 is still not turned OFF after the bitstream is loaded16:35
* promach3 posted a file: (121KiB) < https://matrix.org/_matrix/media/r0/download/matrix.org/vJiEHjSjmdLnqEzZGRpkGKZC/QM_HW_Design_V02.pdf >16:39
promach3this pdf is the FPGA board schematics16:39
vupand D2?16:41
promach3vup: D2 is connected to `FPGA_DONE` signal16:42
promach3that `FPGA_DONE` pin is not user pin though16:42
promach3I could not allocate signal to use that pin though16:42
vupYes but is D2 on or off? Or rather does it change after programming?16:53
promach3vup: **D2 stays ON all the time** , be it before or after programming16:54
promach3let me state it again : I do not have control over `FPGA_DONE` pin , hence D216:55
promach3 * let me state it again : I do not have direct control over `FPGA_DONE` pin , hence D216:55
vupYes but FPGA_DONE is low when the fpga is not configured and high when it is17:03
promach3vup: it seems that the manufacturer had burned a startup bitstream into the SPI flash17:11
promach3but it seems that the newly loaded bitstream from xc3sprog did not overwrite the startup bitstream17:16
promach3at least from my visual observation of the LED blinking activities17:16
promach3let me check manufacturer documents again,  I could not overwrite the startup bitstream17:17
vuppromach3: yes, you are programming over jtag, the bitstream loaded from the SPI flash, if you want to overwrite that, you need to overwrite the SPI flash content17:18
promach3vup: why need to overwrite SPI flash content ?  I just want to load and run a bitstream17:21
promach3there is no need to mess with SSPI flash for now17:21
promach3 * there is no need to mess with SPI flash for now17:21
promach3 * vup: why need to overwrite SPI flash content ?  I just want to load and run a bitstream using JTAG17:21
vupsure, I thought you wanted to do that. Is there an example bitstream from the manufacturer? Try loading that with openocd or xc3sprog17:22
promach3I have a feeling that the startup bitstream from the SPI flash  takes higher priority that the JTAG17:23
vupit does not17:23
vupwell17:23
vupdepends on how you do it17:23
vupif program over JTAG and then power cycle of course the fpga load the bitstream from the SPI flash again17:23
promach3vup: What is the purpose of `PROG_B` ?17:24
vupbut if power up the board and then program the fpga over JTAG it will have the bitstream loaded you programmed over JTAG (until you powercycle)17:24
promach3to be exact, `PROGRAM_B_2`17:24
promach3because when I pull `PROGRAM_B_2` to ground, the D2 signal is low for few seconds17:25
vuppromach3: ug38017:25
promach3which means `PROGRAM_B_2` plays a role in bitstream loading17:25
vupits a Active-lLow asynchronous full-chip reset17:25
promach3ok17:26
promach3vup: now, I am still stucked at getting bitstream programmed through JTAG17:28
vupwell is there a bitstream provided by the manufacturer you could test xc3sprog with?17:29
promach3<vup "well is there a bitstream provid"> yes17:30
promach3let me try the manufacturer bitstream17:30
promach3vup: I have two manufacturer bitstream, but both did not do anything, it seems17:35
promach3I mean the JTAG-programmed bitstream do not perform the function17:36
promach3vup: let me get back on debugging on this tomorrow.  it is a bit late here17:37
*** futarisIRCcloud has joined #yosys18:02
*** FFY00_ has quit IRC19:37
*** FFY00_ has joined #yosys19:38
*** futarisIRCcloud has quit IRC20:11
*** vidbina has quit IRC20:40
*** vidbina has joined #yosys21:19
*** danvet has quit IRC22:13
*** vidbina has quit IRC22:39
*** X-Scale` has joined #yosys23:00
*** X-Scale has quit IRC23:02
*** X-Scale` is now known as X-Scale23:02
*** lf has quit IRC23:32
*** lf has joined #yosys23:33

Generated by irclog2html.py 2.17.2 by Marius Gedminas - find it at https://mg.pov.lt/irclog2html/!