Field Programmable Gate Arrays (FPGAs) provide both the ability to effectively design your own processor to perform a specific task yet, at the same time, allows for later reprogramming the processor in the field. This course, FPGA Development in VHDL: Beyond the Basics, is a follow-up course to the Getting Started with FPGA Development using VHDL course. It covers several specific topics related to FPGA development. First, you'll learn about developing for the FPGA, and working with custom data types. Next, you'll explore working with attributes as well as subprograms and packages. Finally, you'll learn about the construction of stat machines and how to test your design. By the end this course, you'll improve your understanding of how to write programs for an FPGA and be proficient in testing your designs.