Sign In

Don't have a Xilinx account yet?

  • Choose to receive important news and product information
  • Gain access to special content
  • Personalize your web experience on Xilinx.com

Create Account

Username

Password

Forgot your password?
XClose Panel
Xilinx Home
Reply
Visitor
shalkhauser
Posts: 13
Registered: ‎09-22-2010
0

Problem with PCIe Endpoint Block Plus on Windows Server 2008

Hi,

 

I have successfully  implemented the Xilinx Endpoint Block Plus v14.1 for PCI Express in my Virtex-5 FPGA board and have demonstrated that I can write to and read from the board over the PCI Express bus on my Windows 7 Development machine.

 

The problem is that I need the design to work on a Dell R510 server running Windows 2008 R2 Standard Edition.  When I install the FPGA board in the server and program it with the PCIe Design bit file the Windows operating system does not detect the FPGA board as a PCIe device.  I can restart the computer without erasing the bit file in the FPGA and the operating system still does not recognize the board as a PCIe Device.

 

In both the Server and the Development machine the slot I am using is a x8 gen2 slot wired as a x4.  The PCIe implementation in the FPGA is a x4 gen1.

 

I have tried a plug-and-play PCIe device in the same slot and it was detected with no problem.

 

Does anyone have some insight on solving the problem.  Do I need to do something different to make the board work in a Windows Server machine?

 

Thanks for your help!

Expert Contributor
evgenis1
Posts: 338
Registered: ‎12-03-2007
0

Re: Problem with PCIe Endpoint Block Plus on Windows Server 2008

Hi,

 

I've used PCIe V5 core in a commercial product and tested it on quite a few systems. From what I've seen, PCIe detection behaviour depends on a motherboard or BIOS settings, not on the OS. You can try to boot Linux (from USB or CD) on your Windows 2008 R2 server to verify that theory.

 


Thanks,

Evgeni

Visitor
shalkhauser
Posts: 13
Registered: ‎09-22-2010
0

Re: Problem with PCIe Endpoint Block Plus on Windows Server 2008

Thanks for your reply.  I am very much a novice at this, so I could use some additional information.  If I boot to a Linux O/S I should be able to see the FPGA board as a PCIe device and if I do, I probably have a problem with my motherboard or BIOS?  If that is the case then what can I do?  Do I need to work with the computer manufacturer?

 

Thanks for your help!

Expert Contributor
evgenis1
Posts: 338
Registered: ‎12-03-2007
0

Re: Problem with PCIe Endpoint Block Plus on Windows Server 2008

Hi,

 

If you boot Linux and see the device, than the problem is with the Windows OS. If you don't see the device, then it's something to do with BIOS, motherboard, or some configuration in your PCIe core that the system doesn't "like". 

 

Then you can explore the BIOS, and try different PCIe-related settings; I've seen that it helps in some cases. Another option is to buy or rent PCIe protocol analyzer and capture the traffic. It'll provide some clues.

 

 

Thanks,

Evgeni

Visitor
shalkhauser
Posts: 13
Registered: ‎09-22-2010
0

Re: Problem with PCIe Endpoint Block Plus on Windows Server 2008

Thanks for your input.  I will give it a try.

Contributor
er6y
Posts: 65
Registered: ‎08-28-2008
0

Re: Problem with PCIe Endpoint Block Plus on Windows Server 2008

 

hi shalkhauser

 

i'll understand you've running V5 PCIE core on DELL R510 and boot successfully

..i am using endpoint_block_plus_V1_15

and cannot boot on DELL R510(other PCs is on), the server gets fatal error with a NMI. whatever changing any configuration on the core settings.

i think you may help me a lots by providing your  core settings,,,can you past that or send me mails, er6y@163.com

 

thanks advance!!

 

yilei

 

Xilinx Employee
jayer
Posts: 176
Registered: ‎08-07-2007
0

Re: Problem with PCIe Endpoint Block Plus on Windows Server 2008

Hi,

 

I would also recommend trying the example design that comes with the core to rule out any un-expected accesses from the system that may be occurring when Windows boots that you are not accounting for in your design. The example design will handle all incoming request and should return an appropraiate completion. This might help you narrow down where the problem could be.

 

-John