Fundamentals of FPGA
The use of FPGAs (Field Programmable Gate Arrays) and c
onfigurable processors is aninteresting new phenomenon in embedded development. The last few years have seen a dramaticincrease in the use of FPGAs as an early prototyping environment for a traditional ASIC(Application Specific Integrated Circuit). The flexibility of an FPGA benefits the designlifecycle, bringing savings in time and effort in the prototyping stage and in the integration of software and hardware in the design phase. In some cases, the development team is choosing toreplace the ASIC altogether in the final design with the FPGA making it into a shipping product.These decisions are causing a shift in the embedded software landscape, which is being driven bythe new choices in processors.The use of FPGAs is growing in embedded designs and the embedded systems software marketmust continue to change to support this shift. With the added flexibility of the FPGA-baseddesign, the embedded software solution, specifically the RTOS (Real Time Operating System),middleware, and drivers should complement the benefits of the FPGA.The RTOS should be well designed and easy-to-use, with the necessary and sufficient offering of middleware stacks and drivers. In addition to this prerequisite, the RTOS should also maintainthe characteristics related to embedded designs, namely small code size, low interrupt latency,and full services needed for your application. The use of an FPGA is a growing trend. Because of the flexibility of the FPGA, it is applicable in a wide range of markets.