2. VHDL#

VHDL

VHDL is a language for describing digital electronic systems [Ash10]. It is short for VHISC Hardware Description Language, VHISC: Very High Speed Integrated Circuits.

2.1. Motivation#

For the embedded systems project it is required to send sensor data to the PC. Your team members have suggested that this can be achieved by using a standard serial protocol such as the UART. You therefore need to implement a UART module in your embedded systems. Since this is a frequently used protocol, a number of UART IPs implemented in VHDL or Verilog already exists.

IP

IP is short for Intellectual Property. For an FPGA an IP refers to a block of logic that is already available and can easily be reused. May also be referred to as IP core.

More in IPs on the Wikipedia page on IP cores.

OpenCores.org is a website where you can find a lot of open source hardware IPs. However, keep in mind that like for open source software, the quality of open source IP cores can also vary.

However, since high quality IP cores are often commercial and available only at a cost. It is therefore vaulable to know how to write your own VHDL module, which then can be packaged as an IP and easily reused in a microcontroller system.

Through the the embedded systems project seen in figure Fig. 2.1 you will learn how to include and use an already available IP core, and how to write your own:

  • For the sensor to FPGA interface you will use an SPI IP core available from the IP core library in Quartus.

  • While the UART to PC interface will be used as an opportunity to learn VHDL.

../_images/project_embedded_system1.png

Fig. 2.1 You will write the VHDL description for the UART module in the microcontroller system.#

However, you first need to learn the basics of writing VHDL, as well as how to simulate your design to verify its correct behaviour. This chapter will guide you through this process.