Memory array

From Rice Wiki
Revision as of 15:38, 15 May 2024 by Rice (talk | contribs) (Created page with "A '''memory array''' is an element for storing values. It takes in an N-bit address input and spits out an M-bit value output. = Specification = A memory array can store <math>2^N</math> values, each value having M bits. A memory array is usually specified by the number of elements times the width of each value. For example, if N = 10 and M = 12, we have a 1024x12 memory array. = Construction = Memory arrays are usually ''active lows'' since not gates are convenientl...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

A memory array is an element for storing values. It takes in an N-bit address input and spits out an M-bit value output.

Specification

A memory array can store values, each value having M bits. A memory array is usually specified by the number of elements times the width of each value.

For example, if N = 10 and M = 12, we have a 1024x12 memory array.

Construction

Memory arrays are usually active lows since not gates are conveniently used for merging memory (see section below). Commercially, there may be an active high enabler.

Merging memory

You can make a bigger memory array with smaller memory arrays. Just enable the one you want according to the address.

A tri-state buffer can be used to control the output enabling/disabling.