Let's take a closer look at FPGA architecture to see how these devices are put together and why. In the first module we introduced programmable logic devices in the FPGA. In module two, we used Quartus Prime to work through a sample FPGA design. In this module, we will extend our knowledge of FPGA capabilities so that we can choose the right one when working on a design. Designing digital devices is a creative process, much like cooking up a new recipe or painting a new picture. To be proficient, we need to know what ingredients are available to make our new creation. Xilinx, Altera, Microsemi and Lattice all make great programmable logic devices, but none of them will work for every application. Each vendor has their specialities. Have you ever wondered why use this one instead of that one? If so you're in luck, because we are going to answer this question. In this module we'll look at a set of criteria to evaluate these devices. To help us decide which one is best for a particular application. What are the essential capabilities that we need to get from an FPGA? First, it needs to provide ample amounts of logic. The more the better, as the value tends to rise faster than cause as FPGAs get large. Smaller FPGA process geometries usually translate in the higher logic density. The amount of logic is measured in a number of ways, system gates, logic elements, slices, macrocells, LABs, ALMs, etc. The course if the part cost too much for a design budget, then the benefits from the logic device won't be accrued. So cost and particularly cost per gate is important. Another essential FPGA characteristic is processing speed, often measured by the maximum clock frequency or fmax. Speed is also important in the IO, as well as the fabric. In direct opposition to speed is the requirement for low power consumption. FPGAs consume considerable power, both when operating at high frequencies but also the path does nothing it draws static power. Depending on architecture and the configuration memory type, power consumption can vary from microwatts to hundreds of watts. Reprogrammability is also dependent on the configuration memory type. SRAM and Flash are reprogrammable antifuses node. Reprogrammability makes development much easier, as new designs can be programmed into the same part over and over again. In addition to internal capabilities, external interfaces to the FPGA are also important. Modern FPGAs can be tied to a large variety of I/O types. One measure of value is the cost per I/O and the I/O density relative to the logic on a part. Another way to increase the value of an FPGA is by inclusion of Hard IP cores, like those for Memory, DSP Blocks, Transceivers, and even hard processors. Some devices, particularly CPLDs and smaller FPGAs, are structured so that the timing is deterministic. It remains consistent for a function, even as the part is rerouted based on a new design. In some applications, like safety critical designs, reliability is a major concern measured by the fit rate or mean time between failure. Endurance of the Configuration Memory can be an issue for long lifetime products, and is an important parameter in FLASH based FPGAs. Increasingly important is the ability to protect design information held in the FPGA bit pattern, and also the data that travels through the FPGA. In summary, here is the Programmable Logic Device Selection Criteria we'll use as we survey available FPGA devices and technology from all the major vendors. There are eleven criteria, Reprogrammability, or Configuration Memory Type. Size or Logic Density, the amount o logic in system gates, or LEs, or Slices, or ALMs. Cost per logic gate, Speed or Maximum clock frequency. Power Consumption, both Static and Dynamic. Cost per I/O relative to I/O density. Hard IP available on the chip, like Memory, DSP Blocks, Transceivers, etc. Deterministic timing, where timing is Consistent in every implementation. Reliability measured by the FIT rate. Endurance, the number of programming cycles and years of retention, and Design and Data Security.