NOR Flash Board B (https://www.waveshare.com/norflash-board-b.htm)
Quartus prime 18.1
Device family Cyclone IV E
I am new to Quartus prime and Platform Designer. I have a basis project setup with platform designer. I have included a NIOS II core, some onchip memory and a jtag_uart. I have a basic demo of "hello world" from the NIOS working.
I'd now like to add some external memory to my system, a NOR flash IC (S29GL128P). I want to use platform designer to setup this device and connect it to the NIOS. I assume that I need to use some IP which has an Avalon interface to connect the flash IC to the NIOS memory mapped master. To be clear, I don't want to use the external flash to program configuration data into a flash memory device, instead I want to use it as general memory for Read/Write.
I was hoping there would be a generic parallel flash memory, mapped Avalon interface that I could hook up to? Or do I need to roll my own.
I figured this out, so here is a solution I hope will help someone else.
There is indeed a generic common flash interface (CFI) IP in platform designer. One just needs to know where to look for it.
Expand the Qsys Interconnect category, Tri-State Components sub-category and add Generic Tri-State Controller block. Double-click the Flash Memory Interface (CFI) preset. You then need to fill out the details related to your specific IC, check the datasheet.
There is a caveat here, the output of the Generic Tri-State Controller block is of Tristate Conduit type and it is not suited for direct connection to the flash memory chip pins. A Tri-State Conduit Bridge block (can be found right under the Generic Tri-State Controller block) is required to create the appropriate external connection.
Don't forget to setup your pins