When we program an FPGA, we are actually creating connections between these different components to create a complex system.Īll of this means that we are fundamentally designing hardware when we create an FPGA based design.Īs a result of this, we can design a number of circuits which run in parallel to each other. This includes basic components such as multiplexors and logic gates as well as more complex components like DSP cores. We can think of an FPGA as if it were a massive collection of unconnected digital components. There are detailed VHDL tutorials, Verilog tutorials and SystemVerilog tutorials available elsewhere on this site which can be used to learn these languages.Īlternatively, you may wish to take one of these VHDL or verilog courses which also include hands-on, practical examples.
#Fpga simulation estimate gates how to
Instead, the information here is intended to provide important background knowledge which will help when learning how to program an FPGA. We don't specifically discuss the details of any of the languages used to program an FPGA in this post. In the following posts in this series we talk about the FPGA design process, verification and the build process (i.e synthesis and place and route) in more detail.
This includes an introduction to the design, verification and implementation ( synthesis and place and route) processes.
In this post we give a broad overview of the FPGA development Process.