14.10 Memory Macros

RAM4FA

This component is supported by 3200DX, MX families.

Figure 14-424. RAM4FA Logic Diagram
  • Function: 64X4 dual-port RAM with falling Write clock and asynchronous Read
  • Input: RDAD5, RDAD4, RDAD3, RDAD2, RDAD1, RDAD0, WD3, WD2, WD1, WD0, WRAD5, WRAD4, WRAD3, WRAD2, WRAD1, WRAD0, WEN, BLKEN, BLKENS, WCLK
  • Output: RD3, RD2, RD1, RD0
Table 14-750. Truth Table
WCLKBLKENWENAction
BLKENS1WD written to WRAD
0XXnone
1XXnone
X!BLKENSXnone
XX0none
Note: RDAD contents always appear at RD.
Note: BLKENS must be driven by a GND or VCC macro.
Note: The use of ACTgen RAM blocks is recommended over direct use of RAM macros because ACTgen includes buffering to achieve optimal performance.
Table 14-751. Modules
FamilyRAM
All listed1

RAM4FF

This component is supported by 3200DX, MX families.

Figure 14-425. RAM4FF Logic Diagram
  • Function: 64X4 dual-port RAM with falling Write clock and falling Read clock
  • Input: RDAD5, RDAD4, RDAD3, RDAD2, RDAD1, RDAD0, REN, RCLK, WD3, WD2, WD1, WD0, WRAD5, WRAD4, WRAD3, WRAD2, WRAD1, WRAD0, WEN, BLKEN, BLKENS, WCLK
  • Output: RD3, RD2, RD1, RD0
Table 14-752. Write Truth Table
WCLKBLKENWENAction
BLKENS1WD written to WRAD
0XXnone
1XXnone
X!BLKENSXnone
XX0none
Table 14-753. Read Truth Table
RCLKRENAction
1RDAD contents appear at RD
0XRD is unchanged
1XRD is unchanged
X0RD is unchanged
Note: BLKENS must be driven by a GND or VCC macro.
Note: The use of ACTgen RAM blocks is recommended over direct use of RAM macros because ACTgen includes buffering to achieve optimal performance.
Table 14-754. Modules
FamilyRAM
All listed1

RAM4FR

This component is supported by 3200DX, MX families.

Figure 14-426. RAM4FR Logic Diagram
  • Function: 64X4 dual-port RAM with falling Write clock and rising Read clock
  • Input: RDAD5, RDAD4, RDAD3, RDAD2, RDAD1, RDAD0, REN, RCLK, WD3, WD2, WD1, WD0, WRAD5, WRAD4, WRAD3, WRAD2, WRAD1, WRAD0, WEN, BLKEN, BLKENS, WCLK
  • Output: RD3, RD2, RD1, RD0
Table 14-755. Write Truth Table
WCLKBLKENWENAction
BLKENS1WD written to WRAD
0XXnone
1XXnone
X!BLKENSXnone
XX0none
Table 14-756. Read Truth Table
RCLKRENAction
1RDAD contents appear at RD
0XRD is unchanged
1XRD is unchanged
X0RD is unchanged
Note: BLKENS must be driven by a GND or VCC macro.
Note: The use of ACTgen RAM blocks is recommended over direct use of RAM macros because ACTgen includes buffering to achieve optimal performance.
Table 14-757. Modules
FamilyRAM
All listed1

RAM4RA

This component is supported by 3200DX, MX families.

Figure 14-427. RAM4RA Logic Diagram
  • Function: 64X4 dual-port RAM with rising Write clock and asynchronous Read
  • Input: RDAD5, RDAD4, RDAD3, RDAD2, RDAD1, RDAD0, WD3, WD2, WD1, WD0, WRAD5, WRAD4, WRAD3, WRAD2, WRAD1, WRAD0, WEN, BLKEN, BLKENS, WCLK
  • Output: RD3, RD2, RD1, RD0
Table 14-758. Write Truth Table
WCLKBLKENWENAction
BLKENS1WD written to WRAD
0XXnone
1XXnone
X!BLKENSXnone
XX0none
Note: RDAD contents always appear at RD.
Note: BLKENS must be driven by a GND or VCC macro.
Note: The use of ACTgen RAM blocks is recommended over direct use of RAM macros because ACTgen includes buffering to achieve optimal performance.
Table 14-759. Modules
FamilyRAM
All listed1

RAM4RF

This component is supported by 3200DX, MX families.

Figure 14-428. RAM4RF Logic Diagram
  • Function: 64X4 dual-port RAM with rising Write clock and falling Read clock
  • Input: RDAD5, RDAD4, RDAD3, RDAD2, RDAD1, RDAD0, REN, RCLK, WD3, WD2, WD1, WD0, WRAD5, WRAD4, WRAD3, WRAD2, WRAD1, WRAD0, WEN, BLKEN, BLKENS, WCLK
  • Output: RD3, RD2, RD1, RD0
Table 14-760. Write Truth Table
WCLKBLKENWENAction
BLKENS1WD written to WRAD
0XXnone
1XXnone
X!BLKENSXnone
XX0none
Table 14-761. Read Truth Table
RCLKRENAction
1RDAD contents appear at RD
0XRD is unchanged
1XRD is unchanged
X0RD is unchanged
Note: BLKENS must be driven by a GND or VCC macro.
Note: The use of ACTgen RAM blocks is recommended over direct use of RAM macros because ACTgen includes buffering to achieve optimal performance.
Table 14-762. Modules
FamilyRAM
All listed1

RAM4RR

This component is supported by 3200DX, MX families.

Figure 14-429. RAM4RR Logic Diagram
  • Function: 64X4 dual-port RAM with rising Write clock and rising Read clock
  • Input: RDAD5, RDAD4, RDAD3, RDAD2, RDAD1, RDAD0, REN, RCLK, WD3, WD2, WD1, WD0, WRAD5, WRAD4, WRAD3, WRAD2, WRAD1, WRAD0, WEN, BLKEN, BLKENS, WCLK
  • Output: RD3, RD2, RD1, RD0
Note: Microchip recommends that you do NOT use this macro. Contact Microchip technical support for more information.
Table 14-763. Write Truth Table
WCLKBLKENWENAction
BLKENS1WD written to WRAD
0XXnone
1XXnone
X!BLKENSXnone
XX0none
Table 14-764. Read Truth Table
RCLKRENAction
1RDAD contents appear at RD
0XRD is unchanged
1XRD is unchanged
X0RD is unchanged
Note: BLKENS must be driven by a GND or VCC macro.
Note: The use of ACTgen RAM blocks is recommended over direct use of RAM macros because ACTgen includes buffering to achieve optimal performance.
Table 14-765. Modules
FamilyRAM
All listed1

RAM8FA

This component is supported by 3200DX, MX families.

Figure 14-430. RAM8FA Logic Diagram
  • Function: 32X8 dual-port RAM with falling Write clock and asynchronous Read
  • Input: RDAD4, RDAD3, RDAD2, RDAD1, RDAD0, WD7, WD6, WD5, WD4, WD3, WD2, WD1, WD0, WRAD4, WRAD3, WRAD2, WRAD1, WRAD0, WEN, BLKEN, BLKENS, WCLK
  • Output: RD7, RD6, RD5, RD4, RD3, RD2, RD1, RD0
Table 14-766. Write Truth Table
WCLKBLKENWENAction
BLKENS1WD written to WRAD
0XXnone
1XXnone
X!BLKENSXnone
XX0none
Note: RDAD contents always appear at RD.
Note: BLKENS must be driven by a GND or VCC macro.
Note: The use of ACTgen RAM blocks is recommended over direct use of RAM macros because ACTgen includes buffering to achieve optimal performance.
Table 14-767. Modules
FamilyRAM
All listed1

RAM8FF

This component is supported by 3200DX, MX families.

Figure 14-431. RAM8FF Logic Diagram
  • Function: 32X8 dual-port RAM with falling Write clock and falling Read clock
  • Input: RDAD4, RDAD3, RDAD2, RDAD1, RDAD0, REN, RCLK, WD7, WD6, WD5, WD4, WD3, WD2, WD1, WD0, WRAD4, WRAD3, WRAD2, WRAD1, WRAD0, WEN, BLKEN, BLKENS, WCLK
  • Output: RD7, RD6, RD5, RD4, RD3, RD2, RD1, RD0
Table 14-768. Write Truth Table
WCLKBLKENWENAction
BLKENS1WD written to WRAD
0XXnone
1XXnone
X!BLKENSXnone
XX0none
Table 14-769. Read Truth Table
RCLKRENAction
1RDAD contents appear at RD
0XRD is unchanged
1XRD is unchanged
X0RD is unchanged
Note: BLKENS must be driven by a GND or VCC macro.
Note: The use of ACTgen RAM blocks is recommended over direct use of RAM macros because ACTgen includes buffering to achieve optimal performance.
Table 14-770. Modules
FamilyRAM
All listed1

RAM8FR

This component is supported by 3200DX, MX families.

Figure 14-432. RAM8FR Logic Diagram
  • Function: 32X8 dual-port RAM with falling Write clock and rising Read clock
  • Input: RDAD4, RDAD3, RDAD2, RDAD1, RDAD0, REN, RCLK, WD7, WD6, WD5, WD4, WD3, WD2, WD1, WD0, WRAD4, WRAD3, WRAD2, WRAD1, WRAD0, WEN, BLKEN, BLKENS, WCLK
  • Output: RD7, RD6, RD5, RD4, RD3, RD2, RD1, RD0
Table 14-771. Write Truth Table
WCLKBLKENWENAction
BLKENS1WD written to WRAD
0XXnone
1XXnone
X!BLKENSXnone
XX0none
Table 14-772. Read Truth Table
RCLKRENAction
1RDAD contents appear at RD
0XRD is unchanged
1XRD is unchanged
X0RD is unchanged
Note: BLKENS must be driven by a GND or VCC macro.
Note: The use of ACTgen RAM blocks is recommended over direct use of RAM macros because ACTgen includes buffering to achieve optimal performance.
Table 14-773. Modules
FamilyRAM
All listed1

RAM8RA

This component is supported by 3200DX, MX families.

Figure 14-433. RAM8RA Logic Diagram
  • Function: 32X8 dual-port RAM with rising Write clock and asynchronous Read
  • Input: RDAD4, RDAD3, RDAD2, RDAD1, RDAD0, WD7, WD6, WD5, WD4, WD3, WD2, WD1, WD0, WRAD4, WRAD3, WRAD2, WRAD1, WRAD0, WEN, BLKEN, BLKENS, WCLK
  • Output: RD7, RD6, RD5, RD4, RD3, RD2, RD1, RD0
Table 14-774. Write Truth Table
WCLKBLKENWENAction
BLKENS1WD written to WRAD
0XXnone
1XXnone
X!BLKENSXnone
XX0none
Note: RDAD contents always appear at RD.
Note: BLKENS must be driven by a GND or VCC macro.
Note: The use of ACTgen RAM blocks is recommended over direct use of RAM macros because ACTgen includes buffering to achieve optimal performance.
Table 14-775. Modules
FamilyRAM
All listed1

RAM8RF

This component is supported by 3200DX, MX families.

Figure 14-434. RAM8RF Logic Diagram
  • Function: 32X8 dual-port RAM with rising Write clock and falling Read clock
  • Input: RDAD4, RDAD3, RDAD2, RDAD1, RDAD0, REN, RCLK, WD7, WD6, WD5, WD4, WD3, WD2, WD1, WD0, WRAD4, WRAD3, WRAD2, WRAD1, WRAD0, WEN, BLKEN, BLKENS, WCLK
  • Output: RD7, RD6, RD5, RD4, RD3, RD2, RD1, RD0
Table 14-776. Write Truth Table
WCLKBLKENWENAction
BLKENS1WD written to WRAD
0XXnone
1XXnone
X!BLKENSXnone
XX0none
Table 14-777. Read Truth Table
RCLKRENAction
1RDAD contents appear at RD
0XRD is unchanged
1XRD is unchanged
X0RD is unchanged
Note: BLKENS must be driven by a GND or VCC macro.
Note: The use of ACTgen RAM blocks is recommended over direct use of RAM macros because ACTgen includes buffering to achieve optimal performance.
Table 14-778. Modules
FamilyRAM
All listed1

RAM8RR

This component is supported by 3200DX, MX families.

Figure 14-435. RAM8RR Logic Diagram
  • Function: 32X8 dual-port RAM with rising Write clock and rising Read clock
  • Input: RDAD4, RDAD3, RDAD2, RDAD1, RDAD0, REN, RCLK, WD7, WD6, WD5, WD4, WD3, WD2, WD1, WD0, WRAD4, WRAD3, WRAD2, WRAD1, WRAD0, WEN, BLKEN, BLKENS, WCLK
  • Output: RD7, RD6, RD5, RD4, RD3, RD2, RD1, RD0
Table 14-779. Write Truth Table
WCLKBLKENWENAction
BLKENS1WD written to WRAD
0XXnone
1XXnone
X!BLKENSXnone
XX0none
Table 14-780. Read Truth Table
RCLKRENAction
1RDAD contents appear at RD
0XRD is unchanged
1XRD is unchanged
X0RD is unchanged
Table 14-781. Modules
FamilyRAM
All listed1

RAM64K36/RAM64K36P

This component is supported by Accelerator families.

Figure 14-436. RAM64K36/RAM64K36P Logic Diagram
  • Function: Dual port completely independent fully synchronous RAM; the RAM blocks may be cascaded up to 16 by configuring the DEPTH3-0 ports. For RAM64K36P, data appears on RD after 2 clock cycles on RCLK.
  • Input: RDAD11, ..., RDAD0, WRAD11, ..., WRAD0, WD35, ..., WD0, WEN, REN, WCLK, RCLK, WW2, WW1, WW0, RW2, RW1, RW0, DEPTH3, ..., DEPTH0
  • Output: RD35, ..., RD0
Note: Microchip recommends you use ACTgen RAM blocks instead of RAM macros because ACTgen configures WW/RW to choose the best aspect ratio and cascades multiple blocks to achieve larger configurations.
Table 14-782. Write Truth Table
WCLKWENAction
11WD written to WRAD
01None
X0None
Table 14-783. Read Truth Table
RCLKRENAction
11RD is read from RDAD
01RD is unchanged
X0RD is unchanged
Table 14-784. Modules
FamilyRAM
All listed1
Table 14-785. SRAM Port Aspect Ratios
Read/Write DepthRead/Write DepthRead/Write ADDR BusRead/Write Data BusRW/WW[2:0]
14096ADDR[11:0]DATA[0]000
22048ADDR[10:0]DATA[1:0]001
41024ADDR[9:0]DATA[3:0]010
9512ADDR[8:0]DATA[8:0]011
18256ADDR[7:0]DATA[17:0]100
36128ADDR[6:0]DATA[35:0]101

FIFO64K36/FIFO64K36P

This component is supported by Accelerator families.

Figure 14-437. FIFO64K36/FIFO64K36P Logic Diagram
  • Function: Dual port completely independent fully synchronous FIFO. For FIFO64K36P, data appears on READ after 2 clock cycles on RCLK. FIFO flag behavior is the same as that of FIFO64K36.
  • Input: WD35, ..., WD0, AFVAL7, ..., AFVAL0, AEVAL7, ..., AEVAL0, WCLK, RCLK, WEN, REN, CLR, WIDTH2, ..., WIDTH0, DEPTH3, ..., DEPTH0
  • Output: RD35, ..., RD0, FULL, EMPTY, AFULL, AEMPTY
Note: For more information on this macro, see the Accelerator datasheet at Microchip's website.
Table 14-786. Modules
FamilyRAM
All listed1
Table 14-787. FIFO Aspect Ratios Table 1
Data WidthFIFO DepthRead/Write Data BusWidth[2:0]
14096DATA[0]000
22048DATA[1:0]001
41024DATA[3:0]010
9512DATA[8:0]011
18256DATA[17:0]100
36128DATA[35:0]101
Table 14-788. FIFO Aspect Ratios Table 2
DepthCascaded BlocksFullAddress Bus WCNT/RCNTAEVAL/AFVAL Step Size
000011212-W[15:W]28-W
000112213-W[15:W]28-W
001114214-W[15:W]28-W
011118215-W[15:W]28-W
1111116216-W[15:W]28-W
Note: W = width in FIFO Aspect Ratios Table 1.