A method for allowing native, functional, and test configurations of a
memory to be independent of one another includes steps as follows. A
memory is first provided. The memory has a native configuration including
k words and n data output pins, k and n being positive integers. Each of
the k words has a width of n bits. Then the n data output pins are
connected to a programmable multiplexer for multiplexing the n data
output pins into at least one group of data output pins of the
programmable multiplexer. Each of the at least one group of data output
pins has no more than n data output pins and is suitable for enabling the
memory to have at least one of a test configuration or a functional
configuration. At user's discretion, the test configuration may or may
not have a width of n bits, the functional configuration may or may not
have a width of n bits, and the test configuration and the functional
configuration may or may not have the same width.