FPGA based PCI Express board for driver development

OData support
Raikovich Tamás
Department of Measurement and Information Systems

Nowadays for the purpose of driver-development teaching and practicing, it is hard to find a simple, dedicated, low-cost hardver on the market. In addition, digital circuits can be implemented flexibly on FPGA-s, which would be suitable and the software development could be carried out easier. The purpose of the thesis was a simple and low-cost hardver development, in order to create software drivers easily for the devices placed on the card. The task involved the planning and creation of the printed circuit board, the implementation of the FPGA circuit, moreover, the development of some simple drivers and an application software. Considering that today, most of the hardwers plugged in a personal computer are based on PCI Express card-edge, it seemed appropriate to develop the card based on this interface. But beacuse of the higher complexity of the PCI Express, a more simple, e.g. PCI bus is adequate, to suit our needs. On the board, few simple (LED-s, buttons, switches) and some more complex (audio codec, Ethernet PHY) peripherals has been placed, besides the FPGA circuit. Moreover, for the purpose of PCI Express – PCI conversion, a bridge IC have been placed on the card.

The task was implemented in several stages. First of all, it was important to consider the power consumption of the several peripherals for the planning of the PCB, so they had to be measured and calculated. After it, the creation of the schematics could be done. The next step was the creation of the PCB layout. After testing the hardware (and convinced by the fact that it’s basic functions works properly), the implementation of the FPGA circuit could be carried out, which basicly meant the creation of a PCI slave and later, a master interface. Last, but not least, some basic driver programs were created, which included the testing of some basic peripherals (LED-s, buttons, switches), the functionality of the interrupt handling and the testing of the DMA operations involving the audio codec. In addition, an application software was created, by which based on Windows operating system, we can control the card and try out it’s basic services.


Please sign in to download the files of this thesis.