Method and circuit for row scannable latch array
AssigneeSambaNova Systems, Inc.
InventorsThomas A. Ziaja, Uma Durairajan, Dinesh R. Amirtharaj
Life of this patent
Estimating the term…
Abstract
Testability of memory on integrated circuits is improved by connecting storage elements like latches in memory to scan chains and configuring memory for scan dump. The use of latches and similar compact storage elements to form scannable memory can extend the testability of high-density memory circuits on complex integrated circuits operable at high clock speeds. A scannable memory architecture includes an input buffer with active low buffer latches, and an array of active high storage latches, operated in coordination to enable incorporation of the memory into scan chains for ATPG/TT and scan dump testing modes.
Claims22
A scannable memory circuit on an integrated circuit having a scan chain, comprising:
- an array of storage elements having a plurality of rows and N columns of storage elements (where N is a positive integer greater than 1);
- an input buffer including N buffer latches, each buffer latch of the N buffer latches respectively coupled to storage elements of one of the N columns in the array of storage elements, the N buffer latches enabled to load data during a first part of an input clock period, and configured to transfer data during a second part of the input clock period from the input buffer in parallel to storage elements of a write row in the plurality of rows in the array of storage elements, wherein the write row is selected by a write row address and storage elements of the write row are enabled to load data during the second part of the input clock period;
- an output selector having inputs coupled to outputs of the storage elements in the array of storage elements and controlled by a read row address to output data from storage elements in a read row in the plurality of rows in the array of storage elements in parallel to an output bus DOUT[N-1:0] having N lines;
- an input data selector having an output DIN[N-1:0] with N lines coupled to inputs of the N buffer latches in the input buffer, selecting in dependence on a scan enable signal from a first input connected to a functional data path, and a second input connected to a scan mode input bus, the scan mode input bus having a scan-in line connected to the scan chain for connection to DIN[N-1] and a plurality of feedback lines DOUT[N-1:1] from the output selector for connection to DIN[N-2:0], respectively;
- and
- a circuit, responsive to the scan enable signal to connect DOUT[ ] from the output selector to a scan-out line connected to the scan chain.
An integrated circuit comprising:
- an array of storage elements arranged into rows and columns, storage elements in the array of storage elements having respective data inputs, respective store enable inputs, and respective data outputs, the array of storage elements including
- a first column of storage elements,
- one or more other columns of storage elements, and
- a second column of storage elements;
- an input row buffer comprising a plurality of buffer latches having respective latch inputs and respective latch outputs and configured to load data during a first part of a period of an input clock, the plurality of buffer latches including
- a first buffer latch with its respective latch output coupled to the data inputs of each storage element of the first column of storage elements,
- one or more other buffer latches with their respective latch outputs coupled to the data inputs of each storage element in a corresponding column of the one of more other columns of storage elements in the array of storage elements, and
- a second buffer latch with its respective latch output coupled to the data inputs of each storage element of the second column of storage elements;
- a control circuit coupled to the input clock and a scan enable input and having a plurality of row clock outputs coupled to the store enable inputs of the storage elements of the array of storage elements, the control circuit configured to drive a row clock output of the plurality of row clock outputs coupled to storage elements of a single row of the array of storage elements to be active during a second part of the period of the input clock in response to the scan enable input being active;
- an output selector having inputs respectively coupled to the data outputs of the storage elements of the array of storage elements and outputs coupled to an output bus, the output selector configured to transfer data from the data outputs of a selected row of the array of storage elements to the output bus dependent upon a read address, the output bus including
- a second output line of the output bus corresponding to the second column of storage elements, and
- a set of output lines consisting of
- a first output line of the output bus corresponding to the first column of storage elements, and
- one or more other output lines of the output bus respectively corresponding to the one or more other columns of storage elements;
- a row of input selectors selecting, based on the scan enable input, between first inputs coupled to respective lines of an input bus and second inputs, the row of input selectors including
- a first input selector having an output coupled to the latch input of the first buffer latch and corresponding to the first column of storage elements, and
- a set of input selectors consisting of
- one or more other input selectors having outputs coupled to the respective latch inputs of the one or more other buffer latches and respectively corresponding to the one or more other columns of the array of storage elements, and
- a second input selector having an output coupled to the latch input of the second buffer latch and corresponding to the second column of storage elements,
- the second input of the first input selector coupled to a scan input line, and
- the second inputs of the set of input selectors individually coupled to a line selected from the set of output lines,
- wherein each line of the set of output lines is coupled to an input selector corresponding to a different column of the array storage elements than a column corresponding to that line.
Dependencies are inferred from the claim text.