FPGA software development & Linux kernel drivers for 4K frame grabber
Challenge
A European company, specializing in the area of safety-critical systems for railway, transportation, and industrial applications turned to us for the development of FPGA software. The project consisted of two parts: framebuffer IP core development and PCI-e core development.
Solution
1. Framebuffer IP core development
We developed a versatile framebuffer FPGA IP core and an appropriate Linux kernel framebuffer driver. Framebuffer IP core was validated on a custom Kintex-7 PCI-e board and reference Xilinx KC705 board.
The IP core supports:
- The ability to connect two monitors via two independent frame buffers;
- DVI, HDMI connection interfaces;
- PCIe Gen2 8x connection method to PCs;
- 16-bit high-color, 24-bit true-color;
- Resolutions:
- 1920х1080
- 1600х1200
- 1920х1200
- 3840х2160
2. PCI-e core development
Our engineers developed and integrated PCI-e IP core into the customer’s FPGA project. They validated it on Xilinx Artix 7, Xilinx UltraScale+, Intel Arria 10, Intel Cyclone 5 platforms.
PCI-e IP core features:
- up to six BARs;
- 4MB allocated size for each BAR;
- 32-bit access to BARs;
- up to 10 DMA channels with 1Gbit/sec throughput each;
- legacy IRQ support;
- configurable number for BARs and DMA channels.
Business value
The customer received the updated PCI-e graphics cards product line, which now supports modern monitors & indicating devices. Promwad FPGA team has successfully integrated PCI-e IP core into the customer's FPGA project. The developed IP core became a building block for PCI-e endpoint FPGA implementations and allowed further modifications to customer's requirements.