Last night I've done NAND ctrl util.
In Quartus 18.0 i generated empty project with simple top level:
After synthesis I made an RPD file (raw data program)
(btw, u can do that using console as well)
#!/bin/bash
Q=/opt/intelFPGA/18.0/quartus/bin/quartus_cpf
IN=test
OUT=bit
${Q} -d EPCS16 -c ${IN}.sof ${OUT}.pof
${Q} -d EPCS16 -s EP4CE22 -c ${OUT}.pof -c ${OUT}.rpd
...and flashed it into the boot NAND.
But after the synthesis and NAND flashing nothing happened... I saw only a square wave on the nSTATUS pin. Altera in manuals mention that FPGA can restart configuration sequence if an error occurs.
I checked all the connection, pcb and schematics and after that decided to recover an original EPCS16 on my W25Q64 SPI NAND flash.
![](https://cdn.hackaday.io/images/435241564760244232.jpg)
After programming the situation repeated.
Then I connected USB-blaster and wrote firmware in boot NAND from Quartus.
![](https://cdn.hackaday.io/images/4650971564760364926.jpg)
And FPGA booting went fine (test signal was ok and nCONFIG_DONE was pulled up)! I'm reading NAND and... all the bytes turn out to be mirrored! FAIL)
I added byte mirroring in the code and now everithing works well
Discussions
Become a Hackaday.io Member
Create an account to leave a comment. Already have an account? Log In.