This week I try to fix ‘init_b’ low and get the configuration of spartan 6 working.

‘init_b’ turn high

Finally manage to read a HIGH output from ‘init_b’ of FPGA. The solution was to have PIC32 enabled ‘pull_up’ on the input pin and some additional pic32 initialization set up. Next is to toggle ‘program_b’ to check whether ‘init_b’ will go low (following the data timing of ug380), and indeed it works.

SPI initialization

Based on the example of ‘spi_loopback’ from Harmony, I write a simple MASTER SPI to configure FPGA. The data to be send to FPGA will be from the FPGA’s .bit/.bin file converted to HEX format(previous post). Following the timing diagram, I just need to read on ‘DONE’ pin of FPGA to ensure the data transfer was a success.

HArdware confirmation

Finally I just check the IO output from the board to verify whether the board has been successfully configured. Indeed everything works like magic~