i need any documentation code that explain to me how to read write to Express Port using c#
-
You have to read the documentation for your device to find the exact syntax. PCI express is a 32 bit BUS that usually connects by USB (connection method depends on the driver you are using) to the actual hardware. You have to provide more information to get a better answer. – jdweng Jul 15 '19 at 09:08
-
i have the documentation of my device , i need to read wirte on FPGA during PCI Express Port using c# – Khalid Osama Jul 15 '19 at 09:17
-
So it looks like you have a XILINX bit file that you want to load device after starting. Are you using National Instrument PIC chassis or something else? You should have a dll with a method that will automatically writes to FPGA. Can you find the documentation for the method in the dll. – jdweng Jul 15 '19 at 09:34
-
yes its XILINX , but i dont know how can i start !, its my first time i work with PCI Express. – Khalid Osama Jul 15 '19 at 11:17
-
I've been working with XILINX for over 30 years. Wrote code myself to load bit file as well as helping others debug their code. Also been working with PCI chassis (including ones that use XILINX). If I can't help nobody can. Need to know more about the hardware configuration. You can be running the PCI chassis remotely or from a controller in the chassis. The system I'm working with now is NI.COM (with lab view) and we have a XILINX on a RIO card and a controller in the PIC chassis. As part of the init of the RIO we load the XILINX using a dll that comes with the RIO. – jdweng Jul 15 '19 at 11:41
-
Are you trying to load XILINX serially using XILINX programming cable (boundary scan) or are you trying to load XILINX parallel in your own software (or vendor dll)? PCI Express is just the backplane connector of you chassis and does not specify the type of controller, operating system, nor interfaces. There are a million combinations so I need more info. – jdweng Jul 15 '19 at 11:47
-
Did you create the programming data for the XILINX? How is the FPGA startup block configured? Is it setup to load serially through boundary scan or in parallel? – jdweng Jul 15 '19 at 11:57
-
it's my honor to know you eng. jdweng , ok i will write all informations that you asked for,just need little time and i will be sure about all my answers, thank you. – Khalid Osama Jul 15 '19 at 12:08
-
If you are trying to program serially using a XILINX cable the answer is simple. Go to Emulation Technology and buy a cable. Then all you have to do is apply voltage to the XILINX and use the software that comes with the cable (or download from xilinx). This is the easiest method and will get you started. Later if you need to load in from software that can be done as a separate effort. – jdweng Jul 15 '19 at 12:29
-
this is what im using now for my project PCIe UltraScale+ VU13P FPGA Board https://www.bittware.com/wp-content/uploads/datasheets/ds-cvp13.pdf i don't understand what do u mean by program parallel or series?! what i want in this project that i need to build a program to send some data and receive data from this FPGA using PCIe port. i have windows 10 , First problem encountered is i dont have dll files drivers for windows 10. – Khalid Osama Jul 15 '19 at 16:30
-
There are a few different interfaces and steps involved to get device fully operational. The vertex board has a host interface which your c# code can interface. I assume the controller on the PCI backplace is a windows controller. So you need the virtex driver installed on the controller so your software can talk to Virtex Host interface. Through this interface you can program the XILINX. Again the Virtex software has methods (parallel load) to program once you get host interface working. You can also program XILINX through XILINX connector on Virtex board (serial load). – jdweng Jul 15 '19 at 17:32
-
I found the drivers at bittware : https://www.bittware.com/fpga/toolkit/ and documentation : http://www.bittware.com/wp-content/uploads/datasheets/ds-bittworksII.pdf – jdweng Jul 15 '19 at 21:07
1 Answers
The board is very new so the documentation isn't very good. I went back to an older Bittware Virtex board to see if there was more documentation since the programming interface is the same on all Xilinx. Found following : https://www.bittware.com/fpga/xup-vvh/. The bottom right corner of the board picture is the standard XILINX programming connector. So you can initially program by buying the standard Xlinix program cable online from Xilinx or Emulation Technology (Also DigitKey). You can also configure the Xilinx startup block to load bit file parallel through the PCI backplane (usually done through controller software).
I need complete vendor users manual to give a better answer. It looks like there is additional interfaces build on the Virtex board (not part of Xilinx) interface from a host and program from a host. I've been using a very old version of Virtex (more than 10 years old) that we are in the process of updating to a new part.
There are lots of ways to use XILINX. Each answer you give me (knowing and not knowing) gives me a better clue how to answer your questions. There are lots of companies that make XILINX products. Some are strictly hardware companies that provide boards and refer you to use standard software drivers available at the xilinx.com websites. Some companies are strictly software houses and tell you to purchase Xilinx boards that they support from other companies. And some are both hardware and software houses.
it is tricky where you need to get your support. Either from Bittware or Xilinx. I suspect Bittware will send you to Xilinx to get your drivers
I think you need to create a xilinx account at following : https://www.xilinx.com/support/download/index.html/content/xilinx/en/downloadNav/design-tools/v2012_4---14_7.html.
You need a windows driver to allow you to communicate with the host interfaced on the VU13P. This will eliminate the need for the serial interface and allow you to program Virtex through methods in Xilinx software. So you will need to install the driver and there should be a dll that is also part of the package which will allow you to sent FPGA configuration to device. I suspect from c# you will need to use DllImport, but the software may contain a higher level interface. Let me know if you have additional questions. This all should be part of the Bittware documentation, but if they are just a hardware house they may expect you to know all of this.

- 33,250
- 2
- 15
- 20