JP2001084787A - 不揮発性記憶装置の書き換え回路,不揮発性記憶装置の書き換え方法およびスキャンレジスタ - Google Patents

不揮発性記憶装置の書き換え回路,不揮発性記憶装置の書き換え方法およびスキャンレジスタ

Info

Publication number
JP2001084787A
JP2001084787A JP25575099A JP25575099A JP2001084787A JP 2001084787 A JP2001084787 A JP 2001084787A JP 25575099 A JP25575099 A JP 25575099A JP 25575099 A JP25575099 A JP 25575099A JP 2001084787 A JP2001084787 A JP 2001084787A
Authority
JP
Japan
Prior art keywords
register
scan
data
code
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.)
Pending
Application number
JP25575099A
Other languages
English (en)
Inventor
Shozo Tomita
省三 冨田
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.)
Oki Electric Industry Co Ltd
Original Assignee
Oki Electric Industry Co 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 Oki Electric Industry Co Ltd filed Critical Oki Electric Industry Co Ltd
Priority to JP25575099A priority Critical patent/JP2001084787A/ja
Priority to US09/605,760 priority patent/US6324096B1/en
Publication of JP2001084787A publication Critical patent/JP2001084787A/ja
Priority to US09/953,166 priority patent/US6442092B1/en
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • G11C16/102External programming circuits, e.g. EPROM programmers; In-circuit programming or reprogramming; EPROM emulators
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C8/00Arrangements for selecting an address in a digital store
    • G11C8/04Arrangements for selecting an address in a digital store using a sequential addressing device, e.g. shift register, counter
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2216/00Indexing scheme relating to G11C16/00 and subgroups, for features not directly covered by these groups
    • G11C2216/12Reading and writing aspects of erasable programmable read-only memories
    • G11C2216/30Reduction of number of input/output pins by using a serial interface to transmit or receive addresses or data, i.e. serial access memory

Landscapes

  • Engineering & Computer Science (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)
  • Tests Of Electronic Circuits (AREA)
  • Read Only Memory (AREA)

Abstract

(57)【要約】 (修正有) 【課題】 オンボード書き換えが可能,かつ外部装置の
使い分けが不要,さらにアクセス速度が速いこと。 【解決手段】 書き換え回路100は,レジスタブロッ
ク102とTAP回路104とデコーダ回路106とを
備えている。レジスタブロック102は,スキャン用と
してSECADRレジスタ,DRレジスタ,FCRレジ
スタと,SCBNレジスタと,Captureデータに
フラッシュメモリに関する所定のパラメータのコードが
含まれているPRFレジスタとを備えている。TAP回
路104は,スキャン用としてIRレジスタとBPレジ
スタとSCNレジスタとTAPコントローラとを備えて
いる。デコーダ回路106は,SCNレジスタのUpd
ateデータをデコード出力信号S7として出力しレジ
スタブロック102を選択する。かかる書き換え回路1
00において,各スキャンレジスタの入力端子は,TD
I端子に共通に接続されている。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は,不揮発性記憶装置
の書き換え回路,不揮発性記憶装置の書き換え方法およ
びスキャンレジスタに関する。
【0002】
【従来の技術】近年においては,マイクロコントローラ
を様々なペリフェラル機能と共に混載し,いわゆるシス
テムLSIを構成することが当たり前になってきてい
る。かかる状況において,EEPROMやFlashR
OM等の電気的に記憶データの消去および書き換えが可
能な不揮発性記憶装置(nonvolatile me
mory)は,現在のシステムLSIの基本的な技術要
素となっている。以下,この種の不揮発性記憶装置の代
表として,フラッシュメモリを例に挙げて説明する。
【0003】フラッシュメモリは,電源を切っても記憶
データが消失せず,電源を再投入すれば以前の記憶デー
タを保持しつつそのまま動作し,かつ電気的に記憶デー
タを消去およびプログラミングすることができる。かか
るフラッシュメモリは,一般に,マイクロコントローラ
のプログラムコードの記憶デバイスないし,マイクロコ
ントローラが一時的に読み出しかつ書き込むパラメータ
の記憶デバイスとして,マイクロコントローラチップに
混載される。
【0004】一般に,システムLSIには,短い製品T
AT(Turn−Around−Time)が要求され
る。また,通常,フラッシュメモリの記憶データ(プロ
グラムコードおよびデータ。以下,「プログラムデー
タ」という。)は,大規模なものとなる。したがって,
システムLSIには,ソフトウェアの設計段階ないし製
品が市場に出ている間に生じる設計仕様の変化等に対応
するために,オンボード書き換え機能が必須となってき
ている。ここで,オンボード書き換え機能とは,ユーザ
システムのプリント基板上にシステムLSIを搭載した
ままフラッシュメモリのプログラムデータの書き換えを
実施することができる機能をいう。
【0005】従来は,使用端子の節約のために,プログ
ラム書き換えに用いるシステムLSIと外部とのインタ
フェースには,もっぱらシリアルデータ転送方式が用い
られており,各LSI製造メーカにより相互に異なる様
々なインタフェース回路および転送プロトコルが用いら
れている。
【0006】一方,プリント基板上に様々なLSIを搭
載した状態の製品,即ちオンボード状態での製品の基板
検査試験には,従来JTAG技術が用いられている。こ
れは,ユーザシステムを構成するLSIに,LSI内部
の本来の機能とは別に,各端子信号毎の入出力信号の論
理レベルを設定および検知できる,“IEEE st
d.1149.1”の「IEEE Standard
Test AccessPort and Bound
ary−Scan Architecture」および
「Joint Test Action Group
JTAG Ver sion 2.0」のプロトコルに
記載されるところのバウンダリスキャン回路およびTe
st Access Port(以下,「TAP」とい
う。)を持たせるものである。かかるJTAG技術を用
いた基板検査試験では,プリント基板に搭載されたLS
Iのそれぞれのバウンダリスキャン回路を連続して接続
することにより1本のバウンダリスキャンチェインが構
成され,TAPを介して個々のLSIの信号端子の相互
接続テストが実行される。
【0007】最近のシステムLSIには,バウンダリス
キャンチェインとは別に,他のスキャンチェインとし
て,マイクロコントローラコア(以下,「MCUコア」
という。)のプログラムデバッグ機能回路のスキャンチ
ェインを備えたものがある。かかる構成のシステムLS
Iでは,システムLSIに搭載されるMCUコアのプロ
グラムデバッグ機能のためのインタフェース手段に対し
ても,JTAG技術が用いられている。
【0008】以上説明した状況に鑑みれば,システムL
SIに内蔵されるフラッシュメモリの書き換えのための
データ転送手段にJTAG技術を用いることができ,か
つ1つのTAP回路でデバッグ機能とフラッシュメモリ
の書き換え機能とを制御することができる構成が要請さ
れる。かかる構成が実現されれば,プログラムの開発時
に,TAPにデバッグ装置および端末装置を接続するだ
けで,特別な配線もしくは特別な装置を設けることなく
プログラムのデバッグおよびフラッシュメモリのデータ
書き換えが同じ環境で実行可能となるためである。
【0009】さらに,かかる構成が実現できれば,1つ
のTAP回路デバッグ機能とフラッシュメモリの書き換
え機能とを制御することができるため,1つのインタフ
ェースに専用のフラッシュメモリ書き換え装置を接続す
ることにより,市場でのプログラムデータの書き換えが
可能となる。さらにまた,かかる構成が実現できれば,
1つのTAP回路でシステムLSIのバウンダリスキャ
ン回路も操作できるため,ユーザシステムのプリント基
板検査工程におけるフラッシュメモリのプログラムデー
タ書き換えが可能となり,ユーザシステムのコスト削減
に寄与することができる。
【0010】例えば,従来のJTAG技術を用いたフラ
ッシュメモリのデータ書き換え回路には,図24に示す
データ書き換え回路600がある。以下,図24のデー
タ書き換え回路600を例に挙げて,従来のデータ書き
換え回路について説明する。図24は,同一LSIに内
蔵されるフラッシュメモリ650およびフラッシュメモ
リ650に対する書き換え回路600を示すものであ
る。
【0011】図24に示すフラッシュメモリ650は,
不揮発記憶型のメモリセルアレイ,行アドレスデコー
ダ,セクタバッファ,列アドレスデコーダ等を備えてい
る。かかるフラッシュメモリ650のデータ書き換えに
は,アドレス信号S11,読み出しデータ信号S12,
書き込みデータ信号S13および制御信号S14が必要
である。
【0012】図24に示すように,書き換え回路600
は,基本構成として,フラッシュメモリ書き換えのため
の制御回路であるレジスタブロック602と,TAP回
路604とを,備えている。
【0013】レジスタブロック602は,アドレス信号
S11と書き込みデータ信号S13と制御信号S14と
を生成しおよび読み出しデータ信号S12を検知する。
かかるレジスタブロック602は,それぞれがスキャン
レジスタとしての機能を持つアドレスデータレジスタ
(以下,「ADDRレジスタ」という。)614とデー
タレジスタ(以下,「DRレジスタ」という。)616
と制御レジスタ618とを備えている。
【0014】レジスタブロック602において,ADD
Rレジスタ614は,アドレス信号S11が設定される
スキャンレジスタである。また,DRレジスタ616
は,フラッシュメモリ650の読み出しデータ信号S1
2を検知し,かつフラッシュメモリ650のセクタバッ
ファに対する書き込みデータ信号S13が設定されるス
キャンレジスタである。さらに,制御レジスタ618
は,制御信号S14を生成するためのスキャンレジスタ
である。
【0015】レジスタブロック602において,ADD
Rレジスタ614とDRレジスタ616と制御レジスタ
618とは,シリアルに接続されて,全体としても1つ
のスキャンレジスタを構成している。そして,ADDR
レジスタ614とDRレジスタ616と制御レジスタ6
18とから構成されるスキャンレジスタのスキャン入力
端子(即ちADDRレジスタ614のスキャン入力端
子)はTDI端子に接続されており,スキャン出力端子
(即ち制御レジスタ618の出力端子)はTAP回路6
04に接続されている。
【0016】TAP回路604は,“IEEE st
d.1149.1”に定めるところのTAPであり,一
般にJTAGと呼称されている技術の核になる部分であ
る。TAP回路604は,インストラクションレジスタ
(以下,「IRレジスタ」という。)630と,バイパ
スレジスタ(以下,「BPレジスタ」という。)632
と,デコーダ回路636と,マルチプレクサ638と,
ラッチ640と,TAPコントローラ642とを,備え
ている。
【0017】以上のように構成された書き換え回路60
0は,TCK端子,TMS端子,TDI端子,TDO端
子およびnTRST端子を介して,外部のフラッシュラ
イタ(Flash Writer)装置(図示せず。)
に接続することができる。書き換え回路600では,T
CK端子,TMS端子,nTRST端子の入力信号に応
じて,TAPコントローラ642が状態遷移を行う。書
き換え回路600では,かかるTAPコントローラ64
2の状態遷移に応じて,TAP回路604およびレジス
タブロック602に存在するスキャンレジスタのShi
ft動作,Capture動作およびUpdate動作
が制御される。
【0018】なお,IRレジスタ630に設定されるイ
ンストラクションのうち,BPレジスタ632に対して
作用するインストラクションは,BYPASS命令と呼
ばれる。一方,IRレジスタ630に設定されるインス
トラクションのうち,レジスタブロック602に作用す
るインストラクションは,レジスタブロック602がL
SI内部にかかわるため,INTEST命令と呼ばれ
る。
【0019】レジスタブロック602には,INTES
T命令が作用することにより,以下のような動作が行わ
れる。レジスタブロック602において,TDI端子か
ら入力されるスキャン入力信号をスキャンレジスタのビ
ット数分シフトするShift動作が行われ,1度のU
pdate動作によってレジスタブロック602の全設
定コードがUpdateされる。書き換え回路600で
は,このようにUpdateされた信号出力の1本1本
がそれぞれアドレス信号S11,書き込みデータ信号S
13,制御信号S14となる。また,読み出しデータ信
号S12が有効なCaptureデータとしてCapt
ure動作時にDRレジスタ616に取り込まれる。
【0020】
【発明が解決しようとする課題】しかしながら,以上説
明した従来の書き換え回路600には,次のような欠点
がある。
【0021】従来の書き換え回路600において,アド
レス信号S11と書き込みデータ信号S13と制御信号
S14とは,シリアルに接続されたスキャンレジスタ6
14,616,618に設定される。したがって,これ
らフラッシュメモリ650に対する設定信号S11,S
13,S14は,スキャンレジスタ614,616,6
18のビット数分のShift動作後に行われるUpd
ate動作により,全ビットが1度に更新される。この
様に,従来の書き換え回路600には,フラッシュメモ
リ650に対する設定信号S11,S13,S14の設
定にシフト動作の繰り返しによる遅延がある。
【0022】また,従来の書き換え回路600では,D
Rレジスタ616とマルチプレクサ638との間に制御
レジスタ618が挿入されている。したがって,フラッ
シュメモリ650からの読み出しデータ信号S12をD
Rレジスタ616によりCaptureし該読み出しデ
ータ信号S12をTDO端子を介してシステムLSI外
部で認識するまでの間に,制御レジスタ618のShi
ft動作分の遅延がある。
【0023】さらに,従来の書き換え回路600では,
フラッシュメモリ650に対する操作が論理レベルのパ
ルスにより指示されるため,制御信号S14による制御
動作の内容が,最終スキャンレジスタである制御レジス
タ618により確定する。したがって,フラッシュメモ
リ650に対するわずか1バイトのアクセスを行う場合
であっても,レジスタブロック602の全スキャンレジ
スタのビット数分の3倍のShift動作が必要にな
り,アクセスが遅くなる。かかるアクセスの遅延は,フ
ラッシュメモリ650の記憶容量およびデータ幅が増加
すると,助長される。ADDRレジスタ614およびD
Rレジスタ616のビット数が増加するためである。
【0024】また,フラッシュライタでフラッシュメモ
リ650の書き換えを実行する場合,TCKのクロック
周波数は,LSIの周囲の電気的ノイズ等の外乱による
データ転送の誤りを防止する必要があるために,あまり
高くすることができない。このため,従来の書き換え回
路600により記憶容量にして数100キロバイトの書
き換えを行う場合に,データ転送に多くの時間,例えば
1分以上の時間を要する場合がある。フラッシュライタ
によるデータ転送に1分以上の時間を要するというの
は,フラッシュライタの操作上不都合であり,また製品
検査工程でのデータ書き換えにおいては致命的な欠点と
なる。
【0025】さらに,上記従来の書き換え回路600で
は,不揮発性記憶回路の主要パラメータである記憶容量
および書き換えのためのフラッシュメモリ650のセク
タバッファサイズおよびデータ転送単位によってフラッ
シュライタとフラッシュメモリ650との間のデータ転
送プロトコルが一意的に決まってしまう。したがって,
従来の書き換え回路600を適用した場合,システムL
SIに対応するプログラム開発を行うユーザは,LSI
毎にフラッシュライタを使い分ける必要がある。
【0026】
【課題を解決するための手段】上記課題を解決するため
に,請求項1に記載の発明は,電気的に記憶データの消
去及び書き換えが可能な不揮発性記憶装置の書き換え回
路において,データ入力端子と,データ出力端子と,そ
れぞれに少なくとも1以上の所定のコードが割り当てら
れており,当該割り当てられた所定のコードが同時に作
用した場合に選択されて,スキャン入力されるデータに
基づき不揮発性記憶装置にアクセスする2以上のアクセ
ス用スキャンレジスタと,スキャン入力される所定のコ
ードのUpdate出力を介して当該所定のコードに対
応するアクセス用スキャンレジスタに動作を指示する少
なくとも1以上の選択用スキャンレジスタと,を備え,
アクセス用スキャンレジスタのスキャン入力端子と選択
用スキャンレジスタのスキャン入力端子とはデータ入力
端子に共通に接続されており,アクセス用スキャンレジ
スタのスキャン出力信号と選択用スキャンレジスタのス
キャン出力信号とは少なくとも1以上のマルチプレクサ
を介し多重化されてデータ出力端子から出力される構成
を採用する。
【0027】ここで,スキャンレジスタとは,パラレル
インのデータをパラレルに取り込むCapture機能
と,保持データをスキャン入力側からスキャン出力側に
シフトさせるShift機能と,保持データをパラレル
アウトするUpdate機能と,を有するシフトレジス
タをいう。スキャンレジスタは,パラレルアウトデータ
のラッチ回路を備えている。かかるスキャンレジスタの
Capture機能によりスキャンレジスタに取り込ま
れるパラレルインのデータをCaptureデータとい
い,Update機能によりスキャンレジスタからパラ
レルアウトされるデータをUpdateデータという。
【0028】本項記載の発明では,アクセス用スキャン
レジスタのスキャン入力端子がデータ入力端子に共通に
接続されている。したがって,他のアクセス用スキャン
レジスタを介さずに,データ入力端子から各アクセス用
スキャンレジスタに所定のスキャン入力信号を入力する
ことができる。さらに,本項記載の発明では,アクセス
用スキャンレジスタのスキャン出力信号がマルチプレク
サにより多重化される。したがって,他のアクセス用ス
キャンレジスタを介さずに,各アクセス用スキャンレジ
スタのスキャン出力信号をデータ出力端子から出力する
ことができる。結果として,本項記載の発明によれば,
アクセス用スキャンレジスタによる冗長なShift動
作が不要となり,不揮発性記憶装置に対する迅速なアク
セスが可能となる。
【0029】さらに,請求項2に記載の発明は,選択用
スキャンレジスタには,アクセス用スキャンレジスタと
他の選択用スキャンレジスタとに動作を指示するインス
トラクションレジスタが含まれる構成を採用する。
【0030】さらにまた,請求項3に記載の発明は,ア
クセス用スキャンレジスタのそれぞれには,所定のコー
ドとして,少なくとも1以上の専用のコードが割り当て
られている構成を採用する。本項記載の発明によれば,
アクセス用スキャンレジスタのそれぞれを相互に独立に
動作させることができる。
【0031】さらに,請求項4に記載の発明は,専用の
コードに基づくアクセス用スキャンレジスタへの動作の
指示は,インストラクションレジスタによって行われる
構成を採用する。本項記載の発明によれば,インストラ
クションレジスタから各アクセス用スキャンレジスタ
に,他の選択用スキャンレジスタを介さずに直接動作を
指示することができる。したがって,本項記載の発明に
よれば,書き換え回路の動作の迅速化を図ることができ
る。
【0032】さらにまた,請求項5に記載の発明は,専
用のコードに基づくアクセス用スキャンレジスタへの動
作の指示は,インストラクションレジスタ以外の選択用
スキャンレジスタによって行われる構成を採用する。本
項記載の発明によれば,インストラクションコード数,
すなわちインストラクションレジスタにより対応するス
キャンレジスタに対する動作の指示が行われる所定コー
ドの数を節約することができる。
【0033】さらに,請求項6に記載の発明は,アクセ
ス用スキャンレジスタには,所定のコードとして,アク
セス用スキャンレジスタの全てに共通する少なくとも1
以上の共通のコードが割り当てられている構成を採用す
る。本項記載の発明によれば,例えば,バウンダリスキ
ャン回路やデバック機能回路等の他の回路と同一の半導
体集積回路内に設置された書き換え回路において,当該
他の回路と区別して,アクセス用スキャンレジスタの動
作を制御することができる。
【0034】さらにまた,請求項7に記載の発明は,共
通のコードに基づくアクセス用スキャンレジスタへの動
作の指示は,インストラクションレジスタによって行わ
れる構成を採用する。
【0035】さらに,請求項8に記載の発明は,共通の
コードに基づくアクセス用スキャンレジスタへの動作の
指示は,インストラクションレジスタ以外の選択用スキ
ャンレジスタによって行われる構成を採用する。“IE
EE std.1149.1”では,インストラクショ
ンレジスタは,バウンダリスキャン回路の必須構成要素
とされている。そこで,バウンダリスキャン回路と同一
の半導体集積回路内に備えられた書き換え回路に対し本
項記載の発明を適用すると,インストラクションレジス
タをバウンダリスキャン回路と共有しつつ,バウンダリ
スキャン回路と独立に動作可能な書き換え回路を提供す
ることができる。
【0036】さらにまた,請求項9に記載の発明は,さ
らに,状態遷移によってアクセス用スキャンレジスタと
選択用スキャンレジスタとの動作を指定するTAPコン
トローラを備える構成を採用する。
【0037】また,請求項10に記載の発明は,電気的
に記憶データの消去及び書き換えが可能な不揮発性記憶
装置の書き換え回路において,データ入力端子と,デー
タ出力端子と,それぞれに少なくとも1以上の所定のコ
ードが割り当てられており,当該割り当てられた所定の
コードが同時に作用した場合に選択されて,スキャン入
力されるデータに基づき不揮発性記憶装置にアクセスす
る,2以上のアクセス用スキャンレジスタと,少なくと
も1以上の所定のコードが割り当てられており,当該割
り当てられた所定のコードが同時に作用した場合に選択
される,Captureデータ中に不揮発性記憶装置に
関する所定パラメータのコードが設定されている,プロ
ファイルレジスタと,スキャン入力される所定のコード
のUpdate出力を介して,当該所定のコードに対応
するアクセス用スキャンレジスタないしプロファイルレ
ジスタに動作を指示する1以上の選択用スキャンレジス
タと,を備え,アクセス用スキャンレジスタのスキャン
入力端子と選択用スキャンレジスタのスキャン入力端子
とはデータ入力端子に共通に接続されており,アクセス
用スキャンレジスタのスキャン出力信号と選択用スキャ
ンレジスタのスキャン出力信号とは少なくとも1以上の
マルチプレクサを介して多重化されてデータ出力端子か
ら出力される構成を採用する。
【0038】本項記載の発明によれば,データ出力端子
を介してプロファイルレジスタのCaptureデータ
を読み出すことにより,書き換え回路外部において,不
揮発性記憶装置の特性パラメータ,例えば記憶容量やセ
クタサイズ或いはデータ転送幅等を認識することができ
る。なお,プロファイルレジスタのCaptureデー
タの読み出しは,外部装置と書き換え回路若しくは書き
換え回路を備える半導体集積回路との通信における最初
の通信メッセージとして行うことが好適である。
【0039】したがって,本項記載の書き換え回路に対
しては,外部において,上記認識結果に基づき書き換え
回路および不揮発性記憶装置との通信に最適な通信プロ
トコルを確立することができる。結果として,本項記載
の発明によれば,例えばフラッシュライタなどの外部装
置の汎用化を図ることができる。
【0040】さらに,請求項11に記載の発明は,選択
用スキャンレジスタには,アクセス用スキャンレジスタ
とプロファイルレジスタと他の選択用スキャンレジスタ
とに動作を指示するインストラクションレジスタが含ま
れる構成を採用する。
【0041】さらにまた,請求項12に記載の発明は,
アクセス用スキャンレジスタとプロファイルレジスタと
のそれぞれには,所定のコードとして,少なくとも1以
上の専用のコードが割り当てられている構成を採用す
る。
【0042】さらに,請求項13に記載の発明は,専用
のコードに基づくアクセス用スキャンレジスタとプロフ
ァイルレジスタとへの動作の指示は,インストラクショ
ンレジスタによって行われる構成を採用する。
【0043】さらにまた,請求項14に記載の発明は,
専用のコードに基づくアクセス用スキャンレジスタとプ
ロファイルレジスタとへの動作の指示は,インストラク
ションレジスタ以外の選択用スキャンレジスタによって
行われる構成を採用する。
【0044】さらに,請求項15に記載の発明は,アク
セス用スキャンレジスタとプロファイルレジスタとに
は,所定のコードとして,アクセス用スキャンレジスタ
とプロファイルレジスタとの全てに共通する少なくとも
1以上の共通のコードが割り当てられている構成を採用
する。
【0045】さらにまた,請求項16に記載の発明は,
共通のコードに基づくアクセス用スキャンレジスタとプ
ロファイルレジスタとへの動作の指示は,インストラク
ションレジスタによって行われる構成を採用する。
【0046】さらに,請求項17に記載の発明は,共通
のコードに基づくアクセス用スキャンレジスタとプロフ
ァイルレジスタとへの動作の指示は,インストラクショ
ンレジスタ以外の選択用スキャンレジスタによって行わ
れる構成を採用する。
【0047】さらにまた,請求項18に記載の発明は,
請求項10,11,12,13,14,15,16また
は17のいずれかに記載の回路に,さらに,状態遷移に
よってアクセス用スキャンレジスタと選択用スキャンレ
ジスタとの動作を指定するTAPコントローラを備える
構成を採用する。さらに,請求項19に記載の発明は,
プロファイルレジスタのUpdate動作により,前記
不揮発性半導体記憶装置のライトエネーブル(wre
n)フラグをセット/リセットする構成を採用する。
【0048】また,請求項20に記載の発明は,請求項
10,11,12,13,14,15,16,17,1
8または19のいずれかに記載の書き換え回路を用い,
当該書き換え回路から,データ出力端子を介してプロフ
ァイルレジスタのCaptureデータの不揮発性記憶
装置に関する所定パラメータのコードを読み出す工程
と,所定のパラメータのコードを解読してアクセス用ス
キャンレジスタの構成を認識する工程と,認識したアク
セス用スキャンレジスタの構成に基づき当該書き換え回
路との通信プロトコルを更新する工程と,を含む構成を
採用する。なお,ここでいう工程は,処理或いは操作を
含む概念である。
【0049】また,請求項21に記載の発明は,2以上
のビットから構成されるスキャンレジスタにおいて,少
なくとも1のビットのUpdate出力が他のビットの
共通の選択信号に設定されており,他のビットそれぞれ
は,少なくとも2以上のCapture入力信号を有
し,選択信号に応じてCapture入力信号のいずれ
かをCaptureするものである構成を採用する。こ
こで,Capture入力信号とは,Captureデ
ータ中の1ビットの信号である。
【0050】本項記載記載のスキャンレジスタでは,2
以上のCaptureデータを選択的にCapture
し,当該CaptureデータをShift動作により
スキャン出力させることができる。したがって,設定す
べきCaptureデータをいくつかに分割して設定す
ることが可能となり,スキャンレジスタのビット数を増
加させずに,Captureデータのビット数を増加さ
せることができる。
【0051】
【発明の実施の形態】以下,本発明の好適な実施の形態
について,添付図面を参照しながら詳細に説明する。
尚,以下の説明および添付図面において,同一の機能お
よび構成を有する構成要素については,同一符号を付す
ることにより,重複説明を省略する。
【0052】(第1実施形態)図1〜14を参照しなが
ら,第1実施形態について説明する。図1には,同一L
SIに内蔵される,フラッシュメモリ150と本実施形
態にかかる書き換え回路100とを示す。当該LSI
は,実際には,MCU(Micro Controll
er Unit)コア,MCUコアによるフラッシュメ
モリ150に記憶されたプログラムデータの読み出しに
関する部分,或いはMCUコアのデバッグ機能回路等も
内蔵する。しかし,フラッシュメモリ150と書き換え
回路100以外の構成要素は,本実施形態においては任
意的構成要素であるため,図示しない。
【0053】(フラッシュメモリの基本構成)まず,図
2を参照しながら,フラッシュメモリ150の構成につ
いて説明する。図2に示すように,フラッシュメモリ1
50は,メモリセルアレイ152と行アドレスデコーダ
154と列アドレスデコーダ156とセクタバッファ1
58と制御回路160とセンスアンプ162とを備えて
いる。なお,フラッシュメモリ150は,実際には,上
記構成要素152,154,156,158,160,
162以外の回路ブロックも備えている。しかし,上記
構成要素以外の回路ブロックは,本実施形態においては
任意的構成要素であるため,図示しない。
【0054】フラッシュメモリ150において,メモリ
セルアレイ152は,電気的に記憶データのプログラミ
ングおよび消去が可能な複数の不揮発性記憶素子を備え
ている。行アドレスデコーダ154は,セクタアドレス
コード(行アドレスコード)A[m−1:n]に基づ
き,メモリセルアレイ152のセクタ,即ちメモリセル
アレイ152における記憶データの読み出し,プログラ
ミングおよび消去の実行単位を,選択する機能を有す
る。ここで,m,nは,m>nを満たす正の整数であ
る。セクタバッファ158は,データ信号S3として入
力される複数ワードのデータを一時的に記憶するレジス
タである。かかるセクタバッファ158から行アドレス
デコーダ154により選択されたセクタへは,フラッシ
ュメモリ150外部からの指示によって,上記複数ワー
ドのデータが同時に書き込まれる。
【0055】列アドレスデコーダ156は,ワードアド
レスコード(列アドレスコード)A[n−1:0]に基
づき,セクタバッファ158におけるワードデータの格
納位置のコードを生成する機能を有する。なお,上述の
ように,nは正の整数である。制御回路160は,メモ
リセルアレイ152の書き込み,読み出し,プログラミ
ング,全体消去,その他の不揮発性操作を制御する機能
を有する。
【0056】かかるフラッシュメモリ150に対するア
クセスは,アドレス信号S1と読み出しデータ信号S2
と書き込みデータ信号S3と制御信号S4とスティタス
信号S5とを介して,行われる。
【0057】アドレス信号S1は,mビットの信号であ
り,メモリセルアレイ152のセクタを指定するセクタ
アドレスコードA[m−1:n]とセクタバッファ15
8のデータ単位を指定するワードアドレスコードA[n
−1:0]とを含んでいる。フラッシュメモリ150に
おいて,アドレス信号S1は,制御回路160と列アド
レスデコーダ156と行アドレスデコーダ154とに入
力される。
【0058】読み出しデータ信号S2は,メモリセルア
レイ152から読み出されたプログラムデータのコード
DO[p−1:0]を含んでいる。ここで,pは,正の
整数である。フラッシュメモリ150において,読み出
しデータ信号S2は,メモリセルアレイ152から読み
出された微弱な論理信号をセンスアンプ162において
増幅することによって生成される。書き込みデータ信号
S3は,メモリセルアレイ152に書き込むプログラム
データのコードDI[p−1:0]を含んでいる。
【0059】フラッシュメモリ150において,書き込
みデータ信号S3に指定された複数ワードの入力データ
は,それぞれ,一旦,セクタバッファ158の特定の位
置に入力される。ここで,セクタバッファ158の特定
の位置は,列アドレスデコーダ156によって指定され
る。セクタバッファ158に入力された全てのプログラ
ムデータは,その後の制御信号S4による特定の指示に
より,一度に,メモリセルアレイ152の特定のセクタ
に不揮発データとして書き込まれる。ここで,メモリセ
ルアレイ152の特定のセクタは,行アドレスデコーダ
154によって指定される。
【0060】制御信号S4は,フラッシュメモリ150
に対しセクタ書き込み,読み出し,プログラミング,全
体消去,その他の不揮発性操作を指示する制御コードC
[v−1:0],nRE,nWEその他を含んでいる。
ここで,vは,正の整数である。フラッシュメモリ15
0において,制御信号S4は,制御回路160に入力さ
れる。スティタス信号S5は,BUSY信号に代表さ
れ,フラッシュメモリ150内部のメモリセルアレイ1
52への個々の不揮発性記憶動作中であることを示す期
間に出力される。フラッシュメモリ150において,ス
ティタス信号S5は,制御回路160で生成される。
【0061】(書き換え回路100の全体構成)次に,
主に図1,図3,図4および図7を参照しながら本実施
形態にかかる書き換え回路100の全体構成について説
明する。図1に示すように,書き換え回路100は,基
本的な構成要素として,フラッシュメモリ150の書き
換え動作の制御部であるレジスタブロック102と,T
AP回路104と,レジスタブロック102を選択する
デコーダ回路106とを,備えている。
【0062】書き換え回路100において,レジスタブ
ロック102は,アドレス信号S1と書き込みデータ信
号S3と制御信号S4とを生成し,読み出しデータ信号
S2とスティタス信号S5とを検知する機能を有する。
図3に示すように,かかるレジスタブロック102は,
スキャン分岐選択レジスタ(以下,「SCBNレジス
タ」という。)110とプロファイルレジスタ(以下,
「PRFレジスタ」という。)112とセクタアドレス
レジスタ(以下,「SECADRレジスタ」という。)
114とDRレジスタ116とワードカウンタ120と
ファンクションコマンドレジスタ(以下,「FCRレジ
スタ」という。)118と制御回路122とデコーダ回
路124とマルチプレクサ126とマルチプレクサ12
8とを備えている。
【0063】かかるレジスタブロック102のスキャン
レジスタのうち,SECADRレジスタ114,DRレ
ジスタ116およびワードカウンタ120のビット長
は,フラッシュメモリ150の記憶容量やセクタサイズ
等のフラッシュメモリ150に関するパラメータに応じ
て設定される。対して,SCBNレジスタ110および
PRFレジスタ112のビット長は,フラッシュメモリ
150のパラメータとは無関係に設定される。
【0064】図7に示すように,レジスタブロック10
2において,SECADRレジスタ114とワードカウ
ンタ120とは,アドレス信号S1を生成するシフトレ
ジスタである。より詳細には,アクセス用スキャンレジ
スタに相当するSECADRレジスタ114は,Upd
ateデータとしてセクタアドレスコードA[m−1:
n]を生成するスキャンレジスタであり,ワードカウン
タ120は,DRレジスタ116へのUpdate動作
の度に+1カウントアップし,ワードアドレスコードA
[n−1:0]を生成するパラレル出力のカウンタであ
る。書き換え回路100において,SECADRレジス
タ114のCaptureデータには,SECADRレ
ジスタ114自身のUpdateデータが設定されてい
る。
【0065】アクセス用スキャンレジスタに相当するD
Rレジスタ116は,Captureデータに設定され
た読み出しデータ信号S2を検知し,かつUpdate
データとして書き込みデータ信号S3を生成するスキャ
ンレジスタである。ここで,DRレジスタ116へのU
pdate動作の度に制御信号S4のnWEが生成さ
れ,セクタバッファ158への書き込みが実行される。
アクセス用スキャンレジスタに相当するFCRレジスタ
118は,制御信号S4における不揮発性指示命令コー
ドを生成するためのスキャンレジスタであり,制御回路
122がかかるFCRレジスタ118のUpdateデ
ータに従って制御信号S4を生成する。書き換え回路1
00において,FCRレジスタ118のCapture
データには,スティタス信号S5が設定されている。
【0066】なお,図7において,参照符号114bで
示す構成要素は,INTEST,SECADR_SE
L,CAPTURE_DR,SHIFT_DR,UPD
ATE_DR,TCKに基づいて,SECADRレジス
タ114の制御信号であるCAPTURE_SEL,S
HIFT_CK,UPDATE_CKを生成する論理ブ
ロックである。また,参照符号120bで示す構成要素
は,TEST−LOGIC RESET,SECADR
レジスタ114のUPDATE_CKに基づいて,ワー
ドカウンタ120のリセット信号を生成する論理ブロッ
クである。さらに,参照符号116bで示す構成要素
は,INTEST,DR_SEL,CAPTURE_D
R,SHIFT_DR,UPDATE_DR,TCKに
基づいて,DRレジスタ116の制御信号であるCAP
TURE_SEL,SHIFT_CK,UPDATE_
CKを生成する論理ブロックである。なお,論理ブロッ
ク116bについては,図12に構成例を示す。さらに
また,参照符号118bで示す構成要素は,INTES
T,FCR_SEL,TEST−LOGIC RESE
T,CAPTURE_DR,SHIFT_DR,UPD
ATE_DR,TCKに基づいて,FCRレジスタ11
8の制御信号であるCAPTURE_SEL,SHIF
T_CK,UPDATE_CK,UPDATE_RST
を生成する論理ブロックである。
【0067】再び図3を参照すると,PRFレジスタ1
12は,Captureデータにはフラッシュメモリ1
50に関するパラメータのコードが含まれており,LS
I外部からその設定状態を認識することができるスキャ
ンレジスタである。本実施形態にかかる書き換え回路1
00においては,かかるPRFレジスタ112のCap
tureデータに含まれるフラッシュメモリ150に関
するパラメータのコードから,SECADRレジスタ1
14,DRレジスタ116,ワードカウンタ120のビ
ット長を解釈することができる。これによって,書き換
え回路100外部において,書き換え回路100および
フラッシュメモリ150に対する適切な通信プロトコル
を確立させることができる。なお,後述のように,かか
るPRFレジスタ112のUpdate値の一つである
wrenフラグの論理レベルによって,フラッシュメモ
リ150の制御信号S4の許可/禁止を指定することが
できる。
【0068】選択用スキャンレジスタに相当するSCB
Nレジスタ110は,PRFレジスタ112,SECA
DRレジスタ114,DRレジスタ116,FCRレジ
スタ118に動作を指示するスキャンレジスタである。
書き換え回路において,SCBNレジスタ110のCa
ptureデータは任意値である。デコーダ回路124
は,SCBNレジスタ110のUpdateデータを解
読し,選択信号PRF_SEL,FCR_SEL,SE
CADR_SEL,DR_SELを出力する機能を有す
る。
【0069】レジスタブロック102において,マルチ
プレクサ126には,PRFレジスタ112,SECA
DRレジスタ114,DRレジスタ116およびFCR
レジスタ118のスキャン出力信号がそれぞれ入力され
る。マルチプレクサ126は,かかる信号のうちの一つ
を選択し後段に出力する機能を有する。すなわち,マル
チプレクサ126は,PRFレジスタ112のスキャン
出力信号とSECADRレジスタ114のスキャン出力
信号とDRレジスタ116のスキャン出力信号とFCR
レジスタ118のスキャン出力信号とを多重化して出力
する機能を有する。
【0070】また,マルチプレクサ128には,マルチ
プレクサ126の出力信号およびSCBNレジスタ11
0のスキャン出力信号が入力される。マルチプレクサ1
28は,かかる信号のうちの1つを選択し出力信号S8
として後段に出力する機能を有する。すなわち,マルチ
プレクサ128は,マルチプレクサ126の出力信号と
SCBNレジスタ110のスキャン出力信号とを多重化
して出力する機能を有する。
【0071】本実施形態にかかる書き換え回路100に
おいて,TAP回路104は,“IEEE std.1
149.1”に定められるTAPに相当し,一般にJT
AGと呼称されている技術の核をなす部分である。図4
に示すように,TAP回路104は,IRレジスタ13
0とBPレジスタ132とスキャンレジスタ(以下「S
CNレジスタ」という。)134とデコーダ回路136
とマルチプレクサ138とラッチ140とTAPコント
ローラ142とを備えている。本実施形態にかかる書き
換え回路100において,かかるTAP回路104のス
キャンレジスタ130,132,134のビット長は,
いずれも,フラッシュメモリ150の記憶容量やセクタ
サイズ等のパラメータとは無関係に設定される。
【0072】TAP回路104において,IRレジスタ
130は,TDI端子を介して入力されるスキャン入力
信号によりTAPとしてのインストラクション(命令)
コードが設定されるスキャンレジスタである。かかるI
Rレジスタ130のCaptureデータには,“IE
EE std.1149.1”に基づく固定値が設定さ
れる。
【0073】デコーダ回路136は,IRレジスタ13
0からUpdateデータとして出力されたインストラ
クションコードを解読して,他のスキャンレジスタ11
0,112,114,116,118,132,134
に作用する選択信号を生成する機能を有する。
【0074】BPレジスタ132は,選択されていると
きにTDI端子からスキャン入力信号が入力されると,
1ビットの遅延をもってスキャン出力信号を生成するス
キャンレジスタである。書き換え回路100において,
BPレジスタ132は,1ビットのスキャンレジスタと
して構成することができる。かかるBPレジスタ132
のCaptureデータには,“IEEE std.1
149.1”により定められる固定値が設定される。書
き換え回路100を備えるLSIでは,かかるBPレジ
スタ132のスキャン出力信号を介して,外部装置とT
AP回路104との導通状態を試験することができる。
【0075】選択用スキャンレジスタに相当するSCN
レジスタ134は,選択されているときにTDI端子か
らスキャン入力信号が入力されると,出力信号コードS
6を生成するスキャンレジスタである。書き換え回路1
00において,かかるSCNレジスタ134のCapt
ureデータには,任意値が設定される。
【0076】マルチプレクサ138には,IRレジスタ
130,BPレジスタ132およびSCNレジスタ13
4のスキャン出力心号,出力信号S8がそれぞれ入力さ
れる。マルチプレクサ138は,かかる信号のうちの1
つを選択し後段のラッチ140に出力する機能を有す
る。すなわち,IRレジスタ130のスキャン出力信号
とBPレジスタ132のスキャン出力信号とSCNレジ
スタ134のスキャン出力信号と出力信号S8とを多重
化して出力する機能を有する。ラッチ140は,マルチ
プレクサ138の出力信号を位相調整してTDO(Te
st DataOut)端子に向けて出力する機能を有
する。
【0077】TAPコントローラ142は,遷移する状
態によって,スキャンレジスタ110,112,11
4,116,118,130,132,134のスキャ
ン操作を実行する。かかるTAPコントローラ142
は,TCK(Test Clock)端子,TMS(T
est−Mode Select)端子およびnTRS
T(Test Reset)端子を介して入力される外
部端子入力信号に応じて状態遷移を行う。
【0078】図1に示すように,本実施形態にかかる書
き換え回路100において,デコーダ回路106は,S
CNレジスタ134のパラレル出力コードデータである
出力信号コードS6(図4参照)をデコードし,デコー
ド出力信号S7として出力する。かかるデコード出力信
号S7は,レジスタブロック102の選択信号である。
【0079】なお,図1において,デコーダ回路106
は,レジスタブロック102を選択している。しかし,
実際のシステムLSIにおいて,デコーダ回路106に
は,デコード出力信号S7以外にも別のデコード出力信
号があり,それらは,例えばMCUコアのデバッグ機能
回路やLSIの信号端子それぞれの論理レベルを設定も
しくは検知するバウンダリスキャン回路等へ入力され
る。したがって,デコーダ回路106は,レジスタブロ
ック102以外に例えばデバッグ機能回路やシステムL
SIの端子信号のバウンダリスキャン回路等を選択する
こともできる。
【0080】以上説明した書き換え回路100におい
て,TAP回路104のスキャンレジスタ130,13
2,134のスキャン入力端子と,レジスタブロック1
02のスキャンレジスタ110,112,114,11
6,118の入力端子とは,図1,図3および図4に示
すように,“IEEE std.1149.1”に準拠
するTDI(Test Data In)端子に共通に
接続されている。
【0081】(スキャンレジスタの構成および基本動
作)次に,図8を参照しながら,本実施形態に適用可能
なスキャンレジスタの基本的な構成について,スキャン
レジスタ400を例示して説明する。なお,本実施形態
にかかる書き換え回路100の上記スキャンレジスタ1
10,112,114,116,118,130,13
2,134は,スキャンレジスタ400のスキャンビッ
ト数を変化させたり,或いは一部の機能を省略ないし拡
張したものであり,その基本動作は,すべてスキャンレ
ジスタ400に集約することができる。
【0082】図8に示すように,スキャンレジスタ40
0は,TDI端子側からTDO端子側に向かって順次接
続されたN個のビットB1−1〜B1−Nを備えている
(Nは,1≦Nを満たす整数である。)。今,スキャン
レジスタ400の任意のビットB1−jに着目する(j
は,1≦j≦Nを満たす整数である。)。ビットB1−
jは,セレクタ回路11−jと,Dタイプフリップフロ
ップ(以下,「D−F/F」という。)12−jと,リ
セット付きのD−F/F13−jとを,備えている。
【0083】ビットB1−jにおいて,セレクタ回路1
1−jのA入力端子には,基本的に,ビットB1−(j
−1)のD−F/F12−(j−1)のQ出力信号が入
力され,セレクタ回路11−jのB入力端子には,Ca
pturejが入力される。また,セレクタ回路11−
jの選択信号入力端子Sには,Capture_SEL
が入力される。ビットB1−jにおいて,セレクタ回路
11−jは,Capture_SELの論理レベルが
“1”のとき,B入力端子の入力信号すなわちCapt
urejと同一論理レベルのO出力信号を出力する。一
方,Capture_SELの論理レベルが“0”のと
き,セレクタ回路11−jは,D−F/F12−(j−
1)のQ出力信号と同一論理レベルのO出力信号を出力
する。
【0084】ビットB1−jにおいて,D−F/F12
−jのD入力端子には,上記セレクタ回路11−jのO
出力信号が入力され,D−F/F12−jのクロック入
力端子CKには,SHIFT_CKが入力される。ビッ
トB1−jにおいて,D−F/F12−jは,SHIF
T_CKに同期してQ出力信号を生成する。スキャンレ
ジスタ400において,D−F/F12−jのQ出力信
号は,ビットB1−(j+1)のセレクタ回路11−
(j+1)のA入力端子と,ビットB1−jのD−F/
F13−jのD入力端子とに,分岐して入力される。
【0085】ビットB1−jにおいて,D−F/F13
−jのD入力端子には,D−F/F12−jのQ出力信
号が入力され,D−F/F13−jのクロック入力端子
CKには,UPDATE_CKが入力される。また,D
−F/F13−jのリセット入力端子Rには,UPDA
TE_RSTが入力される。ビットB1−jにおいて,
D−F/F13−jは,UPDATE_CKに同期して
Q出力信号を生成する。スキャンレジスタ400におい
て,D−F/F13−jのQ出力信号は,Update
jとしてスキャンレジスタ400外部に出力される。
【0086】なお,スキャンレジスタ400において,
最もTDI端子側に配されたビットすなわちビットB1
−1と最もTDO端子側に配されたビットすなわちビッ
トB1−Nとは,以上説明した任意のビットB1−jと
若干異なる構成を有する。すなわち,ビットB1−1の
セレクタ回路11−1のA入力端子には,スキャン入力
端子から入力されたスキャン入力信号SCAN_INが
入力され,ビットB1−NのD−F/F12−NのQ出
力信号は,スキャン出力端子からスキャン出力信号SC
AN_OUTとしてスキャンレジスタ400外部に出力
される。
【0087】以上のように構成されたスキャンレジスタ
400は,基本動作として,Capture動作とSh
ift動作とUpdate動作とを行う。
【0088】Capture動作では,セレクタ回路1
1−1〜セレクタ回路11−NのO出力信号の論理レベ
ルとしてCapture1〜CaptureNの論理レ
ベルが選択され,SHIFT_CKに同期してCapt
ure1〜CaptureNがD−F/F12−1〜D
−F/F12−Nにラッチされる。すなわち,スキャン
レジスタ400は,Capture動作により,Cap
tureデータ(Capture1〜Capture
N)をパラレルに取り込む。このCapture動作
は,CAPTURE_SELの論理レベルが“1”のと
きに行われる。
【0089】Shift動作では,セレクタ回路11−
1〜セレクタ回路11−NのO出力信号の論理レベルと
してSCAN_INないし直前のビットのD−F/Fの
Q出力信号の論理レベルが選択され,SHIFT_CK
に同期してD−F/F12−1〜D−F/F12−Nに
ラッチされる。スキャンレジスタ400は,かかるSh
ift動作を自己のビット数に相当する回数行うことに
より,自己のビット数分のSCAN_INを取り込むこ
とができる。このShift動作は,CAPTURE_
SELの論理レベルが“0”のときに行われる。
【0090】Update動作では,D−F/F12−
1〜D−F/F12−NのQ出力信号がUPDATE_
CKに同期してD−F/F13−1〜D−F/F13−
Nにラッチされる。すなわち,スキャンレジスタ400
は,Update動作により,内部に保持している全デ
ータをUpdateデータとしてパラレル出力する。
【0091】(TAPコントローラ142の状態遷移)
次に,主として,図5を参照しながら,本実施形態にお
けるTAPコントローラ142の状態遷移について説明
する。図5に示すように,TAPコントローラ142
は,16個の状態を持つ。かかるTAPコントローラ1
42の状態は,TCK端子を介して入力されるクロック
信号の立ち上がりに同期し,かつTMS端子の論理レベ
ルに応じて遷移する。なお,図5では,TMS端子の論
理レベルを,状態遷移を示す矢印近辺に付記する。ま
た,nTRST端子が論理レベル“0”になると,TA
Pコントローラ142は,如何なる状態にあっても,ク
ロック信号TCKに非同期に状態Test‐Logic
Resetに移行する。状態Test‐Logic
Resetへの移行が行われると,IRレジスタ130
とSCNレジスタ134とSCBNレジスタ110とP
RFレジスタ112とワードカウンタ120とFCRレ
ジスタ118とがリセットとされる。
【0092】図5には,それぞれ図中縦方向に連なる7
個の状態からなる2の状態列が示してある。記号−IR
を付記した図中右列の状態は,インストラクションスキ
ャンと呼ばれ,IRレジスタ130の動作に関係する。
一方,記号−DRを付記した図中左列の状態は,データ
スキャンと呼ばれ,IRレジスタ130以外のスキャン
レジスタ110,112,114,116,118,1
32,134(以下,「データスキャンレジスタ」とい
う。)の動作に関係する。本実施の形態にかかる書き換
え回路100において,スキャンレジスタ110,11
2,114,116,118,130,132,134
は,図5に示すTAPコントローラ142の状態に応じ
て,上述のCapture動作,Shift動作ないし
Update動作の基本動作を行う。
【0093】例えば,IRレジスタ130は,TAPコ
ントローラ142が状態Capture−IRのとき,
パラレル入力されるCaptureデータの論理レベル
を取り込むCapture動作を行う。また,IRレジ
スタ130は,TAPコントローラ142が状態Shi
ft−IRのとき,保持しているビット列を1ビットT
DO端子方向にシフトするShift動作を行う。さら
に,IRレジスタ130は,TAPコントローラ142
が状態Update−IRのとき,保持しているビット
列をUpdateデータとしてパラレル出力するUpd
ate動作を行う。なお,IRレジスタ130のShi
ft動作が行われる時には,TAPコントローラ142
の状態Shift−IRでIRレジスタ130のビット
長に相当する分の遷移が行われる。
【0094】また,データスキャンレジスタ112,1
14,116,118,132,134は,TAPコン
トローラ142が状態Capture−DRのとき,パ
ラレル入力されるCaptureデータを取り込むCa
pture動作を行う。また,データスキャンレジスタ
は,TAPコントローラ142が状態Shift−DR
のとき,保持しているビット列を1ビットTDO端子方
向にシフトするShift動作を行う。さらに,データ
スキャンレジスタは,TAPコントローラ142が状態
Update−DRのとき,保持しているビット列をU
pdateデータとしてパラレル出力するUpdate
動作を行う。なお,データスキャンレジスタのShif
t動作が行われる時には,TAPコントローラ142の
状態Shift−DRでデータスキャンレジスタのビッ
ト長に相当する分の遷移が行われる。
【0095】なお,図5に示すTAPコントローラ14
2の状態において,Capture動作,Shift動
作ないしUpdate動作に関わる状態および状態Te
st−Logic Reset以外の状態は,該基本動
作実行のための一時的な状態であり,スキャンレジスタ
110,112,114,116,118,130,1
32,134の動作に特に影響しない。
【0096】(スキャンレジスタ周辺の回路構成)次
に,図9〜図12を参照しながら,本実施形態にかかる
書き換え回路100におけるスキャンレジスタ周辺の回
路構成について説明する。
【0097】まず,図9には,IRレジスタ130周辺
の回路構成を概略的に示す。図9において,CAPTU
RE_IR,SHIFT_IR,UPDATE_IRお
よびTEST−LOGIC RESETは,TAPコン
トローラ142の状態コードであり,それぞれ対応する
状態が図5に示してある。なお,上述のように,CAP
TURE_IR,SHIFT_IRおよびUPDATE
_IRは,図5右側状態列のインストラクションスキャ
ンに対応する。
【0098】また,図9において,TCKはクロック信
号である。さらに,BP_SELは,図4に示すBPレ
ジスタ132の選択信号であり,SCN_SELは,図
4に示すSCNレジスタ134の選択信号である。ま
た,SCBN_SELは,図3に示すSCBNレジスタ
110の選択信号であり,INTESTは,図3に示す
PRFレジスタ112,SECADRレジスタ114,
DRレジスタ116,FCRレジスタ118の選択信号
である。
【0099】図9のCAPTURE_SEL,SHIF
T_CK,UPDATE_CK,UPDATE_RST
は,それぞれ図8のCAPTURE_SEL,SHIF
T_CK,UPDATE_CK,UPDATE_RST
に相当する。また,図9のSCAN_INは,図8のS
CAN_INに相当し,図9のSCAN_OUTは,図
8のSCAN_OUTに相当する。さらに,図9のCa
ptureデータは,図8のCapture1〜Cap
tureNに相当し,図9のUpdateデータは,図
8のUpdate1〜UpdateNに相当する。
【0100】図9に示すように,IRレジスタ130の
Capture動作,Shift動作およびUpdat
e動作は,TAPコントローラ142の状態コードであ
るCAPTURE_IR,SHIFT_IR,UPDA
TE_IRおよびTEST−LOGIC RESTと,
TCKとによって,制御される。デコーダ回路136
は,IRレジスタ130のUpdateデータをデコー
ドして,BP_SEL,SCN_SEL,SCBN_S
EL,INTESTを生成する。
【0101】図10には,データスキャンレジスタ周辺
の基本的な回路構成を概略的に示す。なお,上述のよう
に,データスキャンレジスタとは,IRレジスタ130
以外のスキャンレジスタをいう。実際のデータスキャン
レジスタ周辺の回路構成は,図10に示す回路構成の機
能を省略又は拡張したものである。
【0102】図10において,CAPTURE_DRと
SHIFT_DRとUPDATE_DRとTEST−L
OGIC RESETとは,TAPコントローラ142
の状態コードであり,それぞれ対応する状態が図5に示
してある。なお,CAPTURE_DR,SHIFT_
DRおよびUPDATE_DRは,図5左側状態列のデ
ータスキャンに対応する。
【0103】また,図10において,TCKはクロック
信号である。さらに,選択信号X_SELは,当該デー
タスキャンレジスタの選択信号である。本実施形態にか
かる書き換え回路100において,選択信号X_SEL
には,図9に示すBP_SEL,SCN_SEL,SC
BN_SELおよびINTEST,図11に示すPRF
_SEL,FCR_SEL,SECADR_SELおよ
びDR_SEL,図1に示すデコード出力信号S7等が
ある。
【0104】図10のCAPTURE_SEL,SHI
FT_CK,UPDATE_CK,UPDATE_RS
Tは,それぞれ図8のCAPTURE_SEL,SHI
FT_CK,UPDATE_CK,UPDATE_RS
Tに相当する。また,図10のSCAN_INは,図8
のSCAN_INに相当し,図10のSCAN_OUT
は,図8のSCAN_OUTに相当する。さらに,図1
0のCaptureデータは,図8のCapture1
〜CaptureNに相当し,図10のUpdateデ
ータは,図8のUpdate1〜UpdateNに相当
する。
【0105】図10に示すように,データスキャンレジ
スタのCapture動作,Shift動作およびUp
date動作は,基本的に,TAPコントローラ142
の状態コードであるCAPTURE_DR,SHIFT
_DR,UPDATE_DR,TEST−LOGIC
RESETと,TCKと,選択信号X_SELとによっ
て,制御される。
【0106】以上,図10を参照してデータスキャンレ
ジスタ周辺の基本的な回路構成について説明したが,次
に,図10に示す回路構成の機能を省略又は拡張したも
のとして構成される実際のデータスキャンレジスタ周辺
の回路構成について,SCBNレジスタ110周辺の回
路構成とDRレジスタ116周辺の回路構成とを例に挙
げて説明する。
【0107】図11には,SCBNレジスタ110周辺
の回路構成を概略的に示す。図11において,CAPT
URE_DRとSHIFT_DRとUPDATE_DR
とTEST−LOGIC RESETとは,TAPコン
トローラ142の状態コードであり,それぞれ対応する
状態が図5に示してある。なお,CAPTURE_D
R,SHIFT_DRおよびUPDATE_DRは,図
5左側状態列のデータスキャンに対応する。
【0108】また,図11において,TCKはクロック
信号である。さらに,SCBN_SELは,図3に示す
SCBNレジスタ110の選択信号であり,図9に示す
ように,デコーダ回路136においてIRレジスタ13
0のUpdateデータから生成される。さらにまた,
デコード出力信号S7は,図1に示すレジスタブロック
102の選択信号であり,図1および図4に示すよう
に,デコーダ回路106においてSCNレジスタ134
の出力信号コードS6から生成される。
【0109】図11において,PRF_SELは,図3
に示すPRFレジスタ112の選択信号であり,FCR
_SELは,図3に示すFCRレジスタ118の選択信
号である。また,SECADR_SELは,図3に示す
SECADRレジスタ114の選択信号であり,DR_
SELは,図3に示すDRレジスタ116の選択信号で
ある。
【0110】図11のCAPTURE_SEL,SHI
FT_CK,UPDATE_CK,UPDATE_RS
Tは,それぞれ図8のCAPTURE_SEL,SHI
FT_CK,UPDATE_CK,UPDATE_RS
Tに相当する。また,図11のSCAN_INは,図8
のSCAN_INに相当し,図11のSCAN_OUT
は,図8のSCAN_OUTに相当する。さらに,図1
1のCaptureデータは,図8のCapture1
〜CaptureNに相当し,図11のUpdateデ
ータは,図8のUpdate1〜UpdateNに相当
する。
【0111】図11に示すように,SCBNレジスタ1
10のCapture動作,Shift動作およびUp
date動作は,TAPコントローラ142の状態コー
ドであるCAPTURE_DR,SHIFT_DRおよ
びUPDATE_DRと,TCKと,SCBN_SEL
と,デコード出力信号S7とによって,制御される。デ
コーダ回路124は,SCBNレジスタ110のUpd
ateデータをデコードして,PRF_SEL,FCR
_SEL,SECADR_SEL,DR_SELを生成
する。
【0112】図12には,DRレジスタ116周辺の回
路構成を概略的に示す。図12において,CAPTUR
E_DR,SHIFT_DRおよびUPDATE_DR
は,TAPコントローラ142の状態コードであり,そ
れぞれに対応する状態が図5に示してある。なお,図1
2のCAPTURE_DR,SHIFT_DRおよびU
PDATE_DRは,図5左側状態列のデータスキャン
に対応する。
【0113】また,図12において,TCKはクロック
信号である。さらに,DR_SELは,図3に示すDR
レジスタ116の選択信号であり,図11に示すように
デコーダ回路124においてSCBNレジスタ110の
Updateデータから生成される。さらにまた,IN
TESTは,図3に示す,DRレジスタ116,PRF
レジスタ112,SECADRレジスタ114,FCR
レジスタ118の選択信号であり,図9に示すように,
デコーダ回路136においてIRレジスタ130のUp
dateデータから生成される。さらに,デコード出力
信号S7は,図1に示すレジスタブロック102の選択
信号であり,図1および図4に示すように,デコーダ回
路106においてSCNレジスタ134の出力信号コー
ドS6から生成される。
【0114】図12のCAPTURE_SEL,SHI
FT_CK,UPDATE_CKは,それぞれ図8のC
APTURE_SEL,SHIFT_CK,UPDAT
E_CKに相当する。なお,図12には,図8のUPD
ATE_RSTに相当する信号を示していない。これ
は,DRレジスタ116が,スキャンレジスタ400に
おいてD−F/F13−1〜13−Nの代わりにリセッ
ト入力がないD−F/Fを備えた構成と実質的に同一の
構成を有するためである。
【0115】また,図12のSCAN_INは,図8の
SCAN_INに相当し,図12のSCAN_OUT
は,図8のSCAN_OUTに相当する。さらに,図1
2のCaptureデータは,図8のCapture1
〜CaptureNに相当し,図12のUpdateデ
ータは,図8のUpdate1〜UpdateNに相当
する。
【0116】図12に示すように,DRレジスタ116
のCapture動作,Shift動作およびUpda
te動作は,TAPコントローラ142の状態コードで
あるCAPTURE_DR,SHIFT_DRおよびU
PDATE_DRと,TCKと,DR_SELと,IN
TESTと,デコード出力信号S7とよって,制御され
る。
【0117】(マルチプレクサ126,128周辺の回
路構成)次に,図13を参照しながら,レジスタブロッ
ク102のマルチプレクサ126,128周辺の回路構
成について説明する。なお,図13には,マルチプレク
サ126,128周辺の回路構成を概略的に示す。図1
3において,SHIFT_DRおよびEXIT1_DR
は,TAPコントローラ142の状態コードであり,そ
れぞれ対応する状態が図5に示してある。なお,図13
のSHIFT_DRおよびEXIT1_DRは,図5左
側状態列のデータスキャンに対応する。
【0118】また,図13において,INTESTは,
PRFレジスタ112,SECADRレジスタ114,
DRレジスタ116,FCRレジスタ118の選択信号
であり,SCBN_SELは,SCBNレジスタ110
の選択信号である。なお,INTESTおよびSCBN
_SELは,図9に示すように,デコーダ回路136に
おいてIRレジスタ130のUpdateデータから生
成される。
【0119】さらにまた,FCR_SELは,FCRレ
ジスタ118の選択信号であり,DR_SELは,DR
レジスタ116の選択信号である。SECADR_SE
Lは,SECADRレジスタ114の選択信号であり,
PRF_SELは,PRFレジスタ112の選択信号で
ある。なお,FCR_SEL,DR_SEL,SECA
DR_SELおよびPRF_SELは,図11に示すよ
うに,デコーダ回路124においてSCBNレジスタ1
10のUpdateデータから生成される。
【0120】図13に示すように,マルチプレクサ12
6は,SHIFT_DR,EXIT1_DRと,FCR
_SEL,DR_SEL,SECADR_SEL,PR
F_SELとによって,制御される。そして,マルチプ
レクサ126は,TAPコントローラ142がデータス
キャンのときに,FCRレジスタ118のSCAN_O
UT,DRレジスタ116のSCAN_OUT,SEC
ADRレジスタ114のSCAN_OUTまたはPRF
レジスタ112のSCAN_OUTのいずれかをマルチ
プレクサ128に向けて出力する。
【0121】また,マルチプレクサ128は,SHIF
T_DR,EXIT1_DRと,INTEST,SCB
N_SELとによって,制御される。そして,マルチプ
レクサ128は,TAPコントローラ142がデータス
キャンのときに,SCBNレジスタ110のSCAN_
OUTまたはデコーダ回路126の出力信号211を,
出力信号S8として後段のマルチプレクサ138に向け
て出力する。
【0122】(マルチプレクサ138周辺の回路構成)
次に,図14を参照しながら,TAP回路104におけ
るマルチプレクサ138周辺の回路構成について説明す
る。なお,図14には,マルチプレクサ138周辺の回
路構成を概略的に示す。図14において,SHIFT_
IR,EXIT1_IR,SHIFT_DRおよびEX
IT1_DRは,TAPコントローラ142の状態コー
ドであり,それぞれ対応する状態が図5に示してある。
なお,図14のSHIFT_IRおよびEXIT1_I
Rは,図5右側状態列のインストラクションスキャンに
対応し,図14のSHIFT_DRおよびEXIT1_
DRは,図5左側状態列のデータスキャンに対応する。
【0123】また,図14において,TCKはクロック
信号である。さらに,BP_SELは,BPレジスタ1
32の選択信号であり,図9に示すように,デコーダ回
路136においてIRレジスタ130のUpdateデ
ータから生成される。さらに,SCN_SELは,SC
Nレジスタ134の選択信号であり,図9に示すよう
に,デコーダ回路136においてIRレジスタ130の
Updateデータから生成される。入力信号S8は,
図1に示すレジスタブロック102の出力信号,より詳
細には図3に示すマルチプレクサ128の出力信号であ
る。
【0124】図14に示すように,マルチプレクサ13
8は,SHIFT_IR,EXIT1_IR,SHIF
T_DR,EXIT1_DRと,BP_SEL,SCN
_SELとによって,制御される。そして,マルチプレ
クサ138は,TAPコントローラ142がインストラ
クションスキャンのときに,IRレジスタ130のSC
AN_OUTをラッチ140に向けて出力する。マルチ
プレクサ138は,TAPコントローラ142がデータ
スキャンのときに,BPレジスタ132のSCAN_O
UT,SCNレジスタ134のSCAN_OUTまたは
入力信号S8(図1,図3,図13参照)のいずれかを
ラッチ140に向けて出力する。ラッチ140は,マル
チプレクサ138の出力信号を,TCKに合わせて位相
調整し,TDO端子に向けて出力する。
【0125】(書き換え回路の操作)以上のように構成
された書き換え回路100では,外部入力端子であるT
DI端子,TCK端子,TMS端子,nTRST端子を
介して,スキャンレジスタ110,112,114,1
16,118,130,132,134へのアクセスが
行われる。すなわち,書き換え回路100は,上記外部
端子を介して操作することができる。そして,フラッシ
ュメモリ150に関するパラメータや書き換え回路10
0の動作状況等は,外部出力端子であるTDO端子から
出力される信号を解読することにより,LSI外部にお
いて認識することができる。
【0126】図6には,書き換え回路100のインスト
ラクションコードの要約を示す。図6に示すように,書
き換え回路100において,BPレジスタ132とSC
Nレジスタ134とSCBNレジスタ110とには,そ
れぞれ専用のインストラクションコードが割り当てられ
ている。対して,PRFレジスタ112とFCRレジス
タ118とSECADRレジスタ114とDRレジスタ
116とには,共通のインストラクションコード,IN
TESTコードが割り当てられている。さらに,INT
ESTコードが割り当てられているPRFレジスタ11
2とFCRレジスタ118とSECADRレジスタ11
4とDRレジスタ116とには,それぞれSCBNレジ
スタ110に設定される所定のコード(以下,「SCB
Nコード」という。)が割り当てられている。かかるイ
ンストラクションコードおよびSCBNコードは,TD
I端子から書き換え回路100に入力される。
【0127】本実施形態にかかる書き換え回路100に
おいて,インストラクションコードは,IRレジスタ1
30のShift動作により,IRレジスタ130に取
り込まれる。ここで,IRレジスタ130のShift
動作は,図5に示すようにTMS端子の論理レベルを操
作してTAPコントローラ142を状態Shift−I
Rに遷移させた場合に行われる。
【0128】IRレジスタ130に取り込まれた当該イ
ンストラクションコードは,IRレジスタ130のUp
date動作により,IRレジスタ130からデコーダ
回路136に送られる。ここで,IRレジスタ130の
Update動作は,図5に示すようにTMS端子の論
理レベルを操作してTAPコントローラ142を状態U
pdate−IRに遷移させた場合に行われる。
【0129】デコーダ回路136は,IRレジスタ13
0から送られてきたインストラクションコードを解読
し,当該インストラクションコードに対応するデータス
キャンレジスタの選択信号を生成する。その結果,当該
インストラクションコードがINTESTコード以外の
場合には,当該インストラクションコードに対応するデ
ータスキャンレジスタが選択される。
【0130】書き換え回路100において,SCBNコ
ードは,SCBNレジスタ110が選択されている状態
で入力される。
【0131】当該SCBNコードは,SCBNレジスタ
のShift動作により,SCBNレジスタ110に取
り込まれる。ここで,SCBNレジスタ110のShi
ft動作は,図5に示すようにTMS端子の論理レベル
を操作してTAPコントローラ142を状態Shift
_DRに遷移させた場合に行われる。
【0132】SCBNレジスタ110に取り込まれた当
該SCBNコードは,SCBNレジスタ110のUpd
ate動作によりデコーダ回路124に送られる。ここ
で,SCBNレジスタ110のUpdate動作は,図
5に示すようにTMS端子の論理レベルを操作してTA
Pコントローラ142を状態Update−DRに遷移
させた場合に行われる。
【0133】デコーダ回路124は,SCBNレジスタ
110から送られてきたSCBNコードを解読し,当該
SCBNコードに対応するデータスキャンレジスタの選
択信号を生成する。その結果,さらにIRレジスタ13
0のShift動作およびUpdate動作を介して当
該データスキャンレジスタにINTESTコードを作用
させることにより,当該データスキャンレジスタが選択
されることとなる。
【0134】以上説明したように所定のデータスキャン
レジスタが選択されると,外部端子TCK,TDI端
子,TMS端子,nTRST端子を介して,当該データ
スキャンレジスタへのアクセスが可能となるとともに,
外部端子TDO端子を介して,当該データスキャンレジ
スタの状態が認識可能となる。
【0135】(書き換え動作)以下に,書き換え回路1
00によるフラッシュメモリ150のデータ書き換え動
作(いわゆるプログラミング動作)およびその操作手順
について説明する。
【0136】TAPコントローラ・ワードカウンタの初
期化;まず,nTRST端子を一旦論理レベル“0”に
することにより,TAPコントローラ142をTest
−Logic Reset状態に初期化するとともに,
ワードカウンタ120を初期化する。
【0137】レジスタブロックの選択;次に,TDI端
子からSCAN_Nコードを入力し,IRレジスタ13
0にShift動作とUpdate動作とを行わせるこ
とにより,SCNレジスタ134を選択する。次に,T
DI端子から所定のコードを入力し,SCNレジスタ1
34にShift動作とUpdate動作とを行わせる
ことにより,SCNレジスタ134の出力信号コードS
6を確定する。これによって,デコーダ回路106が出
力信号コードS6をデコードし,デコーダ回路106か
ら所定の論理レベルのデコード出力信号S7が出力され
ることにより,レジスタブロック102が選択される。
結果として,レジスタブロック102内部のスキャンレ
ジスタが選択可能となる。
【0138】PRFレジスタのCaptureデータの
読み出しおよび書き込み許可:次に,TDI端子からS
CAN_BNコードを入力し,IRレジスタ130にS
hift動作とUpdate動作とを行わせることによ
り,SCBNレジスタ110を選択する。次に,TDI
端子からSCBNコードであるコード“0000”を入
力し,SCBNレジスタ110にShift動作とUp
date動作とを行わせる。さらに,TDI端子からイ
ンストラクションコードであるINTESTコードを入
力し,IRレジスタ130にShift動作とUpda
te動作とを行わせる。結果として,PRFレジスタ1
12が選択される。ここで,PRFレジスタ112にC
apture動作とShift動作とを行わせることに
より,TDO端子からPRFレジスタ112のCapt
ureデータを得ることができる。さらにまた,PRF
レジスタ112のUpdate動作によりwrenフラ
グをセットする。かかるwrenフラグにより,後のD
Rレジスタ116のUpdate動作がセクタバッファ
158への書き込み動作となる制御信号S4を生成する
ことができる。
【0139】上述のように,PRFレジスタ112のC
aptureコードには,フラッシュメモリ150の記
憶容量,セクタサイズ,デ−タ転送幅などを予めコード
化したものが含まれている。したがって,かかるPRF
レジスタ112のCaptureデータを解読すること
により,フラッシュメモリ150に関するパラメータを
検出することができる。
【0140】LSI外部に接続されたHOST装置,す
なわちフラッシュライタは,かかるフラッシュメモリ1
50に関するパラメータに応じて,SECADRレジス
タ114およびDRレジスタ116のビット数とワード
カウンタ120のビット数とを特定することができる。
フラッシュライタは,これらスキャンレジスタおよびワ
ードカウンタ120のビット数を考慮して,以後のSE
CADRレジスタ114やDRレジスタ116に対する
アクセスを行うことができる。
【0141】アドレス信号の生成:次に,再度,TDI
端子からSCAN_BNコードを入力し,IRレジスタ
130にShift動作とUpdate動作とを行わせ
ることにより,SCBNレジスタ110を選択する。次
に,TDI端子から前回とは異なるSCBNコードであ
るコード“0010”を入力し,SCBNレジスタ11
0にShift動作とUpdate動作とを行わせる。
さらに,TDI端子からINTESTコードを入力し,
IRレジスタ130にShift動作とUpdate動
作とを行わせる。結果として,SECADRレジスタ1
14が選択される。
【0142】ここで,TDI端子から所定のプログラム
開始アドレスのセクタアドレスコードA[m−1:n]
を入力し,SECADRレジスタ114にShift動
作とUpdate動作とを行わせることにより,アドレ
ス信号S1にセクタアドレスコードA[m−1:n]を
設定する。ワードカウンタ120は,nTRST端子の
論理レベル“0”が印加された時点で初期状態を示して
いるため,このとき,アドレス信号S1のワードアドレ
スコードA[n−1:0]も確定している。
【0143】フラッシュメモリ内部のセクタバッファへ
の書き込みデータ信号の書き込み:次に,再度,TDI
端子からSCAN_BNコードを入力し,IRレジスタ
130にShift動作とUpdate動作とを行わせ
ることにより,SCBNレジスタ110を選択する。次
に,TDI端子から前回とは異なるSCBNコードであ
るコード“0100”を入力し,SCBNレジスタ11
0にShift動作とUpdate動作とを行わせる。
さらに,TDI端子からINTESTコードを入力し,
IRレジスタ130にShift動作およびUpdat
e動作を行わせる。結果として,DRレジスタ116が
選択される。
【0144】ここで,TDI端子からDRレジスタ11
6のデータ転送幅であるビット数分のコードを入力し,
DRレジスタ116にShift動作とUpdate動
作を行わせることにより,当該コードを順次セクタバッ
ファ158の指定ワード位置に記憶させる。このDRレ
ジスタ116へのアクセスは,セクタバッファ158お
よびワードカウンタ120のビット数に相当する回数繰
り返す。結果として,セクタバッファ158およびワー
ドカウンタ120のビット数に相当するワード数分のワ
ードデータが,セクタバッファ158の指定ワード位置
に記憶される。
【0145】この時,DRレジスタ116がUpdat
e動作を行うたびに,ワードカウンタ120は+1カウ
ントアップを行う。かかるワードカウンタ120のカウ
ントアップにより,セクタアドレスを基準としたアドレ
ス信号S1のアドレスコードの+1カウントアップが可
能となり,セクタバッファ158のワード記憶位置を更
新することができる。
【0146】このようにして,所定のセクタサイズ分の
ワードデータをセクタバッファ158に格納した後,再
び,SCBNレジスタ110の操作によりFCRレジス
タ118を選択する。そして,FCRレジスタ118を
介して制御回路160に指示を与え,セクタバッファ1
58に記憶した全データをメモリセルアレイ152の選
択されたセクタに一括して書き込ませる動作をフラッシ
ュメモリ150に指示する。
【0147】ここで,セクタバッファ158が記憶した
データをメモリセルアレイ152の所定セクタに書き込
む動作は,制御回路160により,所定のセクタの一括
消去後に自動的に行われる。いわゆる自動消去つきプロ
グラム動作である。なお,制御信号S4は,DRレジス
タ116によるワードデータのUpdate動作をトリ
ガとして生成される。制御信号S4は,例えばライトパ
ルスとして生成することができる。
【0148】スティタス信号の確認:FCRレジスタ1
18に未定義のコード(No Operation)を
TDI端子から入力し,Capture動作,Shif
t動作,Update動作をFCRレジスタ118のビ
ット数分繰り返す。この時,FCRレジスタ118にC
apture動作時に取り込まれたフラッシュメモリ1
50のスティタス信号S5は,TDO端子から出力さ
れ,LSI外部において認識することができる。LSI
外部で認識されるスティタス信号S5の論理状態がフラ
ッシュメモリ150内部における不揮発性操作たる消去
動作および書き込み動作が完了したことを示すまで,か
かるFCRレジスタ118への操作を反復する。
【0149】(読み出し操作)以下に,書き換え回路1
00によるフラッシュメモリ150のデータ読み出し動
作およびその操作手順について説明する。
【0150】TAPコントローラ・ワードカウンタの初
期化:まず,nTRST端子を一旦論理レベル“0”に
することにより,TAPコントローラ142をTest
−Logic Reset状態に初期化するとともに,
ワードカウンタ120を初期化する。さらに,PRFレ
ジスタ112のwrenフラグは初期化されている。
【0151】レジスタブロックの選択:次に,TDI端
子からSCAN_Nコードを入力し,IRレジスタ13
0にShift動作とUpdate動作とを行わせるこ
とにより,SCNレジスタ134を選択する。次に,T
DI端子から所定のコードを入力し,SCNレジスタ1
34にShift動作とUpdate動作とを行わせる
ことにより,SCNレジスタ134の出力信号コードS
6を確定する。これによって,デコーダ回路106が出
力信号コードS6をデコードし,デコーダ回路106か
ら所定の論理レベルのデコード出力信号S7が出力され
ることにより,レジスタブロック102が選択される。
結果として,レジスタブロック102内部のスキャンレ
ジスタが選択可能となる。
【0152】アドレス信号の生成:その後,TDI端子
からSCAN_BNコードを入力し,IRレジスタ13
0にShift動作とUpdate動作とを行わせるこ
とにより,SCBNレジスタ110を選択する。次に,
TDI端子からSCBNコードであるコード“001
0”を入力し,SCBNレジスタ110にShift動
作とUpdate動作とを行わせる。さらに,TDI端
子からINTESTコードを入力し,IRレジスタ13
0にShift動作とUpdate動作とを行わせる。
結果として,SECADRレジスタ114が選択され
る。
【0153】ここで,TDI端子から所定の読み出し開
始アドレスのセクタアドレスコードA[m−1:n]を
入力し,SECADRレジスタ114にShift動作
とUpdate動作とを行わせることにより,アドレス
信号S1にセクタアドレスコードA[m−1:n]を設
定する。ワードカウンタ120は,nTRST端子の論
理レベル“0”が印加された時点で初期状態を示してい
るため,このときには,アドレス信号S1のワードアド
レスコードA[n−1:0]も確定している。
【0154】フラッシュメモリからの読み出しデータ信
号の読み出し:次に,再度,TDI端子からSCAN_
BNコードを入力し,IRレジスタ130にShift
動作とUpdate動作とを行わせることにより,SC
BNレジスタ110を選択する。次に,TDI端子から
前回とは異なるSCBNコードであるコード“010
0”を入力し,SCBNレジスタ110にShift動
作とUpdate動作とを行わせる。さらに,TDI端
子からINTESTコードを入力し,IRレジスタ13
0にShift動作およびUpdate動作を行わせ
る。結果として,DRレジスタ116が選択される。
【0155】ここで,選択されたDRレジスタ116に
Capture動作を行わせることにより,DRレジス
タ116に読み出しデータ信号S2が取り込まれる。そ
して,DRレジスタ116にShift動作とUpda
te動作とを行わせることにより,DRレジスタ116
のビット数分ずつ読み出しデータ信号S2をTDO端子
から出力することができる。以上のようにDRレジスタ
116にCapture動作とShift動作とUpd
ate動作とを必要なワード数分行わせることにより,
必要なワード数分のワードデータをTDO端子から出力
することができる。かかるワードデータは,外部のHO
ST装置であるフラッシュライタで読み込むことができ
る。
【0156】この時,DRレジスタ116にスキャンデ
ータをUpdateするたびにワードカウンタ120は
+1のカウントアップを行い,アドレス信号S1のアド
レスコードがセクタアドレスを基準として+1カウント
アップし,メモリセルアレイ152の当該セクタのワー
ド記憶位置がワードカウンタ120の+1カウントアッ
プに従って順次更新される。
【0157】このようにして,メモリセルアレイ152
における所定のセクタアドレスの,所定のワード数分の
ワードデータが,TDO端子から読み出される。
【0158】DRレジスタ116にフラッシュメモリ1
50からの読み出しデータ信号S2の信号コードが取り
込まれる操作は,制御信号S4が読み出し状態のCap
ture動作であり,かつTAPコントローラ142の
状態Capture−DRにおけるクロック信号TCK
の1パルス期間で行われる。wrenフラグが初期状態
であれば,フラッシュメモリ150は制御信号S4によ
り常に読み出し状態にあり,Update動作からCa
pture動作までの時間はTCKの数パルス分であ
り,フラッシュメモリ150の読み出しのアクセス時間
に十分な時間である。したがって,かかる時間内に,D
Rレジスタ116のCapture動作が正しく行わ
れ,TDI端子とTDO端子との間の所定のShift
動作回数分で1ワード分の読み出し動作が完了する。な
お,通常TCKは,1MHz以下の周波数であり,TC
Kの1パルス期間は,フラッシュメモリ150の読み出
しアクセス時間に比べて十分に長い。
【0159】(効果) (1)以上説明したように,本実施形態によれば,読み
出しデータ信号S2の読み出し操作のためのパルス信号
である制御信号S4は,フラッシュメモリ150に対す
るプログラムデータの入出力レジスタとしてのDRレジ
スタ116において,TAPコントローラ142の状態
遷移のうちのデータレジスタスキャン中に固定され,状
態Capture−DRにおけるTCKの1パルス期間
で取り込まれる。また,書き込みデータ信号S3の書き
込み操作のための制御信号S4は,TAPコントローラ
142のUpdate−DRにおけるTCKの1パルス
期間で,生成される。したがって,従来例のように,1
本の制御信号パルスを生成するのに,そのスキャンレジ
スタビットを含む,TDI端子とTDO端子との間のス
キャンレジスタを何度もShiftし,かつ何度もUp
dateする必要がなくなる。結果として,本実施形態
によれば,フラッシュメモリ150の1ワード分のアク
セス時間が従来例の場合に比べて速くなる。
【0160】(2)また,本実施形態にかかる書き換え
回路100では,セクタバッファ158にデータを設定
するスキャンレジスタとして,またフラッシュメモリ1
50の読み出しデータ信号S2を検知する専用のスキャ
ンレジスタとして,DRレジスタ116が設けられてい
る。したがって,従来例で説明したようなTDI端子と
TDO端子との間には読み出しデータ信号S2のビット
幅分以外の余分なスキャンビットが存在しないため,D
Rレジスタ116のアクセスの際に余分なShift動
作を行う必要がない。結果として,本実施形態によれ
ば,セクタサイズ分のDRレジスタ116の操作の繰り
返しにもかかわらず,セクタバッファ158へのアクセ
スが従来例の場合に比べて速くなる。
【0161】(3)また,本実施形態にかかる書き換え
回路100には,フラッシュメモリ150の記憶容量,
セクタ長およびデータ幅などのフラッシュメモリ150
の動作を指定するためのパラメータが予めCaptur
e値として設定されたスキャンレジスタであるPRFレ
ジスタ112を設けられている。したがって,LSI外
部からフラッシュライタによるアクセスを行う際にPR
Fレジスタ112のCapture値を読み出し,スキ
ャン出力コードを解読することにより,レジスタブロッ
ク102に存在するそれぞれのスキャンレジスタのビッ
ト長を確定できる。結果として,本実施形態によれば,
フラッシュライタのアクセス方法をLSIに内蔵された
個々のフラッシュメモリの種別に適合したアクセス方法
に訂正できることになる。
【0162】これにより,任意のフラッシュライタをフ
ラッシュメモリを内蔵したLSIに接続した場合,フラ
ッシュメモリの個々のパラメータ値を,当該フラッシュ
ライタが予め知らなくても,PRFレジスタ112のC
apture情報に基づく当該フラッシュメモリに適合
したアクセス方法を確立することが可能となる。したが
って,本実施形態によれば,任意のフラッシュライタで
記億容量,セクタ長およびデータ幅等の異なる様々なフ
ラッシュメモリのデータ書き換えに対応することができ
る。
【0163】(4)また,本実施形態にかかる書き換え
回路100では,SCNレジスタ134を内蔵するTA
P回路104と,デコーダ回路106の選択出力によっ
て,レジスタブロック102に含まれるスキャンレジス
タの経路を選択許可および動作を許可するようになって
いる。したがって,本実施形態によれば,デコーダ回路
106の選択出力および選択コードの追加により,レジ
スタブロック102およびフラッシュメモリ150の対
を任意に選択できるという効果およびレジスタブロック
102とフラッシュメモリ150の対を2つ以上一つの
LSIに内蔵し,1つのTAP回路104により制御で
きる。
【0164】(5)さらに,本実施形態によれば,LS
Iに内蔵されるフラッシュメモリのデータ書き換え操作
が,TCK,TMS端子,TDI端子,TDO端子,n
TRST端子の“IEEE std.1149.1”に
より規定されたインタフェースで可能となる。したがっ
て,本実施形態によれば,LSI内部にMCUコアモジ
ュールおよびそのデバッグ機能回路と共に内蔵すること
ができ,1つのインタフェースでMCUコアのプログラ
ムデバッグ操作と,フラッシュメモリへのデータ書換え
が可能である。
【0165】(6)また,本実施形態によれば,MCU
コアのフラッシュメモリに対するアクセスに影響されず
に当該フラッシュメモリのデータ書き換えが可能とな
る。
【0166】(7)さらに,本実施形態によれば,PR
Fレジスタ112のCapture値として予め設定さ
れた情報を読み取ることにより,フラッシュライタが,
フラッシュメモリの構造によりビット数が異なるスキャ
ンレジスタのアクセスに対して,随時,適合するアクセ
スが可能となる。したがって,不揮発性記憶回路フラッ
シュメモリ150のセクタサイズにフラッシュライタの
アクセスの仕方による制限が無くなり,不揮発性記憶回
路のアレイ構成を自由に決めることができる。
【0167】(8)さらにまた,“IEEE std.
1149.1”ではIRレジスタ130のビット数が規
定されていないため,本実施形態では,IRレジスタ1
30のビット数が少なくてIRレジスタ130で使用可
能な命令数が少ない場合でも,レジスタブロック102
に必要な命令数は,INTESTコードおよびSCAN
_BNコードの2つで良い。したがって,本実施形態に
よれば,レジスタブロック102内部の設計の自由度が
確保できる。
【0168】(第2実施形態)図15〜図17を参照し
ながら,第2実施形態について説明する。ここで,図1
5は,本実施形態にかかる書き換え回路200全体の概
略構成を示すブロック図である。また,図16は,本実
施形態にかかるTAP回路204の概略構成を示すブロ
ック図である。さらに,図17には,書き換え回路20
0に作用させるインストラクションの要約を示す。
【0169】(書き換え回路の構成)本実施形態にかか
る書き換え回路200は,TAP回路の構成において,
上記第1実施形態にかかる書き換え回路100と相違す
る。すなわち,図16に示すように,本実施形態にかか
るTAP回路204は,実質的に,図3に示す上記第1
実施形態にかかるTAP回路104からSCNレジスタ
134を削除した構成を有する。かかる相違に伴い,本
実施形態にかかる書き換え回路200は,図15に示す
ように,図1に示す上記第1実施形態にかかるデコーダ
回路106を備えていない。
【0170】本実施形態にかかる書き換え回路200
は,他の構成において,上記第1実施形態にかかる書き
換え回路100と実質的に一致する。そこで,書き換え
回路200の他の構成については説明を省略する。
【0171】(書き換え回路の操作)次に,以上のよう
に構成された書き換え回路200の操作について説明す
る。本実施形態にかかる書き換え回路200の操作は,
上記第1実施形態にかかる書き換え回路100の操作と
同様に,TDI端子,TCK端子,TMS端子,nTR
ST端子を介して行われる。また,フラッシュメモリ1
50に関するパラメータや書き換え回路200の動作状
況等は,外部出力端子であるTDO端子から出力される
信号を解読することにより,LSI外部において認識す
ることができる。
【0172】かかる書き換え回路200には,図17に
示すインストラクションコードが作用する。図17に示
すように,書き換え回路200に作用するインストラク
ションコードの要約は,図6に示す上記第1実施形態に
かかるインストラクションコードの要約からSCAN_
Nコードを除いたものと実質的に同一の構成を有する。
【0173】すなわち,書き換え回路200では,BP
レジスタ132とSCBNレジスタ110とに,それぞ
れ専用のインストラクションコードが割り当てられてい
る。対して,PRFレジスタ112とFCRレジスタ1
18とSECADRレジスタ114とDRレジスタ11
6とには,共通のインストラクションコードであるIN
TESTコードが割り当てられている。さらに,INT
ESTコードが割り当てられているPRFレジスタ11
2とFCRレジスタ118とSECADRレジスタ11
4とDRレジスタ116とには,それぞれ専用のSCB
Nコードが割り当てられている。すなわち,これらPR
Fレジスタ112とSECADRレジスタ114とDR
レジスタ116とFCRレジスタ118とは,INTE
STコードと専用のSCBNコードとが共に合致して初
めて選択される。
【0174】以上説明した本実施形態にかかる書き換え
回路200は,上記第1実施形態にかかる書き換え回路
100とは異なり,レジスタブロック102が常時選択
されている状態となっている。本実施形態にかかる書き
換え回路200では,TAPコントローラ142および
ワードカウンタ120の初期化の後直ぐに,レジスタブ
ロック102のスキャンレジスタ112,114,11
6,118へのアクセスが可能となる。
【0175】なお,本実施形態にかかる書き換え回路2
00によるプログラミング動作および読み出し動作は,
上記第1実施形態かかる書き換え回路200によるプロ
グラミング動作および読み出し動作からレジスタブロッ
ク102の選択を除いたものと実質的に同一である。
【0176】(効果)以上説明した本実施形態によれ
ば,上記第1実施形態と同様,フラッシュメモリ150
に対するアクセス速度の向上が可能であることや,フラ
ッシュメモリ150の種別に応じた最適なアクセス方法
・通信プロトコルを書き換え回路外部のHOST装置に
おいて随時確立可能であること等の効果を得ることがで
きる。さらに,本実施形態にかかる書き換え回路200
では,上記第1実施形態にかかるデコーダ回路106と
SCNレジスタ134が存在せず,TAP回路204が
レジスタブロック102の操作のみに関与する。したが
って,書き換え回路200のレジスタブロック102
は,常に,TDI端子とTDO端子との間に接続された
状態となる。すなわち,本実施形態にかかる書き換え回
路200は,同一LSIに内蔵されるMCUコアなどと
別の機能ブロックを構成することとなる。結果として,
本実施形態にかかる書き換え回路は,任意のLSI,例
えばあらかじめJTAGの機能を持たないMCUコアを
備えるLSIなどに適用することができる。
【0177】(第3実施形態)図18および図19を参
照しながら,第3実施形態について説明する。なお,図
18は,本実施形態にかかる書き換え回路300のレジ
スタブロック302の概略構成を示すブロック図であ
る。また,図19には,書き換え回路300に作用させ
るインストラクションの要約を示す。
【0178】(書き換え回路の構成)本実施形態にかか
る書き換え回路300は,レジスタブロックの構成にお
いて,上記第1実施形態にかかる書き換え回路100と
相違する。すなわち,図18に示すように,本実施形態
にかかるレジスタブロック302は,図3に示す上記第
1実施形態にかかるレジスタブロック102からSCB
Nレジスタ110とデコーダ回路124とマルチプレク
サ128とを削除したものと実質的に同一の構成を有す
る。
【0179】さらに,本実施形態にかかる書き換え回路
300では,デコーダ回路136の機能が拡張されてい
る。すなわち,本実施形態にかかるデコーダ回路136
は,図19に示すインストラクションコードであるBY
PASS,SCAN_N,PROFILE,FCMD,
SECADRおよびDRRDWRを解読し,各インスト
ラクションコードに対応する選択信号を生成する機能を
有する。
【0180】本実施形態にかかる書き換え回路300
は,他の構成において,上記第1実施形態にかかる書き
換え回路100と実質的に一致する。そこで,書き換え
回路300の他の構成については説明を省略する。
【0181】(書き換え回路の操作)次に,以上のよう
に構成された書き換え回路300の操作について説明す
る。本実施形態にかかる書き換え回路300の操作は,
上記第1実施形態にかかる書き換え回路100の操作と
同様に,TCK,TDI端子,TMS端子,nTRST
端子を介して行われる。また,フラッシュメモリ150
に関するパラメータや書き換え回路300の動作状況等
は,外部出力端子であるTDO端子から出力される信号
を解読することにより,LSI外部において認識するこ
とができる。
【0182】かかる書き換え回路300には,図19に
示すインストラクションコードが作用する。図19に示
すように,書き換え回路300に作用するインストラク
ションコードの要約は,図6に示す上記第1実施形態に
かかるインストラクションコードの要約と次のように相
違する。
【0183】まず,図19に示す書き換え回路300の
インストラクションコードには,図6に示すSCAN_
BNコードが存在しない。さらに,図19に示す書き換
え回路300のインストラクションコードには,図6に
示すINTESTが存在しない。さらに,本実施形態に
かかる書き換え回路300では,図6のSCBNコード
の代わりに,PRFレジスタ112とFCRレジスタ1
18とSECADRレジスタ114とDRレジスタ11
6とには,それぞれ専用のインストラクションコードが
割り当てられている。
【0184】以上説明した本実施形態にかかる書き換え
回路300では,上記第1実施形態にかかる書き換え回
路100の場合とは異なり,インストラクションコード
のみを作用させることによって,PRFレジスタ11
2,SECADRレジスタ114,DRレジスタ11
6,FCRレジスタ118を選択することができる。す
なわち,IRレジスタ130によるインストラクション
コードのShift動作およびUpdate動作を経れ
ば,直接,PRFレジスタ112,SECADRレジス
タ114,DRレジスタ116,FCRレジスタ118
を選択することができる。したがって,本実施形態にか
かる書き換え回路300では,レジスタブロックの選択
後,直接,PRFレジスタ112,SECADRレジス
タ114,DRレジスタ116,FCRレジスタ118
へのアクセスが可能となる。
【0185】(書き換え動作)以下に,書き換え回路3
00によるフラッシュメモリ150のプログラミング動
作およびその操作手順について説明する。
【0186】TAPコントローラ・ワードカウンタの初
期化;まず,nTRST端子を一旦論理レベル“0”に
することにより,TAPコントローラ142とワードカ
ウンタ120とを初期化する。
【0187】レジスタブロックの選択;次に,TDI端
子からSCAN_Nコードを入力し,IRレジスタ13
0にShift動作とUpdate動作とを行わせるこ
とにより,SCNレジスタ134を選択する。次に,T
DI端子から所定のコードを入力し,SCNレジスタ1
34にShift動作とUpdate動作とを行わせる
ことにより,SCNレジスタ134の出力信号コードS
6を確定する。これによって,デコーダ回路106が出
力信号コードS6をデコードし,デコーダ回路106か
ら所定の論理レベルのデコード出力信号S7が出力され
ることにより,レジスタブロック302が選択される。
【0188】PRFレジスタのCaptureデータの
読み出し:次に,TDI端子からPROFILEコード
を入力し,IRレジスタ130にShift動作とUp
date動作とを行わせることにより,PRFレジスタ
112を選択する。ここで,PRFレジスタ112にC
apture動作とShift動作とを行わせることに
より,TDO端子からPRFレジスタ112のCapt
ureデータを得ることができる。さらにまた,PRF
レジスタ112のUpdate動作によりwrenフラ
グをセットする。かかるwrenフラグの論理レベルに
より,後のDRレジスタ116のUpdate動作がセ
クタバッファ158への書き込み動作となる制御信号S
4を生成することができる。
【0189】上述のように,PRFレジスタ112のC
aptureコードには,フラッシュメモリ150の記
憶容量,セクタサイズ,デ−タ転送幅などを予めコード
化したものが含まれている。したがって,かかるPRF
レジスタ112のCaptureデータを解読すること
により,フラッシュメモリ150に関するパラメータを
検出することができる。
【0190】LSI外部に接続されたHOST装置,す
なわちフラッシュライタは,かかるフラッシュメモリ1
50に関するパラメータに応じて,SECADRレジス
タ114およびDRレジスタ116のビット数とワード
カウンタ120のビット数とを特定することができる。
フラッシュライタは,これらスキャンレジスタおよびワ
ードカウンタ120のビット数を考慮して,以後のSE
CADRレジスタ114やDRレジスタ116に対する
アクセスを行うことができる。
【0191】アドレス信号の生成:次に,TDI端子か
らSECADRコードを入力し,IRレジスタ130に
Shift動作とUpdate動作とを行わせることに
より,SECADRレジスタ114を選択する。ここ
で,TDI端子から所定のプログラム開始アドレスのセ
クタアドレスコードA[m−1:n]を入力し,SEC
ADRレジスタ114にShift動作とUpdate
動作とを行わせることにより,アドレス信号S1にセク
タアドレスコードA[m−1:n]を設定する。ワード
カウンタ120は,nTRST端子の論理レベル“0”
が印加された時点で初期状態を示しているため,このと
きには,アドレス信号S1のワードアドレスコードA
[n−1:0]も確定している。
【0192】フラッシュメモリ内部のセクタバッファへ
の書き込みデータ信号の書き込み:次に,TDI端子か
らDRRDWRコードを入力し,IRレジスタ130に
Shift動作とUpdate動作とを行わせることに
より,DRレジスタ116を選択する。ここで,TDI
端子からDRレジスタ116のデータ転送幅であるビッ
ト数分のコードを入力し,DRレジスタ116にShi
ft動作とUpdate動作を行わせることにより,当
該コードを順次セクタバッファ158の指定ワード位置
に記憶させる。このDRレジスタ116へのアクセス
は,セクタバッファ158およびワードカウンタ120
のビット数に相当する回数繰り返す。結果として,セク
タバッファ158およびワードカウンタ120のビット
数に相当するワード数分のワードデータが,セクタバッ
ファ158の指定ワード位置に記憶される。
【0193】この時,DRレジスタ116がUpdat
e動作を行うたびに,ワードカウンタ120は+1カウ
ントアップを行う。かかるワードカウンタ120のカウ
ントアップにより,セクタアドレスを基準としたアドレ
ス信号S1のアドレスコードの+1カウントアップが可
能となり,セクタバッファ158のワード記憶位置を更
新することができる。
【0194】このようにして,所定のセクタサイズ分の
ワードデータをセクタバッファ158に格納した後,再
び,IRレジスタ130の操作によりFCRレジスタ1
18を選択する。そして,FCRレジスタ118を介し
て制御回路160に指示を与え,セクタバッファ158
に記憶した全データをメモリセルアレイ152の選択さ
れたセクタに一括して書き込ませる動作をフラッシュメ
モリ150に指示する。
【0195】ここで,セクタバッファ158が記憶した
データをメモリセルアレイ152の所定セクタに書き込
む動作は,制御回路160により,所定のセクタの一括
消去後に自動的に行われる。いわゆる自動消去つきプロ
グラム動作である。なお,制御信号S4は,DRレジス
タ116によるワードデータのUpdate動作をトリ
ガとして生成される。制御信号S4は,例えばライトパ
ルスとして生成することができる。
【0196】スティタス信号の確認:FCRレジスタ1
18に未定義のコード(No Operation)を
TDI端子から入力し,Capture動作,Shif
t動作,Update動作をFCRレジスタ118のビ
ット数分繰り返す。この時,FCRレジスタ118にC
apture動作時に取り込まれたフラッシュメモリ1
50のスティタス信号S5は,TDO端子から出力さ
れ,LSI外部において認識することができる。LSI
外部で認識されるスティタス信号S5の論理状態がフラ
ッシュメモリ150内部における不揮発性操作たる消去
動作および書き込み動作が完了したことを示すまで,か
かるFCRレジスタ118への操作を反復する。
【0197】(読み出し操作)以下に,書き換え回路3
00によるフラッシュメモリ150のデータ読み出し動
作およびその操作手順について説明する。
【0198】TAPコントローラ・ワードカウンタの初
期化:まず,nTRST端子を一旦論理レベル“0”に
することにより,TAPコントローラ142をTest
−Logic Reset状態に初期化するとともに,
ワードカウンタ120を初期化する。さらに,PRFレ
ジスタ112のwrenは初期化される。
【0199】レジスタブロックの選択:次に,TDI端
子からSCAN_Nコードを入力し,IRレジスタ13
0にShift動作とUpdate動作とを行わせるこ
とにより,SCNレジスタ134を選択する。次に,T
DI端子から所定のコードを入力し,SCNレジスタ1
34にShift動作とUpdate動作とを行わせる
ことにより,SCNレジスタ134の出力信号コードS
6を確定する。これによって,デコーダ回路106が出
力信号コードS6をデコードし,デコーダ回路106か
ら所定の論理レベルのデコード出力信号S7が出力され
ることにより,レジスタブロック302が選択される。
【0200】アドレス信号の生成:その後,TDI端子
からSECADRコードを入力し,IRレジスタ130
にShift動作とUpdate動作とを行わせること
により,SECADRレジスタ114を選択する。ここ
で,TDI端子から所定の読み出し開始アドレスのセク
タアドレスコードA[m−1:n]を入力し,SECA
DRレジスタ114にShift動作とUpdate動
作とを行わせることにより,アドレス信号S1にセクタ
アドレスコードA[m−1:n]を設定する。ワードカ
ウンタ120は,nTRST端子の論理レベル“0”が
印加された時点で初期状態を示しているため,このとき
には,アドレス信号S1のワードアドレスコードA[n
−1:0]も確定している。
【0201】フラッシュメモリからの読み出しデータ信
号の読み出し:次に,TDI端子からDRRDWRコー
ドを入力し,IRレジスタ130にShift動作とU
pdate動作とを行わせることにより,DRレジスタ
116を選択する。
【0202】ここで,選択されたDRレジスタ116に
Capture動作を行わせることにより,DRレジス
タ116に読み出しデータ信号S2が取り込まれる。そ
して,DRレジスタ116にShift動作とUpda
te動作とを行わせることにより,DRレジスタ116
のビット数分ずつ読み出しデータ信号S2をTDO端子
から出力することができる。以上のようにDRレジスタ
116にCapture動作とShift動作とUpd
ate動作とを必要なワード数分行わせることにより,
必要なワード数分のワードデータをTDO端子から出力
することができる。かかるワードデータは,外部のフラ
ッシュライタで読み込むことができる。
【0203】この時,DRレジスタ116にスキャンデ
ータをUpdateさせるたびにワードカウンタ120
は+1のカウントアップを行い,アドレス信号S1のア
ドレスコードがセクタアドレスを基準として+1カウン
トアップし,メモリセルアレイ152の当該セクタのワ
ード記憶位置がワードカウンタ120の+1カウントア
ップに従って順次更新される。
【0204】このようにして,メモリセルアレイ152
における所定のセクタアドレスの,所定のワード数分の
ワードデータが,TDO端子から読み出される。
【0205】DRレジスタ116にフラッシュメモリ1
50からの読み出しデータ信号S2の信号コードが取り
込まれる操作は,制御信号S4が読み出し状態のCap
ture動作であり,かつTAPコントローラ142の
状態Capture−DRにおけるTCKの1パルス期
間で行われる。wrenが初期状態であれば,フラシュ
メモリ150は制御信号S4により常に読み出し状態で
あり,Update動作からCapture動作までの
時間はTCKの数パルス分になり,フラッシュメモリ1
50の読み出しのアクセス時間に十分の時間である。し
たがって,かかる時間内に,DRレジスタ116のCa
pture動作が正しく行われ,TDI端子とTDO端
子との間の所定のShift動作回数分で1ワード分の
読み出し動作が完了する。なお,通常TCKは,1MH
z以下の周波数であり,TCKの1パルス期間は,フラ
ッシュメモリ150の読み出しアクセス時間に比べて十
分に長い。
【0206】(効果)以上説明した本実施形態によれ
ば,上記第1実施形態と同様の効果を得ることができ
る。さらに,本実施形態によれば,次のような効果も期
待される。上記第1実施形態では,スキャンレジスタ1
12,114,116,118を選択する度に一旦SC
BNレジスタ110にアクセスする必要がある。これに
対し,本実施形態にかかる書き換え回路300では,S
CBNレジスタを用いずに,スキャンレジスタ112,
114,116,118にそれぞれ異なったインストラ
クションを選択作用させているため,各スキャンレジス
タを相互に独立に選択することができる。したがって,
本実施形態によれば,上記第1実施形態と比べて,外部
からのスキャンレジスタの操作が簡単になる。
【0207】(第4実施形態)次に,図20を参照しな
がら,第4実施形態について説明する。本実施形態は,
Captureデータのビット数を拡張することができ
るスキャンレジスタに関する。そして,本実施形態にか
かるスキャンレジスタは,例えば上記第1実施形態〜第
3実施形態にかかるスキャンレジスタ112に対して適
用することができる。
【0208】(スキャンレジスタの構成)図20には,
本実施形態にかかるスキャンレジスタ500の概略構成
を示す。図20に示すように,スキャンレジスタ500
は,TDI端子側からTDO端子側に向かって順次接続
されたM個のビットB2−1〜B2−Mを備えている
(Mは,2≦Mを満たす整数である。)。
【0209】(ビットB2−1)まず,スキャンレジス
タ500の最上位ビットであるビットB2−1に着目す
る。かかるビットB2−1は,セレクタ回路21−1
と,D−F/F22−1と,リセット付きのD−F/F
23−1とを,備えている。
【0210】ビットB2−1において,セレクタ回路2
1−1のA入力端子には,TDI端子から送られてくる
スキャン入力信号SCAN_INが入力され,セレクタ
回路21−1のB入力端子には,D−F/F23−1の
Q出力信号であるu_backが入力される。さらに,
セレクタ回路21−1の選択信号入力端子Sには,CA
PTURE_SELが入力される。ビットB2−1にお
いて,セレクタ回路21−1は,Capture_SE
Lの論理レベルが“1”のとき,B入力端子の入力信号
すなわちu_backと同一論理レベルのO出力信号を
出力する。一方,Capture_SELの論理レベル
が“0”のとき,セレクタ回路21−1は,スキャン入
力信号SCAN_INと同一論理レベルのO出力信号を
出力する。
【0211】ビットB2−1において,D−F/F22
−1のD入力端子には,上記セレクタ回路21−1のO
出力信号が入力され,D−F/F22−1のクロック入
力端子CKには,SHIFT_CKが入力される。ビッ
トB2−1において,D−F/F22−1は,SHIF
T_CKに同期してQ出力信号を生成する。スキャンレ
ジスタ500において,D−F/F22−1のQ出力信
号は,ビットB2−2のセレクタ回路21−2のA入力
端子(図示せず。)と,ビットB2−1のD−F/F2
3−1のD入力端子とに,分岐して入力される。
【0212】ビットB2−1において,D−F/F23
−1のD入力端子には,D−F/F22−1のQ出力信
号が入力され,D−F/F23−1のクロック入力端子
CKには,UPDATE_CKが入力される。また,D
−F/F23−1のリセット入力端子Rには,UPDA
TE_RSTが入力される。ビットB2−1において,
D−F/F23−1は,UPDATE_CKに同期して
Q出力信号としてu_backを出力する。
【0213】(ビットB2−k)次に,スキャンレジス
タ500の任意のビットB2−kに着目する(kは,2
≦k≦Mを満たす整数である。)。ビットB2−kは,
セレクタ回路20−kとセレクタ回路21−kとD−F
/F22−kとを備えている。
【0214】ビットB2−kにおいて,セレクタ回路2
0−kのA入力端子には,Frontkが入力され,セ
レクタ回路20−kのB入力端子には,Backkが入
力される。さらに,セレクタ回路20−kの選択信号入
力端子Sには,D−F/F23−1のQ出力信号である
u_backが入力される。ビットB2−kにおいて,
セレクタ回路20−kは,u_backの論理レベルが
“1”のとき,B入力端子の入力信号であるBackk
と同一論理レベルのO出力信号を出力する。セレクタ回
路20−kは,u_backの論理レベルが“0”のと
き,A入力端子の入力信号であるFrontkと同一論
理レベルのO出力信号を出力する。
【0215】ビットB2−kにおいて,セレクタ回路2
1−kのA入力端子には,ビットB2−(k−1)のD
−F/F22−(k−1)のQ出力信号が入力され,セ
レクタ回路21−kのB入力端子には,セレクタ回路2
0−kのO出力信号が入力される。また,セレクタ回路
21−kの選択信号入力端子Sには,Capture_
SELが入力される。ビットB2−kにおいて,セレク
タ回路21−kは,Capture_SELの論理レベ
ルが“1”のとき,B入力端子の入力信号すなわちセレ
クタ回路20−kのO出力信号と同一論理レベルのO出
力信号を出力する。一方,Capture_SELの論
理レベルが“0”のとき,セレクタ回路21−kは,D
−F/F22−(k−1)のQ出力信号と同一論理レベ
ルのO出力信号を出力する。
【0216】ビットB2−kにおいて,D−F/F22
−kのD入力端子には,上記セレクタ回路21−kのO
出力信号が入力され,D−F/F22−kのクロック入
力端子CKには,SHIFT_CKが入力される。ビッ
トB2−kにおいて,D−F/F22−kは,SHIF
T_CKに同期してQ出力信号を生成する。
【0217】スキャンレジスタ500において,D−F
/F22−kのQ出力信号は,基本的に,ビットB2−
(k+1)のセレクタ回路21−kのA入力端子に入力
される。ただし,最下位のビットB2−MのD−F/F
22−MのQ出力信号は,スキャン出力信号SCAN_
OUTとしてスキャンレジスタ500外部に出力され
る。
【0218】(スキャンレジスタの動作)以上のように
構成された本実施形態にかかるスキャンレジスタ500
の動作について説明する。本実施形態にかかるスキャン
レジスタにおいて,ビットB2−1は,3種類の動作,
すなわちCapture動作とShift動作とUpd
ate動作とを行う。
【0219】ビットB2−1のCapture動作で
は,現在のUpdate出力であるu_backがSH
IFT_CKに同期してD−F/F22−1にラッチさ
れる。このビットB2−1のCapture動作は,C
APTURE_SELの論理レベルが“1”のときに行
われる。ビットB2−1のShift動作では,スキャ
ン入力信号SCAN_INがSHIFT_CKに同期し
てD−F/F22−1にラッチされる。このビットB2
−1のShift動作は,CAPTURE_SELが
“0”のときに行われる。ビットB2−1のUpdat
e動作では,D−F/F22−1のQ出力信号がUPD
ATE_CKに同期してD−F/F23−1にラッチさ
れu_backの論理レベルが設定される。
【0220】一方,ビットB2−kは,Capture
動作とShift動作とを行う。ビットB2−kにはD
−F/F23−kに相当するフラグがないため,ビット
B2−kのUpdate動作は無視される。
【0221】ビット2−kのCapture動作では,
セレクタ回路20−kのO出力信号がSHIFT_CK
に同期してセレクタ回路21−kにラッチされる。この
ビット2−kのCapture動作は,CAPTURE
_SELの論理レベルが“1”のときに行われる。ここ
で,セレクタ回路20−kのO出力信号は,u_bac
kの論理レベルに応じて変化する。すなわち,セレクタ
回路20−kのO出力信号は,u_backの論理レベ
ルが“1”のときにBackkと同一論理レベルである
が,u_backの論理レベルが“0”のときにFro
ntkと同一論理レベルである。したがって,ビット2
−kのCapture動作では,u_backの論理レ
ベルが“1”のとき,Backkがセレクタ回路21−
kにラッチされ,u_backの論理レベルが“0”の
とき,Frontkセレクタ回路21−kにラッチされ
ることとなる。
【0222】ビット2−kのShift動作では,CA
PTURE_SELが“0”のとき,D−F/F21−
(k−1)のQ出力信号がSHIFT_CKに同期して
D−F/F22−kにラッチされる。
【0223】以上から,本実施形態にかかるスキャンレ
ジスタ500は,以下のように動作させることができ
る。
【0224】現在のu_backの論理レベルが“0”
の場合,スキャンレジスタ500にCapture動作
を行わせると,セレクタ回路21−1によりu_bac
kがラッチされるとともに,セレクタ回路21−2〜2
1−MによりFront2〜FrontMがラッチされ
る。次に,スキャンレジスタ500にShift動作を
M回行わせると,SCAN_OUTからFrontM,
Front(M−1),・・・,Front2,u_b
ack(なお,このCaptureデータを「Fron
t Capture」という。)が出力される。ここ
で,M回目のShift動作時にSCAN_INの論理
レベルが“1”であれば,スキャンレジスタ500にU
pdate動作を行わせることにより,u_backの
論理レべルを“1”に設定することができる。
【0225】逆に,現在のu_backの論理レベルが
“1”の場合,スキャンレジスタ500にCaptur
e動作を行わせると,セレクタ回路21−1によりu_
backがラッチされるとともに,セレクタ回路21−
2〜21−MによりBack2〜BackMがラッチさ
れる。次に,スキャンレジスタ500にShift動作
をM回行わせると,SCAN_OUTからBackM,
Back(M−1),・・・,Back2,u_bac
k(なお,このCaptureデータを「Back C
apture」という。)が出力される。ここで,M回
目のShift動作時にSCAN_INの論理レベルが
“0”であれば,スキャンレジスタ500にUpdat
e動作を行わせることにより,u_backの論理レべ
ルを“0”に設定することができる。
【0226】このように,現在のu_backの論理レ
ベルが“0”/“1”の場合には,スキャンレジスタ5
00にCapture動作,Shift動作およびUp
date動作を行わせることにより,スキャンレジスタ
500のFront Captureを得ることができ
る。さらに,スキャンレジスタ500のShift動作
時に,SCAN_INとして最上位の論理レベルが
“1”/“0”となる所定ビット数のシリアルデータを
スキャンレジスタ500に入力することにより,次にス
キャンレジスタ500にCapture動作,Shif
t動作およびUpdate動作を行わせる場合に,スキ
ャンレジスタ500のBack Captureを得る
ことができる。
【0227】図21,図22,図23には,上記第1実
施形態〜第3実施形態にかかるPRFレジスタ112に
本実施形態を適用した場合のPRFレジスタ112の論
理構造を示す。図21において,上段9ビットのコード
は,PRFレジスタ112のUpdateデータであ
る。PRFレジスタ112のUpdateデータにおい
て,最下位ビットのライトイネーブル信号wrenは,
DRレジスタ116のUpdateデータを有効にす
る,すなわち図2のnWEの生成をイネーブル/ディス
エーブルにする信号である。また,図21において,中
段および下段のコードは,PRFレジスタ112のCa
ptureデータである。より詳細には,中段9ビット
のコードがFront Captureであり,下段9
ビットのコードがBack Captureである。図
22には,図21のstrage<3:0>の定義を示
し,図23には,図21のsecter<2:0>の定
義を示す。
【0228】(効果)以上説明したように,本実施形態
にかかるスキャンレジスタでは,すくなくとも特定の1
のビット(B2−1)のUpdateデータによりCa
ptureデータの選択を可能とするセレク夕回路(2
0−2〜20−M)が他の複数のビット(B2−2〜B
2−M)に設置されている。したがって,本実施形態に
かかるスキャンレジスタでは,Capture動作時に
スキャンレジスタに取り込むCaptureデータが選
択可能となる。すなわち,上記特定のビットのUpda
teデータにより複数のCaptureデータのいずれ
かを選択することができる。結果として,本実施形態に
よれば,1つのスキャンレジスタに対し,そのShif
tビット数以上のビット数を有するCaptureデー
タを設定することができる。すなわち,本実施形態によ
れば,スキャンレジスタのビット数を増加させずに,C
aptureデータのビット数を増加させることができ
る,なお,ここでは,複数のCaptureデータを選
択する特定のUpdateデータを1ビットとして説明
したが,このビット数を増やし,セレクタ回路の入力を
増やすことにより,より多くの種類のCaptureデ
ータを選択することもできる。また,言うまでもなく,
図21にも示したように,Update動作で更新可能
なフラグを追加することも可能である。
【0229】上記第1実施形態〜第3実施形態にかかる
PRFレジスタ112は,主としてあらかじめ設定され
たCaptureデータに意味があり,図7や図21等
に示すwren以外にはUpdateデータには特に意
味が無く,さらに,多くのパラメータをあらかじめ設定
する必要がある。このようなスキャンレジスタに図8に
示すスキャンレジスタ400の構成を適用すると,スキ
ャンビットのビット数を増加させる必要がある。ビット
数が多いスキャンレジスタに,特定のビット,あるいは
特定の複数のビットのCaptureデータを検出する
場合に,そのスキャンレジスタのビット数分のShif
t動作が必要となる。その結果,Captureデータ
を検出する目的のビットがスキャンレジスタのどの位置
にある場合でも,目的のビットの数が少ない場合でも,
同じ回数のShift動作をする必要があり,アクセス
が遅くなる可能性がある。しかし,本実施形態によれ
ば,目的のビット数が少ない場合には,当該ビット数程
度のShift動作により,当該ビット数のCaptu
reデータを得ることができる。
【0230】また,従来のスキャンレジスタでは,IR
レジスタのアクセスにより特定のインストラクションを
指定することにより目的とするスキャンレジスタを選択
する必要があり,IRレジスタのアクセスが必ず必要で
ある。しかし,本実施形態によれば,目的のスキャンレ
ジスタに対し,最初のCaptureデータを得た後
は,IRレジスタのアクセスをしなくても,言い換えれ
ば,インストラクションを指定することなく,前回と異
なったCaptureデータを得ることができる。すな
わち,本実施形態によれば,目的のスキャンレジスタの
アクセスが短い時間でできる。
【0231】以上,本発明にかかる好適な実施の形態に
ついて説明したが,本発明はかかる構成に限定されな
い。当業者であれば,特許請求の範囲に記載された技術
思想の範囲内において,各種の修正例および変更例を想
定し得るものであり,それら修正例および変更例につい
ても本発明の技術範囲に包含されるものと了解される。
【0232】例えば,上記実施形態では,TAP回路と
のデータ通信のプロトコルとして“IEEE std.
1149.1”に記載のプロトコルを用いた書き換え回
路を例に挙げて説明したが,本発明は,かかる構成に限
定されない。本発明のTAP回路とのデータ通信のプロ
トコルは,レジスタブロックのスキャンレジスタのCa
pture動作,Shift動作,Update動作を
実現することができるものであればよい。したがって,
本発明は,例えば,上記とは異なる遷移状態を持つTA
Pコントローラや,上記とは異なるシリアルインタフェ
ースプロトコルに基づいて構成されるTAP回路等を適
用した書き換え回路に対しても適用することができる。
【0233】さらに,上記実施形態では,PRFレジス
タにおけるwrenフラグのUpdate値によりDR
レジスタのUpdate動作がセクタバッファへの書き
込み動作となるように設定し,DRレジスのUpdat
e動作の所定のワード数分の繰り返しを行い,DRレジ
スタに対するUpdate動作のたびに+1カウントす
るワードカウンタによりフラッシュメモリのセクタ内の
アドレスを指定とともに,セクタバッファのワード位置
を指定するPRFレジスタにおけるwrenフラグの設
定後セクタバッファへ書き込みデータを設定しかつFC
RレジスタのUpdate値によりセクタバッファのデ
ータをメモリセルに書き込むように説明しているが,本
発明はかかる構成に限定されない。本発明は,SECA
DRレジスタをプログラムの開始アドレスを設定するス
キャンレジスタとし,DRレジスタに対する1つのUp
date動作のたびにメモリアレイへのDRレジスタの
ビット数分のプログラム動作が完了するようにすること
により,セクタバッファのようなセクタバッファをもた
ないようにした不揮発性記憶メモリに対しても適用する
ことも可能である。
【0234】また,上記実施形態においては,2種類の
Captureデータ(FrontCapture,B
ack Capture)をもつPRFレジスタを例に
挙げて説明したが,本発明はかかる構成に限定されな
い。本発明では,PRFレジスタに3種類以上のCap
tureデータをあらかじめ設定することにより,フラ
ッシュメモリの記億容量,セクタサイズ,データ転送幅
などを示すコードのビット数を増やすことが可能とな
る。この場合には,u_backにより選択動作が制御
されるセレクタ回路の数を増やしたり,より多くの入力
端子を有するセレクタ回路を使用することにより,実現
することができる。
【0235】また,上記実施形態においては,PRFレ
ジスタに予め設定されるCapture値として,フラ
ッシュメモリに関する記憶容量,セクタサイズ,データ
転送幅を挙げたが,本発明はかかる構成に限定されな
い。本発明では,これ以外にも,例えば,フラッシュメ
モリの特性に関る,あるいはフラッシュメモリへのアク
セス方法に関るパラメータコード,あるいは,フラッシ
ュメモリに関するもの以外のパラメータをPRFレジス
タのCapture値として設定することもできる。
【0236】さらに,上記実施形態においては,u_b
ackを設定するビットとしてスキャンレジスタの最上
位ビットとしたスキャンレジスタを例に挙げたが,本発
明はかかる構成に限定されない。本発明において,u_
backを設定するビットは,当該スキャンレジスタ内
であればどのビット位置に設けても構わない。また,そ
の数も問わない。
【0237】また,本発明は,フラッシュメモリとレジ
スタブロックとのデータ転送単位が任意のビット,例え
ば,セクタバッファにおいてバイト単位でデータが格納
され,バイトカウンタをその1バイトを単位とするバイ
トカウンタとした書き換え回路に対しても適用すること
ができる。
【0238】
【発明の効果】以上説明したように,本発明によれば,
“IEEE std.1149.1”のTAP回路を用
いてフラッシュメモリに指示を与えるレジスタブロック
を制御することができるフラッシュメモリの書き換え回
路が提供可能である。したがって,バウンダリスキャン
回路やデバック機能回路と集積化ないしモジュール化
し,かつ同一インタフェースを用いて制御可能なフラッ
シュメモリの書き換え回路を提供することができる。結
果として,本発明によれば,大規模集積回路(LSI)
がプリント基板に搭載された状態で,フラッシュメモリ
ブロックのデータ書き換えを制御する方法を提供するこ
とができる。また,本発明によれば,上記バウンダリス
キャン回路やデバック機能回路と集積化した場合でも,
それらとは別個に,独立して制御可能な書き換え回路が
提供される。
【0239】さらに,本発明によれば,フラッシュメモ
リに対する書き換え回路のアクセス速度の向上を図るこ
とができる。また,書き換え回路外部において,フラッ
シュメモリの種別に応じた好適なアクセス方法ないし通
信プロトコルを判断することができる。さらに,外部に
おいて好適なアクセス方法ないし通信プロトコルを判断
できることにより,フラッシュライタなどの外部装置の
汎用化を図ることができるとともに,フラシュメモリな
いしレジスタブロックの設計自由度を向上させることが
できる。
【図面の簡単な説明】
【図1】本発明を適用可能な書き換え回路の全体構成を
説明するためのブロック図である。
【図2】図1に示すフラッシュの構成を説明するための
ブロック図である。
【図3】図1に示すレジスタブロックの構成を説明する
ためのブロック図である。
【図4】図1に示すTAP回路の構成を説明するための
ブロック図である。
【図5】図4に示すTAPコントローラの状態遷移図で
ある。
【図6】図1に示す書き換え回路100に作用するイン
ストラクションコードの要約を示す図である。
【図7】図3に示すSECADRレジスタ,ワードカウ
ンタ,DRレジスタおよびFCRレジスタ周辺の回路構
成を説明するためのブロック図である。
【図8】本発明に適用可能なスキャンレジスタの基本構
成の説明図である。
【図9】図4に示すIRレジスタ周辺の回路構成を説明
するためのブロック図である。
【図10】図3または図4に示すデータスキャンレジス
タ周辺の回路構成を説明するためのブロック図である。
【図11】図4に示すSCBNレジスタ周辺の回路構成
を説明するためのブロック図である。
【図12】図4に示すDRレジスタ周辺の回路構成を説
明するためのブロック図である。
【図13】図3に示すマルチプレクサ周辺の回路構成を
説明するためのブロック図である。
【図14】図4に示すマルチプレクサ周辺の回路構成を
説明するためのブロック図である。
【図15】本発明を適用可能な他の書き換え回路の全体
構成を説明するためのブロック図である。
【図16】図18に示すTAP回路の構成を説明するた
めのブロック図である。
【図17】図18に示す書き換え回路に作用するインス
トラクションコードの要約を示す図である。
【図18】本発明を適用可能な他の書き換え回路のレジ
スタブロックの構成を説明するためのブロック図であ
る。
【図19】図21にかかる書き換え回路に作用するイン
ストラクションの要約を示す図である。
【図20】本発明を適用可能なスキャンレジスタの構成
を説明するための図である。
【図21】図4に示すPRFレジスタのCapture
データ・Updateデータについての説明図である。
【図22】図4に示すPRFレジスタのCapture
データにおけるフラッシュメモリの容量に関するコード
の説明図である。
【図23】図4に示すPRFレジスタのCapture
データにおけるフラッシュメモリのセクタサイズに関す
るコードの説明図である。
【図24】従来の書き換え回路の構成を説明するための
ブロック図である。
【符号の説明】
100,200,300 書き換え回路 102,302 レジスタブロック 104,204 TAP回路 106,124,136 デコーダ回路 110 SCBNレジスタ 112 PRFレジスタ 114 SECADRレジスタ 116 DRレジスタ 118 FCRレジスタ 120 ワードカウンタ 122 制御回路 126,128,138 マルチプレクサ 130 IRレジスタ 132 BPレジスタ 134 SCNレジスタ 140 ラッチ 142 TAPコントローラ 150 フラッシュメモリ 152 メモリアレイ 154 行アドレスデコーダ 156 列アドレスデコーダ 158 セクタバッファ 160 制御回路 162 センスアンプ 400,500 スキャンレジスタ S1 アドレス信号 S2 読み出しデータ信号 S3 書き込みデータ信号 S4 制御信号 S5 スティタス信号

Claims (21)

    【特許請求の範囲】
  1. 【請求項1】 電気的に記憶データの消去及び書き換え
    が可能な不揮発性記憶装置の書き換え回路であって:デ
    ータ入力端子と,データ出力端子と,それぞれに少なく
    とも1以上の所定のコードが割り当てられており,当該
    割り当てられた所定のコードが同時に作用した場合に選
    択されて,スキャン入力されるデータに基づき前記不揮
    発性記憶装置にアクセスする,2以上のアクセス用スキ
    ャンレジスタと,スキャン入力される前記所定のコード
    のアップデート(Update)出力を介して当該所定
    のコードに対応する前記アクセス用スキャンレジスタに
    動作を指示する,少なくとも1以上の選択用スキャンレ
    ジスタと,を備え;前記アクセス用スキャンレジスタの
    スキャン入力端子と前記選択用スキャンレジスタのスキ
    ャン入力端子とは前記データ入力端子に共通に接続され
    ており;前記アクセス用スキャンレジスタのスキャン出
    力信号と前記選択用スキャンレジスタのスキャン出力信
    号とは少なくとも1以上のマルチプレクサを介し多重化
    されて前記データ出力端子から出力される;ことを特徴
    とする,書き換え回路。
  2. 【請求項2】 前記選択用スキャンレジスタには,前記
    アクセス用スキャンレジスタと他の選択用スキャンレジ
    スタとに動作を指示するインストラクションレジスタが
    含まれることを特徴とする,請求項1に記載の書き換え
    回路。
  3. 【請求項3】 前記アクセス用スキャンレジスタのそれ
    ぞれには,前記所定のコードとして,少なくとも1以上
    の専用のコードが割り当てられていることを特徴とす
    る,請求項1または2に記載の書き換え回路。
  4. 【請求項4】 前記専用のコードに基づく前記アクセス
    用スキャンレジスタへの動作の指示は,前記インストラ
    クションレジスタによって行われることを特徴とする,
    請求項3に記載の書き換え回路。
  5. 【請求項5】 前記専用のコードに基づく前記アクセス
    用スキャンレジスタへの動作の指示は,前記インストラ
    クションレジスタ以外の選択用スキャンレジスタによっ
    て行われることを特徴とする,請求項3に記載の書き換
    え回路。
  6. 【請求項6】 前記アクセス用スキャンレジスタには,
    前記所定のコードとして,前記アクセス用スキャンレジ
    スタの全てに共通する少なくとも1以上の共通のコード
    が割り当てられていることを特徴とする,請求項1,
    2,3,4または5のいずれかに記載の書き換え回路。
  7. 【請求項7】 前記共通のコードに基づく前記アクセス
    用スキャンレジスタへの動作の指示は,前記インストラ
    クションレジスタによって行われることを特徴とする,
    請求項6に記載の書き換え回路。
  8. 【請求項8】 前記共通のコードに基づく前記アクセス
    用スキャンレジスタへの動作の指示は,前記インストラ
    クションレジスタ以外の選択用スキャンレジスタによっ
    て行われることを特徴とする,請求項6に記載の書き換
    え回路。
  9. 【請求項9】 さらに,状態遷移によって前記アクセス
    用スキャンレジスタと前記選択用スキャンレジスタとの
    動作を指定するTAP(Test Access Po
    rt)コントローラを備えることを特徴とする,請求項
    1,2,3,4,5,6,7または8のいずれかに記載
    の書き換え回路。
  10. 【請求項10】 電気的に記憶データの消去及び書き換
    えが可能な不揮発性記憶装置の書き換え回路であって:
    データ入力端子と,データ出力端子と,それぞれに少な
    くとも1以上の所定のコードが割り当てられており,当
    該割り当てられた所定のコードが同時に作用した場合に
    選択されて,スキャン入力されるデータに基づき前記不
    揮発性記憶装置にアクセスする,2以上のアクセス用ス
    キャンレジスタと,少なくとも1以上の所定のコードが
    割り当てられており,当該割り当てられた所定のコード
    が同時に作用した場合に選択される,キャプチャ(Ca
    pture)データ中に前記不揮発性記憶装置に関する
    所定パラメータのコードが設定されている,プロファイ
    ルレジスタと,スキャン入力される所定のコードのアッ
    プデート(Update)出力を介して,当該所定のコ
    ードに対応する前記アクセス用スキャンレジスタないし
    前記プロファイルレジスタに動作を指示する1以上の選
    択用スキャンレジスタと,を備え;前記アクセス用スキ
    ャンレジスタのスキャン入力端子と前記選択用スキャン
    レジスタのスキャン入力端子とは前記データ入力端子に
    共通に接続されており;前記アクセス用スキャンレジス
    タのスキャン出力信号と前記選択用スキャンレジスタの
    スキャン出力信号とは少なくとも1以上のマルチプレク
    サを介して多重化されて前記データ出力端子から出力さ
    れる;ことを特徴とする,書き換え回路。
  11. 【請求項11】 前記選択用スキャンレジスタには,前
    記アクセス用スキャンレジスタと前記プロファイルレジ
    スタと他の選択用スキャンレジスタとに動作を指示する
    インストラクションレジスタが含まれることを特徴とす
    る,請求項10に記載の書き換え回路。
  12. 【請求項12】 前記アクセス用スキャンレジスタと前
    記プロファイルレジスタとのそれぞれには,前記所定の
    コードとして,少なくとも1以上の専用のコードが割り
    当てられていることを特徴とする,請求項10または1
    1に記載の書き換え回路。
  13. 【請求項13】 前記専用のコードに基づく前記アクセ
    ス用スキャンレジスタと前記プロファイルレジスタとへ
    の動作の指示は,前記インストラクションレジスタによ
    って行われることを特徴とする,請求項12に記載の書
    き換え回路。
  14. 【請求項14】 前記専用のコードに基づく前記アクセ
    ス用スキャンレジスタと前記プロファイルレジスタとへ
    の動作の指示は,前記インストラクションレジスタ以外
    の選択用スキャンレジスタによって行われることを特徴
    とする,請求項12に記載の書き換え回路。
  15. 【請求項15】 前記アクセス用スキャンレジスタと前
    記プロファイルレジスタとには,前記所定のコードとし
    て,前記アクセス用スキャンレジスタと前記プロファイ
    ルレジスタとの全てに共通する少なくとも1以上の共通
    のコードが割り当てられていることを特徴とする,請求
    項10,11,12,13または14のいずれかに記載
    の書き換え回路。
  16. 【請求項16】 前記共通のコードに基づく前記アクセ
    ス用スキャンレジスタと前記プロファイルレジスタとへ
    の動作の指示は,前記インストラクションレジスタによ
    って行われることを特徴とする,請求項15に記載の書
    き換え回路。
  17. 【請求項17】 前記共通のコードに基づく前記アクセ
    ス用スキャンレジスタと前記プロファイルレジスタとへ
    の動作の指示は,前記インストラクションレジスタ以外
    の選択用スキャンレジスタによって行われることを特徴
    とする,請求項15に記載の書き換え回路。
  18. 【請求項18】 さらに,状態遷移によって前記アクセ
    ス用スキャンレジスタと前記選択用スキャンレジスタと
    の動作を指定するTAPコントローラを備えることを特
    徴とする,請求項10,11,12,13,14,1
    5,16または17のいずれかに記載の書き換え回路。
  19. 【請求項19】 前記プロファイルレジスタのアップデ
    ート(Update)動作により,前記不揮発性半導体
    記憶装置のライトエネーブル(wren)フラグをセッ
    ト/リセットすることを特徴とする,10,11,1
    2,13,14,15,16,17または18のいずれ
    かに記載の書き換え回路。
  20. 【請求項20】 請求項10,11,12,13,1
    4,15,16,17,18または19のいずれかに記
    載の書き換え回路を用い;当該書き換え回路から,前記
    データ出力端子を介して前記プロファイルレジスタのキ
    ャプチャ(Capture)データの前記不揮発性記憶
    装置に関する所定パラメータのコードを読み出す工程
    と;前記所定のパラメータのコードを解読して前記アク
    セス用スキャンレジスタの構成を認識する工程と;認識
    した前記アクセス用スキャンレジスタの構成に基づき当
    該書き換え回路との通信プロトコルを更新する工程と;
    を含むことを特徴とする,不揮発性記憶装置のデータ書
    き換え方法。
  21. 【請求項21】 2以上のビットから構成されるスキャ
    ンレジスタであって:少なくとも1のビットのアップデ
    ート(Update)出力が他のビットの共通の選択信
    号に設定されており;前記他のビットそれぞれは,少な
    くとも2以上のキャプチャ(Capture)入力信号
    を有し,前記選択信号に応じて前記キャプチャ(Cap
    ture)入力信号のいずれかをキャプチャ(Capt
    ure)するものである;ことを特徴とする,スキャン
    レジスタ。
JP25575099A 1999-09-09 1999-09-09 不揮発性記憶装置の書き換え回路,不揮発性記憶装置の書き換え方法およびスキャンレジスタ Pending JP2001084787A (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP25575099A JP2001084787A (ja) 1999-09-09 1999-09-09 不揮発性記憶装置の書き換え回路,不揮発性記憶装置の書き換え方法およびスキャンレジスタ
US09/605,760 US6324096B1 (en) 1999-09-09 2000-06-28 Interface circuit and method for writing data into a non-volatile memory, and scan register
US09/953,166 US6442092B1 (en) 1999-09-09 2001-09-17 Interface circuit and method for writing data into a non-volatile memory, and scan register

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP25575099A JP2001084787A (ja) 1999-09-09 1999-09-09 不揮発性記憶装置の書き換え回路,不揮発性記憶装置の書き換え方法およびスキャンレジスタ

Publications (1)

Publication Number Publication Date
JP2001084787A true JP2001084787A (ja) 2001-03-30

Family

ID=17283120

Family Applications (1)

Application Number Title Priority Date Filing Date
JP25575099A Pending JP2001084787A (ja) 1999-09-09 1999-09-09 不揮発性記憶装置の書き換え回路,不揮発性記憶装置の書き換え方法およびスキャンレジスタ

Country Status (2)

Country Link
US (2) US6324096B1 (ja)
JP (1) JP2001084787A (ja)

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6463516B1 (en) * 2000-04-25 2002-10-08 Advanced Micro Devices, Inc. Variable sector size for a high density flash memory device
US6691270B2 (en) * 2000-12-22 2004-02-10 Arm Limited Integrated circuit and method of operation of such a circuit employing serial test scan chains
JP4282919B2 (ja) * 2001-04-27 2009-06-24 インターナショナル・ビジネス・マシーンズ・コーポレーション レジスタ
JP4136359B2 (ja) * 2001-11-15 2008-08-20 株式会社ルネサステクノロジ マイクロコンピュータ
US6925583B1 (en) * 2002-01-09 2005-08-02 Xilinx, Inc. Structure and method for writing from a JTAG device with microcontroller to a non-JTAG device
US7162644B1 (en) 2002-03-29 2007-01-09 Xilinx, Inc. Methods and circuits for protecting proprietary configuration data for programmable logic devices
EP1367598A1 (en) * 2002-05-31 2003-12-03 STMicroelectronics S.r.l. Testing method and device for non volatile memories having a LPC (low pin count) communication serial interface
AU2002319987A1 (en) * 2002-07-03 2004-01-23 Telefonaktiebolaget Lm Ericsson (Publ) A method and a unit for programming a memory
US20040098643A1 (en) * 2002-11-18 2004-05-20 Jurgen Schulz Method and apparatus for accessing internal RAMs during diagnostic testing
US6973588B2 (en) * 2002-11-27 2005-12-06 Symbol Technologies, Inc. Disaster recovery port in a portable computer
US7152194B2 (en) * 2003-08-20 2006-12-19 Lsi Logic Corporation Method and circuit for scan testing latch based random access memory
US7099985B2 (en) * 2003-12-23 2006-08-29 Intel Corporation Using a processor to program a semiconductor memory
US7404128B2 (en) * 2004-02-17 2008-07-22 Texas Instruments Incorporated Serial data I/O on JTAG TCK with TMS clocking
WO2006112878A2 (en) 2004-09-16 2006-10-26 Cidra Corporation Apparatus and method for providing a fluid cut measurement of a multi-liquid mixture compensated for entrained gas
US7406878B2 (en) * 2005-09-27 2008-08-05 Endress + Hauser Flowtec Ag Method for measuring a medium flowing in a pipeline and measurement system therefor
DE102006017768A1 (de) * 2006-04-15 2007-10-18 Infineon Technologies Ag Integrierter Speicherbaustein sowie Verfahren zum Betrieb eines integrierten Speicherbausteins
KR100733954B1 (ko) * 2006-06-15 2007-06-29 삼성전자주식회사 향상된 스캔 구조를 갖는 플래시 메모리 장치
US8225022B2 (en) * 2006-08-08 2012-07-17 Dataram, Inc. Methods for eliminating intermediate bussing and bridging requirements between a solid state memory device with PCI controller and a main system bus
US7707467B2 (en) * 2007-02-23 2010-04-27 Micron Technology, Inc. Input/output compression and pin reduction in an integrated circuit
US9092570B2 (en) * 2007-07-28 2015-07-28 Sam Michael Memory management for remote software debuggers and methods
CN103077747A (zh) * 2012-12-20 2013-05-01 北京航天测控技术有限公司 Eeprom存储器的建模方法和边界扫描测试程序的加载方法
US10303895B1 (en) 2017-01-19 2019-05-28 Intuit Inc. System and method for perpetual rekeying of various data columns with respective encryption keys and on alternating bases
DE112019007386T5 (de) * 2019-05-31 2022-02-17 Micron Technology, Inc. Verbesserte jtag-register mit gleichzeitigen eingängen
DE112019007374T5 (de) * 2019-05-31 2022-02-17 Micron Technology, Inc. Direkter speicherzugriff mit jtag-zelladresse
CN115202438B (zh) * 2022-09-16 2022-12-30 四川奥库科技有限公司 基于单时钟的全同步eFlash控制器的实现方法

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2535670B2 (ja) * 1991-01-28 1996-09-18 株式会社東芝 双方向入出力端子用バウンダリスキャンセル
JP2727930B2 (ja) * 1993-10-04 1998-03-18 日本電気株式会社 バウンダリスキャンテスト回路
JPH08147186A (ja) 1994-11-24 1996-06-07 Nippondenso Co Ltd フラッシュメモリ内蔵マイクロコンピュータ
US5938782A (en) * 1996-09-24 1999-08-17 Vlsi Technology, Inc. Scan flip-flop and methods for controlling the entry of data therein
JPH10105456A (ja) 1996-09-30 1998-04-24 Hitachi Ltd フラッシュメモリの書き換え方法及びデータ処理システム
US5937423A (en) * 1996-12-26 1999-08-10 Intel Corporation Register interface for flash EEPROM memory arrays
US6137738A (en) * 1999-11-30 2000-10-24 Lucent Technologies, Inc. Method for in-system programming of serially configured EEPROMS using a JTAG interface of a field programmable gate array

Also Published As

Publication number Publication date
US6442092B1 (en) 2002-08-27
US20020044484A1 (en) 2002-04-18
US6324096B1 (en) 2001-11-27

Similar Documents

Publication Publication Date Title
JP2001084787A (ja) 不揮発性記憶装置の書き換え回路,不揮発性記憶装置の書き換え方法およびスキャンレジスタ
JP4527181B2 (ja) Jtagポートを介したメモリユニットの入出力処理の制御のための方法及び装置
US6102963A (en) Electrically erasable and reprogrammable, nonvolatile integrated storage device with in-system programming and verification (ISPAV) capabilities for supporting in-system reconfiguring of PLD's
US5650734A (en) Programming programmable transistor devices using state machines
US5970005A (en) Testing structure and method for high density PLDs which have flexible logic built-in blocks
US6349397B1 (en) Signal processing apparatus having non-volatile memory and programming method of the non-volatile memory
US6651199B1 (en) In-system programmable flash memory device with trigger circuit for generating limited duration program instruction
JP2001256791A (ja) 半導体記憶装置
JP3875139B2 (ja) 不揮発性半導体記憶装置、そのデータ書き込み制御方法およびプログラム
US5802268A (en) Digital processor with embedded eeprom memory
US5898701A (en) Method and apparatus for testing a device
JP2009259329A (ja) 半導体集積回路装置
KR100963385B1 (ko) 이중-경로, 멀티 모드 순차 저장 엘리먼트
US7313745B1 (en) Decoder for pin-based scan test
US7882406B2 (en) Built in test controller with a downloadable testing program
JP2006209451A (ja) マイクロコンピュータおよびマイクロコンピュータの最適化方法
JP2009510474A (ja) メモリスキャンテスト
CN115310391A (zh) Fpga配置控制系统、fpga配置方法及fpga芯片
JPH07192481A (ja) 半導体記憶装置
JP5158087B2 (ja) 半導体集積回路装置および半導体集積回路装置の試験方法
JP2003317490A (ja) 不揮発性記憶装置のデ−タ転送制御回路,不揮発性記憶装置の書き換え回路,及び,通信制御装置
US6943560B1 (en) Method to facilitate testing of laser fuses
JP4043270B2 (ja) 不揮発性メモリの制御回路
JP4050416B2 (ja) 集積化されたビタビデコーダ回路
KR100290280B1 (ko) 프로그램 가능한 플래시 메모리를 내장하는 마이크로콘트롤러

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20040217

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040309

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20040405

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20040423

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20060923

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20060929

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20061013