General Facts

FPGA design, architecture, means and methods of work. The given special course is dedicated to the theoretical and practical foundations of FPGA design. FPGA stands for Field-Programmable Gate Array, which is a semi-conductive crystal, the connections between gates of which and the logic of work can be modeled and changed repeatedly during its work. Acquired skills: practical skills of FPGA Xilinx design of devices under ISE Foundation. VHDL and Verilog basics, Spartan-3e and Virtex-5 architecture. Working with i2c interfaces, PCI, Ethernet, controller of a serial port, LCD display controller unit, working with ADC/DAC.

The duration of each special course within the frames of this program is two semesters. Each semester has 12 obligatory classes of four (4) academic hours each once a week, which totals in 48 hours per semester. Autumn semester hours are distributed the following way: 8 hours of lectures, 16 hours of seminars, 20 hours of practical classes, and 4 hours of examination. Apart from that, there might be additional classes appointed on agreement. In spring semester students have 44 hours to work on their term papers on design and then 4 hours for defending them.

FPGA Design

You all know what a chip is. At the physical level each chip consists of transistors, resistors and condensers etched into a silicon crystal; at the level of logic it consists of elements and triggers. Each type of chips is designed and optimized for executing a particular function or a set of functions (calculations, digital signal transmission and processing, data storage, etc.) and their structure (logic) is prescribed at the time of its fabrication, and it cannot be changed when used. All chips are like that. Almost all of them…

There are digital devices the logic of which can be changed infinite number of times after its fabrication (naturally, in case of circuit diagram only nanotechnology can be of help.) Such chips are referred to as FPGA as in field programmable gate array. This is a very young and fast-growing electronics industry - the first FDGA was made by Xiling in 1985. FPGA consists of sets of logical blocks (from thousands to hundreds of thousands, depending on the size of a crystal). They consist of elements, which can be programmed for execution of any logical function of several arguments and a data cell. These logical blocks can be connected in various ways with the help of a programmable gate array. The logic of each block, as well as connections of blocks, are defined by a so-called firmware which you upload on the chip from your laptop, via network or any other convenient way (that is why it is called ‘field programmable’ as in programmable in the field). As a result, you completely define the logic of chip functioning, and you can then use it for the organization of various interfaces (PCI/PCI Express, USB, TCP/IP, RS232, etc.), for processing digital signals (signal-noise discrimination, compression, encoding, encryption, etc.) or for operating one’s own physical experimental apparatus (issuing clock signals for lasers, for logging systems, and for data processing). You can even upgrade the firmware on your FPGA microcontroller, and you will still have enough space for memory and peripheral circuits.

The main task of the course is to teach method and principles of work with such devices. Education process is conducted on the modern material basis, which includes Spartan 3e Starter Kit boards with installed Xilinx Spartan 3e FPGA as well as numerous peripheral devices (ADC/DAC, LCD display, and PS/2, VGA, RS232, TCP/IP ports). In the first semester students learn VHDL programming language for logic description of their future devices and work on elementary projects on controller kits. In the second semester students apply the acquired knowledge for the development of their original projects, which, for instance, can be connected with the data transmission through PCI/PCI Express interfaces or with digital signal processing using MATLAB Simulink. And that is not all…

Syllabus

References: