Close

FPGA works well

A project log for Redphone

The Redphone project is an open source mobile phone

Vasilii ChumakovVasilii Chumakov 08/02/2019 at 15:420 Comments

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.

After programming the situation repeated.
Then I connected USB-blaster and wrote firmware in boot NAND from Quartus.

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

And by the end, console screenshot:
Now i want to fix colors of LCD and start the implementation of the booting linux!

Discussions