• No results found

2.2 SRAM Based FPGAs

2.2.1 Introducing Programmable Logic Devices

FPGAs are Programmable Logic Devices (PLDs) utilized in electronic designs to implement reconfigurable digital circuits. Unlike monolithic integrated circuits that integrate fixed designs, PLDs are manufactured with an unsettled function.

This feature makes possible developing customized hardware designs that couple closely with requirements of the application.

Before the rise of PLD technologies, the only available programmable devices where memories, such as ROMs (Read Only Memories), PROMs (Programmable ROMs), EPROMs (Erasable PROMs) and EEPROMs (Electrically Erasable PROMs). Despite they were a valuable alternative to store data, they presented several drawbacks, such as a slow operation (compared with dedicated logic cir-cuits), unreliable asynchronous function, high power consumption and high costs.

Besides, due to the lack of input/output registers they were not a stand-alone alternative to implement sequential logic designs.

Due to the described limitations, there was a significant need for new approaches.

This is the reason why the XC157 Multi-Gate Array (released by Motorola in 1968) depicted in Figure 2.5 (obtained from its data sheet) was a milestone in the history of programmable logic devices. This first programmable logic de-vice was a simple gate array with 30 input/output pins and 12 gates. In the following years several devices arose, such as the TMS2000 from Texas Instru-ments Inc., the first erasable PLD developed by General Electric, the DM7575 (a mask-programmable logic array) from National Semiconductor or the MMI 5760 (programmable associative logic array) by General Electric.

Since these first release the programmable logic technology has experimented a huge evolution offering a wide range of devices. Despite the complexity and the

Figure 2.5: Picture of a silicon array of the XC157.

variety of available technologies, programmable logic devices can be divided in three major families: Simple Programmable Logic Devices (SPLDs), Complex Programmable Logic Devices (CPLDs) and Field Programmable Gate Arrays (FPGAs).

SPLDs are the simplest, smallest and cheapest type of PLD. SPLDs are mainly comprised of a small number of interconnected macrocells, which are composed by different elements, like flip-flops or combinatorial logic. Due to this small number of macrocells they provide a limited logic capacity. The concept of SPLD gathers several type of devices, such as Programmable logic arrays (PLAs), Programmable Array Logics (PALs), Generic Array Logics (GALs) or Field-programmable Logic Arrays (FPLAs). The technologies for the majority of SPLDs are either fuse or non-volatile memory cells (EPROM, EEPROM, Flash, etc.).

CLPDs can be considered as single-chip programmable devices containing a struc-ture of several SPLD-like modules. They usually have a fast pin-to-pin delay that, once programmed, can lock their design. The structure of these devices consists of macrocells that contain the fabric logic with a sea-of-gates, a switch matrix and a functional block. CPLDs are considered coarse-grain devices. The configuration of all the resources is stored in its own (on-chip) memory. Although the number of gates is considerably larger than in SPLDs, it is a moderate quantity when com-paring with other technologies. Due to this limited complexity they are generally used for glue logic applications. Bearing in mind the manufacturers and device families available, the CPLD’s technology can be based on EPROM, EEPROM, Flash, or SRAM cells. The concept of CPLD brings together various devices like

Erasable Programmable Logic Devices (EPLDs), Simple Programmable Logic Devices (SPLDs), etc.

At the beginning of the 1980’s there was a gap in the digital electronic business.

On the one hand, they were configurable SPLD and CPLD technologies that provide a fast designing but couldn’t implement large or complex applications.

On the other hand, ASIC technology was able to support highly complex designs that required an extremely expensive and complicated design process. In order to fulfil this gap Xilinx Inc. released the XC2064, in 1985, which is considered the first commercial FPGA device. Figure 2.6 (obtained from its data sheet) shows the entire block diagram of the XC2064, which was based on the CMOS technology, that also used SRAM cells for configuration functions.

Figure 2.6: Block diagram of the Xilinx XC2064 logic cell array.

Despite that originally FPGAs started competing with CPLDs sharing similar application scopes, thanks to their evolution, FPGAs increased their capabilities and speed taking over new application fields. Nowadays, FPGAs are utilized to implement complete and autonomous SoC designs. Basically FPGAs are inte-grated circuits that can be configured by the final user after the manufacturing process. They are fine-grain devices, since they are composed by a large number of small logic blocks that contain distinct logic resources. Those logic blocks are distributed following an array structure and are interconnected with reconfig-urable connections. Due to this FPGAs offer higher complexity and versatility levels. Distinct architectures are used to manufacture FPGAs. Some of the most relevant are: the CMOS based and one-time programmable Antifuse FPGAs widely used in fault tolerant space application, the CMOS and static memory

based reprogrammable SRAM FPGAs and the CMOS and Flash-erase EPROM technology based Flash FPGAs.

While some of the first technologies, such as Fuse, PROM and EPROM have be-come obsolete, new technologies are being investigated. Remarkable technologies are PCM based non-volatile SRAMs [104, 105]. Nowadays, thanks to its high capability and relatively reduced cost the prevalent technology are the SRAM based FPGAs.

FPGA market is facing a relevant globalization process. This process in which some enterprises acquire or merge with competition companies and others simply cease activity: As a consequence it has generated major changes in the FPGA market. For instance, Tabula shut down its activity on 2015 or Actel Corpo-ration was acquired by Microsemi CorpoCorpo-ration on 2010. Nevertheless, the most remarkable change came when, in 2015, Intel acquired Altera Corporation, one of the two historical leaders of the industry. Xilinx Inc., the other principal vendor continues growing and overtaking Intel, and hence leads the market. In addition to the two majors, different vendors provide FPGA devices, such as Achronix Semiconductor, Lattice Semiconductor Corporation or e2v. QuickLogic, which previously backed away from the FPGA market, has returned with the ArcticPro eFPGA IP.

Nowadays, Xilinx offers a wide spectrum of products to address different range of system requirements demanded by the market. In this way, Xilinx provides a multi-node product portfolio, which bearing in mind the different manufacturing technologies can be divided in four series:

• Spartan-6 (45 nm): Highly optimized FPGAs in terms of cost and size.

• 7 series (28 nm): They gather a wide range of devices, starting from low cost to high-end FPGAs.

• Ultrascale (20 nm): High integration level and routability improvements.

• Ultrascale+ (16 nm): The latest architectures, one step further in inte-gration.

Despite Ultrascale devices are the high-end product of Xilinx, 7 series devices offer the best cost-efficiency trade-off. Gathering some of the most remarkable products of Xilinx catalogue, 7 series provide solutions for a wide range of design requirements.

2.2.2 Architecture of 7 Series Devices and Zynq-7000 All