Nios® V/II Embedded Design Suite (EDS)
Support for Embedded Development Tools, Processors (SoCs and Nios® V/II processor), Embedded Development Suites (EDSs), Boot and Configuration, Operating Systems, C and C++

flash programmer with EPC16

Altera_Forum
Honored Contributor II
944 Views

Has anybody managed to interface the EPC16 with NIOS therefore bypassing the flash programmer? If so, could you share with me how you did it? 

 

Thank you, 

 

Nick
0 Kudos
1 Reply
Altera_Forum
Honored Contributor II
231 Views

Nick: 

 

Yes. We are downloading the FPGA configuration to the EPC16 and can then power-cycle and have the FPGA re-configured. 

 

I assume you already have all the correct pins connected between the FPGA and EPC16. 

 

For the hardware, we added a tri-state bus and connected it to a flash component (from the Memory components) which is 16 bits wide and 20 bits address width. I set the timing to Setup: 40, wait: 160, and Hold: 40. The tri-state bridge is then connected to the processors data port. 

 

Then the processor must use the correct combination of reading the status register from the flash device, writing commands, and reading in order to get data in and out of the flash device. In order to do this, check out the datasheet for the Sharp LHF16J06. But, be aware that your EPC device may contain the Intel equivelent, which is slightly different. See Altera's web-page for more information on that. 

 

This post helped me out: 

http://forum.niosforum.com/forum/index.php?act=st&f=2&t=2538 (http://forum.niosforum.com/forum/index.php?act=st&f=2&t=2538

 

When I started, I made a simple configuration that included a JTAG byte-blaster so I could confirm I was reading and writing the flash like I thought I was by using the debugger. Then, I moved to a version w/o the byte-blaster and had software take care of that. As for what to write to the flash, we first used the .pof file, but then found that Altera changes the format depending on which Quartus II you are using. So, we used the .hexout instead which is better defined. I didn't do the conversion of the .hexout, but the software guy who did said it was fairly straight forward. I don't know where you will be reading the file from, but I suggest you incorporate some sort of CRC that you check after writing to the flash, because, if you get it wrong, your FPGA won't configure at all. 

 

Let me know if you have any questions.
0 Kudos
Reply