Semiconductor integrated circuit
Test functions are expanded by adopting a test part, and an increase in circuit scale is reduced by adding the test part. A semiconductor integrated circuit comprises a memory that includes plural memory banks and is accessed by specifying a bank address, an X address, and a Y address, and a self-test part that tests the memory in response to commands. The self-test part has an address counter covering plural addressing modes that are different in how to update X addresses, Y addresses, and bank addresses. A variety of addressing modes provided for testing contribute to the expansion of BIST-based test functions. Since the self-test part has plural test sequencers corresponding to plural test modes, the area of the semiconductor integrated circuit can be easily reduced in comparison with program-controlled general-purpose sequencers requiring memory for storing programs.
Latest Patents:
- System and method of braking for a patient support apparatus
- Integration of selector on confined phase change memory
- Systems and methods to insert supplemental content into presentations of two-dimensional video content based on intrinsic and extrinsic parameters of a camera
- Semiconductor device and method for fabricating the same
- Intelligent video playback
This application is a Continuation of U.S. application Ser. No. 10/892,298 filed Jul. 16, 2004. Priority is claimed based on U.S. application Ser. No. 10/892,298 filed Jul. 16, 2004, which claims the priority of Japanese application 2003-304277 filed on Aug. 28, 2003.
BACKGROUND OF THE INVENTIONThe present invention relates to BIST (built-in self-test) technology and more particularly to technology effectively applied to a semiconductor integrated circuit in which a test circuit for testing memory is built in on a chip.
As a memory having a BIST circuit, patent publication 1 describes a semiconductor integrated circuit having a BIST circuit capable of high-speed processing by command sequencers and internal clock generating circuits. Patent publication 2 describes semiconductor storage with a built-in BIST circuit comprising a test clock generator, an address counter, and a sequencer.
[Patent publication 1] Japanese Unexamined Patent Publication No. Hei 11(1999)-329000
[Patent publication 2] Japanese Unexamined Patent Publication No. Hei 10(1998)-162600
The patent publication 1, which discloses sequencer-based BIST technology, is limited in test sequences and does not cover a variety of test sequences. In patent publication 2, the circuit scale increases since a PLL circuit is adopted for a test clock generator. This is because the PLL circuit requires a voltage controlled oscillator and a D/A converter that require voltage controlled current source and the like.
The inventors discovered that since much time is required for data retention tests in semiconductor storages such as DRAM, if a high-speed tester is used for the tests, wait time in the date retention tests becomes useless, resulting in higher test costs. Accordingly, the inventors studied the use of a low-speed tester and making up for functional lacks by a BIST circuit built in on a chip.
An object of the present invention is to provide a semiconductor integrated circuit that expands test functions by adopting a self-test unit such as a BIST circuit, and reduces an increase in circuit scale by adding the self-test unit.
The aforementioned and other objects and novel characteristics of the present invention will become apparent from the description of this specification and the accompanying drawings.
The typical disclosures of the invention will be summarized in brief as follows.
<A Variety of Addressing Modes>A semiconductor integrated circuit according to the present invention comprises a memory (5) that includes plural memory banks and is accessed by specifying a bank address, an X address, and a Y address, and a self-test part (3) that tests the memory in response to commands. The self-test part has plural modes of generating access addresses to test the memory. The plural modes of generating access addresses differ from each other in the modes of updating X addresses, Y addresses, and bank addresses. In other words, the self-test part has an address counter (35) accommodating plural addressing modes that are different in how to update X addresses, Y addresses, and bank addresses. A variety of addressing modes provided for testing contribute to the expansion of BIST-based test functions. The memory banks have plural dynamic-type memory cells arrayed in matrix, and the semiconductor integrated circuit is configured as synchronous DRAM, for example.
The modes of generating access addresses are plural modes selected from among single bank X scanning that updates bank addresses after one round of X addresses, single bank Y scanning that updates bank addresses after one round of Y addresses, and multi-bank X scanning that updates X addresses after one round of bank addresses.
<Sequencer for Timing Generation>The self-test part has plural test sequencers (31) corresponding to plural test modes. The plural test sequencers are selected according to the result of decoding the commands. By providing plural sequencers each corresponding to each test timing, the area of the semiconductor integrated circuit can be easily reduced in comparison with program-controlled general-purpose sequencers requiring memory for storing programs. In short, it is easy to add and delete individual sequencers according to the necessity of test timing, customizing becomes possible for each of the products and kinds of semiconductor integrated circuits, and area overhead can be reduced.
<Write Data Generating Circuit>The semiconductor integrated circuit according to the present invention includes a write data generating circuit (36) that generates write data for test in plural modes by using a shift register having a feedback loop. The write data generating circuit includes: a shift register (QW0 to QW3) of plural bits; a first feedback loop (61) through which the output of an output side start storage stage (QW0) of the shift register is fed back to the input of an output side end storage stage (QW3); a first selector (62) that selectively feeds back the output of the output side start storage stage of the shift register to the input of the start storage stage; and a second selector (64) that selects between the output and input of the output side start storage stage of the shift register. Since the write data generating circuit uses the shift register having the feedback loop, in comparison with general-purpose pattern generating circuits configured to selectively generate given patterns upon the loading of control data stored in ROM as typified by ALPG (algorithmic pattern generator), write data of a variety of patterns can be easily generated on a comparatively small logical scale.
<Clock Generating Circuit>A clock generating circuit (32) is adopted that generates a clock signal for test (CKIN) supplied to the memory. The clock generating circuit comprises: a ring oscillator (70) capable of changing the number of gate stages of oscillation loop; changeable frequency dividers (71 to 73) that frequency-divide the output of the ring oscillator; and an oscillation frequency control circuit that controls the number of gate stages of the oscillation loop based on a result of comparison between predetermined output of the changeable frequency dividers and an external clock signal. The external clock signal (CKEX) may be a clock signal of a relatively low frequency such as operation frequencies supported by low-speed testers. If the frequency division ratio of the clock signal used as a test clock signal is smaller than that of the clock signal (CKC) inputted to the comparator (74), the frequency of the test clock signal (CKIN) can be made higher than the low-speed clock signal (CKEX) of the tester, contributing to speedup in tests. Here, since the ring oscillator (70) capable of changing the number of gate stages of an oscillation loop is used to generate a desired frequency, in comparison with PLL circuits, circuit scale can be significantly reduced at some cost of the accuracy of frequency synchronization, contributing to reduction in chip occupation area.
Specifically, the ring oscillator includes plural selectable oscillation loops that are different from each other in the number of gate stages. The oscillation frequency control circuit includes: a frequency comparator 74 that compares predetermined output of the changeable frequency dividers with the frequency of an external clock signal; and a counter 75 that increments or decrements a count value according to comparison results by the frequency comparator. A count value of the counter is used to select an oscillation loop of the ring oscillator so as to match the predetermined output of the changeable frequency dividers to the frequency of the external clock signal.
Effects obtained by typical disclosures of the invention will be described in brief as follows.
Test functions can be expanded by adopting a test part such as a BIST circuit into a semiconductor integrated circuit such as synchronous DRAM, and an increase in circuit scale can be reduced by adding a self-test part.
A command decoder (CDEC) 20, a command logic (CLOG) 21, and a mode register (MREG) 22 are provided to control the operation of the memory core 5. The command decoder 20 is supplied with access control signals /RAS, /CAS, and /WE, which are generally used in DRAM. Furthermore, a part of the X, Y address signal Ai is supplied to the command decoder 20 as an access command. The command decoder 20 gives a command decode signal corresponding to a combination of levels of the /RAS, /CAS, and /WE signals and the access command to the command logic 21. The command logic 21 controls operation timing for internal circuits such as the row address decoder and the sense amplifier train. An internal clock signal used for timing control is generated by a clock generator (CPG) 24 inputting a clock signal /CKIN. Data output timing is synchronized to a delay locked loop circuit (DLL) 25 synchronizing to a clock signal /CKIN. A refresh circuit is included in a functional block of the row address buffer 12.
<BIST Circuit>The chip interface circuit 2 admits control signals /CS, /RAS, /CAS, and /WE, a bank address signal BA, an X, Y address signal Ai, a clock enable signal/CKE, and an external clock signal CKEX. The external clock signal CKEX has the low-speed clock cycle time of 600 ns. /CS designates a chip select signal that selects the operation of SDRAM1. /RAS designates a row address strobe signal. /CAS designates a column address strobe signal. /WE designates a write enable signal. The chip interface circuit 2 enables the external clock signal CKEX when the clock enable signal /CKE is enabled, and synchronously with the external clock signal CKEX, captures other signals /CS, /RAS, /CAS, and /WE, the address signals BA and Ai. When the captured signals /CS, /RAS, /CAS, and /WE are a prescribed combination of levels, the chip interface circuit 2 assumes the enable signal EN to be at an enable level, and directs the BIST circuit 3 to enter the BIST mode.
When the signal EN is at an enable level, the BIST control circuit 30 captures the control signals /RAS, /CAS, and /WE, the bank address signal BA, the X, Y address signal Ai, and the external clock signal CKEX, which are outputted from the chip interface circuit 2. Upon recognizing the BIST mode by the signal EN, the BIST control circuit 30 successively captures a start address of the test, an initial value of write data, a sequence command, and other control information from an input route of the address signal Ai. The BIST control circuit 30 gives control information for clock generation to the clock generating circuit 32 to decide the frequency of clock signals CKIN and /CKIN for the test, gives the sequence command to the test sequencer 31, and gives control information to the pattern generating circuit 33.
Plural test sequencers 31 are provided correspondingly to plural test modes. One test sequencer 31 corresponding to a given sequence command generates test control codes ACT, WRIT, READ, PRE, and REF according to the test operation procedure and gives them to a command encoder 39. The command encoder 39 generates the test control signal /RAS, /CAS, or /WE according to a test control code, and gives it to the memory core 5. In parallel with this, the test sequencer 31 controls the address counter 35 over the generation of an address pattern corresponding to the sequence command, and generates an X address signal PX, a Y address signal PY, and the bank address signal BA. The X address signal PX and the Y address signal PY are scrambled in the scrambler 37 and given to the memory core 5 by the address multiplex system by the multiplexer 38, and the bank address signal BA is given to the memory core 5. The initial value of write data necessary for the test operation is loaded from the BIST control circuit 30 into the write data generating circuit 36, and according to the test procedure by the test sequencer 31, write data generated by the write data generating circuit 36 is supplied to the memory core 5 as write data DI through the scrambler 37. The test control code ACT denotes a word line selection operation, WRIT denotes a data write operation, READ denotes a data read operation, PRE denotes a precharge operation, and REF denotes a refresh operation.
The memory core 5 performs memory test operations according to the control of the BIST circuit 3. For example, the memory core 5 internally detects a mismatch between write data and read data, and outputs a detection result as parallel test result PTE. According to this example, the parallel test result PTE is put into a high level (logical value “1”) when a mismatch is detected. For mismatch detection by the parallel test result PTE or anomaly detection by state anomaly detection result ERR of the BIST circuit 3, the result is held in a latch 40 and outputted to the outside as a fail signal FAIL. Here, the fail signal FAIL is a test result by the BIST circuit 3.
<A Variety of Addressing Modes>The address counter 35 covers the SB-XSCAN, SB-YSCAN, and MB-XSCAN addressing modes, and can provide for the addressing modes by switching the carry paths among the counters 40 to 42 for bank addresses, X addresses, and Y addresses. Since the address counter 35 provides for the MB-XSCN mode, it can also apply to multi-bank memories adopted by mass-storage memories. Since it covers a variety of addressing modes for memory tests, the BIST circuit 3 can be used for not only burn-in and probe inspection but also selection.
<Sequencer for Timing Generation>A starter sequencer 50-i is triggered to start operation by a selection signal SENi outputted from the BIST control circuit 30. The sequence enable signal SENi can be regarded as a signal corresponding to a sequence command given from the BIST control circuit 30. The starter sequencer 50-i functions as a state machine that controls state transition, and the state is caused to transition by an IDLEi signal sent from a subsequencer 51-i corresponding to the signal SENi. According to the state, the starter sequencer 50-i outputs the signals SRUNi, SIDLEi, and SENDi. A subsequencer 51-i is also a state machine that controls state transition, and the state is caused to transition by the signals SRUNi and SIDLEi. According to the state, the subsequencer 51-i outputs a 16-bit control signal. The 16-bit control signal is supplied from a 16-bit bus 53 to subsequent stages through a tri-state buffer 52-i. The tri-state buffer 52 is put into a high power impedance state by the signal SENDi being put into a high level. The signal SENDi is put into a high level when the starter sequencer 50-i is in an idle state or wait state, that is, when control of the pattern generating circuit 33 is substantially stopped. As a result, only the output of a test sequencer 31 selected to operate is supplied to the bus 53. Control wirings do not need to be routed for each of the test sequencers 31. To suppress a floating state of the bus 53 when the operation of all the test sequencers 31 is stopped, a tri-state buffer 54 is provided to forcibly put the bus 53 into a low level by a logical product signal ANDSEND of all signals SEND0 to SENDn.
Any of the starter sequencers 50-i has the same logical configuration. The logical configurations of the subsequencers 51-i are individualized depending on the mode of test operation. As one of the logical configurations of the subsequencers 51-i, single bank read/write (SB-Write/Read) will be described in detail.
SB (Single Bank)-R/W sequence is shown. In this sequence, read and write are performed. In PRE, the X address counter 40 is forcibly incremented. This is done to successively select X addresses for processing.
PR (Pseudo Random)-MB (Multi Bank) sequence is shown. Suffixes a, b, c, and d denote memory bank names 0 to 3, respectively.
SB-ROR (RAS Only Refresh) sequence is shown. In NOP, the bank address counter 41 is forcibly incremented. This is done to perform RAS only refresh by changing a memory bank. In
REF2 sequence is shown. NOP is repeated 15 times. Repeat counts are managed using the general-purpose timer 57 as previously described.
PAGE-Write/Read sequence is shown. In this sequence, page writing is performed in a word line unit by repeating WRIT, or page reading is performed in a word line unit by repeating READ. Therefore, in WRIT and READ, the Y address counter 42 is forcibly incremented. In NOP, the X address counter 40 is incremented. This is done to proceed to processing for the next page.
As mentioned above, the BIST circuit 3 adopts plural test sequencers 31 to generate test timing. By providing plural test sequencers 31 different from each other, the BIST circuit 3 can meet a variety of test timings. Thereby, in comparison with ALPG requiring a memory for program storage, a logical size and a chip occupation area can be reduced. Since specific test sequencers 31 are mounted, the test sequencers to be mounted can be easily customized by product and product kind, and area overhead can be further reduced. Since timing output of each test sequencer 31, that is, output of subsequencer 51i is selected by the tri-state buffer 52i before being supplied to the bus 53, the number of wirings of sequencer output can be reduced more greatly than in the AND-OR multiplexer system.
<Write Data Generating Circuit>(b) in
(c) in
(d) in
(e) in
By adopting the write data generating circuit 36 of the above-mentioned shift register configuration, in comparison with general-purpose pattern generating circuits configured to selectively generate given patterns upon the loading of control data stored in ROM as typified by ALPG, write data of a variety of patterns can be easily generated on a comparatively small logical scale.
<Clock Generating Circuit>The frequency divider 71 frequency-divides oscillation output CKRO of the ring oscillator 70 at a frequency division ratio of 20 to 2−7 to output eight kinds of clock signals CKD<7:0>. The frequency divider 72 inputs one clock signal selected from among the eight kinds of clock signals by a selector 76 and frequency-divides it at a frequency division ratio of 50 to 5−3 to output four kinds of clock signals CKD<11:8>. One of the four kinds of clock signals CKD<11:8> is selected by a selector 77 and supplied to the frequency comparator 74 as a clock signal CKC. The frequency divider 73 inputs one clock signal selected from among the 12 kinds of clock signals CKD<11:0> by a selector 78 and frequency-divides it at a frequency division ratio of 30 to 3−1 to output two kinds of clock signal CKDD<1:0>. One of the two kinds of clock signals CKDD<1:0> is selected by a selector 79 and outputted as the internal clock signal CKIN. KRC<2:0> and KRC<4:3> are selection control signals of the selectors 76 and 77, respectively. KRIN<3:0> and KRIN<4> are selection control signals of the selectors 78 and 79, respectively. The selection control signals KRC<4:0> and KRIN<4:0> are supplied from the BIST control circuit 30.
The count value KCNT consists of 4 bits (KCNT<3:0>) and decoded into control signals PDU<3:0> and PDL<3:0> by pre-decoders 95 and 96. The control signals PDU<3:0> and PDL<3:0> are supplied to the individual NAND gates NAND81 as PDU<i> and PDL<j> according to a predetermined decoding logic. One PDU<i> and one PDU<j> of the eight control signals PDU<3:0> and PDL<3:0> are put into a high level. One NAND gate 81 to which both PDU<i> and PDL<j> of a high level are supplied can form logic output conforming to an output of the inverter 82. The number of gate stages of the oscillation loop differs according to the position of the NAND gate 81 that can form the logic output. Thereby, oscillation frequencies of the ring oscillator 70 are made variable.
If the clock generating circuit 32 is adopted, the external clock signal CKEX may be a clock signal of a relatively low frequency such as operation frequencies supported by low-speed testers. If the frequency division ratio of the clock signal CKIN used as a test clock signal is smaller than that of the clock signal CKC inputted to the comparator 74, the frequency of the test clock signal CKIN can be made higher than the low-speed clock signal CKEX of the tester, contributing to speedup in tests. For example, a frequency hundreds of times as high as that of the external clock signal CKEX can be obtained. Here, since the ring oscillator 70 capable of changing the number of gate stages of an oscillation loop is used to generate a desired frequency, in comparison with PLL circuits, circuit scale can be significantly reduced at some cost of the accuracy of frequency synchronization, contributing to reduction in chip occupation area.
Here, a description will be made of cost reduction effects when tests by use of a high-speed tester are replaced by tests by use of a low-speed tester and the BIST circuit 3 on the chip. For example, in the case where the BIST circuit is added to DDR-SDRAM, if it is estimated that circuit elements increase by 5590 NAND gates and wiring areas increase by 20 areas, with 1.3 μm process, the former increases the area by 0.56 mm2 and the latter increases the area by 0.40 mm2, thereby bringing an estimated increase in manufacturing costs into about 15 yen. It is estimated that test time is reduced by about 2000 seconds by building in the BIST circuit 3. If test cost is 0.05 yen per second, building in the BIST circuit 3 on the chip would reduce costs by about 85 yen per chip.
Hereinbefore, though the invention made by the inventors of the present invention has been described in detail based on the preferred embodiments, it goes without saying that the present invention is not limited to the preferred embodiments, but may be modified in various ways without changing the main purports of the present invention.
For example, the number of memory banks may be changed as required without being limited to 4. The addressing modes are not limited to those shown in
Claims
1. A synchronous DRAM, comprising:
- a memory core which includes a plurality of memory banks having plural dynamic memory cells arrayed in a matrix, the memory banks accessed by specifying access addresses, each of the access addresses including one of bank addresses, one of X addresses and one of Y addresses;
- an interface circuit configured to receive an external control signal, address signals, an external clock signal, and a clock enable signal from an outside of the synchronous DRAM and provide a test enable signal, an internal control signal, internal address signals, and the external clock signal, the external clock signal being captured in response to the clock enable signal; and
- a built-in tester configured to test the memory core in response to the test enable signal, the internal control signal, the internal address signals, and the external clock signal from the interface circuit and generate test control codes for the memory core and the access addresses,
- wherein the built-in tester comprises
- a test controller configured to receive the test enable signal, the internal control signals, the internal address signals, and the external clock signal and generate select signals as test sequence commands that instruct test sequences, and
- a plurality of test sequencers each of which corresponds to each of the test sequences and is selected in response to the select signals,
- wherein test sequences differ in a manner of scanning at least one of the X addresses, the Y addresses, and the bank access addresses, and
- wherein the built-in tester includes a clock generating circuit configured to receive the external clock signal from the interface circuit and provide an internal clock signal for a test supplied to the memory core, and a frequency of the internal clock signal is controlled by the test controller.
2. A synchronous DRAM according to claim 1,
- wherein the clock generating circuit comprises
- a ring oscillator configured to change a number of gate stages of an oscillation loop, changeable frequency dividers configured to frequency-divide an output of the ring oscillator at a different frequency division ratio and output a plurality of clock signals, selectors configured to select the plurality of clock signals from the changeable frequency dividers, and
- an oscillation frequency control circuit configured to control a number of gate stages of the oscillation loop based on comparison between a predetermined output of the changeable frequency dividers and an external clock signal.
Type: Application
Filed: Mar 11, 2008
Publication Date: Mar 5, 2009
Applicant:
Inventors: Kaname Yamasaki (Kodaira), Yoshio Takamine (Kokubunji)
Application Number: 12/073,885
International Classification: G11C 29/04 (20060101); G06F 11/22 (20060101);