US20200091915A1 - Semiconductor integrated circuit and reconfigurable semiconductor system - Google Patents
Semiconductor integrated circuit and reconfigurable semiconductor system Download PDFInfo
- Publication number
- US20200091915A1 US20200091915A1 US16/292,167 US201916292167A US2020091915A1 US 20200091915 A1 US20200091915 A1 US 20200091915A1 US 201916292167 A US201916292167 A US 201916292167A US 2020091915 A1 US2020091915 A1 US 2020091915A1
- Authority
- US
- United States
- Prior art keywords
- logic
- error
- circuit
- integrated circuit
- semiconductor integrated
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 239000004065 semiconductor Substances 0.000 title claims abstract description 90
- 238000012360 testing method Methods 0.000 claims abstract description 74
- 230000015654 memory Effects 0.000 claims abstract description 60
- 230000006870 function Effects 0.000 claims abstract description 25
- 230000004044 response Effects 0.000 claims abstract description 12
- 238000012937 correction Methods 0.000 claims description 26
- 238000001514 detection method Methods 0.000 description 14
- 238000000034 method Methods 0.000 description 8
- 230000008569 process Effects 0.000 description 8
- 230000000717 retained effect Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 230000015572 biosynthetic process Effects 0.000 description 3
- 238000003786 synthesis reaction Methods 0.000 description 3
- 230000002950 deficient Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K19/00—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
- H03K19/02—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
- H03K19/173—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
- H03K19/177—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components arranged in matrix form
- H03K19/17748—Structural details of configuration resources
- H03K19/1776—Structural details of configuration resources for memories
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K19/00—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
- H03K19/02—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
- H03K19/173—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
- H03K19/1733—Controllable logic circuits
- H03K19/1737—Controllable logic circuits using multiplexers
-
- G06F17/5054—
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/34—Circuit design for reconfigurable circuits, e.g. field programmable gate arrays [FPGA] or programmable logic devices [PLD]
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K19/00—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
- H03K19/02—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
- H03K19/173—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
- H03K19/177—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components arranged in matrix form
- H03K19/17724—Structural details of logic blocks
- H03K19/17728—Reconfigurable logic blocks, e.g. lookup tables
Definitions
- Embodiments described herein relate generally to a semiconductor integrated circuit and a reconfigurable semiconductor system.
- a Field Programmable Gate Array capable of reconfiguring any logic function is widely used.
- FPGA Field Programmable Gate Array
- a large number of reconfigurable logic circuits are provided in the FPGA, and a test is performed before shipping to check whether each logic circuit operates normally. In general, if some logic circuits are determined to have an error, the FPGA is discarded as a defective product. Also, if an error exists in the FPGA that has been mounted on a board, either the FPGA or the whole board needs to be replaced, and the defective board is discarded in the latter case. Such a replacement costs a manufacturer of the board using the FPGA product in terms of time and money.
- FIG. 1 is a block diagram illustrating an internal configuration of a semiconductor integrated circuit according to one embodiment
- FIG. 2 is a block diagram illustrating a reconfigurable semiconductor system performing correction on a basic tile having an error
- FIG. 3 is a flow chart illustrating a processing operation of the reconfigurable semiconductor system illustrated in FIG. 2 .
- An embodiment provides a semiconductor integrated circuit and a reconfigurable semiconductor system which can perform correction if an error is found in some logic circuits in the semiconductor integrated circuit.
- a semiconductor integrated circuit includes a plurality of logic circuits each being configurable to perform a logic function according to configuration data set therein, a memory that stores configuration information for use in setting the configuration data in each of the plurality of logic circuits, a test circuit configured to perform a test for detecting an error in each logic circuit, and an output circuit configured to output information indicating whether the error exists in one or more of the logic circuits based on a result of the test.
- the configuration information stored in the memory is updated with new configuration information for setting the configuration data of each of the logic circuits other than one or more logic circuits having the error.
- FIG. 1 is a block diagram illustrating an internal configuration of a semiconductor integrated circuit 1 according to one embodiment.
- the semiconductor integrated circuit 1 illustrated in FIG. 1 has a reconfigurable logic function, and is also called FPGA.
- the semiconductor integrated circuit 1 in FIG. 1 includes a plurality of basic tiles 2 , a configuration memory 3 , a test control circuit 4 , a test result output control circuit 5 , and a plurality of input/output terminals 6 .
- Each basic tile 2 has a reconfigurable logic function.
- the basic tile 2 is also called a logic circuit.
- the basic tile 2 includes a logic block (LB) 7 and a switch block (SB) 8 .
- LB logic block
- SB switch block
- only the logic block 7 may be provided in the basic tile 2
- a switch block 8 may be provided between the plurality of adjacent basic tiles 2 or in the vicinity of each basic tile 2 .
- the logic blocks 7 each include a lookup table, an adder, a multiplexer, a flip-flop, and the like.
- the logic function of each logic block 7 may be switched by changing data registered in the lookup table.
- the configuration memory 3 stores configuration information. Based on the configuration information, data is set in the lookup table or the like in the basic tile 2 . Therefore, the logic function of each logic block 7 can be switched by updating configuration information to be stored in the configuration memory 3 . Similarly, it is possible to switch the items connected to each switch block 8 , based on the configuration information in the configuration memory 3 . Further, it is possible to change the function of at least part of the input/output terminals 6 depending on the configuration information.
- the configuration memory 3 in FIG. 1 may be, for example, a volatile memory such as a static random access memory (SRAM), and the like.
- SRAM static random access memory
- the configuration memory 3 is a volatile memory and the power of the semiconductor integrated circuit 1 is turned off, the data in the volatile memory may be erased. For this reason, it is necessary to write configuration information to the configuration memory 3 from the outside at the time of supply of power to the semiconductor integrated circuit 1 in FIG. 1 . After the writing ends, the logic function of each logic block 7 and the switching function of each switch block 8 in each basic tile 2 are set based on the configuration information stored in the configuration memory 3 .
- the configuration memory 3 in FIG. 1 is a volatile memory such as an SRAM
- a nonvolatile memory such as a flash memory
- the configuration information in the nonvolatile memory is written into the configuration memory 3 at the time of supply of power to the semiconductor integrated circuit 1 in FIG. 1 . Accordingly, whenever power is supplied to the board, the configuration information is automatically written into the configuration memory 3 in the semiconductor integrated circuit 1 in FIG. 1 from the nonvolatile memory on the board, whereby the semiconductor integrated circuit 1 exhibits a desired logic function.
- the configuration memory 3 is a nonvolatile memory such as a magnetic RAM (MRAM)
- MRAM magnetic RAM
- the logic function is set for each logic block 7 and the switching function is also set for each switch block 8 using the configuration information in the configuration memory 3 as it is, when the power of the semiconductor integrated circuit 1 in FIG. 1 is resupplied.
- Test control circuit 4 may perform testing after reset is released at the time of supply of power to the semiconductor integrated circuit 1 in FIG. 1 , or may perform testing whenever power is supplied for several times. Also, testing may be performed at a timing different from when the power is supplied.
- the test control circuit 4 includes, for example, a built-in self-test (BIST) circuit so that the test control circuit 4 can perform testing without being inputted a test pattern from the outside.
- the BIST circuit inputs to each basic tile 2 the test pattern generated by a pseudo random pattern generator (PRPG), such as a linear feedback shift register (LFSR) and the like, compresses the response from each basic tile 2 using a test response compactor (TRC), and compares them, thereby obtaining a test result.
- PRPG pseudo random pattern generator
- LFSR linear feedback shift register
- TRC test response compactor
- the test control circuit 4 may output test result signals including 1-bit information for each basic tile 2 , indicating whether each basic tile 2 has an error. More specifically, bit data “1” may be output if the basic tile 2 has an error and bit data “0” if the basic tile 2 has no error.
- the test result output control circuit 5 outputs information on the error-containing basic tile 2 based on the test results obtained from the test control circuit 4 .
- the test result output control circuit 5 may include a register circuit 5 a .
- the register circuit 5 a has a function of retaining a plurality of bits of data. As described above, since the test control circuit 4 outputs the test result signals, each indicating whether each basic tile 2 has an error, the register circuit 5 a retains the test result signals whose number is the same as the number of the basic tiles 2 .
- the test result output control circuit 5 may output an error detection signal as a specific logic state (for example, “1”) when at least one basic tile 2 among the plurality of basic tiles 2 has an error.
- the error detection signal is output from an error detection terminal 9 of the semiconductor integrated circuit 1 in FIG. 1 .
- the error detection signal may be a signal obtained by calculating the logical sum of the plurality of test result signals retained in the register circuit 5 a using the OR gate when “1” is set to signify an error.
- FIG. 2 is a block diagram illustrating an overall configuration of a reconfigurable semiconductor system 11 which performs correction on an error-containing basic tile 2 in the semiconductor integrated circuit 1 in FIG. 11 .
- the reconfigurable semiconductor system 11 in FIG. 2 includes an error correction device 12 , in addition to the semiconductor integrated circuit 1 .
- the error correction device 12 prohibits the error-containing basic tile 2 from being used in the semiconductor integrated circuit 1 , and performs error correction, achieving the desired logic function using other basic tiles 2 .
- the error correction device 12 includes an error detection unit 13 , an error location identifying unit 14 , and a reconfiguration unit 15 .
- Each of the units may be implemented by dedicated hardware such as a circuit. Alternatively, each unit may be implemented by software, executed by a processor and a memory (now shown) installed in the error correction device 12 .
- the error detection unit 13 monitors whether the error detection terminal 9 of the semiconductor integrated circuit 1 becomes a predetermined logic state (for example, “1”), and detects that at least one of basic tiles 2 in the semiconductor integrated circuit 1 has an error when the predetermined logic state is reached.
- a predetermined logic state for example, “1”
- the error location identifying unit 14 accesses the semiconductor integrated circuit 1 to read the data retained by the register circuit 5 a in the test result output control circuit 5 , thereby specifying the error-containing basic tile 2 .
- the reconfiguration unit 15 prohibits the error-containing basic tile 2 from being used, and generates configuration information to amend the logic synthesis process and wiring process so that the desired logic function can be achieved by the semiconductor integrated circuit 1 using the other basic tiles 2 .
- the logic function of the semiconductor integrated circuit 1 has a conceptual configuration including the logic function of the logic block 7 and the switching function of the switch block 8 .
- the logic synthesis process is a process of converting a source code written in hardware description language such as Verilog HDL or VHDL into a circuit element.
- the arrangement and wiring process is a process of mapping the circuit elements converted by the logic synthesis process to the logic blocks 7 and the switch blocks 8 in addition to a process of wiring the circuit elements.
- Configuration information generated by the reconfiguration unit 15 is stored in a nonvolatile memory 16 such as a flash memory, which is mounted on a board together with the semiconductor integrated circuit 1 .
- the configuration information stored in the nonvolatile memory 16 is stored in the configuration memory 3 at the time of supply of power to the semiconductor integrated circuit 1 , or the like.
- the reconfiguration unit 15 of the error correction device 12 may write the configuration information directly into the configuration memory 3 .
- the error correction device 12 in FIG. 2 can perform the above-described test operations even after shipping the semiconductor integrated circuit 1 .
- FIG. 3 is a flowchart illustrating a processing operation of the reconfigurable semiconductor system 11 illustrated in FIG. 2 .
- the semiconductor integrated circuit 1 and the nonvolatile memory 16 are mounted on a board, and this flow chart is carried out when power is supplied to the board (i.e., the board in FIG. 2 on which the semiconductor integrated circuit 1 and the nonvolatile memory 16 are mounted).
- the board i.e., the board in FIG. 2 on which the semiconductor integrated circuit 1 and the nonvolatile memory 16 are mounted.
- Step S 1 it is determined whether the reset state of the semiconductor integrated circuit 1 has been released. If the reset state has been released, the test control circuit 4 tests whether each basic tile 2 has an error (Step S 2 ). The test control circuit 4 determines that there is an error when various defects occur, such as short-circuited or disconnected wiring in a logic block 7 or switch block 8 in a basic tile 2 , and delayed signals or inverted logic states caused by noise due to the electrical characteristics of a circuit element of the logic blocks 7 or the switch blocks 8 not satisfying a predetermined standard.
- test control circuit 4 sets the test result signal for the basic tile 2 at the first logic state (for example, “1”).
- the test result signal is set to the second logic state (for example, “0”) (Step S 3 ).
- the test result output control circuit 5 retains the test result signal output from the test control circuit 4 (Step S 4 ). Specifically, since the test control circuit 4 outputs a 1-bit test result signal for each basic tile 2 , the test result output control circuit 5 retains a test result signal consisting of a data bit string whose length is the number of all the basic tiles 2 in the register circuit 5 a.
- the bit string data retained by the register circuit 5 a is input into the OR gate, for example, and the output of the OR gate is input to the error detection terminal 9 of the semiconductor integrated circuit 1 in FIG. 1 .
- the output of the OR gate becomes “high”, and the error detection terminal 9 also outputs “high” (Step S 5 ).
- the error correction device 12 monitors whether the error detection terminal 9 has logic state “1” (Step S 6 ). When the error detection terminal 9 has logic state “1”, the error correction device 12 accesses the semiconductor integrated circuit 1 in FIG. 1 to check which bit in the data bit string retained in the register circuit 5 a in the test result output control circuit 5 is “1”. As a result, the error correction device 12 identifies the error-containing basic tile 2 (Step S 7 ).
- the error correction device 12 prohibits the error-containing basic tile 2 from being used, redesigns the logic function of the basic tiles 2 so that the logic function originally intended in the semiconductor integrated circuit 1 in FIG. 1 can be achieved using the other basic tiles 2 , and generates the corresponding configuration information (Step S 8 ). Subsequently, the error correction device 12 stores the generated configuration information in the nonvolatile memory 16 such as a flash memory (Step S 9 ).
- Step S 10 When it is determined in Step S 6 that the error detection terminal 9 has a logic value of “O”, or when the processing in Step S 9 is ended, the configuration information stored in the nonvolatile memory 16 is copied onto the configuration memory 3 in the semiconductor integrated circuit 1 in FIG. 1 (Step S 10 ).
- the error correction device 12 can easily detect that the semiconductor integrated circuit 1 has an error.
- the error correction device 12 can generate configuration information to achieve the desired logic function using the remaining basic tiles 2 while prohibiting the error-containing basic tile 2 from being used.
Abstract
A semiconductor integrated circuit includes a plurality of logic circuits each being configurable to perform a logic function according to configuration data set therein, a memory that stores configuration information for use in setting the configuration data in each of the plurality of logic circuits, a test circuit configured to perform a test for detecting an error in each logic circuit, and an output circuit configured to output information indicating whether the error exists in one or more of the logic circuits based on a result of the test. In response to the output of the information indicating that the error exists, the configuration information stored in the memory is updated with new configuration information for setting the configuration data of each of the logic circuits other than one or more logic circuits having the error.
Description
- This application is based upon and claims the benefit of priority from Japanese Patent Application No. 2018-173577, filed Sep. 18, 2018, the entire contents of which are incorporated herein by reference.
- Embodiments described herein relate generally to a semiconductor integrated circuit and a reconfigurable semiconductor system.
- A Field Programmable Gate Array (FPGA) capable of reconfiguring any logic function is widely used. A large number of reconfigurable logic circuits are provided in the FPGA, and a test is performed before shipping to check whether each logic circuit operates normally. In general, if some logic circuits are determined to have an error, the FPGA is discarded as a defective product. Also, if an error exists in the FPGA that has been mounted on a board, either the FPGA or the whole board needs to be replaced, and the defective board is discarded in the latter case. Such a replacement costs a manufacturer of the board using the FPGA product in terms of time and money.
-
FIG. 1 is a block diagram illustrating an internal configuration of a semiconductor integrated circuit according to one embodiment; -
FIG. 2 is a block diagram illustrating a reconfigurable semiconductor system performing correction on a basic tile having an error; and -
FIG. 3 is a flow chart illustrating a processing operation of the reconfigurable semiconductor system illustrated inFIG. 2 . - An embodiment provides a semiconductor integrated circuit and a reconfigurable semiconductor system which can perform correction if an error is found in some logic circuits in the semiconductor integrated circuit.
- In general, according to one embodiment, a semiconductor integrated circuit includes a plurality of logic circuits each being configurable to perform a logic function according to configuration data set therein, a memory that stores configuration information for use in setting the configuration data in each of the plurality of logic circuits, a test circuit configured to perform a test for detecting an error in each logic circuit, and an output circuit configured to output information indicating whether the error exists in one or more of the logic circuits based on a result of the test. In response to the output of the information indicating that the error exists, the configuration information stored in the memory is updated with new configuration information for setting the configuration data of each of the logic circuits other than one or more logic circuits having the error.
- Hereinafter, embodiments of the present disclosure will be described with reference to the drawings. In the following embodiments, characteristic configurations and operations of a semiconductor integrated circuit and a reconfigurable semiconductor system are mainly described. However, the semiconductor integrated circuit and the reconfigurable semiconductor system may have other configurations and operations omitted in the following description.
-
FIG. 1 is a block diagram illustrating an internal configuration of a semiconductor integratedcircuit 1 according to one embodiment. The semiconductor integratedcircuit 1 illustrated inFIG. 1 has a reconfigurable logic function, and is also called FPGA. - The semiconductor integrated
circuit 1 inFIG. 1 includes a plurality of basic tiles 2, aconfiguration memory 3, atest control circuit 4, a test resultoutput control circuit 5, and a plurality of input/output terminals 6. - Each basic tile 2 has a reconfigurable logic function. In the present specification, the basic tile 2 is also called a logic circuit. Specifically, the basic tile 2 includes a logic block (LB) 7 and a switch block (SB) 8. Alternatively, only the
logic block 7 may be provided in the basic tile 2, and aswitch block 8 may be provided between the plurality of adjacent basic tiles 2 or in the vicinity of each basic tile 2. - The
logic blocks 7 each include a lookup table, an adder, a multiplexer, a flip-flop, and the like. For example, the logic function of eachlogic block 7 may be switched by changing data registered in the lookup table. - The
configuration memory 3 stores configuration information. Based on the configuration information, data is set in the lookup table or the like in the basic tile 2. Therefore, the logic function of eachlogic block 7 can be switched by updating configuration information to be stored in theconfiguration memory 3. Similarly, it is possible to switch the items connected to eachswitch block 8, based on the configuration information in theconfiguration memory 3. Further, it is possible to change the function of at least part of the input/output terminals 6 depending on the configuration information. - The
configuration memory 3 inFIG. 1 may be, for example, a volatile memory such as a static random access memory (SRAM), and the like. When theconfiguration memory 3 is a volatile memory and the power of the semiconductor integratedcircuit 1 is turned off, the data in the volatile memory may be erased. For this reason, it is necessary to write configuration information to theconfiguration memory 3 from the outside at the time of supply of power to the semiconductor integratedcircuit 1 inFIG. 1 . After the writing ends, the logic function of eachlogic block 7 and the switching function of eachswitch block 8 in each basic tile 2 are set based on the configuration information stored in theconfiguration memory 3. - When the
configuration memory 3 inFIG. 1 is a volatile memory such as an SRAM, it is considered that a nonvolatile memory such as a flash memory is mounted on a board on which the semiconductor integratedcircuit 1 inFIG. 1 is to be mounted, and the configuration information in the nonvolatile memory is written into theconfiguration memory 3 at the time of supply of power to the semiconductor integratedcircuit 1 inFIG. 1 . Accordingly, whenever power is supplied to the board, the configuration information is automatically written into theconfiguration memory 3 in the semiconductorintegrated circuit 1 inFIG. 1 from the nonvolatile memory on the board, whereby the semiconductorintegrated circuit 1 exhibits a desired logic function. - When the
configuration memory 3 is a nonvolatile memory such as a magnetic RAM (MRAM), it is not necessary to provide a nonvolatile memory such as a flash memory in the vicinity of the semiconductor integratedcircuit 1 inFIG. 1 . In this case, even if the power of the semiconductor integratedcircuit 1 inFIG. 1 is turned off, the configuration information in theconfiguration memory 3 remains without being erased. Therefore, the logic function is set for eachlogic block 7 and the switching function is also set for eachswitch block 8 using the configuration information in theconfiguration memory 3 as it is, when the power of the semiconductor integratedcircuit 1 inFIG. 1 is resupplied. - Testing the presence or absence of an error in each basic tile 2 is performed by the
test control circuit 4. Thetest control circuit 4 may perform testing after reset is released at the time of supply of power to the semiconductor integratedcircuit 1 inFIG. 1 , or may perform testing whenever power is supplied for several times. Also, testing may be performed at a timing different from when the power is supplied. - It is desirable that the
test control circuit 4 includes, for example, a built-in self-test (BIST) circuit so that thetest control circuit 4 can perform testing without being inputted a test pattern from the outside. The BIST circuit inputs to each basic tile 2 the test pattern generated by a pseudo random pattern generator (PRPG), such as a linear feedback shift register (LFSR) and the like, compresses the response from each basic tile 2 using a test response compactor (TRC), and compares them, thereby obtaining a test result. For example, thetest control circuit 4 may output test result signals including 1-bit information for each basic tile 2, indicating whether each basic tile 2 has an error. More specifically, bit data “1” may be output if the basic tile 2 has an error and bit data “0” if the basic tile 2 has no error. - The test result
output control circuit 5 outputs information on the error-containing basic tile 2 based on the test results obtained from thetest control circuit 4. The test resultoutput control circuit 5 may include aregister circuit 5 a. Theregister circuit 5 a has a function of retaining a plurality of bits of data. As described above, since thetest control circuit 4 outputs the test result signals, each indicating whether each basic tile 2 has an error, theregister circuit 5 a retains the test result signals whose number is the same as the number of the basic tiles 2. - In addition, the test result
output control circuit 5 may output an error detection signal as a specific logic state (for example, “1”) when at least one basic tile 2 among the plurality of basic tiles 2 has an error. The error detection signal is output from anerror detection terminal 9 of the semiconductor integratedcircuit 1 inFIG. 1 . For example, the error detection signal may be a signal obtained by calculating the logical sum of the plurality of test result signals retained in theregister circuit 5 a using the OR gate when “1” is set to signify an error. -
FIG. 2 is a block diagram illustrating an overall configuration of a reconfigurable semiconductor system 11 which performs correction on an error-containing basic tile 2 in the semiconductor integratedcircuit 1 inFIG. 11 . The reconfigurable semiconductor system 11 inFIG. 2 includes anerror correction device 12, in addition to the semiconductor integratedcircuit 1. - The
error correction device 12 prohibits the error-containing basic tile 2 from being used in the semiconductor integratedcircuit 1, and performs error correction, achieving the desired logic function using other basic tiles 2. Theerror correction device 12 includes anerror detection unit 13, an errorlocation identifying unit 14, and areconfiguration unit 15. Each of the units may be implemented by dedicated hardware such as a circuit. Alternatively, each unit may be implemented by software, executed by a processor and a memory (now shown) installed in theerror correction device 12. - The
error detection unit 13 monitors whether theerror detection terminal 9 of the semiconductor integratedcircuit 1 becomes a predetermined logic state (for example, “1”), and detects that at least one of basic tiles 2 in the semiconductor integratedcircuit 1 has an error when the predetermined logic state is reached. - When an error is detected by the
error detection unit 13, the errorlocation identifying unit 14 accesses the semiconductor integratedcircuit 1 to read the data retained by theregister circuit 5 a in the test resultoutput control circuit 5, thereby specifying the error-containing basic tile 2. - The
reconfiguration unit 15 prohibits the error-containing basic tile 2 from being used, and generates configuration information to amend the logic synthesis process and wiring process so that the desired logic function can be achieved by the semiconductor integratedcircuit 1 using the other basic tiles 2. The logic function of the semiconductor integratedcircuit 1 has a conceptual configuration including the logic function of thelogic block 7 and the switching function of theswitch block 8. - The logic synthesis process is a process of converting a source code written in hardware description language such as Verilog HDL or VHDL into a circuit element. The arrangement and wiring process is a process of mapping the circuit elements converted by the logic synthesis process to the logic blocks 7 and the switch blocks 8 in addition to a process of wiring the circuit elements.
- Configuration information generated by the
reconfiguration unit 15 is stored in anonvolatile memory 16 such as a flash memory, which is mounted on a board together with the semiconductor integratedcircuit 1. The configuration information stored in thenonvolatile memory 16 is stored in theconfiguration memory 3 at the time of supply of power to the semiconductor integratedcircuit 1, or the like. However, in a case where theconfiguration memory 3 in the semiconductor integratedcircuit 1 is a nonvolatile memory, thereconfiguration unit 15 of theerror correction device 12 may write the configuration information directly into theconfiguration memory 3. - The
error correction device 12 inFIG. 2 can perform the above-described test operations even after shipping the semiconductor integratedcircuit 1. -
FIG. 3 is a flowchart illustrating a processing operation of the reconfigurable semiconductor system 11 illustrated inFIG. 2 . After shipment of the semiconductor integratedcircuit 1 inFIG. 1 , the semiconductor integratedcircuit 1 and thenonvolatile memory 16 are mounted on a board, and this flow chart is carried out when power is supplied to the board (i.e., the board inFIG. 2 on which the semiconductor integratedcircuit 1 and thenonvolatile memory 16 are mounted). When executing the processing in the flowchart inFIG. 3 , it is necessary to connect, in advance, theerror correction device 12 with theerror detection terminal 9 and the input/output terminals 6 of the semiconductor integratedcircuit 1 to be inspected. - First, it is determined whether the reset state of the semiconductor integrated
circuit 1 has been released (Step S1). If the reset state has been released, thetest control circuit 4 tests whether each basic tile 2 has an error (Step S2). Thetest control circuit 4 determines that there is an error when various defects occur, such as short-circuited or disconnected wiring in alogic block 7 or switchblock 8 in a basic tile 2, and delayed signals or inverted logic states caused by noise due to the electrical characteristics of a circuit element of the logic blocks 7 or the switch blocks 8 not satisfying a predetermined standard. - When it is determined that any basic tile 2 has an error, the
test control circuit 4 sets the test result signal for the basic tile 2 at the first logic state (for example, “1”). When it is determined that there is no error, the test result signal is set to the second logic state (for example, “0”) (Step S3). - The test result
output control circuit 5 retains the test result signal output from the test control circuit 4 (Step S4). Specifically, since thetest control circuit 4 outputs a 1-bit test result signal for each basic tile 2, the test resultoutput control circuit 5 retains a test result signal consisting of a data bit string whose length is the number of all the basic tiles 2 in theregister circuit 5 a. - The bit string data retained by the
register circuit 5 a is input into the OR gate, for example, and the output of the OR gate is input to theerror detection terminal 9 of the semiconductor integratedcircuit 1 inFIG. 1 . As a result, when at least one basic tile 2 has an error, the output of the OR gate becomes “high”, and theerror detection terminal 9 also outputs “high” (Step S5). - The
error correction device 12 monitors whether theerror detection terminal 9 has logic state “1” (Step S6). When theerror detection terminal 9 has logic state “1”, theerror correction device 12 accesses the semiconductor integratedcircuit 1 inFIG. 1 to check which bit in the data bit string retained in theregister circuit 5 a in the test resultoutput control circuit 5 is “1”. As a result, theerror correction device 12 identifies the error-containing basic tile 2 (Step S7). - Next, the
error correction device 12 prohibits the error-containing basic tile 2 from being used, redesigns the logic function of the basic tiles 2 so that the logic function originally intended in the semiconductor integratedcircuit 1 inFIG. 1 can be achieved using the other basic tiles 2, and generates the corresponding configuration information (Step S8). Subsequently, theerror correction device 12 stores the generated configuration information in thenonvolatile memory 16 such as a flash memory (Step S9). - When it is determined in Step S6 that the
error detection terminal 9 has a logic value of “O”, or when the processing in Step S9 is ended, the configuration information stored in thenonvolatile memory 16 is copied onto theconfiguration memory 3 in the semiconductor integratedcircuit 1 inFIG. 1 (Step S10). - In this embodiment, inside the semiconductor integrated
circuit 1, the presence or absence of an error in each basic tile 2 is tested, the test result is retained, and the fact that any one of the basic tiles 2 has an error is output to the outside. Therefore, theerror correction device 12 can easily detect that the semiconductor integratedcircuit 1 has an error. When any basic tile 2 has an error, it is possible to identify the error-containing basic tile 2 by accessing the test resultoutput control circuit 5 in the semiconductor integratedcircuit 1 from theerror correction device 12. Thereby, theerror correction device 12 can generate configuration information to achieve the desired logic function using the remaining basic tiles 2 while prohibiting the error-containing basic tile 2 from being used. By storing the configuration information in theconfiguration memory 3 in the semiconductor integratedcircuit 1 illustrated inFIG. 1 , it is possible to continue to use the semiconductor integratedcircuit 1 inFIG. 1 even when there is an error-containing basic tile 2, whereby yield of the semiconductor integratedcircuit 1 can be improved. - While certain embodiments have been described, these embodiments have been presented by way of example only, and are not intended to limit the scope of the inventions. Indeed, the novel embodiments described herein may be embodied in a variety of other forms; furthermore, various omissions, substitutions and changes in the form of the embodiments described herein may be made without departing from the spirit of the inventions. The accompanying claims and their equivalents are intended to cover such forms or modifications as would fall within the scope and spirit of the inventions.
Claims (20)
1. A semiconductor integrated circuit comprising:
a plurality of logic circuits each being configurable to perform a logic function according to configuration data set therein;
a memory that stores first configuration information, wherein the first configuration information is used in setting the configuration data in each of the plurality of logic circuits;
a test circuit configured to perform a test for detecting an error in each logic circuit; and
an output circuit configured to output information indicating whether the error exists in one or more of the logic circuits based on a result of the test, wherein
in response to the output of the information indicating that the error exists, the first configuration information stored in the memory is updated to second configuration information, wherein the second configuration information is used in setting the configuration data of each of the logic circuits other than one or more logic circuits having the error and is not used in setting the configuration data of the one or more logic circuits having the error.
2. The semiconductor integrated circuit according to claim 1 , wherein
the second configuration information is generated by an error correction device connected to the semiconductor integrated circuit, based on the information output by the output circuit.
3. The semiconductor integrated circuit according to claim 1 , wherein
in response to a start of power supply to the semiconductor integrated circuit, the test circuit performs the test and the output circuit generates the information indicating whether the error exists.
4. The semiconductor integrated circuit according to claim 1 , wherein
the output circuit includes a register circuit configured to store a plurality of test result signals indicating whether the error exists in the logic circuits.
5. The semiconductor integrated circuit according to claim 1 , further comprising:
a terminal connected to the output circuit, wherein
the output circuit supplies to the terminal a signal indicating either a first state where the error exists in one or more of the logic circuits or a second state where the error does not exist in any logic circuit.
6. The semiconductor integrated circuit according to claim 5 , wherein
the signal supplied to the terminal is transmitted to an error correction device configured to generate the second configuration information based on the signal.
7. The semiconductor integrated circuit according to claim 1 , wherein
the memory is a volatile memory, and
in response to a start of power supply to the semiconductor integrated circuit, the first configuration information is copied from an external memory to the volatile memory.
8. The semiconductor integrated circuit according to claim 1 , wherein
each logic circuit corresponds to a field-programmable gate array (FPGA) logic tile comprising at least a logic block and a switch block.
9. The semiconductor integrated circuit according to claim 8 ,
the logic block stores the configuration data.
10. The semiconductor integrated circuit according to claim 1 , wherein
the test circuit comprises a build-in self-test circuit configured to generate a test pattern for testing each logic circuit.
11. A semiconductor system comprising:
a semiconductor integrated circuit; and
an error correction device configured to correct an error of the semiconductor integrated circuit, wherein
the semiconductor integrated circuit includes:
a plurality of logic circuits each being configurable to perform a logic function according to configuration data set therein,
a first memory that stores first configuration information, wherein the first configuration information is used in setting the configuration data in each of the plurality of logic circuits,
a test circuit configured to perform a test for detecting an error in each logic circuit, and
an output circuit configured to output information indicating whether the error exists in one or more of the logic circuits based on a result of the test, and
in response to the output of the information indicating that the error exists, the error correction device
generates, based on the information output by the output circuit, second configuration information that is used in setting the configuration data of each of the logic circuits other than one or more logic circuits having the error and is not used in setting the configuration data of the one or more logic circuits having the error, and
outputs the generated second configuration information to be used by the semiconductor integrated circuit.
12. The semiconductor system according to claim 11 , further comprising:
a second memory that stores the second configuration information output by the error correction device, wherein
in response to a start of power supply to the semiconductor integrated circuit, the second configuration information is copied from the second memory to the first memory.
13. The semiconductor system according to claim 12 , wherein
the first and second memories are volatile and non-volatile memories, respectively.
14. The semiconductor system according to claim 11 , wherein
a terminal connected to the output circuit, wherein
the output circuit supplies to the terminal a signal indicating either a first logic state where the error exists in one or more of the logic circuits or a second logic state where the error does not exist in any logic circuit.
15. The semiconductor system according to claim 14 , wherein
in response to a start of power supply to the semiconductor integrated circuit, the test circuit performs the test and the output circuit supplies the signal to the error correction device through the terminal.
16. The semiconductor system according to claim 15 , wherein
the error correction device is configured to identify the one or more logical circuits having the error based on the signal received through the terminal.
17. The semiconductor system according to claim 11 , wherein
each logic circuit is an FPGA logic tile comprising a logic block and a switch block.
18. The semiconductor system according to claim 17 ,
the logic block stores the configuration data.
19. The semiconductor system according to claim 11 , wherein
the test circuit comprises a build-in self-test circuit configured to generate a test pattern for testing each logic circuit.
20. A semiconductor board comprising:
a first memory that stores first configuration information; and
a semiconductor integrated circuit comprises:
a plurality of logic circuits each being configurable to perform a logic function according to configuration data set therein,
a second memory that stores the first configuration information, which is copied from the first memory in response to a start of power supply to the integrated circuit, wherein the first configuration information is used in setting the configuration data in each of the plurality of logic circuits,
a test circuit configured to perform a test for detecting an error in each logic circuit, and
an output circuit configured to output information indicating whether the error exists in one or more of the logic circuits based on a result of the test, wherein
in response to the output of the information indicating that the error exists, the first configuration information stored in the first memory is updated to second configuration information, wherein the second configuration information is used in setting the configuration data of each of the logic circuits other than one or more logic circuits having the error and is not used in setting the configuration data of the one or more logic circuits having the error.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018-173577 | 2018-09-18 | ||
JP2018173577A JP2020048022A (en) | 2018-09-18 | 2018-09-18 | Semiconductor integrated circuit and reconfigurable semiconductor system |
Publications (2)
Publication Number | Publication Date |
---|---|
US10594321B1 US10594321B1 (en) | 2020-03-17 |
US20200091915A1 true US20200091915A1 (en) | 2020-03-19 |
Family
ID=69773340
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US16/292,167 Expired - Fee Related US10594321B1 (en) | 2018-09-18 | 2019-03-04 | Semiconductor integrated circuit and reconfigurable semiconductor system |
Country Status (2)
Country | Link |
---|---|
US (1) | US10594321B1 (en) |
JP (1) | JP2020048022A (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20220246184A1 (en) * | 2021-02-02 | 2022-08-04 | Nvidia Corporation | Techniques for performing write training on a dynamic random-access memory |
US11809719B2 (en) | 2021-02-02 | 2023-11-07 | Nvidia Corporation | Techniques for performing write training on a dynamic random-access memory |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10784672B2 (en) * | 2018-03-28 | 2020-09-22 | Eaton Intelligent Power Limited | Circuit interrupter with self-test circuit and method of operating a circuit interrupter |
JP7142731B2 (en) * | 2019-02-12 | 2022-09-27 | 三菱電機株式会社 | programmable device |
FR3126159B1 (en) * | 2021-08-12 | 2023-06-30 | Thales Sa | Method for protecting a reconfigurable digital integrated circuit against reversible errors |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH08298289A (en) | 1995-04-26 | 1996-11-12 | Hitachi Ltd | Programmable logic circuit |
US5965902A (en) * | 1995-09-19 | 1999-10-12 | Micron Technology | Method and apparatus for testing of dielectric defects in a packaged semiconductor memory device |
US7007203B2 (en) * | 2002-08-02 | 2006-02-28 | Motorola, Inc. | Error checking in a reconfigurable logic signal processor (RLSP) |
JP2015061238A (en) | 2013-09-19 | 2015-03-30 | 株式会社東芝 | Reconfigurable semiconductor integrated circuit and electronic apparatus |
JP2016063490A (en) | 2014-09-19 | 2016-04-25 | 株式会社東芝 | Reconfigurable semiconductor integrated circuit and electronic apparatus |
US9130559B1 (en) | 2014-09-24 | 2015-09-08 | Xilinx, Inc. | Programmable IC with safety sub-system |
US9419624B2 (en) | 2014-11-12 | 2016-08-16 | Xilinx, Inc. | Power management system for integrated circuits |
US9453879B2 (en) * | 2014-12-01 | 2016-09-27 | Apple Inc. | On-die system for monitoring and predicting performance |
JP2016167669A (en) * | 2015-03-09 | 2016-09-15 | 富士通株式会社 | Programmable logic circuit device and error detection method |
US10248484B2 (en) * | 2017-02-21 | 2019-04-02 | Intel Corporation | Prioritized error-detection and scheduling |
-
2018
- 2018-09-18 JP JP2018173577A patent/JP2020048022A/en active Pending
-
2019
- 2019-03-04 US US16/292,167 patent/US10594321B1/en not_active Expired - Fee Related
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20220246184A1 (en) * | 2021-02-02 | 2022-08-04 | Nvidia Corporation | Techniques for performing write training on a dynamic random-access memory |
US11742007B2 (en) * | 2021-02-02 | 2023-08-29 | Nvidia Corporation | Techniques for performing write training on a dynamic random-access memory |
US11809719B2 (en) | 2021-02-02 | 2023-11-07 | Nvidia Corporation | Techniques for performing write training on a dynamic random-access memory |
Also Published As
Publication number | Publication date |
---|---|
JP2020048022A (en) | 2020-03-26 |
US10594321B1 (en) | 2020-03-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10594321B1 (en) | Semiconductor integrated circuit and reconfigurable semiconductor system | |
KR101519491B1 (en) | Semiconductor memory device for accumulation test and system including the same | |
US7484141B2 (en) | Semiconductor device capable of performing test at actual operating frequency | |
US9330788B2 (en) | Semiconductor integrated circuit capable of performing self-test | |
JP2010123159A (en) | Semiconductor integrated circuit | |
US9256505B2 (en) | Data transformations to improve ROM yield and programming time | |
JP5611916B2 (en) | Semiconductor integrated circuit | |
US9711241B2 (en) | Method and apparatus for optimized memory test status detection and debug | |
US7230861B2 (en) | Semiconductor integrated circuit | |
US9443611B2 (en) | Semiconductor integrated circuit with bist circuit | |
US7830741B2 (en) | Semiconductor memory device for controlling banks | |
US7013414B2 (en) | Test method and test system for semiconductor device | |
US20120002487A1 (en) | Nonvolatile memory apparatus and method for processing configuration information thereof | |
US7484147B2 (en) | Semiconductor integrated circuit | |
US8488407B2 (en) | Nonvolatile memory apparatus and method for processing configuration information thereof | |
US7783942B2 (en) | Integrated circuit device with built-in self test (BIST) circuit | |
US8228750B2 (en) | Low cost comparator design for memory BIST | |
KR102076770B1 (en) | Semiconductor device | |
CN110827878B (en) | Memory device | |
US10311965B2 (en) | Semiconductor circuit | |
US7719908B1 (en) | Memory having read disturb test mode | |
US7340313B2 (en) | Monitoring device for monitoring internal signals during initialization of an electronic circuit | |
JP2015090719A (en) | Semiconductor device | |
US10861578B1 (en) | Distributed memory repair network | |
US11742044B2 (en) | Memory built-in self-test with adjustable pause time |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
FEPP | Fee payment procedure |
Free format text: ENTITY STATUS SET TO UNDISCOUNTED (ORIGINAL EVENT CODE: BIG.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
STCF | Information on status: patent grant |
Free format text: PATENTED CASE |
|
FEPP | Fee payment procedure |
Free format text: MAINTENANCE FEE REMINDER MAILED (ORIGINAL EVENT CODE: REM.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |