JP2005348297A - フィールド・プログラマブル・ゲート・アレイ - Google Patents

フィールド・プログラマブル・ゲート・アレイ Download PDF

Info

Publication number
JP2005348297A
JP2005348297A JP2004168267A JP2004168267A JP2005348297A JP 2005348297 A JP2005348297 A JP 2005348297A JP 2004168267 A JP2004168267 A JP 2004168267A JP 2004168267 A JP2004168267 A JP 2004168267A JP 2005348297 A JP2005348297 A JP 2005348297A
Authority
JP
Japan
Prior art keywords
scan
signal
clab
data
output
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.)
Withdrawn
Application number
JP2004168267A
Other languages
English (en)
Inventor
Shogo Shibazaki
省吾 柴崎
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2004168267A priority Critical patent/JP2005348297A/ja
Publication of JP2005348297A publication Critical patent/JP2005348297A/ja
Withdrawn legal-status Critical Current

Links

Images

Landscapes

  • Tests Of Electronic Circuits (AREA)
  • Semiconductor Integrated Circuits (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)
  • Logic Circuits (AREA)

Abstract

【課題】本発明はそれぞれ設定データにより内部機能が決まる複数のセル・ロジック・アレイ・ブロック(CLAB)が各CLAB間の信号の接続を切り替えるスイッチにより接続されたフィールド・プログラマブル・ゲート・アレイに関し,フィールド・プログラマブル・ゲート・アレイについて評価を行う時に,合成及びマッピングの度にタイミングが異なることによる不安定な状態が設計ミスなのかマッピングによるものかを解析することができることを目的とする。
【解決手段】各CLABにスキャン切り替え信号,スキャン用データ信号及びスキャン用クロック信号の各信号を入力する端子と前記スキャン用信号により内部状態を保持するフリップフロップの状態を出力するスキャン出力信号の端子とを設け,複数のCLABのフリップフロップの出力を後続のCLABのスキャン用データ信号として予め決められた順に入力するよう構成する。
【選択図】図1

Description

本発明は,それぞれ設定データにより内部機能が決まる複数のCLAB(Cell Logic Array Block)と各CLAB間の信号線の接続路を切り替える複数のスイッチとで構成されて評価・チェックのためのデータ設定機能による不良箇所を検出可能なフィールド・プログラマブル・ゲート・アレイ(FPGA:Field Programable Gate Array) に関する。
フィールド・プログラマブル・ゲート・アレイ(以下,FPGAという)はROM等の外部からのデータ設定により内部の論理機能が決められ,複数のFPGAの論理機能を合成,マッピングする度に微妙にタイミングが異なり,評価機能毎に動作したり,しなかったりと,不安定な状態になることがあり,その問題が何処にあるのか解析するのに,かなりの時間を要する場合がある。
従来はFPGAのマッピング毎に実動作でエラーが出ると,その都度実配線のデータを利用し,実動作のタイミングや信号のデータをロジックアナライザ等で調べ,動作検証するパターンを作成する必要があり,実際の解析に時間を要していた。
具体例により以下に説明すると,最近のLSIの開発費用はかなり高価になってきており,数千万から一億程度の費用がかかる場合もある。そのため,LSIを作る前に動作確認をするため,論理シミュレーションが行われるが,回路規模も費用と同様に増加傾向にあり,ワークステーションレベルでシミュレーションするには時間がかかり過ぎ,またターゲットとなっている商品(FPGA)で正確に動作するかは,その商品をエミュレートする精度の問題となり,動作しない可能性も出てくる。
そこで近年では,動作評価を行う事を目的としてFPGAを作り,実際に動作させることで検証を行うことが少なくない。それは,実際のLSIと同速で動作させることが可能で,実際のLSI規模が搭載可能なFPGAがテクノロジの進歩により登場してきたことにより実現可能になったが,それによりFPGAの動作精度が問題となるケースが増えた。それは,FPGA特有のマッピング毎にデータ(回路)配置が変化する可能性が高く,それにより動作がマッピング毎に不安定になったりするからである。この問題点から,設定の問題なのかマッピングの問題なのかの解析に時間を要し,設計,検証の時間短縮の効率を損なってきた。
具体例により説明すると,図6はFPGAの内部構成例であり,FPGAの内部には複数のCLAB(セル・ロジック・アレイ・ブロック:Cell Logic Array Block) を複数個配列し,そのCLABの機能をNAND,AND等の論理回路に構成したり,FF(フリップフロップ)回路に構成することと,各CLAB間を相互に接続する各信号線上に図示省略(後述する図7に示す)されたスイッチ(SW)で構成され,このCLABとスイッチ(SW)の組み合わせにより,回路(設計データ)が作られる。なお,図6に示すCLAB−A,CLAB−B,……,CLAB−Fのそれぞれは,上部と左部を入力信号とし,下部と右部を出力信号とし,細線は配線で,クロスしている所に全てスイッチ(SW)が存在しており,CLAB間の信号伝達に使用され,クロス部分をショートさせることで信号のパスを作成する。
図7はスイッチの接続構成例を示し,上記図6の各CLAB間の信号線上に設けられている。図7において90はスイッチ(SW),91は記憶素子で構成された設定信号記憶部,S1〜S6は設定信号記憶部91によりオン/オフされるスイッチ素子である。設定信号によりS1〜S6を選択的にオンにすることで,各種の接続が可能となり,例えば,S1をオンにすると,左の信号線と上の信号線が接続され,S1とS4をオンにすると,左の信号線と上の信号線の接続と下の信号線と右の信号線の接続ができる。また,S1,S5及びS2をオンにすると,左の信号線を上,右及び下の3つの信号線と接続することができる。
図8はCLABの内部構成例を示し,図9は図8のCLABにより構成できるセルアレイの例を示す。図8において,80はCLAB,81は外部から入力される設定信号を記憶するためのSRAM,FLASH,FRAM,MRAM等の記憶素子が内蔵された設定信号記憶部であり,その記憶素子に設定されたデータによりCLABの機能が設定される。82は第1のセレクタとマルチプレクサ群,83はFF(フリップフロップ),84は第2のセレクタとマルチプレクサ群,85は組み合わせ回路生成部,86は第3のセレクタとマルチプレクサである。
第1〜第3のセレクタとマルチプレクサ群82,84,86は,各入力をどの端子に入れるかをセレクトする機能とどの信号出力をどの端子に入力されるかを決める。
例えば,第1のセレクタとマルチプレクサ群82で入力端子の一つをFF83のD端子に入力し,その出力Qの信号を第2のセレクタとマルチプレクサ群84によって組み合わせ回路生成部85に入力するようにし,組み合わせ回路生成部85を2入力ANDとした場合,一つの入力が第2のセレクタとマルチプレクサ群84により選択されたQの出力,もう一つを第1のセレクタとマルチプレクサ群82から出力される他の入力端子の信号とし,その出力を第3のセレクタとマルチプレクサ群86によって出力端子のどこかに出力されるようにすると,図9に示すような回路として機能するセルアレイとなる。
複数のCLABを組み合わせるよう設定することで,各種の機能回路が実現され,その具体例を図10,図11に示す。図10は2ビットカウンタの例であり,図11はエッジ検出回路の例であり,両図において,A.はFPGAの構成,B.は設計回路を示す。
図10と図11の何れもCLAB−AとCLAB−BをFF(フリップフロップ)とし,CLAB−CをXOR(排他的論理和回路)して設定しているが,FFとFFの間のスイッチ(SW)及びXORと接続するスイッチ(SW)の設定により,図10のような2ビットカウンタを構成したり,図11のようなエッジ検出回路を構成したりし,これがFPGAのマッピングと言われる。
このように,FPGAはマッピングにより様々な回路(設計データ)に変化するものであるが,各配線やスイッチ(SW)等の製造的バラツキや配置による信号の遅延(配置された距離等により信号の通る経路が長くなり遅延する)があったりするため,同一の設計データでもマッピングによっては性能が変わったりする(遅延によるもの)。そのため,タイミングがズレて正常な動作をしなくなったりする可能性がある。
上記図10,図11の例によれば,CLAB−A,CLAB−CをFF(フリップフロップ)に,CLAB−BをXORにすることも可能な為,それに伴うスイッチ(SW)のポイントが異なるため,上記した回路(カウンタやエッジ検出回路)と後述の(エッジ検出回路とカウンタ)とで性能が異なることになる。
ここで,問題となるのはFF−FF間の遅延であり,上記した図10のカウンタを例にとると,XOR(CLAB−C)の出力が次段のFF(CLAB−B)の入力になっている個所の遅延によっては正常な動作をしない場合が出てくる。これを図12に示すカウンタのタイミングチャートにより示す。
図12の上段のA.に示すa〜fは正常動作を示し,下段のB.に示すa’〜f’及びg’は遅延が生じた場合の異常動作を示す。正常動作の場合,aに示すクロックに対し,1段目のCLAB−AのFFのQ出力はbに示すように奇数番目のクロックで立上り,偶数番目のクロックで立下る動作を繰り返して,その出力がXORの入力1となる。2段目のCLAB−Bはfのような出力が発生して,その出力がXORの入力2となり,XORの出力はeのように,第1,第2のクロック期間は“H”(高レベル)で,第3,第4のクロック期間は“L”(低レベル)になることを繰り返す。
これに対し,図12の下段の場合,1段目のCLAB−AのFFのQ出力がXORの入力1として供給される時に,c’に示すように遅延により1クロック以上遅れた場合,2段目のCLAB−BのFFのQ出力が図12のf’に示す波形であるため,その信号がd’に示すXORの入力2となるため,XORの出力は,e’に示すように,上記正常動作の場合のXORの波形であるeとは全く異なってしまう。なお,図12のg’は,遅延がクロックと同一タイミングになった場合であり,この場合はどのように動作するか不明となり,これが,解析を難航させる原因となる。
従来の技術として,回路修正用のためだけに使用するスペアセル(フリップフロップ)を備えた半導体集積回路のテストパターンでテストするための回路と修正方法がある(特許文献1参照)。その構成を従来例の説明図として図13に示す。図中,92,93は組合せ回路,94,96はマルチプレクサ,95は回路修正用セルであるFF(フリップフロップ)またはスキャンセルと呼ばれる。マルチプレクサ94はスキャンイネーブル信号の“0”,“1”に応じて入力端子0,1を選択し,その出力はFF95で保持される。マルチプレクサ96はスキャンモード信号の“0”,“1”に応じて入力端子0,1を選択する。図13に示す構成において,マルチプレクサ96へ供給するスキャンモード信号を“0”とする通常動作時の場合は,マルチプレクサ96は組合せ回路92からの出力を選択し,スキャンモード信号を“1”とするテストモード動作時には,マルチプレクサ96からはFF95からの出力が選択される。
テスト動作時には,マルチプレクサ94へ供給するスキャンイネーブル信号を“0”にすると,マルチプレクサ94は組合せ回路92からの出力を選択出力し,その間にクロック信号を立ち上げることにより,組合せ回路92からの出力がFF95に保持され,マルチプレクサ96を通して組み合わせ回路93に入力されると共に,スキャンアウト信号として出力される。テスト動作時に,スキャンイネーブル信号を“1”にすると,マルチプレクサ94はスキャンイン信号(前段のスキャンセルからの出力)がスキャンセルのFF95には前段のスキャンセルからの出力が順次シフトされ,その出力はマルチプレクサ96を介して組み合わせ回路93に入力されると共にスキャンアウト信号として順次出力される。
特開2001−185622号公報
上記の図6〜図12に示すFPGAのデータ設定により回路を構成した場合,タイミング動作の各部の動きをチェックすることが困難であった。そのために,上記特許文献1に記載の技術では回路修正用のために使用するスペアセルを備えた集積回路に対するテストを行うための技術であり,回路修正用のスペアセルを備えないFPGAにより設定した回路においてフリップフロップのデータを随時に読み書きして内部の状態を解析することができなかった。
本発明は,回路修正用のスペアセルを備えないFPGAについて評価を行う時,合成及びマッピングの度にタイミングが異なることによる不安定な状態が設計ミスなのかマッピングによるものかを解析することができるFPGAを提供することを目的とする。
図1は本発明の原理構成を示す図である。図中,1はFPGAを構成する複数のセル・ロジック・アレイ・ブロック(以下,CLABという)の中の一つのCLABであり,10はCLABの機能(合計・マッピング)を設定する設定信号記憶部,11は内部にセレクタやマルチプレクサを含み設定信号記憶部10により論理機能が設定されるセレクタとマルチプレクサ群,11a,11bはスキャン切り替え信号により制御されるセレクタ,12はフリップフロップ(FF),20aはデータ信号,20bはクロック信号,21は通常の出力信号,22はスキャン用信号であり,22aはスキャン用データ信号,22bはスキャン用クロック信号,22cはスキャン切り替え信号,23はスキャン用出力信号である。なお,図1には1個のCLABだけ示すが,FPGAはそれぞれ設定信号により論理構成が規定される多数のCLAB1から成り,複数のCLABは設定データにより制御されるスイッチにより接続される。なお,図1に示すCLAB1には1つのセレクタとマルチプレクサ群11だけ示すが,実際には図示省略されているが複数のセレクタとマルチプレクサ群が設けられる。
図1において,通常の入力信号であるデータ信号20aとクロック信号20bの信号線やスキャン用の入力信号22a〜22cの信号線は何れも隣接する他のCLABの信号線とスイッチにより相互接続され,出力信号21の信号線とスキャン用出力信号23の信号線も隣接するCLABの信号線とスイッチにより相互接続される。
CLAB1は設定信号記憶部10に設定された信号によりセレクタとマルチプレクサ群11の内部のセレクタ及びマルチプレクサ群が切り替えられ,設定された論理機構が構成され,スキャン切り替え信号22cが通常動作を表す信号であるためセレクタ11a,11bは,それぞれス通常の入力信号であるデータ信号20a,クロック信号20bを選択し,論理動作を行ってFF12へ入力し,その出力は出力端子21から出力され,更にスイッチ(図示省略)を介して他のCLABへ入力して,複数のCLABを組み合わせた出力が最終のCLABから発生する。
このCLAB1のFF12に対し特定のデータを設定し,その設定状態を検出したい場合,スキャン切り替え信号22cとしてパス切り替えの信号を供給し,スキャン用データ信号22aに設定したいデータを供給し,スキャン用クロック信号22bにスキャン用クロック信号を供給すると,セレクタとマルチプレクサ群11の内部のセレクタ11a,11bによりスキャン用データとスキャン用クロックが選択され,それぞれFF12のデータ入力端子(Dで表示)とクロック入力端子(CKで表示)に入力され,スキャン用データが設定される。このFF12の出力(端子Qの出力)はスキャン用出力信号23として発生する。このスキャン用出力信号23から出力されたデータは,次(後段)のCLABへのスキャン用データ入力として供給される。
スキャン切り替え信号22cと,スキャン用クロック信号22bは,FPGA内の複数の各CLABに対して並列に供給され,スキャン用データ入力は先頭のCLABのFFからスキャン用出力信号23として出力され,この出力データを予め特定のパターンで接続した後段のCLABのスキャン用データ入力に供給して,以下同様に特定のパターンで接続したチェーン(スキャンチェーンという)でスキャン用データ入力とスキャン用データ出力が順番に接続され,クロック入力に応じて先頭のCLABのFFに入力されたデータは順番にシフトされ,最後段のCLABのFFからシフトデータが外部に出力される。
本発明によれば,FPGAを構成する複数のセル・ロジック・アレイ・ブロック(CLAB)の各CLAB内のフリップフロップ(FF)の入力,出力をある特定のパターンで接続したチェーンを設け,外部からの信号で通常回路接続とスキャン用のチェーン接続を切り替え内部の信号を読み取ったり書き換えたりすることができる構成と,それらのスキャン信号を含むCLABを配線するためのスイッチを設けることで解析時間を短縮することが可能になる。
図2は実施例のCLABの構成例である。図中,1はCLAB,10は設定信号記憶部,11’は第1のセレクタとマルチプレクサ群(図1の11に対応),12はフリップフロップ(FF)である。20は通常の入力信号が供給される入力端子,21は通常の出力信号が発生する出力端子,22はスキャン用信号であり,22aはスキャン用データ信号,22bはスキャン用クロック信号,22cはスキャン切り替え信号,23はスキャン用出力信号である。そして,CLAB内の13は第2のセレクタとマルチプレクサ群,14は組み合わせ回路生成部,15は第3のセレクタとマルチプレクサ群であり,13〜15の各部は設定信号記憶部10に設定された内容に従って,内部構成が規定される。なお,図2には,上記図1と同様に1個のCLABだけ示すが,FPGAはそれぞれ設定信号により論理構成が規定される多数のCLAB1から成り,複数のCLABは設定データにより制御されるスイッチにより接続される。
このCLAB1は,通常は設定信号記憶部10の設定データに従って,第1〜第3のセレクタとマルチプレクサ群11’,13,15の論理構成及び組み合わせ回路生成部14の回路構成が規定され,スキャン切り替え信号22cが,スキャンパスを形成するよう切り替える信号を発生していない場合,CLAB1の第1のセレクタとマルチプレクサ群11’の内部のセレクタ11a,11bは通常の入力端子20からのデータ信号,クロック信号を選択し,図示省略された論理動作を実行し,FF12のデータ端子(Dで表示)にクロック(CKで表示)端子に供給されるクロック信号に同期して設定されるか,またはFF12の“1”設定端子(PRで表示)または“0”設定端子(CRで表示)に入力される信号により“1”または“0”に設定される。FF12の出力は第2のセレクタとマルチプレクサ群13に入力され設定信号記憶部10の設定信号により論理動作が設定され,第2のセレクタとマルチプレクサ群13の出力の一部は組み合わせ回路生成部14へ入力されて,設定信号記憶部10の設定信号により決まる組み合わせ回路による論理動作が行われ,この組み合わせ回路生成部14の出力及び第2のセレクタとマルチプレクサ群13の一部の出力と共に第3のセレクタとマルチプレクサ群15に入力されて,設定信号記憶部10の設定信号による論理動作が実行される。
スキャン動作を行う場合,スキャン切り替え信号22cを駆動状態の信号(切り替え状態の信号)にすると,セレクタ11a,11bはスキャン用データ信号とクロック信号を選択して内部(図示省略)の論理動作が実行されてFF12に設定される。この場合,FF12へのPR端子とCR端子への入力をマスクするようになっている。FF12の端子Qの出力はスキャン用出力信号23として出力される。この出力は次段のCLABのスキャン用データ信号(図2の22aに相当)として入力され,最終段のCLABの場合にはFPGAのスキャン出力信号を発生する。
FPGA内に複数のCLABを含む場合,各CLABの接続経路を形成するスイッチの数(クロスポイントを構成する数:配線の数)を増やしてスキャン用の接続を確保することにより,1つのCLABのフリップフロップ(FF)から次段のCLABのフリップフロップ,更に次段のフリップフロップという複数のフリップフロップにより形成されるシフトレジスタを,スキャン切り替え信号1つで瞬時に形成することができる。このシフトレジスタの端にあたるCLABへの入力データ信号と出力データ信号及び全CLABに入力されている1本のスキャン切り替え信号と,クロック信号(CK)の4本で内部の状態を読み取ると,書き換えることが可能になる。
図3はスキャン用の接続路(パス)と通常の信号の経路を示す。この例は,エッジ検出回路における例であり,スキャン用の接続路が予め埋め込まれたエッジ検出回路のFPGAは上記図11に示され(実際は図11にはCLAB−G,CLAB−Hが図示省略されている),エッジ検出回路はCLAB−A,CLAB−B及びCLAB−Cの3つの回路を実線により相互接続し,各CLABの内部は上記図11のB.に示す構成を備え,エッジ検出出力はCLAB−Cから出力される。このFPGAに対し,スキャン用信号(データ,クロック),スキャン切り替え信号が供給されることにより,各CLAB内のFFの信号が,エッジ検出回路に全く影響を受けることなく,CLAB−Bから順にスキャン回路の出力が発生する。この場合,FPGAに埋め込まれた図3の太線で示すスキャン用の接続路(パス)を介してCLAB−B,CLAB−D,CLAB−F,CLAB−H,CLAB−G,CLAB−E,CLAB−C,CLAB−Aの順に,各CLAB内のFFの内容が出力される。
この例では,ユーザ回路が,CLAB−A,CLAB−B及びCLAB−Cで構成されているが,これらがCLAB−C〜CLAB−E等で構成されても,スキャンの接続は変化しない。従って,常にFFが読み出される順番が固定であり,1番目,7番目,8番目のスキャン出力データがユーザ回路で使用されているCLAB−B,CLAB−C,CLAB−AのFFの内容であることが分かる。これにより,FPGAの内部のデータの何処に何があるかが判別可能となる。
図4はスキャン用の接続により形成されたシフトレジスタの構成を示す。図中,FF1〜FF4は複数のCLABに分散して配置されたフリップフロップであり,スキャン切り替え信号を信号22cに供給することで,瞬時にこのFF1〜FF4のシフトレジスタの接続が形成される。先頭のフリップフロップであるFF1のスキャン用データ信号22aに,スキャン用データ信号が入力され,後段のフリップフロップFF2〜FF4のスキャン用データの入力はそれぞれ前段の出力信号が供給されているため,各CLABのフリップフロップに並列に供給されるスキャン用クロック信号22bのクロックが入力される度に,FF1へ供給されたスキャン用データが順次FF2〜FF4内をシフトして出力される。
これが,論理データ(設計データ)に応じたスキャンチェーンの方法であり,スキャン用の信号線(データ,クロック,スキャンパス切り替え信号)の数に対応して複数のCLAB間のスイッチ数を増やすことでスキャンパスを形成することができる。この方法の他に,予めCLAB同士を接続した固定の方法が考えられ,それはスイッチの数は増えず,専用の内部配線(ユーザでは変更できない配線)でスキャンパスを形成する方法である。
図5は内部データチェック時の外部回路との関係を示す図である。図5のA.及びB.において,4は上記図3のように複数のCLABが設定データにより決められた論理機能を実行するFPGAであり,内部には複数のCLAB間を接続する各種信号線及び本発明によるスキャンパスが設けられている。22a〜22c及び23は上記図1及び図2の同一符号と同じであり,22aはスキャン用データ(SCAN用D)信号,22bはスキャン用クロック(SCAN用CK)信号,22cはスキャン(SCAN)切り替え信号,23はスキャン用出力(SCAN用Q出力)信号である。22a〜22c及び23の各信号は外部回路として例えば,パソコンのバスと接続されている。
図5のA.の場合は,FPGA4はスキャン切り替え信号22c及びスキャン用クロック信号22bが外部から入力されると,スキャン用出力信号23からクロック入力毎に順次読み出される。この読み出した信号が外部回路に供給されると共に,スキャン用データ信号22aとして折り返し入力される。これにより,読み出したデータがFPGA4内に入力されて,FPGA4内の各FFは元のデータの状態に戻され,引き続き動作させることができる。但し,スキャン用クロック信号をシフトレジスタを構成する内部のFFの個数分だけ入力して各フリップフロップの全てのデータを読み出す必要がある。
図5のB.の場合は,FPGA4に対してスキャン切り替え信号22c及びスキャン用クロック信号22b及びスキャン用データ信号22aを入力することで,FPGA4から内部のFFの状態をスキャン用出力信号23として読み出し,読み出し信号を一旦,外部のパソコン等に保存する。そのデータを書き換えてFPGA4にスキャン用データ信号22aとしてシフト入力させることで,特定(任意)のデータをFFに書き込むことができる。
図5に示すように,パソコン等の外部回路でデータを読み出すことで内部状態が分かるため,そのデータをシミュレータに入れ,FPGA4と同一のフリップフロップ(FF)に値をセットすることでFPGAと同じ状態にシミュレーションを設定することにより,その続きをシミュレータで検証または解析することができる。
本発明によるFPGAの動作中にスキャン切り替えにより内部の特定のFFの値を変えることで,エラーになったフリップフロップ(FF)またはエラーと推定できるフリップフロップ(FF)の動作を確認することができる。
また,FPGAの物理的な配置を行ってFPGAを生成するマッピングする際に使用する論理データ(ネットリスト),またはマッピングした後の論理データに,読み出した内部フリップフロップ(FF)の状態を読み取ったデータを利用し論理シミュレータに載せる(実際のFFの値をシミュレータ内のFFの値にする)ことで現在動作している状態を作り出すことが可能なシミュレータ(内部の状態の続きをシミュレーション可能)に利用することができる。
また,シミュレータにおいて,FPGAのデータとシミュレータ間でデータの比較を行って,一致,不一致を判別して結果を表示することでFPGAの評価・チェックを行うことができる。すなわち,シミュレーション結果と現在動作中のFPGAのデータを比較することでエラーとなっているフリップフロップ(FF)を特定し,問題となっている内部ノードを見つける手助けとなる。
本発明の原理構成を示す図である。 実施例のCLABの構成例を示す図である。 スキャン用の接続路と通常の信号の経路を示す図である。 スキャン用の接続により形成されたシフトレジスタの構成を示す図である。 内部データチェック時の外部回路との関係を示す図である。 FPGAの内部構成例を示す図である。 スイッチの接続構成例を示す図である。 CLABの内部構成例を示す図である。 図8のCLABにより構成できるセルアレイの例を示す図である。 CLABを組み合わせて実現する2ビットカウンタの例を示す図である。 CLABを組み合わせて実現するエッジ検出回路の例を示す図である。 カウンタのタイミングチャートを示す図である。 従来例の説明図である。
符号の説明
1 CLAB
10 設定信号記憶部
11 セレクタとマルチプレクサ群
11a セレクタ(SEL)
11b セレクタ(SEL)
12 フリップフロップ(FF)
20a データ信号
20b クロック信号
21 通常の出力信号
22a スキャン用データ信号
22b スキャン用クロック信号
22c スキャン切り替え信号
23 スキャン用出力信号

Claims (5)

  1. それぞれ設定データにより内部機能が決まる複数のセル・ロジック・アレイ・ブロック(CLAB)と各CLAB間の信号線の接続路を切り替える複数のスイッチとで構成されるフィールド・プログラマブル・ゲート・アレイであって,
    前記各CLABにスキャン切り替え信号,スキャン用データ信号及びスキャン用クロック信号の各信号を入力する端子と前記スキャン用信号により内部状態を保持するフリップフロップの状態を出力するスキャン用出力信号の端子とを設け,
    前記複数のCLABのフリップフロップの出力を後続のCLABのスキャン用データ信号として予め決められた順に入力することを特徴とするフィールド・プログラマブル・ゲート・アレイ。
  2. 請求項1において,
    前記スキャン切り替え信号を前記フィールド・プログラマブル・ゲート・アレイ内の各CLABに供給することにより,各CLAB内の全てのフリップフロップはシフトレジスタ形式に接続路を形成することを特徴とするフィールド・プログラマブル・ゲート・アレイ。
  3. 請求項1において,
    スキャン用データ信号が入力される先頭CLABから予め設定されたスキャン用の接続路を介して各CLABのフリップフロップを順番にシフトして終端のCLABのスキャン用出力信号を外部に出力することにより,外部からフィールド・プログラマブル・ゲート・アレイの内部状態を評価可能とすることを特徴とするフィールド・プログラマブル・ゲート・アレイ。
  4. 請求項1において,
    前記各セル・ロジック・アレイ・ブロック内には,スキャン用データ信号と通常のデータ信号の一方を選択する第1のセレクタと,スキャン用クロック信号と通常のクロック信号の一方を選択する第2のセレクタとを備え,各セレクタはスキャン切り替え信号によりスキャン動作か否かの一方を選択し,前記第1のセレクタから出力されたデータ信号を前記第2のセレクタから出力されたクロック信号に同期して前記フリップフロップにセットすることを特徴とするフィールド・プログラマブル・ゲート・アレイ。
  5. 請求項1において,
    前記スキャン出力信号の端子を前記スキャン用データ信号の入力端子と接続し,前記スキャン切り替え信号を入力してから前記スキャン用クロック信号を所定個数供給することにより,前記複数のCLABの各フリップフロップの状態を元の状態に入れ替えることを特徴とするフィールド・プログラマブル・ゲート・アレイ。
JP2004168267A 2004-06-07 2004-06-07 フィールド・プログラマブル・ゲート・アレイ Withdrawn JP2005348297A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004168267A JP2005348297A (ja) 2004-06-07 2004-06-07 フィールド・プログラマブル・ゲート・アレイ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004168267A JP2005348297A (ja) 2004-06-07 2004-06-07 フィールド・プログラマブル・ゲート・アレイ

Publications (1)

Publication Number Publication Date
JP2005348297A true JP2005348297A (ja) 2005-12-15

Family

ID=35500214

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004168267A Withdrawn JP2005348297A (ja) 2004-06-07 2004-06-07 フィールド・プログラマブル・ゲート・アレイ

Country Status (1)

Country Link
JP (1) JP2005348297A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012204898A (ja) * 2011-03-24 2012-10-22 Nec Corp Fpga、fpgaを用いた回路再構成システム、方法およびプログラム
CN104181836A (zh) * 2014-05-30 2014-12-03 北京华力创通科技股份有限公司 信号切换装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012204898A (ja) * 2011-03-24 2012-10-22 Nec Corp Fpga、fpgaを用いた回路再構成システム、方法およびプログラム
CN104181836A (zh) * 2014-05-30 2014-12-03 北京华力创通科技股份有限公司 信号切换装置

Similar Documents

Publication Publication Date Title
US6701491B1 (en) Input/output probing apparatus and input/output probing method using the same, and mixed emulation/simulation method based on it
JP4179827B2 (ja) メモリのテスト回路
KR20060003063A (ko) SoC를 위한 재구성가능 조직
JP2010256130A (ja) 半導体集積回路、および半導体集積回路のテスト方法
JP2005332555A (ja) テスト回路、テスト方法、及び半導体集積回路装置
JP3785388B2 (ja) 故障検出方法
US7315479B2 (en) Redundant memory incorporating serially-connected relief information storage
JP4242741B2 (ja) デバッグ用信号処理回路
JP4315775B2 (ja) 半導体集積回路装置
JP2005348297A (ja) フィールド・プログラマブル・ゲート・アレイ
US7716549B2 (en) Semiconductor apparatus and testing method
JP4773791B2 (ja) 半導体記憶装置、およびメモリテスト回路
JP4388641B2 (ja) 集積回路の試験装置
JPH06102327A (ja) メモリ内蔵型半導体集積回路およびその論理設計方法
JP2008310792A (ja) テスト回路
JP2006139908A (ja) 多様なパターンデータが書き込み可能な半導体メモリ素子およびその電気的検査方法
JP2006277821A (ja) 半導体集積回路
JP5625241B2 (ja) 半導体装置及びその試験方法
Singh Performance Analysis of March M & B Algorithms for Memory Built-In Self-Test (BIST)
JPS61217839A (ja) スキヤン方式
JP4526985B2 (ja) テストシステム
JP4836724B2 (ja) 位相調整回路およびテスト装置
JPWO2008120389A1 (ja) メモリテスト回路、半導体集積回路およびメモリテスト方法
JP2006004509A (ja) 半導体集積回路およびハードマクロ回路
KR100345673B1 (ko) 자기 진단 가능한 집적 회로

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20070807