#fpga #xilinx #vivado #amd #embeddedsystems #controlengineering #controltheory #verilog #hardware #hardwareprogramming #automation #digitallogic #digitallogicdesign #hardwaredescriptivelanguage #hdl #signalprocessing #dsp #digitalsignalprocessing #aleksandarhaber It takes a significant amount of time and energy to create these free video tutorials. You can support my efforts in this way: - Buy me a Coffee: https://www.buymeacoffee.com/AleksandarHaber - PayPal: https://www.paypal.me/AleksandarHaber - Patreon: https://www.patreon.com/user?u=32080176&fan_landing=true - You Can also press the Thanks YouTube Dollar button In this FPGA tutorial, digital signal processing, and filtering tutorial, we explain how to implement a finite impulse response (FIR) filter in Verilog and FPGAs from scratch. We use the Vivado development environment to implement the FIR filter. We will create a Verilog testbench that will simulate the response of the FIR filter in Vivado and we will analyze the timing diagrams. - Important remarks: The FIR implementation presented in this tutorial is not the most optimal one and the most robust one. Also, the filter implementation presented in this tutorial can be improved. However, the material presented in this tutorial is a good starting point for developing more robust implementations. We will explain the basic principles of implementing the FIR filter and how to analyze the filter behavior. -As you will see, there are a number of issues that need to be addressed when implementing FIR algorithms in FPGAs. For example, a person can easily make an error by not carefully analyzing the effects of the finite word length for representing decimal numbers. - Also, the FIR filter works as expected in simulation. However, when we try to synthetize and implement the filter in real hardware, we might experience timing issues and some parts of the design have the be rewritten. These and other issues will be addressed in the future tutorials.