Skip to main content.

Program


Reconfigurable systems based on Field-Programmable Gate Arrays (FPGA) operate at a lower clock frequency than non-configurable application-specific integrated circuits; therefore, broad parallelism is evidently required to compete with potential alternatives. Several techniques will be presented that enable parallel circuits and systems to be designed and implemented in FPGAs. In particular, network-based solutions will be discussed on the example of sorting networks. Area/performance tradeoffs of different design approaches will be analyzed.
The respective design process for Xilinx 7-series devices will be explained on the example of Vivado design suite. Different design aspects will be discussed such as specification in VHDL, using IP generator, reading test data from files, development of test benches and simulation, design constraints, synthesis and implementation, analysis of the reports, and hardware programming. Besides of the traditional design entry methods, a possibility of generating hardware modules from software specifications through high-level synthesis (HLS) will be illustrated. A typical HLS design flow will be presented alongside with high-level synthesis coding styles, creating test benches, code debugging, simulation at both high and register-transfer levels, algorithmic and interface synthesis, and design optimization with controlled execution of loops and memory configurations. The example of data sort will be used to show how the results of HLS can be integrated in Vivado projects.

Lectures

Lecture 1
[Slides]

Lecture 2
[Slides]

Labs

Lab 1
[Tasks] [Nexys-4 reference manual] [Nexys-4 master constraints file] [VHDL files required for projects]

Lab 2
[Tasks]

References