Marko Čelan (2009) Implementation of a PCI interface in FPGA. EngD thesis.
This thesis introduces the basics of the PCI standard and shows us different aspects of development, and how the PCI interface works. First, it introduces the PCI interface as the hardware device developer sees it - as different logical circuits interconnected, and second through the eyes of the driver developer - as an address space and a set of registers. It explains the main signals that are important for understanding this standard. It shows the configuration procedure of the PCI interface and the meaning of different registers that are involved in the process. Where important, it explains the meaning of certain bits in the registers. In greater detail, it elaborates the operation of the basic data and configuration transactions, and how they are used within specific clock cycles. It shows us how the device behaves, given some specific values of configuration registers. It sets up a starting point to developing a hardware interface. In shorter detail this thesis shows how operating systems work in general, and explains how GNU/Linux operates. It explains which are the roles of the kernel, which are the roles of the driver, and how drivers are classified in GNU/Linux operating system. It shows an example of how to develop a simple driver. Finally, it shows how the driver and PCI interface, built for this thesis, operate.
Actions (login required)