Forum Discussion

JShel4's avatar
JShel4
Icon for New Contributor rankNew Contributor
6 years ago

Arria10: Updating EPCQL1024 via PCIe

Hi,

Does anyone have experience with updating the EPCQL1024 flash via PCIe? (i.e. Host <=> PCIe <=> FPGA <=> EPCQL1024)

I am looking for help on what are the steps/process that the PCIe driver needs to follow to successfully modify the Flash.

Here is how my FPGA/Hardware looks like:

PCIe Gen2x4 AVMM <=> AVMM Clock Crossing Module <=> ASMI IP <=> EPCQL1024

The clock crossing bridge manages the Transition from 125MHz (i.e. PCIe) domain to the 25MHz (i.e. ASMI) domain. I have configured the FIFO as depth of 16.

Current Observations:

From the Host (i.e. processor) I am able to read the registers and memory successfully.

When attempting to write the new file, it does not work -- i.e. either the update fails or the PCIe hangs.

Any tips/help/insights will be super helpful. Thank You in advance!

4 Replies

  • BoonT_Intel's avatar
    BoonT_Intel
    Icon for Frequent Contributor rankFrequent Contributor

    Hi Sir,

    There are few component in your design like PCIe, asmi and flash controller. I think first we should narrow down the issue to see where the problem come from.

    For PCIe, you can try the lspci command from the host to see is the PCIe is detected. Or from the FPGA, you can signaltap the signals like below and understand the problem.

    ltssm, currentspeed, serdes_pll_locked, pin_perst, npor, dlup, lane_act

  • JShel4's avatar
    JShel4
    Icon for New Contributor rankNew Contributor

    Hello, Thank You for the response. Let me clarify further:

    1. PCIe is working 100%
    2. I am able to read successfully from the EEPROM .... (i.e. EERPOM --> FPGA --> Host CPU)
    3. I am not able to write successfully

    If you have a set of steps/instructions that I can follow, please let me know. Thanks!

  • JohnT_Altera's avatar
    JohnT_Altera
    Icon for Regular Contributor rankRegular Contributor

    Hi,

    May I know how do you connect your PCIe to the ASMI IP? Have you tried using Serial Flash Controller IP? Could you provide the detail step on how you performed the write operation?

  • Hi @JShel4​ ,

    Had you overcomed your problem of "PCIe Gen2x4 AVMM <=> AVMM Clock Crossing Module <=> ASMI IP <=> EPCQL1024 " writing operation ? I have a project which needs a similar function, and I'm also wanto leatn HOW TO Implement it.

    Any advices are appreciated .

    Thanks & Best Regards