GRLIB provides a wide variety of memory controllers. Some provide a combined interface to several memory types while others only interface a single type. Many of the cores include support for EDAC protection. All controllers use an AHB slave interfaces to the bus and some also include an APB interface for configuration register accesses. Below is an overview of the available controllers. Please see the GRLIB IP cores user's manual for more information about each core.
The FTMCTRL can handle four types of devices: PROM, asynchronous static ram (SRAM), synchronous dynamic ram (SDRAM) and memory mapped I/O devices (I/O). The PROM, SRAM and SDRAM areas can be EDAC-protected using a (39, 7) BCH code. The EDAC provides single error correction and double-error detection for each 32-bit memory word.
The core supports 8-/16- and 32-bit wide PROM,IO and SRAM memories/devices. The SDRAM can either be on the same memory bus as the other memories or on a separate bus. 32-bit wide memories are supported in the former case while the latter supports both 32/64-bits. EDAC for SDRAM is only supported for a 32-bit wide memory bus.
External chip-selects are provided for up to to four PROM banks, one I/O bank, five SRAM banks and two SDRAM banks.
Memory accesses are performed through an AHB slave interface while configuration registers are accessed through an APB interface.
Deliverables
The FTMCTRL is inherently portable and can be implemented on most FPGA and ASIC technologies.
The FTMCTRL core can be licensed under a commercial license as part of the GRLIB IP library.
The MCTRL supports the same memory types and widths as the FTMCTRL. The differences are that EDAC is not supported and only two PROM chip selects are decoded for the MCTRL.
Deliverables
The MCTRL core can be licensed under a GPL or commercial license as part of the GRLIB IP library.
The FTSRCTRL uses a common 32-bit memory bus to interface 32-bit PROM, IO and SRAM devices. 8-bit PROM devices are also supported. It also provides EDAC correcting one and detecting two errors for the PROM and SRAM areas using a (39, 7) BCH code.
One chip select is decoded for the IO-area while SRAM and PROM can have up to 8 chip selects.
Memory accesses are performed through an AHB slave interface while configuration registers are accessed through an APB interface.
Deliverables
The FTSRCTRL core can be licensed under a commercial license as part of the GRLIB IP library.
The FTSRCTRL8 uses a common 16-bit memory bus to interface 16-bit IO and 8-bit SRAM devices. It also provides EDAC for the SRAM area using a modified (8, 4, 4) Hamming code correcting one and detecting two errors for each 4-bit nibble. This makes the EDAC capable of correcting up to two errors and detecting up to fouor errors per 8-bit data.
One chip select is decoded for the IO-area while SRAM can have up to 8 chip selects.
Memory accesses are performed through an AHB slave interface while configuration registers are accessed through an APB interface.
Deliverables
The FTSRCTRL8 core can be licensed under a commercial license as part of the GRLIB IP library.
The SRCTRL uses a common 32-bit memory bus to interface 32-bit PROM, IO and SRAM devices. 8-bit PROM devices are also supported.
One chip select is decoded for the IO-area, four for SRAM and two for PROM.
Memory accesses are performed through an AHB slave interface while configuration registers are accessed through an APB interface.
Deliverables
The SRCTRL core can be licensed under a GPL or commercial license as part of the GRLIB IP library.
The FTSDCTRL interfaces PC133 SDRAM compatible devices on a 32- or 64-bit wide data bus. It also provides EDAC correcting one and detecting two errors for the PROM and SRAM areas using a (39, 7) BCH code. EDAC is only available for the 32-bit bus configuration.
Chips select decoding is done for two banks.
Both memory and register accesses are performed through an AHB slave interface.
Deliverables
The FTSDCTRL core can be licensed under a commercial license as part of the GRLIB IP library.
The SDCTRL is identical to the FTSDCTRL except that EDAC is not supported. The SDCTRL also supports mobile SDRAM which the FTSDCTRL does not.
Deliverables
The SDCTRL core can be licensed under a GPL or commercial license as part of the GRLIB IP library.
The SSRCTRL uses a common 32-bit memory bus to interface 16-/32-bit PROM, IO and 32-bit Synchronous SRAM devices.
One chip select is decoded for each area,
Memory accesses are performed through an AHB slave interface while configuration registers are accessed through an APB interface.
Deliverables
The SSRCTRL core can be licensed under a commercial license as part of the GRLIB IP library. Netlists can also be provided under GPL for some technologies.
The DDRSPA can interface two 16,32 or 64-bit wide DDR266 banks. Both memory and configuration register accesses are performed through an AHB slave interface.The core also supports mobile DDR (LPDDR).
Deliverables
The DDRSPA core can be licensed under a GPL or commercial license as part of the GRLIB IP library.
The DDRSPA can interface two 16,32 or 64-bit wide DDR2 banks. Both memory and configuration register accesses are performed through an AHB slave interface.
Deliverables
The DDR2SPA core can be licensed under a GPL or commercial license as part of the GRLIB IP library.
The core maps a memory device connected via the Serial Peripheral Interface (SPI) into AMBA AHB address space. Reading memory is performed by directly accessing the memory using reads on a AHB slave interface. Other operations, e.g. writes, are performed by sending SPI commands using the core's register interface. The SPIMCTRL supports most SPI Flash devices.
The SPIMCTRL can be configured to support a wide range of SPI instruction types/protocols through the Quadinput, Dualinput, Quadoutput, Dualoutput, DSPI and QSPI bits.
Deliverables
The SPIMCTRL is inherently portable and can be implemented on most FPGA and ASIC technologies.
The SPIMCTRL core can be licensed under the GPL or a commercial license as part of the GRLIB IP library.
The Aeroflex Gaisler Reed-Solomon IP cores provide an alternative to traditional Hamming codecs for memory protection - Error Detection And Correction (EDAC) - functionality. The IP cores are specially useful in SDRAM and DDR memory controllers for space applications.
The following Reed-Solomon codecs are available: