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

pci express enumeration problem

Altera_Forum
Honored Contributor II
1,441 Views

Hi, 

 

We are using a 12 port PCI Express switch to connect 8 PCI Express cards. We are using Windows 7. The problem is when we connect the fifth card, windows keeps on loading but never starts. The fifth card has no problem as any of the four always results in proper windows start. We have already verified that all switch port are in working order 

 

What can be the problem?? 

 

I was thinking that may be there is some enumeration issue while adding the fifth card. I want to know whether BAR space is allocated from physical memory space or system have separate address space for PCI Express? 

 

 

Thanks 

Ali Umair
0 Kudos
1 Reply
Altera_Forum
Honored Contributor II
574 Views

The BAR themselves (config space) are accessed through special registers. 

The memory resources required by the cards end up being allocated from physical memory space. 

There are several resources needed for PCI and PCIe cards: 

1) IO space 

2) pre-fetchable memory 

3) non pre-fetchable memory 

4) bus numbers (for cards than contain bridges) 

A bridge will (usually) only forward a dense range of each to each subsiduary bus. 

A reasonable amount of the 64k IO space is available for PCI/PCIe. 

Most systems reserve 1GB of physical address space for PCI/PCIe memory. 

Somewhere in the windows device mangler you can find what is assigned where. 

Finding out about bus numbers is hard! 

 

I'd look at the state with 4 cards, and see how much of what each has got assigned. 

Also (if you can) try some cards that have limited resource requirements to see if the whole thing can work at all.
0 Kudos
Reply