I want to use FSMC of STM32F429 to read external FIFO implemented in an FPGA MAX10. Since no mode of FSMC can fit the FIFO interface precisely, I try to use the modified synchronous multiplexed PSRAM mode.

My plan is like this

A[25:16]: Ignored, don't connect to FIFO;

NEx, NOE, NADV: Implement a simple logic in FPGA that when NEx is valid and the NADV is data valid, connect the inverted NOE to the RD port of FIFO;

NWE: ignored, only read operation is needed;

D[15:0]: Connect to the output data port of FIFO;

There may be also some logic in FPGA to adjust the timing between NOE and D[15:0], but that is not a big problem.

My questions are:

  1. Is this plan feasible? Is there any problem with this plan?
  2. How can I extend the reading burst as long as possible? Since there are 2048x16bit in one frame, ideally, I want to read them all in one burst if possible.


I've implemented the design which read FPGA FIFO through the FSMC interface in sync PSRAM Non-multiplexed mode successfully. Currently, each burst can only transmit 2x16bit data but it's already fast enough for my project.

enter image description here



Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Browse other questions tagged or ask your own question.