Emerging NVMs, such as MRAM, PRAM, and RRAM, has been verified with better scalability and logic compatibility. Based on the logic-in-memory concept, lookup table, which is the core building block in FPGAs, has been proposed with non-volatility. First, various nonvolatile SRAM (nvSRAM) structures with MRAM and RRAM were proposed to directly replace SRAM in the traditional lookup table to acquire non-volatility. However, the size of nvSRAM cell is remarkably larger than that of SRAM, and the write disturbance is also difficult to avoid for half-select RRAM cells. For MRAM, Suzuki et al. proposed a two-input nonvolatile lookup table (nvLUT) based on MRAM in the current-mode logic for low power. Suzuki et al. also proposed a six-input nvLUT with serial/parallel magnetic junctions to acquire enough sensing margin. Zhao et al. proposed another MRAM-based nvLUT for run-time reconfiguration. Ren proposed a third type of MRAM-based nvLUT named hybrid-LUT2. However, the ROFF/RON of MRAM is smaller compared with PRAM or RRAM, resulting in less sense margin or larger area due to serial/parallel magnetic junctions.
Moreover, the first three MRAM nvLUTs have a mismatch in parasitic RC between the selected path in the multiplexer and the reference path, which may cause nvLUT to fail. For hybrid-LUT2, the configuration of MRAM cells shares the same decoding circuit with logic operation, whose inputs may be wired to other logic blocks and cannot be used as the address inputs during configuration. For RRAM, Sakamoto et al. proposed an nvLUT based on nanobridge. However, the programming path of nanobridge shares the same multiplexer with the logic path for selection, making the size of transistors in the multiplexer considerably large to satisfy the reset voltage for RON. Chen et al. proposed another RRAM-based nvLUT using crossbar array. However, the sneaking paths inherent in crossbar array bring considerable leakage and poor sensing margin of only 10 mV. To sum up, none of the previous work has achieved high reliability against memory and logic variations, low power, high-area efficiency, and low leakage at the same time.
- high parasitic RC mismatch
- high power consumption
To illustrate the proposed design, a two-input nvLUT is presented, as shown in Fig. 1. The input count can also be easily extended to six, which is prevailing in current main-stream FPGA products. The overall architecture of nvLUT consists of an SSAVC, a tree multiplexer (TMUX), an MRP, a RRAM slice, and a footer transistor. The RRAM slice constitutes of four 1T1R RRAM cells at the left for configuration and a dummy RRAM cell at the right-most as a reference resistor.
RRAM as a Configuration Bit and a Reference Resistor
The 1T1R RRAM cell is employed as a configuration bit and a reference resistor to provide sufficient sense margin, as shown in Fig. 1. Different from crossbar array, a 1T1R RRAM cell can eliminate the sneaking current and the disturbances during write and read, thus saving power and acquiring high yield.
SSAVC converts the resistance state of RRAM into a rail-to-rail logic voltage. As shown in Fig. 1, transistors M3–M6 constitute of a latch amplifier. Transistors M1 and M2 are used to precharge the output nodes OUT and OUTB to VDD when CLK is low and transistor MF is used to initiate the conversion when CLK is high.
Although trimming Rref by SAWM can help to disabuse the parasitic resistance mismatch between the selected path in TMUX and the reference path, their parasitic capacitance mismatch cannot be easily estimated and compensated. The MRP is devised to minimize the parasitic RC mismatch between the above-mentioned two paths.
- reduce the parasitic RC mismatch
- reduce the power
- Tanner tools