Programmable Devices
CPLDs, FPGAs, SoC FPGAs, Configuration, and Transceivers
19653 Discussions

PCIe configuration registers changed after resuming from Windows sleep

Honored Contributor II

We are developing a PCIe card, some details are listing bellow: 

Stratix V FPGA 

FPGA Configuration AS x4 mode 

PCIe Gen 3.0 8x lanes 

PCIe Avalon-MM DMA IP core 

Quartus 14.0 

Windows 7/10 64 bit 

It works fine after normal Windows booting, but it doesn't work after Windows resuming from sleep. 

It looks like the PCIe configuration registers changed after resuming. 

The registers before sleep: 

->see attachment 1, no marks 

The registers after resuming, the marked registers are changed: 

->see attachment 2, marked 

What has happened? Is it a bug of IP core or Windows? 

I tried to save the register values into a file before sleeping, and restored the register values after resuming, then it can work. 

I don't like the way of save/restore values because it seems as a abnormal method, and then I have to program for checking the Windows status of normal booting or resuming. 

Any other way to solve the problem? 



0 Kudos
0 Replies