If creating hardware with text seems like magic, don’t worry. However, the fundamental implementation is drastically different as you are creating hardware. In this regard it can feel like programming since you are just typing text. Instead, you can describe the behavior of the circuit you want and the tools will use this to create a circuit that matches that behavior. The size and complexity of the circuits FPGAs can contain would become very cumbersome should you actually draw out a schematic. Xilinx Artix 7 FPGA highlighted on the Alchitry Au BoardĮven though we talk about using FPGAs to create digital circuits, you don’t typically draw schematics to create designs for them. Lattice iCE40 HX FPGA highlighted on the Alchitry Cu Board
![fpga simulation estimate gates fpga simulation estimate gates](https://image.slidesharecdn.com/csit2124-180130062542/95/hardware-software-cosimulation-of-motion-estimation-in-h264-encoder-2-638.jpg)
The configuration is RAM based which means it can essentially be reconfigured an unlimited number of times. An FPGA can then be reconfigured to behave like another circuit, and another, and another. You simply load a configuration into the FPGA and it starts behaving like the circuit you wanted. The magic here is that nothing physically changes.
![fpga simulation estimate gates fpga simulation estimate gates](https://images.sw.cdn.siemens.com/siemens-disw-assets/public/25zxHGUmKws9MpfTCZR8L4/en-US/equivalence-checking-fpga-feature-640x360.jpg)
Essentially, an FPGA doesn’t do anything itself but it can be configured to be just about any digital circuit you want. What is an FPGA? Well, FPGA stands for Field Programmable Gate Array, which isn’t helpful in understanding what they are or do but we had to get that out of the way.įPGAs belong to a class of devices known as programmable logic, or sometimes referred to as programmable hardware.