JP7037528B2 - 集積回路およびそのテスト方法ならびに電子機器 - Google Patents

集積回路およびそのテスト方法ならびに電子機器 Download PDF

Info

Publication number
JP7037528B2
JP7037528B2 JP2019166469A JP2019166469A JP7037528B2 JP 7037528 B2 JP7037528 B2 JP 7037528B2 JP 2019166469 A JP2019166469 A JP 2019166469A JP 2019166469 A JP2019166469 A JP 2019166469A JP 7037528 B2 JP7037528 B2 JP 7037528B2
Authority
JP
Japan
Prior art keywords
circuit
output terminal
input
terminal
integrated circuit
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.)
Active
Application number
JP2019166469A
Other languages
English (en)
Other versions
JP2021044451A (ja
Inventor
聖翔 小田
心一 安田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Original Assignee
Toshiba Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Toshiba Corp filed Critical Toshiba Corp
Priority to JP2019166469A priority Critical patent/JP7037528B2/ja
Priority to US16/816,528 priority patent/US11115024B2/en
Publication of JP2021044451A publication Critical patent/JP2021044451A/ja
Application granted granted Critical
Publication of JP7037528B2 publication Critical patent/JP7037528B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/02Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
    • H03K19/173Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
    • H03K19/177Logic 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/17724Structural details of logic blocks
    • H03K19/17728Reconfigurable logic blocks, e.g. lookup tables
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/31707Test strategies
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/31712Input or output aspects
    • G01R31/31713Input or output interfaces for test, e.g. test pins, buffers
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/02Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using magnetic elements
    • G11C11/16Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using magnetic elements using elements in which the storage effect is based on magnetic spin effect
    • G11C11/165Auxiliary circuits
    • G11C11/1653Address circuits or decoders
    • G11C11/1655Bit-line or column circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/02Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using magnetic elements
    • G11C11/16Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using magnetic elements using elements in which the storage effect is based on magnetic spin effect
    • G11C11/165Auxiliary circuits
    • G11C11/1653Address circuits or decoders
    • G11C11/1657Word-line or row circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C13/00Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
    • G11C13/0002Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
    • G11C13/0021Auxiliary circuits
    • G11C13/0023Address circuits or decoders
    • G11C13/0026Bit-line or column circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C13/00Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
    • G11C13/0002Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
    • G11C13/0021Auxiliary circuits
    • G11C13/0023Address circuits or decoders
    • G11C13/0028Word-line or row circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C17/00Read-only memories programmable only once; Semi-permanent stores, e.g. manually-replaceable information cards
    • G11C17/14Read-only memories programmable only once; Semi-permanent stores, e.g. manually-replaceable information cards in which contents are determined by selectively establishing, breaking or modifying connecting links by permanently altering the state of coupling elements, e.g. PROM
    • G11C17/16Read-only memories programmable only once; Semi-permanent stores, e.g. manually-replaceable information cards in which contents are determined by selectively establishing, breaking or modifying connecting links by permanently altering the state of coupling elements, e.g. PROM using electrically-fusible links
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/02Detection or location of defective auxiliary circuits, e.g. defective refresh counters
    • G11C29/027Detection or location of defective auxiliary circuits, e.g. defective refresh counters in fuses
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/10Test algorithms, e.g. memory scan [MScan] algorithms; Test patterns, e.g. checkerboard patterns 
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/14Implementation of control logic, e.g. test mode decoders
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/18Address generation devices; Devices for accessing memories, e.g. details of addressing circuits
    • G11C29/30Accessing single arrays
    • G11C29/32Serial access; Scan testing
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/36Data generation devices, e.g. data inverters
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/54Arrangements for designing test circuits, e.g. design for test [DFT] tools
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K17/00Electronic switching or gating, i.e. not by contact-making and –breaking
    • H03K17/51Electronic switching or gating, i.e. not by contact-making and –breaking characterised by the components used
    • H03K17/56Electronic switching or gating, i.e. not by contact-making and –breaking characterised by the components used by the use, as active elements, of semiconductor devices
    • H03K17/687Electronic switching or gating, i.e. not by contact-making and –breaking characterised by the components used by the use, as active elements, of semiconductor devices the devices being field-effect transistors
    • H03K17/693Switching arrangements with several input- or output-terminals, e.g. multiplexers, distributors
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K17/00Electronic switching or gating, i.e. not by contact-making and –breaking
    • H03K17/51Electronic switching or gating, i.e. not by contact-making and –breaking characterised by the components used
    • H03K17/80Electronic switching or gating, i.e. not by contact-making and –breaking characterised by the components used using non-linear magnetic devices; using non-linear dielectric devices
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/02Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
    • H03K19/173Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
    • H03K19/1733Controllable logic circuits
    • H03K19/1735Controllable logic circuits by wiring, e.g. uncommitted logic arrays
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/02Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
    • H03K19/173Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
    • H03K19/1733Controllable logic circuits
    • H03K19/1737Controllable logic circuits using multiplexers
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/02Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
    • H03K19/173Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
    • H03K19/177Logic 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/17748Structural details of configuration resources
    • H03K19/1776Structural details of configuration resources for memories
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/02Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using magnetic elements
    • G11C11/16Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using magnetic elements using elements in which the storage effect is based on magnetic spin effect
    • G11C11/165Auxiliary circuits
    • G11C11/1675Writing or programming circuits or methods
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C13/00Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
    • G11C13/0002Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
    • G11C13/0021Auxiliary circuits
    • G11C13/0069Writing or programming circuits or methods
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C17/00Read-only memories programmable only once; Semi-permanent stores, e.g. manually-replaceable information cards
    • G11C17/14Read-only memories programmable only once; Semi-permanent stores, e.g. manually-replaceable information cards in which contents are determined by selectively establishing, breaking or modifying connecting links by permanently altering the state of coupling elements, e.g. PROM
    • G11C17/18Auxiliary circuits, e.g. for writing into memory
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/18Address generation devices; Devices for accessing memories, e.g. details of addressing circuits
    • G11C29/30Accessing single arrays
    • G11C2029/3202Scan chain
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/36Data generation devices, e.g. data inverters
    • G11C2029/3602Pattern generator
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2213/00Indexing scheme relating to G11C13/00 for features not covered by this group
    • G11C2213/70Resistive array aspects
    • G11C2213/77Array wherein the memory element being directly connected to the bit lines and word lines without any access device being used
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/56External testing equipment for static stores, e.g. automatic test equipment [ATE]; Interfaces therefor
    • G11C29/56004Pattern generation
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1006Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Nonlinear Science (AREA)
  • Semiconductor Integrated Circuits (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)
  • Tests Of Electronic Circuits (AREA)
  • Logic Circuits (AREA)

Description

本発明の実施形態は、集積回路およびそのテスト方法ならびに電子機器に関する。
FPGA(Field Programmable Gate Array)は任意の論理機能を実現することができる集積回路である。FPGAは、任意の論理情報を実現する論理ブロック(LB(Logic Block))と、論理ブロック間の配線の接続を切り替えるスイッチブロック(SB(Switches Block))とを有している。論理ブロックは少なくとも1つのルックアップテーブル回路(以下、LUT(Look Up Table)回路とも云う)を有し、このLUT回路は入力に応じてメモリに記憶された値を出力する。このメモリを書き換えることで、LUT回路に配線の切り替え機能を実装することができる。
スイッチブロックは配線間の接続の切り替えを行い、機能としてはマルチプレクサ回路(以下、MUX回路とも云う)である。MUX回路は入力端子のうちの1つの入力端子を選択して出力端子に接続する機能を持つ。どの入力を接続するかは、スイッチブロックに含まれるコンフィグレーションメモリの値によって決定される。
このスイッチブロックに含まれるコンフィグレーションメモリが1回だけ書き込み可能なOTP(One-Time Programmable)メモリである場合には、書き込む前に各回路の動作を確認することは困難である。また、テスト段階でテストパターンを書き込んでしまえば、ユーザが追加で回路に書き込みを行うことは不可能となる。
米国特許第9948305号明細書
本実施形態は、1回だけ書き込み可能なメモリを備えていても回路動作のテストを行うことのできる集積回路およびそのテスト方法ならびに電子機器を提供する。
本実施形態による集積回路は、論理情報を実現する論理回路と、前記論理回路に接続される配線の切り替えを可能にするスイッチ回路と、備えた集積回路であって、前記論理回路は、第1メモリと、前記第1メモリに記憶されたデータを入力信号に基づいて出力する第1出力端子を有するルックアップテーブル回路と、前記第1出力端子が接続される第1入力端子と、スキャン入力データを受ける第2入力端子と、第2出力端子と、を備え、スキャンイネーブル信号に基づいて前記第1入力端子および前記第2入力端子の一方を選択して前記第2出力端子に接続する第1選択回路と、前記第2出力端子に接続される第3入力端子と、第3出力端子と、を備えたフリップフロップと、前記第3出力端子に接続される第4入力端子と、前記第1出力端子に接続される第5入力端子と、第4出力端子と、を備え、イネーブル信号に基づいて前記第4入力端子および前記第5入力端子の一方を選択して前記第4出力端子に接続する第2選択回路と、を備え、前記スイッチ回路は、前記第3出力端子および前記第4出力端子からの信号に応じて前記配線の接続の切り替えを行う。
第1実施形態による集積回路を示すブロック図。 第1実施形態の集積回路における論理ブロックの一例を示す回路図。 第1実施形態の集積回路におけるスイッチブロックの第1例を示す回路図。 第1実施形態の集積回路におけるスイッチブロックの第2例を示す回路図。 第1実施形態の集積回路におけるスイッチブロックの第3例を示す回路図。 図5に示すスイッチブロックの動作を説明する図。 第1実施形態の集積回路におけるスイッチブロックの第4例を示す回路図。 第1実施形態の集積回路におけるスイッチブロックの第5例を示す回路図。 第1実施形態の集積回路のテスト方法の手順を示すフローチャート。 図10Aおよび10Bは、図9に示すテスト方法の一手順を説明する図。 図9に示すテスト方法の一手順を説明する図。 第2実施形態による電子機器を示すブロック図。
本実施形態による集積回路は、論理情報を実現する論理回路と、前記論理回路に接続される配線の切り替えを可能にするスイッチ回路と、備えた集積回路であって、前記論理回路は、第1メモリと、前記第1メモリに記憶されたデータを入力信号に基づいて出力する第1出力端子を有するルックアップテーブル回路と、前記第1出力端子が接続される第1入力端子と、スキャン入力データを受ける第2入力端子と、第2出力端子と、を備え、スキャンイネーブル信号に基づいて前記第1入力端子および前記第2入力端子の一方を選択して前記第2出力端子に接続する第1選択回路と、前記第2出力端子に接続される第3入力端子と、第3出力端子と、を備えたフリップフロップと、前記第3出力端子に接続される第4入力端子と、前記第1出力端子に接続される第5入力端子と、第4出力端子と、を備え、イネーブル信号に基づいて前記第4入力端子および前記第5入力端子の一方を選択して前記第4出力端子に接続する第2選択回路と、を備え、前記スイッチ回路は、前記第3出力端子および前記第4出力端子からの信号に応じて前記配線の接続の切り替えを行う。
(第1実施形態)
本発明の第1実施形態による集積回路について図面を参照して説明する。この第1実施形態の集積回路はFPGA(Field Programmable Gate Array)であって、図1に示すように、少なくとも1つの基本ブロック(基本タイルとも云う)110を有し、この基本ブロック110は、論理ブロック(LB(Logic Block)とも云う)120と、スイッチブロック(SB(Switches Block)とも云う)130と、を備えている。通常、基本ブロック110は、アレイ状に配列される。
(論理ブロック)
論理ブロック120は、コンフィグレーションメモリ(以下、単にメモリとも云う)122と、ルックアップテーブル回路(以下、LUT(Look Up Table)回路とも云う)124と、マルチプレクサ(選択回路)126と、フィリップフロップ(以下、FFとも云う)127と、マルチプレクサ(選択回路)128と、を備えている。LUT回路124は、他の基本ブロック(例えば図1の左側に位置する基本ブロック)のスイッチブロック130からの入力信号に基づいてメモリ122に記憶されたデータを選択し出力する。このメモリ122に記憶された情報を書き換えることで、LUT回路124に任意の機能を実装することができる。
LUT回路124の一具体例を図2に示す。この具体例のLUT回路124は、4個の入力信号In~Inに応じてメモリ122に記憶された値を出力する。メモリ122は、図2に示すように16個のメモリM~M16を有している。各メモリMi(i=1,・・・,16)は、データ「0」またはデータ「1」を記憶する。
LUT回路124は、4個の選択回路124~124を備えている。選択回路124は、4個のインバータ124a、124b、124c、124dと、16個のトランスファーゲート12511~125116と、8個のインバータ124e11~124e18と、を備えている。インバータ124aは、入力信号Inを受ける。インバータ124b、124cはそれぞれ、入力端子がインバータ124aの出力端子に接続される。インバータ124dは、入力端子がインバータ124cの出力端子に接続される。
トランスファーゲート1251i(i=1,・・・,16)はそれぞれ、pチャネルMOSトランジスタおよびnチャネルMOSトランジスタを備え、入力端子がメモリMの出力端子に接続される。トランスファーゲート1251i(i=1,3,5,・・・15)は、pチャネルトランジスタのゲートがインバータ124dの出力端子に接続され、nチャネルトランジスタのゲートがインバータ124bの出力端子に接続される。トランスファーゲート1251i(i=2,4,6,・・・16)は、pチャネルトランジスタのゲートがインバータ124bの出力端子に接続され、nチャネルトランジスタのゲートがインバータ124dの出力端子に接続される。
トランスファーゲート12511、12512はそれぞれの出力端子がインバータ124e11の入力端子に接続される。トランスファーゲート12513、12514はそれぞれの出力端子がインバータ124e12の入力端子に接続される。トランスファーゲート12515、12516はそれぞれの出力端子がインバータ124e13の入力端子に接続される。トランスファーゲート12517、12518はそれぞれの出力端子がインバータ124e14の入力端子に接続される。トランスファーゲート12519、125110はそれぞれの出力端子がインバータ124e15の入力端子に接続される。トランスファーゲート125111、125112はそれぞれの出力端子がインバータ124e16の入力端子に接続される。トランスファーゲート125113、125114はそれぞれの出力端子がインバータ124e17の入力端子に接続される。トランスファーゲート125115、125116はそれぞれの出力端子がインバータ124e18の入力端子に接続される。
選択回路124は、4個のインバータ124a、124b、124c、124dと、8個のトランスファーゲート12521~12528と、4個のインバータ124e21~124e24と、を備えている。インバータ124aは、入力信号Inを受ける。インバータ124b、124cはそれぞれ、入力端子がインバータ124aの出力端子に接続される。インバータ124dは、入力端子がインバータ124cの出力端子に接続される。
トランスファーゲート1252i(i=1,・・・,8)はそれぞれ、pチャネルMOSトランジスタおよびnチャネルMOSトランジスタを備え、入力端子がインバータ124e1iの出力端子に接続される。トランスファーゲート1252i(i=1,3,5,7)は、pチャネルトランジスタのゲートがインバータ124dの出力端子に接続され、nチャネルトランジスタのゲートがインバータ124bの出力端子に接続される。トランスファーゲート1252i(i=2,4,6,8)は、pチャネルトランジスタのゲートがインバータ124bの出力端子に接続され、nチャネルトランジスタのゲートがインバータ124dの出力端子に接続される。トランスファーゲート12521、12522はそれぞれの出力端子がインバータ124e21の入力端子に接続される。トランスファーゲート12523、12524はそれぞれの出力端子がインバータ124e22の入力端子に接続される。トランスファーゲート12525、12526はそれぞれの出力端子がインバータ124e23の入力端子に接続される。トランスファーゲート12527、12528はそれぞれの出力端子がインバータ124e24の入力端子に接続される。
選択回路124は、4個のインバータ124a、124b、124c、124dと、4個のトランスファーゲート12531~12534と、2個のインバータ124e31、124e32と、を備えている。インバータ124aは、入力信号Inを受ける。インバータ124b、124cはそれぞれ、入力端子がインバータ124aの出力端子に接続される。インバータ124dは、入力端子がインバータ124cの出力端子に接続される。
トランスファーゲート1253i(i=1,・・・,4)はそれぞれ、pチャネルMOSトランジスタおよびnチャネルMOSトランジスタを備え、入力端子がインバータ124e2iの出力端子に接続される。トランスファーゲート1253i(i=1,3)は、pチャネルトランジスタのゲートがインバータ124dの出力端子に接続され、nチャネルトランジスタのゲートがインバータ124bの出力端子に接続される。トランスファーゲート1253i(i=2,4)は、pチャネルトランジスタのゲートがインバータ124bの出力端子に接続され、nチャネルトランジスタのゲートがインバータ124dの出力端子に接続される。トランスファーゲート12531、12532はそれぞれの出力端子がインバータ124e31の入力端子に接続される。トランスファーゲート12533、12534はそれぞれの出力端子がインバータ124e32の入力端子に接続される。
選択回路124は、4個のインバータ124a、124b、124c、124dと、2個のトランスファーゲート12541、12542と、1個のインバータ124e41と、を備えている。インバータ124aは、入力信号Inを受ける。インバータ124b、124cはそれぞれ、入力端子がインバータ124aの出力端子に接続される。インバータ124dは、入力端子がインバータ124cの出力端子に接続される。
トランスファーゲート1254i(i=1,2)はそれぞれ、pチャネルMOSトランジスタおよびnチャネルMOSトランジスタを備え、入力端子がインバータ124e3iの出力端子に接続される。トランスファーゲート12541は、pチャネルトランジスタのゲートがインバータ124dの出力端子に接続され、nチャネルトランジスタのゲートがインバータ124bの出力端子に接続される。トランスファーゲート12542は、pチャネルトランジスタのゲートがインバータ124bの出力端子に接続され、nチャネルトランジスタのゲートがインバータ124dの出力端子に接続される。トランスファーゲート12541、12542はそれぞれの出力端子がインバータ124e41の入力端子に接続される。インバータ124e41の出力端子がLUT回路124の出力端子になり、この出力端子は、図1に示すように、マルチプレクサ(選択回路)126の2つの入力端子のうちの一方の入力端子に接続されるとともに、マルチプレクサ(選択回路)128の2つの入力端子のうちの1つの入力端子に接続される。
図1に示すように、選択回路126の2つの入力端子のうちの他方の入力端子には、スキャン入力信号ScanInが入力され、スキャンイネーブル信号ScanENに基づいてLUT回路124の出力およびスキャン入力信号ScanInのうちの一方を選択し、フリップフロップ127に送る。フリップフロップ127は、スキャンモードの場合は、その出力端子から論理ブロック120の外にスキャン出力信号ScanOUTを出力する。また、フリップフロップ127は、その出力端子が同じ基本ブロック110内のスイッチブロック130に接続されるとともに、選択回路128の2つの入力端子の一方に接続される。
選択回路128の2つの入力端子のうちの他方の入力端子は、LUT回路124の出力端子に接続される。すなわち、選択回路128は、イネーブル信号ENに基づいて、LUT回路124の出力か、フリップフロップ127の出力のうちの1つを選択し、論理ブロック120と同じ基本ブロック内のスイッチブロック130に送る。
(論理ブロックの動作)
次に、論理ブロック120の通常モード時の動作およびテストモード時の動作について図1を参照して説明する。
通常モード時は、イネーブル信号ENには例えば「0」の値が与えられる。すると、選択回路128はLUT回路124の出力を選択し、同じ基本ブロック110内のスイッチブロック130に送る。
これに対して、テストモード時には、イネーブル信号ENに例えば「1」の値が与えられる。スキャンイネーブル信号ScanENに例えば「1」の値が与えられると、選択回路126がスキャンデータとして入力されたスキャン信号ScanInを選択し、フリップフロップ127に送る。スキャン信号ScanInとスキャン出力信号ScanOutで数珠繋ぎとなった論理ブロックの個数分だけクロック動作し、他の基本ブロックにスキャン出力信号ScanOutとして伝播する。任意のデータをそれぞれのフリップフロップ127に送った後、スキャンイネーブル信号ScanENに「0」の値を与え、テストモードの1クロック動作を終了する。このとき、フリップフロップ127の出力は、同じ基本ブロックのスイッチブロック130に選択回路128を介して伝播される。また、他の基本ブロックのフリップフロップからの出力が1つ以上のスイッチブロック、例えば基本ブロック120の左隣の基本ブロック130を介して論理ブロック120内のLUT回路124に入力し、この入力に基づいてメモリ122からのデータが選択回路126を介してフリップフロップ127に伝播する。
(スイッチブロック)
スイッチブロック130は、複数のマルチプレクサ回路(以下、MUX回路ともいう)を含む。スイッチブロック130の一例を図3に示す。このスイッチブロック130は、2個のMUX回路131a、131bを有し、これらのMUX回路131a、131bはそれぞれ、複数の配線133~13310に接続された複数の入力端子のうち1つの入力端子を選択し、この選択した入力端子を配線135,135に接続された出力端子にそれぞれ接続する機能を持つ。このように、スイッチブロック130は出力端子を複数有する。
他の例のスイッチブロック130を図4に示す。この図4に示すスイッチブロック130は、マトリクス状に配列されたスイッチ回路140を有し、同一行に配置されたスイッチ回路140は1つの出力配線に接続される。例えば、図4において、上から第(2i-1)(i=1,・・・,6)行に配列された複数のスイッチ回路140は、左に向かって信号が出力される行配線1352i-1に接続され、第2i行に配列された複数のスイッチ回路140は、右に向かって信号が出力される行配線1352iに接続される。また、左から第2(j-1)(j=1,・・・,5)に配置されたスイッチ回路140は、列配線1332j-1に接続され、第2j列に配置されたスイッチ回路140は、列配線1332jに接続される。すなわち、スイッチ回路140は、配線133~13310と、行配線135~13512との交差領域に設けられる。各スイッチ回路140は、列配線133~13310のうちの対応する一つの配線と、行配線135~13512のうちの対応する一つの配線との接続の有無を決定する。なお、例えば、上から第1行に配列されたスイッチ回路140と、第2行に配列されたスイッチ1回路40は、図3に示すMUX回路131a、131bと同じ機能を有する。
このように、図4に示すスイッチブロック130は、全ての入力が全ての出力に任意に接続可能である。このように配線と配線との交差領域に配置され、スイッチ回路を有し、全ての入力が全ての出力に任意に接続可能であるスイッチブロックをクロスポイント型スイッチブロックと呼ぶ。
また、CMOS(Complementary Metal-Oxide Semiconductor)トランジスタを用いたMUX回路も知られている。しかし、このMUX回路は、入力数の増加に対する面積増加が大きいため、全てのスイッチブロックへの入力を、MUX回路を介して入力せず、間引いて入力するアーキテクチャを採用している場合もある。
2端子スイッチ素子として、例えば抵抗変化素子またはアンチヒューズ素子を用いることで、面積の増加を抑えることが可能になる。抵抗変化素子としては、例えばMTJ(Magnetic Tunnel Junction)素子、酸化還元型抵抗変化素子、イオン伝導型抵抗変化素子、または相変化素子などが挙げられる。また、アンチヒューズ素子として、例えばゲート酸化膜破壊型トランジスタなどのOTP(One Time Programmable)素子が挙げられる。
2端子スイッチ素子をスイッチ回路として用いたクロスポイント型スイッチブロックの一具体例を図5に示す。このスイッチブロック130は、2端子スイッチ素子10ij(i、j=1,2,3,4)と、pチャネルトランジスタ20~20と、マルチプレクサ(選択回路)23~23と、インバータ24~24と、NANDゲート27~27と、を備えている。
選択回路23(j=1,・・・,4)は、2つの入力端子に入力された選択信号Cselectおよび入力信号Inputのうちの1つの信号をイネーブル信号Enに基づいて選択し、インバータ24に送る。このインバータ24(j=1,・・・,4)の出力端子が列配線133に接続される。
また、2端子スイッチ素子10ij(i、j=1,2,3,4)は、列配線133と行配線135との交差領域に設けられ、2つの端子のうちの一方の端子が列配線133に接続され、他方の端子が行配線135に接続される。
トランジスタ20(i=1,2,3,4)は、ソースおよびドレインの一方が行配線135に接続され、他方に信号VRが印加され、ゲートに行選択信号Rselectを受ける。NANDゲート27(i=1,・・・,4)は、2つの入力端子の一方にイネーブル信号Enを受け、他方が行配線133に接続され、出力端子から出力信号Outputが出力される。
このように構成されたスイッチブロック130の書き込みの例について図6を参照して説明する。この書き込みは、スイッチ素子1011に書き込みを行う場合の例である。行選択信号Rselectにトランジスタ20がオン状態になる電圧、例えばVssを与える。イネーブル信号Enを活性化し、列選択信号Cselectに高電位(Vdd)を与え、インバータ24を介して列配線133に低電位(VC)を与える。続いて、オン状態になっているトランジスタ20のソースに書き込み電圧VRを与える。列配線133に与えられる電圧VCは、スイッチ素子1011の両端子間に印加される電圧(=VR-VC)がスイッチ素子1011に書き込みを行うための閾値電圧より大きくなる電圧である。すなわち、
閾値電圧<VR-VC
となる。これにより、スイッチ素子1011への書き込みを行うことができる。それ以外のスイッチ素子の両端子には書き込み防止電圧Vinhibitを与え、書き込みを行う以外のスイッチ素子への誤書込みを防止する。ここで、書き込み防止電圧Vinhibitは、
閾値電圧>VR-Vinhibit、かつ、
閾値電圧>Vinhibit-VC
を満たす。なお、図6に示す一具体例では、書き込み防止電圧Vinhibitとして例えば、インバータ回路24,(i=1,2,3、4)のhigh側の電源電圧Vddが与えられる。
もし書き込み電圧VR(i=1,・・・,4)がトランジスタのゲート破壊電圧よりも高電圧であった場合、メモリ書き込み動作で書き込み電圧VRが印加される周辺回路が破壊されてしまう。これらを防ぐために、図6に示すように、行配線135(i=1,・・・,4)にNANDゲート27が接続され、保護される。
また、書き込み防止電圧Vinhibitがインバータ回路24,(i=1,2,3、4)の電源電圧Vddでは足りないような書き込み条件の際は、図7に示すように書き込みと信号を別回路としてもよい。すなわち、図7に示すスイッチブロック130は、図5に示すスイッチブロック130において、選択回路23(j=1,・・・、4)の代わりにnチャネルトランジスタ25を設けるとともに、nチャネルトランジスタ26を設けた構成としてもよい。nチャネルトランジスタ25(j=1,・・・4)は、インバータ24の出力端子と列配線133との間に設けられ、nチャネルトランジスタ26(j=1,・・・4)は、列配線133を挟んでnチャネルトランジスタ25と反対側に設けられる。nチャネルトランジスタ25(j=1,・・・4)のゲートは電圧Vbst1を受ける。nチャネルトランジスタ26(j=1,・・・4)のゲートは列選択信号Cselectを受け、ソースに電圧VCを受ける。
また、標準CMOS回路が破壊されない書き込み電圧VRが用いられる場合は、図8に示すスイッチブロック130を用いてもよい。この図8に示すスイッチブロック130は、図7に示すスイッチブロック130において、NANDゲート27i(i=1,・・・,4)の代わりに、インバータ28iを用いた構成を有している。
(テスト方法)
上述したように構成された第1実施形態の集積回路のテスト方法について、図9乃至図12を参照して説明する。図9は、テスト方法の手順を示すフローチャートである。
まず、ハードウェア記述言語で記述された任意の回路、もしくは抽象度の高い高位言語を変換してハードウェア記述言語に変換した回路を入力とする(ステップS1)。
この回路における論理合成を行い(ステップS2)、FPGAの基本ロジックとなるLUT回路に設定される真理値表(Truth Table)群を得る(ステップS3)。
この真理値表の情報を用いて使用するFPGAアーキテクチャに合わせてパッキングし(ステップS4)、配置および配線を行ってFPGAのマッピング情報(配置情報)を得る(ステップS5)。
続いて、真理値表と配置情報を用いてステップS6~ステップS8の手順を行う。まず、LUT回路の論理ゲート化を行う(ステップS6)。このLUT回路は、例えば図2に示すLUT回路124であるとする。FPGAのLUT回路は各入力パターンにそれぞれ独立したコンフィグレーションメモリ122が接続されており、それぞれのメモリの値を書き込むことで任意の論理を実現する。LUT回路の論理ゲートが、ASIC(Application Specific Integrated Circuits)で使用される論理ゲートと異なるのは、全入力パターンをチェックしないとすべての回路の動作確認をしたとは言えないところである。ASICの論理ゲートは必ずしもそうではない。例えば、倫理ゲートが2入力ゲートであっても4パターンの全てを調べる必要はなく、それより少ないパターンで論理ゲートを構成する全てのトランジスタの動作を確認することが可能である。しかし、FPGAにおいては、LUT回路に書き込まれた回路が例えば2入力のANDゲートである場合、そのままLUT回路を2入力のANDゲートとして解釈して、ATPG(Automatic Test Pattern Generation)からパターンを生成し、テストしても、完全にOTC-FPGA(One Time Configurable FPGA)の回路動作のテストができたとは言えない。
そこで、本実施形態におけるテスト方法では、例えば図10Aに示す生成した真理値表を、図10Bに示すように全てのパターンに対してゲートネットに変換する。これにより、ATPGはすべてのゲートのチェックをすることになり、真理値表の各行が少なくとも1回はテストされるようなパターンが生成される。このようにして、LUT回路の論理ゲート化を行う。なお、各LUT回路に対して全パターンをチェックするような論理ゲート化(ゲートネットに変換)すると、テストパターンが膨大になる可能性がある。
そこで、本実施形態では、全てのLUT回路の出力にスキャンFFを接続されるようにゲートネットを編集する(ステップS7)。このようにすると、FPGAのLUT回路の出力にはFFが接続されており、後述するステップS11で説明するようにスキャンモードではそのFFを使用するように切り替えることができる。
ASICの場合はゲートネット段階でスキャンFFの接続も決定しており、その後に配置および配線を行い、その配置情報に基づいてATPGに入力する。それは、チップ製造が配置および配線の後であるため可能である。
これに対して、FPGAでは、製造後に配置および配線を行って回路情報を書き込むため、スキャンFFの接続とハードのミスマッチが起きる可能性がある。スキャンFFを接続する専用のスイッチ回路を用意する、もしくは通常のロジックも使用するスイッチブロックを用いてスキャンFFの接続を後から設定することも考えられるが、どちらでも回路面積を余分に使用し、面積増加を引き起こす。
しかしながら、ステップS8に示すように、配置情報を用いてスキャンFFを接続してスキャンチェイン(Scan Chain)を形成する手順を行うことで、製造時に固定されたスキャンFFの接続を用いてATPGを使用することが可能になる。それについてFPGA内の各ブロックの接続を示した図11を参照して説明する。図11はFPGAの一例を示すブロック図であり、このFPGAは、アレイ状に配置された論理ブロック120a~120hと、スイッチブロック130a~130dと、スイッチブロック130x、130yと、を備えている。論理ブロック120a~120hはそれぞれ、図1に示す論理ブロックと同じ構成を有し、スキャンFFとなるフリップフロップ127を備えている。論理ブロック120a、120bは図11においては上下に配置され、入力側にスイッチブロック130xが配置され、出力側にスイッチブロック130aが配置されている。また、論理ブロック120c、120dは図11においては上下に配置され、入力側にスイッチブロック130yが配置され、出力側にスイッチブロック130bが配置されている。論理ブロック120e、120fは図11において上下に配置され、入力側にスイッチブロック130aが配置され、出力側にスイッチブロック130cが配置されている。論理ブロック120g、120hは図11において上下に配置され、入力側にスイッチブロック130bが配置され、出力側にスイッチブロック130dが配置されている。スイッチブロック130a~130dおよびスイッチブロック130x、130yはそれぞれ、1回だけ書き込みが可能なメモリ(One Time Memory)を備えた、例えば図5乃至図8に示すスイッチブロックである。
各論理ブロック内のフリップフロップ127の入力端子に出力端子が接続された選択回路126にスキャンイネーブル信号ScanENが入力されてスキャン入力信号ScanInが選択されたとき、論理ブロック120a~120hのそれぞれにおいて、図1に示すように、スキャン入力信号ScanInが入力される入力端子からスキャン出力信号ScanOutが出力されるスキャン出力端子までが繋がったシフトレジスタが形成される。このシフトレジスタは、1つの基本タイル内の基本ロジック間で、フリップフロップの出力端子と、同じ基本タイル内もしくは隣の基本タイル内の別の基本ロジックのスキャン入力信号が入力されるスキャン入力端子との連続した繋がりとなる。例えば、図11に示す論理ブロック120aのスキャン入力端子と、この論理ブロック120aのフリップフロップ127の出力端子(スキャン出力端子)もしくは論理ブロック120bのフリップフロップ127の出力端子(スキャン出力端子)との繋がりである。
FPGAは製造段階で図11に示すようにスキャン入力端子とスキャン出力端子がそれぞれ繋がる。このFPGAに、A~Dで表された真理値表を備えたLUT回路124(図11中でハッチングで記載)がそれぞれ図11中の位置にマッピングされたとき、そのような配置情報を得た後、ゲートネットのスキャンFFの接続を実際のハードウェアに合わせてD→B→A→Cという繋ぎに編集する。ここで、真理値表A、B、C、Dは、論理ブロック120hのLUT回路124、論理ブロック120bのLUT回路124、論理ブロック120eのLUT回路124、論理ブロック120aのLUT回路124にマッピングされている。この接続情報に基づいてATPGがテストパターンを生成する(ステップS9)。これにより、FPGAのハードに適合したテストパターンが生成される。
しかしながら、ASICと異なり、FPGAではスキャンチェーン上に不使用ブロックが存在する可能性がある。このため、生成されたテストパターンを編集する必要がある。具体的にはステップS10の手順において、不使用ブロックの箇所にゼロを挿入する。ゲートネット側にダミーのフリップフロップを追加する手法もあるが、前述のLUT回路の出力端子側に必ずスキャンフリップフロップを挿入する本実施形態の集積回路に比較して、配置情報を用いてランダムに存在する不使用ブロック分だけダミーフリップフロップを挿入する作業は多少困難である。
これに対して、本実施形態の集積回路において、生成されたテストパターンにゼロを挿入するだけであればそれほど作業はない。例えば、図11に示すFPGAにおいては、スキャンチェーンは、D→B→A→Cという繋ぎに編集されているので、論理ブロック120c、120d、120f、120gのフリップフロップ127は使用されない。そこで、この使用されないフリップフロップ127の位置に最終的にゼロが設定されるように、入力するテストパターンにデータ「0」を挿入し、テストパターンを修正する(ステップS10)。なお、これは固定値であればよく、データ「1」を挿入してもよい。
修正されたテストパターンが生成できたら、ステップS11に示すように、FPGAハードウェアの方をテストモードにし、テストを行う(ステップS12)。ゲートネットにおいてすべてのLUT回路の出力端子側にフリップフロップを接続することは、図1に示す本実施形態の集積回路によって実現することができる。LUT回路の出力端子が直接にスイッチブロックに入力している経路を、テスト時だけ、選択回路126によってフリップフロップ127を使用するように変更する。
以上説明したように、1回だけ書き込み可能なメモリを有する集積回路であっても回路動作のテストを行うことができる。このテスト動作は、集積回路の出荷前(回路情報の書き込み前)、または集積回路のユーザが回路情報を書き込んだ後にもテスト動作を行うことができる。
(第2実施形態)
第2実施形態による電子機器を図12に示す。この第2実施形態の電子機器は、第1実施形態の集積回路を含む回路300と、マイクロプロセッサ(以下、MPU(Micro-Processing Unit)とも云う)320と、メモリ340と、インターフェイス(I/F)360とを備えており、これらの構成要素は、バス線380を介して接続されている。
MPU320はプログラムに従い動作する。メモリ340は、MPU320が動作するためのプログラムが予め記憶される。また、メモリ340はMPU320が動作する際のワークメモリとしても用いられる。I/F360は、MPU320の制御に従い外部の機器と通信を行う。
この第2実施形態も第1実施形態と同様の効果を奏することができる。
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これらの実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これらの実施形態やその変形は、発明の範囲や要旨に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。
1011~1044・・・2端子スイッチ素子、20~20・・・pチャネルトランジスタ、23~23・・・マルチプレクサ(選択回路)、24~24・・・インバータ、25~25・・・nチャネルトランジスタ、26~26・・・nチャネルトランジスタ、27~27・・・NANDゲート、28~28・・・インバータ、110・・・基本ブロック(基本タイル)、120・・・論理ブロック、120a~120g・・・論理ブロック、122・・・コンフィグレーションメモリ、124・・・ルックアップテーブル回路(LUT回路)、124~124・・・選択回路、124a~124a・・・インバータ、124b~124b・・・インバータ、124c~124c・・・インバータ、124d~124d・・・インバータ、124e11~124e18・・・インバータ、12511~125116・・・トランスファーゲート、12521~12528・・・トランスファーゲート、12531~12534・・・トランスファーゲート、12541~12542・・・トランスファーゲート、126・・・マルチプレクサ(選択回路)、127・・・フリップフロップ、128・・・マルチプレクサ(選択回路)、130・・・スイッチブロック、130a~130d・・・スイッチブロック、130x,130y・・・スイッチブロック、133~133・・・列配線、135~135・・・行配線、300・・・集積回路を含む回路、320・・・MPU、340・・・メモリ、360・・・インターフェイス、380・・・バス線

Claims (6)

  1. 論理情報を実現する論理回路と、前記論理回路に接続される配線の切り替えを可能にするスイッチ回路と、備えた集積回路であって、
    前記論理回路は、
    第1メモリと、
    前記第1メモリに記憶されたデータを入力信号に基づいて出力する第1出力端子を有するルックアップテーブル回路と、
    前記第1出力端子が接続される第1入力端子と、スキャン入力データを受ける第2入力端子と、第2出力端子と、を備え、スキャンイネーブル信号に基づいて前記第1入力端子および前記第2入力端子の一方を選択して前記第2出力端子に接続する第1選択回路と、 前記第2出力端子に接続される第3入力端子と、第3出力端子と、を備えたフリップフロップと、
    前記第3出力端子に接続される第4入力端子と、前記第1出力端子に接続される第5入力端子と、第4出力端子と、を備え、イネーブル信号に基づいて前記第4入力端子および前記第5入力端子の一方を選択して前記第4出力端子に接続する第2選択回路と、
    を備え、
    前記スイッチ回路は、前記第3出力端子および前記第4出力端子からの信号に応じて前記配線の接続の切り替えを行う、集積回路。
  2. 前記スイッチ回路は1回だけ書き込みが可能な第2メモリを備え、前記第2メモリに記憶されたデータを用いて前記配線の接続の切り替えを行う請求項1記載の集積回路。
  3. 前記第2メモリは、第1配線と、前記第1配線と交差する第2配線と、前記第1配線と前記第2配線との交差領域に配置され第1端子および第2端子を有するスイッチ素子であって前記第1端子が前記第1配線に接続され、前記第2端子が前記第2配線に接続されたスイッチ素子と、を備えた請求項記載の集積回路。
  4. 前記スイッチ素子は、アンチヒューズ素子または抵抗変化素子である請求項3記載の集積回路。
  5. 請求項1乃至4のいずれかに記載の集積回路がアレイ状に配置され、隣り合う論理回路のうちの一方の論理回路のフリップフロップの第3出力端子が他方の論理回路の第1選択回路の第2入力端子に接続された回路のテスト方法であって、
    前記論理回路のルックアップテーブル回路の真理値表と、前記集積回路の配置情報と、を用いて前記ルックアップテーブル回路の論理ゲート化を行うステップと、
    前記配置情報を用いてスキャンチェーンを形成するステップと、
    前記配置情報に基づいて自動テストパターン生成器からテストパターンを発生するステップと、
    前記集積回路のうち前記スキャンチェーンに含まれない集積回路における論理回路のフリップフロップに所定のデータを与える修正されたテストパターンを作成するステップと、
    スキャンイネーブル信号を用いて前記集積回路をスキャンモードにするステップと、
    スキャン入力データとして前記修正されたテストパターンを用いてテストを行うステップと、
    を備えたテスト方法。
  6. 請求項1乃至4のいずれかに記載の集積回路と、
    プログラムを記憶する第3メモリと、
    前記第3メモリに記憶されたプログラムにしたがって、前記集積回路に対して処理を実行するプロセッサと、
    を備えた電子機器。
JP2019166469A 2019-09-12 2019-09-12 集積回路およびそのテスト方法ならびに電子機器 Active JP7037528B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2019166469A JP7037528B2 (ja) 2019-09-12 2019-09-12 集積回路およびそのテスト方法ならびに電子機器
US16/816,528 US11115024B2 (en) 2019-09-12 2020-03-12 Integrated circuit, test method for testing integrated circuit, and electronic device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019166469A JP7037528B2 (ja) 2019-09-12 2019-09-12 集積回路およびそのテスト方法ならびに電子機器

Publications (2)

Publication Number Publication Date
JP2021044451A JP2021044451A (ja) 2021-03-18
JP7037528B2 true JP7037528B2 (ja) 2022-03-16

Family

ID=74864303

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019166469A Active JP7037528B2 (ja) 2019-09-12 2019-09-12 集積回路およびそのテスト方法ならびに電子機器

Country Status (2)

Country Link
US (1) US11115024B2 (ja)
JP (1) JP7037528B2 (ja)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003338751A (ja) 2002-05-21 2003-11-28 Nippon Telegr & Teleph Corp <Ntt> 再構成可能なハードウエア及びその診断方法
US20170373692A1 (en) 2016-06-23 2017-12-28 Xilinx, Inc. Circuit for and method of implementing a scan chain in programmable resources of an integrated circuit
JP2018037783A (ja) 2016-08-30 2018-03-08 株式会社東芝 集積回路および電子機器
JP2018082169A (ja) 2016-11-18 2018-05-24 ユー‐ブロックス アクチエンゲゼルシャフトU−Blox Ag 自己テスト可能な集積回路装置及び集積回路を自己テストする方法
JP2018537871A (ja) 2015-10-15 2018-12-20 マンタ Fpgaのテストおよび構成のためのシステムおよび方法

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5528600A (en) * 1991-01-28 1996-06-18 Actel Corporation Testability circuits for logic arrays
US5617021A (en) * 1992-07-23 1997-04-01 Xilinx, Inc. High speed post-programming net verification method
US5424655A (en) * 1994-05-20 1995-06-13 Quicklogic Corporation Programmable application specific integrated circuit employing antifuses and methods therefor
US5825201A (en) 1996-06-21 1998-10-20 Quicklogic Corporation Programming architecture for a programmable integrated circuit employing antifuses
US6476636B1 (en) * 2000-09-02 2002-11-05 Actel Corporation Tileable field-programmable gate array architecture
US6470485B1 (en) * 2000-10-18 2002-10-22 Lattice Semiconductor Corporation Scalable and parallel processing methods and structures for testing configurable interconnect network in FPGA device
US7437635B1 (en) * 2003-12-30 2008-10-14 Altera Corporation Testing hard-wired IP interface signals using a soft scan chain
EP2372379B1 (en) * 2010-03-26 2013-01-23 Imec Test access architecture for TSV-based 3D stacked ICS
WO2013164958A1 (en) * 2012-05-02 2013-11-07 Semiconductor Energy Laboratory Co., Ltd. Programmable logic device
GB2514392B (en) * 2013-05-22 2015-06-17 Khodor Ahmad Fawaz Methods for operating and configuring a reconfigurable processor
US10539617B2 (en) * 2016-06-02 2020-01-21 Taiwan Semiconductor Manufacturing Co., Ltd. Scan architecture for interconnect testing in 3D integrated circuits

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003338751A (ja) 2002-05-21 2003-11-28 Nippon Telegr & Teleph Corp <Ntt> 再構成可能なハードウエア及びその診断方法
JP2018537871A (ja) 2015-10-15 2018-12-20 マンタ Fpgaのテストおよび構成のためのシステムおよび方法
US20170373692A1 (en) 2016-06-23 2017-12-28 Xilinx, Inc. Circuit for and method of implementing a scan chain in programmable resources of an integrated circuit
JP2018037783A (ja) 2016-08-30 2018-03-08 株式会社東芝 集積回路および電子機器
JP2018082169A (ja) 2016-11-18 2018-05-24 ユー‐ブロックス アクチエンゲゼルシャフトU−Blox Ag 自己テスト可能な集積回路装置及び集積回路を自己テストする方法

Also Published As

Publication number Publication date
US11115024B2 (en) 2021-09-07
JP2021044451A (ja) 2021-03-18
US20210083672A1 (en) 2021-03-18

Similar Documents

Publication Publication Date Title
US7176713B2 (en) Integrated circuits with RAM and ROM fabrication options
US6800884B1 (en) Inter-tile buffer system for a field programmable gate array
US10347630B2 (en) Semiconductor chip using logic circuitry including complementary FETs for reverse engineering protection
EP1603240A2 (en) Switch methodology for mask-programmable logic devices
US8813013B2 (en) Partitioning designs to facilitate certification
US7426254B2 (en) Shift register comprising electrical fuse and related method
US7932745B2 (en) Inverting flip-flop for use in field programmable gate arrays
JP2012143000A (ja) プログラマブル・ゲートアレイ部を備えたマスクプログラマブル論理装置
US6774672B1 (en) Field-programmable gate array architecture
US20180062659A1 (en) Integrated circuit and electronic apparatus
US10585143B2 (en) Flip flop of a digital electronic chip
US6334208B1 (en) Method and apparatus for in-system programming with a status bit
US7417918B1 (en) Method and apparatus for configuring the operating speed of a programmable logic device through a self-timed reference circuit
JP7037528B2 (ja) 集積回路およびそのテスト方法ならびに電子機器
US20180212607A1 (en) Integrated circuit and electronic apparatus
JP2009507414A (ja) 半導体集積回路用論理モジュール
US8502555B1 (en) Method of and circuit for preventing the alteration of a stored data value
US8327199B1 (en) Integrated circuit with configurable test pins
US7196963B1 (en) Address isolation for user-defined configuration memory in programmable devices
US20150311898A1 (en) Spare gate cell for integrated circuit
US10924117B2 (en) Method for designing an FPGA
US10574214B1 (en) Circuit for and method of storing data in an integrated circuit device
JP3410811B2 (ja) フィールドプログラマブルゲートアレイ及び半導体集積回路
Palchaudhuri et al. Testable architecture design for programmable cellular automata on FPGA using run-time dynamically reconfigurable look-up tables
Lu et al. Testing and diagnosis techniques for LUT-based FPGA's

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210312

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20220113

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220114

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220120

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20220204

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220304

R151 Written notification of patent or utility model registration

Ref document number: 7037528

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151