半導体装置
【課題】耐タンパ性を有する、可変論理機能を実現するための記憶回路を有する半導体装置を提供する。
【解決手段】制御回路24は、記憶回路23の次の読出しアドレスを先に記憶回路23から読出した制御フィールドの情報または外部イベント入力に基づいて自律的に制御することが可能である。正規デコーダ28は、制御回路24から出力されるアドレスをデコードし、デコード結果に基づいて、データフィールドの少なくとも1つの正規メモリセルと、制御フィールドの少なくとも1つのメモリセルを選択する。冗長制御回路51は、イネーブル信号が活性化された場合に限り、制御回路24から出力されるアドレスと、所定の正規メモリセルのアドレスとが一致したときに、正規デコーダ28による選択を禁止し、データフィールドの少なくとも1つの冗長メモリセルと制御フィールドの少なくとも1つの冗長メモリセルを選択する。
【解決手段】制御回路24は、記憶回路23の次の読出しアドレスを先に記憶回路23から読出した制御フィールドの情報または外部イベント入力に基づいて自律的に制御することが可能である。正規デコーダ28は、制御回路24から出力されるアドレスをデコードし、デコード結果に基づいて、データフィールドの少なくとも1つの正規メモリセルと、制御フィールドの少なくとも1つのメモリセルを選択する。冗長制御回路51は、イネーブル信号が活性化された場合に限り、制御回路24から出力されるアドレスと、所定の正規メモリセルのアドレスとが一致したときに、正規デコーダ28による選択を禁止し、データフィールドの少なくとも1つの冗長メモリセルと制御フィールドの少なくとも1つの冗長メモリセルを選択する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、半導体装置に関し、記憶回路を用いて可変可能に論理機能を実現することができる半導体装置に関する。
【背景技術】
【0002】
可変論理機能を実現するための記憶回路を論理回路と等価な回路として扱うことができる半導体装置を提供することにある。
【0003】
たとえば、特許文献1(国際公開第2008/143285号パンフレット)に記載の半導体装置は、可変論理機能を実現するためにそれぞれ記憶回路と制御回路を有する複数の機能再構成セルを備え、真理値データを格納する記憶回路の読み出しアドレスを機能再構成セルそれ自体で自律的に制御する。たとえば、制御回路は、記憶回路のデータフィールドおよび制御フィールドから同期的に読み出された情報を帰還入力し、制御フィールドからの帰還入力情報に基づいて、データフィールドからの帰還入力情報または別の情報をデータフィールドおよび制御フィールドを次に同期的に読み出し制御するためのアドレス情報とする。
【0004】
機能再構成セルは、アクセス要求主体からのアクセス要求に応答するインタフェース制御回路の制御を受ける。
【0005】
これによって、真理値データを格納する記憶回路の読み出しを機能再構成セルそれ自体で自律的に制御することができるから、可変論理機能を実現するための記憶回路を論理回路と等価な回路として扱うことができる。したがって、実現可能な論理構成や論理規模に融通性を得ることができ、また、小さなチップ占有面積で大きな論理規模にも対応可能な可変論理機能が実現可能になる。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】国際公開第2008/143285号パンフレット
【発明の概要】
【発明が解決しようとする課題】
【0007】
しかしながら、機能再構成セルの記憶回路のデータフィールドおよび制御フィールドの情報が不正アクセスによって読み出されたり、改竄されたりすると、それは、機能再構成セルで実現される可変論理機能を実行する回路が盗まれたり、破壊されたりすることと同じ結果となり、その損害は計り知れない。
【0008】
それゆえに、本発明の目的は、耐タンパ性を有する、可変論理機能を実現するための記憶回路を有する半導体装置を提供することである。
【課題を解決するための手段】
【0009】
本発明の一実施形態の半導体装置は、記憶回路と制御回路とを有する複数の機能再構成セルと、アクセス要求に応答して機能再構成セルを制御するインタフェース制御回路と、ユーザから認証コードの入力を受付け、入力された認証コードに基づいて、ユーザのアクセスが正当か否かを判定し、正当な場合にイネーブル信号を活性化する中央処理装置とを備える。記憶回路は、メモリアレイを有し、メモリアレイは、複数個の正規メモリセルと、複数個の冗長メモリセルとを有する。メモリアレイは、データフィールドと、制御フィールドに分割される。制御回路は、記憶回路の次の読出しアドレスを先に記憶回路から読出した制御フィールドの情報または外部イベント入力に基づいて自律的に制御することが可能である。記憶回路は、制御回路から出力されるアドレスをデコードし、デコード結果に基づいて、データフィールドの少なくとも1つの正規メモリセルと、制御フィールドの少なくとも1つのメモリセルを選択する正規デコーダと、イネーブル信号が活性化された場合に限り、制御回路から出力されるアドレスと、所定の正規メモリセルのアドレスとが一致したときに、正規デコーダによる選択を禁止し、データフィールドの少なくとも1つの冗長メモリセルと制御フィールドの少なくとも1つの冗長メモリセルを選択する冗長制御回路とを含む。
【発明の効果】
【0010】
本発明の一実施形態によれば、可変論理機能を実現するための記憶回路に耐タンパ性を持たせることができる。
【図面の簡単な説明】
【0011】
【図1】本発明の実施形態のデータプロセッサの構成を表わす図である。
【図2】第1の実施形態の機能再構成セルの一例を表わす図である。
【図3】冗長制御回路の構成を表わす図である。
【図4】この冗長制御回路によって、実現される動作を説明するための図である。
【図5】MCUの処理手順を表わすフローチャートである。
【図6】第2の実施形態の機能再構成セルの一例を表わす図である。
【図7】第3の実施形態に係る複数の機能再構成セルのアレイ構成を表わす図である。
【図8】機能再構成メモリ8の全体的な構成を表わす図である。
【図9】機能再構成セルと経路選択回路のアドレスマッピングを例示する図である。
【図10】第3の実施形態の変形例に係る複数の機能再構成セルのアレイ構成を例示する図である。
【図11】第4の実施形態の機能再構成セルの一例を表わす図である。
【図12】冗長制御回路651と、アクセス制御デコーダ(ACDEC)232と、正規アドレスデコーダ628によって実現される動作を説明するための図である。
【発明を実施するための形態】
【0012】
以下、本発明の実施形態について図面を参照して説明する。
[第1の実施形態]
(データプロセッサ)
図1は、本発明の実施形態のデータプロセッサ1の構成を表わす図である。
【0013】
同図に示されるデータプロセッサ(MCU:Micro Control Unit)は、特に制限されないが、相補型MOS集積回路製造技術により単結晶シリコンのような1個の半導体基板に形成されている。
【0014】
データプロセッサ1は、プログラムに従って命令をフェッチして実行する中央処理装置(CPU)2、CPU2が実行するプログラム等が格納されたリード・オンリ・メモリ(ROM)3、CPU2のワーク領域等に用いられるランダム・アクセス・メモリ(RAM)4、およびCPU2による初期設定に従ってデータ転送を制御するダイレクト・メモリ・アクセス・コントローラ(DMAC)5を備える。CPU2、ROM3、RAM4、DMAC5は、システムバス(第1バス)SBUSに接続される。
【0015】
システムバスSBUSは、バスステートコントローラ(BSC)6を介して周辺バス(第2バス)PBUSに接続する。システムバスSBUSはCPU2の動作周波数に同期してデータ、アドレスおよびバスコマンドなどが伝送される高速バスとして位置付けられる。これに対して、周辺バスPBUSは動作速度の遅い周辺回路が接続され、データなどが低速で伝送される。CPU2などが周辺回路に対するアクセス要求を発行すると、BSC6は、そのアクセス要求に係る周辺回路のマッピングアドレスに応じて、周辺バスを介するアクセスに必要なバスサイクル数や並列データビット数等のバス制御を行なう。
【0016】
システムバスSBUSと周辺バスPBUSの双方には機能再構成メモリ(RCFGM)8が接続される。機能再構成メモリ8は、CPU2などによってシステムバスSBUSから書込まれた論理機能設定情報(コンフィグレーション情報)に従って可変可能に論理機能が設定され、設定された論理機能に対して周辺バスPBUS経由でデータの入出力が可能にされる。
【0017】
また、CPU2は、ユーザから認証コードの入力を受付ける。認証コードとしては、たとえば、ユーザのパスワード、内蔵SRAM2のデバイスID、ユーザの指紋情報のいずれか、またはこれらを組合せたものが用いられる。CPU2は、入力された認証コードと予め記憶している認証コードとを照合することによって、ユーザのアクセスが正当か否かを判定する。CPU2は、アクセスが正当な場合にイネーブル信号EBを「H」レベルに活性化し、アクセスが正当でない場合にイネーブル信号EBを「L」レベルに非活性化する。
【0018】
データプロセッサ1は、さらに、周辺バスPBUSに接続された周辺回路として、ディジタル信号をアナログ信号に変換して外部に出力するディジタル・アナログ・コンバータ(DAC)10、CPU2の命令実行状態等を監視するウォッチドッグタイマ(WDT)11、インプットキャプチャおよびコンペアマッチ等のタイマ・カウンタ動作可能なタイマ(TMR)12、シリアルコミュニケーションインタフェースコントローラ(SCI)13、パルス幅変調回路(PWM)15、および割込みコントローラ(INTC)16を備える。
【0019】
図1には、割込み信号としてINTa,INTbが代表的に示される。割込みコントローラ16は、割込み信号に対する割り込みマスク制御や優先レベル制御を行って割込み信号を受け付け、受付けた割込み信号に応ずるベクタを発行するととともに、CPU2に割込み要求信号IRQを発行し、ベクタが示す割込み処理プログラムをCPU2に実行させる。周辺回路として、その他に図示を省略するIOポートなどが設けられている。
【0020】
機能再構成メモリ8は、複数の機能再構成セル(S−ACMU)20、および外部からのアクセス要求に応答して機能再構成セル20を制御するインタフェース制御回路(IFCNT)21などを備える。
【0021】
機能再構成セル20は、CPU2などによってシステムバスSBUSから書込まれたコンフィグレーション情報に従って可変可能に論理機能が設定される。
【0022】
図1において、その一部には、FIFOバッファ(FIFO_B)、16ビットパルス幅変調回路(PWM_16b)、8ビットパルス幅変調回路(PWM_8b)、シリアル送信ユニット(SCI_Tx)、シリアル受信ユニット(SCI_Rx)、24ビットタイマ(TMR_24b)、および32ビットタイマ(TMR_32b)の論理機能が設定されている。残りの機能再構成セル20は、システムバスSBUSを介してランダムアクセス可能な内部メモリ(ITNR_RAM)として利用可能にされる。設定された論理動作に用いるデータの書込み、論理動作の開始の指示、および論理動作結果のデータリードは周辺バスPBUS経由で行われる。
【0023】
(機能再構成セル)
図2は、第1の実施形態の機能再構成セル20の一例を表わす図である。
【0024】
機能再構成セル20は、記憶回路(MRY)23と、制御回路(MCNT)24を備える。
【0025】
記憶回路23は、たとえばシングルポートのスタティック・ランダム・アクセスメモリ(SRAM)25と、アドレスラッチ回路(ADRLAT)26とによって構成される。
【0026】
SRAM25は、メモリアレイ27、正規アドレスデコーダ28、およびタイミングコントローラ(TMCNT)29を備える。
【0027】
メモリアレイ27は、アドレスラッチ回路26から供給されるアドレス信号によってアクセスされるデータフィールド(DFLD)27_Dと制御フィールド(CFLD)27_Cを有する。つまり、メモリアレイ27の各行のメモリセルの一部は、データフィールド(DFLD)27_Dの情報を記憶し、残りの一部は、制御フィールド(CFLD)27_Cの情報を記憶する。
【0028】
正規アドレスデコーダ28は、アドレスラッチ回路(ADRLAT)26から出力されるアドレス信号をデコードして、デコード結果に応じた行のメモリセル(つまり、データフィールド(DFLD)27_Dの情報を記憶する複数のメモリセルと、制御フィールド(CFLD)27_Cの情報を記憶する複数のメモリセルからなる)を選択する。
【0029】
タイミングコントローラ(TMCNT)29は、選択されたアクセス単位のメモリセルに対してリード・ライト信号RW_j(j=0〜m)で指示されたリード動作またはライト動作を制御する。
【0030】
制御回路24は、アドレスラッチ回路26にアドレス信号を供給するセレクタ(ADRSL)30、アドレスラッチ回路26がラッチしたアドレス信号を+1づつインクリメントするアドレスインクリメンタ(ICRM)31、およびアクセス制御デコーダ(ACDEC)32を有する。
【0031】
セレクタ30には、データフィールド27_Dから読み出された情報DAT_D、アドレスインクリメンタ31の出力、およびバスSBUS,PBUSから供給されたアクセスアドレス情報の一部のアドレス情報ADR_EXTが入力される。
【0032】
アクセス制御デコーダ32には、制御フィールド27_Cから読み出された制御情報DAT_C、外部イベント信号EXEVT、機能再構成セル20に対するランダムアクセス選択信号RDMAE_j、ロジックイネーブル信号LOGE_j、およびIOアクセス選択信号IOAE_jが供給される。アクセス制御デコーダ32は、これらに基づいてセレクタ30の出力動作などを制御する。
【0033】
メモリアレイ27には、図示しないアドレスフィールド(AFLD)とアドレスフィールドの出力をセレクタ30への入力とするパス(DAT_A)をさらに有する。メモリアレイ27にアクセスしアドレスフィールドからの出力をアクセス制御デコーダによりメモリアレイ27の次のアクセスアドレスとすることも可能である。
【0034】
ランダムアクセス選択信号RDMAE_jがアクティブにされたとき、アクセス制御デコーダ32は、セレクタ30にアドレス情報ADR_EXTを選択させ、そのアドレス情報ADR_EXTに従ってタイミングコントローラ29にリード/ライト信号RW_jに従ったアクセス動作を指示する。これによってSRAM25はアドレス情報ADR_EXTで指定されるアドレスに対してランダムアクセス可能になる。
【0035】
IOアクセス選択信号IOAE_jがアクティブにされ、リード/ライト信号RW_jによりリード動作が指示されたとき、アクセス制御デコーダ32は、そのときのアドレスラッチ回路26のアドレスラッチ状態を維持したまま、そのラッチアドレス情報に従ってタイミングコントローラ29にリードアクセス動作を指示する。これにより、機能再構成セル20のIOアクセス選択信号IOAE_jがアクティブにされると、そのときSRAM25で選択されている記憶領域に対してアクセス可能になり、SRAM25に対して一つのメモリマップドIOデータレジスタに対する読出しと等価なアクセス動作が可能になる。
【0036】
また、IOアクセス選択信号IOAE_jがアクティブにされ、リード・ライト信号RW_jによりライト動作が指示されたとき、アクセス制御デコーダ32はアドレス情報ADR_EXTをアドレスセレクタ30に選択させ、そのアドレス情報ADR_EXTをアドレスラッチ26にセットして、SRAM25に対する読出しアドレスを初期設定することができる。
【0037】
このように、IOアクセス選択信号IOAE_jがイネーブルにされたとき書込み対象とされるアドレスラッチ回路26は書込み対象とされるメモリマップドIOレジスタと等価のレジスタとして把握することができる。この等価レジスタをスタートアドレス設定用等価IOレジスタと称する。また、IOアクセス選択信号IOAE_jがイネーブルにされたとき読出し対象とされるSRAMのメモリ領域は読出し対象とされるメモリマップドIOレジスタと等価のレジスタとして把握することができる。この等価レジスタをデータリード用等価IOレジスタと称する。
【0038】
ロジックイネーブル信号LOGE_jがアクティブにされたとき、アクセス制御デコーダ32はそのときアドレスラッチ26が保持しているアドレスをスタートアドレスとして、そのアクティブ期間にSRAM25のメモリリードサイクルを繰り返し起動し、サイクル毎に、制御フィールド27_Cから読み出される制御情報DAT_Cに従ってセレクタ30の選択動作を制御する。
【0039】
外部イベント信号EXEVTがイネーブルにされたとき、アクセス制御デコーダ32は、メモリリードサイクルにおいてアドレスセレクタ30に特定のアドレス(例えばSRAM25の先頭アドレス)を出力させる。
【0040】
ロジックイネーブル信号LOGE_jがイネーブルにされたときスタートアドレスを保持するアドレスラッチ26は、ロジック動作の開始を指示するイネーブルビットの書込み対象とされるメモリマップドIOレジスタと等価のレジスタとして把握することができる。この等価レジスタをロジックイネーブル用等価IOレジスタと称する。
【0041】
メモリアレイ27は、複数個のSRAMセル25を含み、正規メモリセルアレイ39と、冗長メモリセル行54からなる。
【0042】
正規メモリセルアレイ39は、行列状に配置された複数個の正規メモリセルを含む。正規メモリセルアレイ39は、不良メモリセル行53を含む。不良メモリセル行53は、少なくとも1つのビット不良メモリを含む。出荷前のテスト時に、正規メモリセルアレイ39内の不良な行を発見して、その行が不良メモリセル行に設定される。正規メモリセルアレイ39の行は、正規アドレスデコーダ28によって選択される。
【0043】
冗長メモリセル行54は、1行に配置され複数個の冗長メモリセルを含む。冗長メモリセル行54のメモリセルは、アドレスの順序に従えば不良メモリセル行のメモリセルに本来格納されるべき秘匿を要するデータを記憶する。冗長メモリセル行54は、アクセス信号ACによって選択される。
【0044】
(冗長制御回路)
図3は、冗長制御回路の構成を表わす図である。
【0045】
図4は、この冗長制御回路によって、実現される動作を説明するための図である。
図3を参照して、冗長制御回路51は、冗長ロウデコーダ部61を含む。
【0046】
冗長ロウデコーダ部61は、プログラム回路62と、比較器63とを含む。
プログラム回路62は、複数個のヒューズ素子を含む。複数個のヒューズ素子のうちのいくつかが、出荷前のテスト時に、テスタによって、ブローされることによって、不良メモリセル行のロウアドレスがプログラムされる。
【0047】
比較器63は、アドレス信号のうちのロウアドレスがプログラム回路62でプログラムされた不良メモリセル行のロウアドレスとが一致するときに、「H」レベルの信号を出力 する。
【0048】
AND回路65は、CPU2から送られてくるイネーブル信号EBが「H」レベルであり(つまり、ユーザのアクセスが正当な場合に)、かつ比較器63から一致を示す「H」レベルの信号を受けたときに限り、正規アドレスデコーダ28および冗長メモリセル行54に出力するアクセス信号ACを「H」レベルに活性化する。
【0049】
インバータIV64およびAND回路66は、CPU2から送られてくるイネーブル信号EBが「L」レベルであり(つまり、ユーザのアクセスが不当な場合に)、かつ比較器63から一致を示す「H」レベルの信号を受けたときに限り、CPU2へ出力するアラーム信号ARを「H」レベルに活性化する。
【0050】
正規アドレスデコーダ28は、アクセス信号ACが「H」レベルに活性化すると、正規メモリセルの選択を禁止する。正規アドレスデコーダ28は、アクセス信号ACが「H」レベルに活性化されないときには、正規メモリセルの選択が禁止されない。
【0051】
アクセス信号ACが「H」レベルに活性化されると、冗長メモリセル行に配置された冗長メモリセルが選択される。アクセス信号ACが「H」レベルに活性化されないときには、冗長メモリセル行に配置された冗長メモリセルが選択されない。
【0052】
したがって、アクセス信号ACが「H」レベルに活性化された場合には、冗長メモリセル行に対してアクセスが行なわれることになる。リードアクセスの場合には、冗長メモリセル行に記憶された秘匿を要するデータが読み出される。ライトアクセスの場合には、冗長メモリセル行にデータが書込まれるので、秘匿を要するデータが変更される。
【0053】
また、アクセス信号ACが「H」レベルに活性化されない場合には、不良メモリセル行に対してアクセスが行なわれることになる。リードアクセスの場合には、不良メモリセル行から読み出しエラーが発生するだけであって、秘匿を要するデータが読み出されない。ライトアクセスの場合には、不良メモリセル行へのデータの書込みを実行するだけであって、秘匿を要するデータが改竄されない。
【0054】
CPU2は、アラーム信号ARが「H」レベルにアサートされると、強制終了、またはメモリアレイ27のSRAMセルをリセットする。たとえば、CPU2は、アラーム信号ARが「H」レベルにアサートされたときに、メモリアレイ27のSRAMセルの記憶データをすべて「0」に初期化する。
【0055】
なお、CPU2は、冗長制御回路51からのアラーム信号ARが「H」レベルにアサートされるたびに、カウント値をインクリメントし、カウンタ値が所定値に達したときに、
強制終了、またはメモリアレイ27のSRAMセルをリセットすることとしてもよい。
【0056】
(MCU1の処理手順)
図5は、MCU1の処理手順を表わすフローチャートである。
【0057】
まず、CPU2は、初期化指示を発行する(ステップS101)。
次に、S−ACMU20は、初期化指示を受領し(ステップS102)、初期化処理を実行し(ステップS103)、初期化完了通知を発行する(ステップS104)。
【0058】
次に、CPU2は、初期化完了通知を受領し(ステップS105)、イネーブル信号EBを活性化する(ステップS107)。
【0059】
S−ACMU20は、活性化されたイネーブル信号EBを受領する(ステップS108)。
【0060】
次に、CPU2は、S−ACMU20のメモリアレイに書込みコードを転送する(ステップS110)。
【0061】
S−ACMU20は、コードを受領し、メモリアレイに書込む(ステップS111)。
次に、S−ACMU20は、メモリアレイを選択するアドレスと、イネーブル信号EBの論理を判定し(ステップS112)、正常動作(ステップS113)、または異常対応処理を実行する(ステップS114)。S−ACMU20は、異常対応処理では、活性化されたアラーム信号ARを通知する(ステップS115)。
【0062】
CPU2は、活性化されたアラーム信号ARを受領すると、必要な処理を行なって(ステップS117)、リセットなどの処理を指示する(ステップS118)。
【0063】
S−ACMU20は、指示を受領すると(ステップS119)、指示に応じてリセットなどの処理を実行する(ステップS120)。
【0064】
以上のように、この機能再構成セル20によれば、記憶回路23の読み出しを機能再構成セル20それ自体で自律的に制御することができる。たとえば、制御回路24はSRAM25の次の読出しアドレスを先にSRAM25から読出した制御フィールドCFLDの情報DAT_Cやアクセス制御デコーダ32に供給される外部イベント信号EXEVTの入力に基づいて自律的に制御することが可能である。これにより、可変論理機能を実現するための記憶回路23を論理回路と等価な回路として扱うことができる。したがって、実現可能な論理構成や論理規模に融通性を得ることができ、また、小さなチップ占有面積で大きな論理規模にも対応可能な可変論理機能を実現可能になる。また、記憶回路23内のメモリセルに耐タンパ性を持たせることによって、メモリセルに記憶された情報が盗まれたり、改竄されたりするのを防止することができる。
【0065】
[第2の実施形態]
図6は、第2の実施形態の機能再構成セルの一例を表わす図である。
【0066】
この機能再構成セル520が、図2の機能再構成セル20と相違する点は、ARカウンタ153を備える点である。
【0067】
ARカウンタ153は、冗長制御回路51からアラーム信号ARを受ける。ARカウンタ153は、冗長制御回路51からのアラーム信号ARが「H」レベルにアサートされるたびに、カウント値をインクリメントする。
【0068】
ARカウンタ153は、カウンタ値が所定値に達したら、CPU2を介さずに、アクセス制御デコーダ32に指示を送る。アクセス制御デコーダ32は、ARカウンタ153の指示に応じて、メモリアレイ27のSRAMセルをリセットする。たとえば、ARカウンタ153は、カウンタ値が所定値に達したら、メモリアレイ27のSRAMセルの記憶データをすべて「0」に初期化するように、アクセス制御デコーダ32に指示を送る。
【0069】
[第3の実施形態]
図7には、第3の実施形態に係る複数の機能再構成セル20のアレイ構成が例示される。
【0070】
複数の機能再構成セル(S−ACMU)20はマトリクス配置され、左右に隣接する機能再構成セル20の間には接続経路選択回路(RSW)35が配置される。機能再構成セル20および接続経路選択回路35は、行単位で内部バスIBUS_i(i=0,1,…)に接続される。内部バスIBUS_iはアドレスバスIABUS_iとデータバスIDBUS_iに大別される。内部アドレスバスIABUS_iは、制御回路24に前記アドレスADR_EXTを供給する。内部データバスIDBUS_iは、記憶回路23との間で情報DAT_C,DAT_Dを伝達する。接続経路選択回路35は、機能再構成セル20のデータDAT_C,DAT_Dの伝達経路を上下または左右に隣接する機能再構成セル20の間で選択的に接続するスイッチ回路36と、スイッチ回路36のスイッチ制御情報を保持するための接続用記憶回路37とを有する。接続用記憶回路37は内部バスIABUS_i,IDBUS_iを介してランダムアクセスさせることによって所要のスイッチ制御情報が設定される。
【0071】
一の機能再構成セル20のデータDAT_C,DAT_Dを他の機能再構成セル20のデータDAT_C,DAT_Dに伝達することが可能であるから、複数の機能再構成セル20間でそれぞれの前記自律制御を連動させることが可能になる。複数の機能再構成セル20を直列的に動作させ、あるいは並列的に動作させて、一単位の論理機能を実現することが可能になる。具体例は後で詳述する。
【0072】
機能再構成セル20の記憶回路23には論理機能を定義するためのコンフィギュレーション情報がランダムアクセス設定され、接続経路選択回路35の接続用記憶回路37には接続経路を定義するためのコンフィグレーション情報がランダムアクセスによって設定される。論理機能が設定された機能再構成セル20に論理動作の開始が指示されると、その論理動作によって得られる情報は左右または上下に配置された別の機能再構成セル20に接続経路選択回路35を介して伝達可能にされ、また、機能再構成セル20の論理動作による情報は前記メモリマップドIOレジスタに対する読出しと等価なアクセス動作により対応するバスIBUS_iを介して外部に読み出し可能にされる。
【0073】
CPU2は、機能再構成メモリ8内のすべてのS−ACMU(20)にイネーブル信号EBを出力する。イネーブル信号EBの論理は、第1の実施形態で説明したものと同様である。
【0074】
機能再構成メモリ8内のすべてのS−ACMU(20)の冗長制御回路51は、アラーム信号ARをCPU2へ出力する。アラーム信号ARの論理は、第1の実施形態で説明したものと同様である。
【0075】
CPU2は、機能再構成メモリ8内のすべてのS−ACMU(20)の冗長制御回路51のうちの少なくとも1つから「H」レベルのアラーム信号ARを受けたときには、強制終了、または機能再構成メモリ8内のすべてのS−ACMU(20)のメモリアレイ27のSRAMセルをリセットする。たとえば、CPU2は、少なくとも1つのアラーム信号ARが「H」レベルにアサートされたときに、機能再構成メモリ8内のすべてのS−ACMU(20)のメモリアレイ27のSRAMセルの記憶データをすべて「0」に初期化する。
【0076】
なお、CPU2は、機能再構成メモリ8内のすべてのS−ACMU(20)の冗長制御回路51から「H」レベルのアラーム信号ARを受けたときに、強制終了、または機能再構成メモリ8内のすべてのS−ACMU(20)のメモリアレイ27のSRAMセルをリセットすることとしてもよい。
【0077】
また、CPU2は、「H」レベルのアラーム信号ARを出力したS−ACMU(20)についてだけ、メモリアレイ27のSRAMセルをリセットすることとしてもよい。
【0078】
図8には機能再構成メモリ8の全体的な構成が例示される。
バスSBUS,PBUSからのアクセス要求に応答して、図7で説明した複数個の機能再構成セル20と接続経路選択回路35のアレイに対する制御を行なうインタフェース制御回路として、バスインタフェース回路(BUSIF)40、アドレスデコーダ(ADEC)41、および内部バス選択回路(IBSL)42を有する。
【0079】
複数個の機能再構成セル20の記憶回路23のメモリエリア(SRAM25の記憶領域)には、図9に例示されるように、第1のアドレス範囲AA1のアドレスがマッピングされる。第1のアドレス範囲AA1はシステムバスSBUSに接続するメモリ空間の一部のアドレス空間とされる。また、前記夫々の機能再構成セル20のための等価的なメモリマップドIOレジスタとして把握することができるスタートアドレス設定用等価IOレジスタ、データリード用等価IOレジスタおよびロジックイネーブル用等価IOレジスタには第2のアドレス範囲AA2のアドレスがマッピングされる。図9において1個の機能再構成セルにおけるSRAMのアドレスは256ワード分のアドレスとされ、1個の機能再構成セルにおける3個の等価的なメモリマップドIOレジスタのアドレスは3ワード分のアドレスとされる。
【0080】
第2のアドレス範囲AA2は周辺バスPBUSに接続される周辺回路のレジスタ等に割り当てられるメモリマップドIOアドレス空間の一部のアドレス空間とされる。
【0081】
接続用記憶回路37の記憶領域には第3のアドレス範囲AA3のアドレスがマッピングされる。第3のアドレス範囲AA3はシステムバスSBUS若しくは周辺バスPBUSに接続するメモリ空間の一部のアドレス空間とされる。
【0082】
バスステートコントローラ6は、第1または第3のアドレス範囲AA1,AA3へのアクセス要求があったときデータプロセッサのアドレス空間中のメモリアドレス空間へのアクセスとしてアクセス制御を行い、第2のアドレス空間AA2へのアクセス要求があった時はデータプロセッサのアドレス空間中のIOアドレス空間へのアクセスとしてアクセス制御を行なう。第1乃至第3のいずれのアドレス範囲へのアクセスであったとしても機能再構成メモリ8のバスインタフェース回路40がアクセスの受付をする。第1または第3のアドレス範囲AA1,AA3へのアクセス要求があったとき、バスインタフェース回路40はメモリウインドウイネーブル信号CMEをアクティブとし、第2のアドレス範囲AA2のアクセス要求があったときバスインタフェース回路40はロジックウインドウイネーブル信号CREをアクティブとする。アクセス要求に係るデータの方向はアクセス要求元から発行されるリード信号RDおよびライト信号WTによって判別される。尚、メモリウインドウイネーブル信号CMEおよびロジックウインドウイネーブル信号CREは例えばアドレスデコーダ41に供給される。
【0083】
アドレスデコーダ41はアクセス要求に係るアドレス信号の上位側ビットをデコードして、アレイ状に配置された機能再構成セル20と接続経路選択回路35のうち何れの回路が指定されているかを判別する。接続経路選択回路35が指定されているときは当該回路の接続用記憶回路37をイネーブルとし、対応する内部バスIBUS_iをバス選択回路42に選択させてシステムバスSBUSに接続し、そのアクセス要求に伴うアドレス信号の下位側アドレス情報を用いて当該接続用記憶回路37をランダムアクセス可能にする。これにより、CPU2等は第3のアドレス範囲AA3のアドレスを指定するランダムアクセスにより接続用記憶回路37に書き込みを行って機能再構成セル20間の接続を任意に定義することができる。
【0084】
また、アドレスデコーダ41は、アドレスデコードにより、アドレス範囲AA1のアドレスにより機能再構成セル20が指定されていることを判別したときは、当該機能再構成セルに割り当てられたRDMAE_jをアクティブとし、対応する内部バスIBUS_iをバス選択回路42に選択させてシステムバスSBUSに接続し、そのアクセス要求に伴うアドレス信号の下位側アドレス情報を用いて当該接続用記憶回路37をランダムアクセス可能にする。これにより、CPU2等は第1のアドレス範囲AA1のアドレスを指定するランダムアクセスによって記憶回路23のSRAM25に書き込みを行って当該機能再構成セル20の論理構成を任意に定義することができる。
【0085】
アドレスデコーダ41は、アドレスデコードにより、アドレス範囲AA2のアドレスにより機能再構成セル20の等価的なメモリマップドIOレジスタが指定されていることを判別したときは、指定された等価的なメモリマップドIOレジスタに応じて、IOAE_jまたはLOGE_jをアクティブとし、リード・ライト信号RW_jを生成する。
【0086】
すなわち、そのとき、周辺バスPBUSからスタートアドレス設定用等価IOレジスタを指定してライト信号WTにより書き込み動作が指示されたとき、アドレスデコーダ41はそのアクセス要求に伴うアドレス信号の下位側アドレス情報で指定される機能再構成セル20に割り当てられたIOAE_jをアクティブとする。更に、リード・ライト信号RW_jによってライト動作を指定する。これによって当該機能再構成セル20のADRSEL30を経由してADRLAT26に書き込みデータがセットされる。
【0087】
また、そのとき、周辺バスPBUSからロジックイネーブル用等価IOレジスタを指定してリード信号RDにより読み出し動作が指示されたとき、アドレスデコーダ41はそのアクセス要求に伴うアドレス信号の下位側アドレス情報で指定される機能再構成セル20に割り当てられたLOGE_jをアクティブとする。更に、リード・ライト信号RW_jによってリード動作を指定する。これによって当該機能再構成セル20のアクセス制御デコーダ32はそのときアドレスラッチ26が保持しているアドレスをスタートアドレスとしてそのアクティブ期間にSRAM25のメモリリードサイクルを繰り返し起動し、サイクル毎にデータフィールド27_Dから読み出されるデータ情報DAT_Dをセレクタに帰還させ、サイクル毎に、制御フィールド27_Cから読み出される制御情報DAT_Cに従ってセレクタ30の選択動作を制御して、論理動作を実現する。
【0088】
また、そのとき、周辺バスPBUSからデータリード用等価IOレジスタを指定してリード信号RDにより読み出し動作が指示されたとき、アドレスデコーダ41はそのアクセス要求に伴うアドレス信号の下位側アドレス情報で指定される機能再構成セル20に割り当てられたIOAE_jをアクティブとする。更に、バスインタフェース回路40はリード・ライト信号RW_jによってリード動作を指定する。これによって当該機能再構成セル20のADRLAT26が保持しているアドレス情報によって選択されるSRAM25の記憶領域からリードされる情報をバスインタフェース回路40が受け取って周辺バスPBUSにリードデータとして出力する。これにより、CPU2等は論理機能が設定された機能再構成セル20による論理動作の結果を第2のアドレス範囲AA2のアドレスを指定するリードアクセスによって任意に取得することができる。バスインタフェース回路40は論理動作の結果の一つとして論理動作完了のような要求を認識すると、割り込み信号を割り込みコントローラ16に供給することができる。これによる割り込みが与えられたCPU2は例えばデータリード用等価IOレジスタに対するリード動作を指定することによって当該論理動作を終了した機能再構成セル20から論理動作の結果を取得する動作ルーチンに移行したりすることが可能になる。
【0089】
上述のように、記憶回路に対するランダムアクセス用のアドレスマッピング(第1のアドレス範囲)に対し、機能設定された機能再構成セルによる論理動作結果を取得するために機能再構成セルに割り当てたメモリマップドI/Oアドレスのようなアドレス(第2のアドレス範囲のアドレス)を個別化することにより、機能再構成セルに対する論理機能をダイナミックに再構成してもそれによる論理動作結果を取得するためのリードアドレスに変更を生ぜず、機能再構成セルに対する論理機能をダイナミックに再構成することが容易になる。また、記憶回路23内のメモリセルに耐タンパ性を持たせることによって、メモリセルに記憶された情報が盗まれたり、改竄されたりするのを防止することができる。
【0090】
[第3の実施形態の変形例]
図10は、第3の実施形態の変形例に係る複数の機能再構成セルのアレイ構成を例示する図である。
【0091】
図10に示すように、このMCU1は、ARカウンタ89を備える。
ARカウンタ89は、機能再構成メモリ8内のすべてのS−ACMU(20)の冗長制御回路51のうちの少なくとも1つから「H」レベルのアラーム信号ARを受けるたびに、カウント値をインクリメントする。
【0092】
ARカウンタ89は、カウンタ値が所定値に達したら、CPU2を介さずに、リセット信号RSを出力して、機能再構成メモリ8内のすべてのS−ACMU(20)のメモリアレイ27のSRAMセルをリセットする。たとえば、ARカウンタ89は、カウンタ値が所定値に達したら、機能再構成メモリ8内のすべてのS−ACMU(20)のメモリアレイ27のSRAMセルの記憶データをすべて「0」に初期化する。
【0093】
なお、ARカウンタ89は、機能再構成メモリ8内のすべてのS−ACMU(20)の冗長制御回路51から「H」レベルのアラーム信号ARを受けたときに、カウント値をインクリメントすることとしてもよい。
【0094】
また、ARカウンタ89は、S−ACMU(20)ごとに、「H」レベルのアラーム信号ARを出力した回数をカウントすることとしてもよい。
【0095】
[第4の実施形態]
第1の実施形態では、アクセス信号ACが「H」レベルに活性化されない場合には、プログラムされたロウアドレスと、指定されたロウアドレスが一致したときには、不良メモリセル行に対してアクセスが行なわれることになる。リードアクセスの場合には、不良メモリセル行から読み出しエラーが発生するので、不正アクセス者に対して、不正なアクセスを検知したことが知られてしまう。
【0096】
本実施の形態では、不正なアクセスを検知したことが知られないようにする手段を提供する。
【0097】
図11は、第4の実施形態の機能再構成セルの一例を表わす図である。
この機能再構成セル220が、図2の機能再構成セル20と相違する点は、冗長制御回路651と、アクセス制御デコーダ(ACDEC)232と、正規アドレスデコーダ628である。
【0098】
図12は、冗長制御回路651と、アクセス制御デコーダ(ACDEC)232と、正規アドレスデコーダ628によって実現される動作を説明するための図である。
【0099】
冗長制御回路651は、アラーム信号ARをアクセス制御デコーダ232と、正規アドレスデコーダ628へ出力する。冗長制御回路651の入力および出力の論理は、第1の実施形態で説明したものと同様である。
【0100】
正規アドレスデコーダ628は、アクセス信号ACが「H」レベルに活性化すると、正規メモリセルの選択を禁止する。
【0101】
正規アドレスデコーダ628は、アクセス信号ACが「H」レベルに活性化されず、かつ条件信号CONDが「H」レベルに活性化されないときには、正規メモリセルの選択を禁止しない。
【0102】
正規アドレスデコーダ628は、アクセス信号ACが「H」レベルに活性化されず、かつ条件信号CONDが「H」レベルに活性化された場合には、アラーム信号ARが「H」レベルに活性化されたときには、正規メモリセルの選択を禁止し、アラーム信号ARが「H」レベルに活性化されないときには、正規メモリセルの選択を禁止しない。
【0103】
アクセス制御デコーダ232は、条件信号CONDが「H」レベルに活性化され、かつアラーム信号ARが「H」レベルに活性化されたときには、ダミー処理の開始アドレスである所定のアドレスを出力する。これによって、所定のアドレスへ無条件ジャンプし、所定のアドレスからのダミー処理が開示されるので、不正アクセス者に対して、不正なアクセスを検知したことが知られるのを防止できる。
【0104】
(変形例)
本発明は、上記の実施形態に限定されるものではなく、以下のような変形例も含む。
【0105】
(1) カラム冗長
本発明の実施形態では、メモリアレイが、不良メモリセルが含まれる不良メモリセル行、および不良メモリセル行を置換する冗長メモリセル行を備える構成について説明したが、これに限定するものではない。
【0106】
メモリアレイが、不良メモリセルが含まれる不良メモリセル列、および不良メモリセル列を置換する冗長メモリセル列を備えるものであってもよい。この場合、冗長制御回路のプログラム回路は、複数個のヒューズ素子によって、不良メモリセル列のカラムアドレスをプログラムする。比較器は、アドレス信号のうちのカラムアドレスがプログラム回路でプログラムされた不良メモリセル列のカラムアドレスとが一致するときに、「H」レベルの信号を出力する。
【0107】
また、不良メモリセル行および冗長メモリセル行が1行であるとして説明したが、不良メモリセル行と冗長メモリセル行がそれぞれ複数行であるとしてもよい。また、同様に、不良メモリセル列と冗長メモリセル列がそれぞれ複数行であるとしてもよい。
【0108】
(2) 仮想不良
正規メモリアレイは、不良メモリセル行または不良メモリ列に代えて、少なくとも1つの仮想不良メモリ含む仮想不良メモリセル行または仮想不良メモリセル列を備えることとしてもよい。仮想不良メモリには、テスタによって、ドントケア(don't care)値、つまりダミー値が書込まれる。
【0109】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【0110】
1 データプロセッサ、2 中央処理装置(CPU)、4 ランダム・アクセス・メモリ(RAM)、5 ダイレクト・メモリ・アクセス・コントローラ(DMAC)、SBUS システムバス(第1バス)、6 バスステートコントローラ(BSC)、PBUS 周辺バス(第2バス)、8 機能再構成メモリ(RCFGM)、16 割込みコントローラ(INTC)、20 機能再構成セル(ACMU)、21 インタフェース制御回路(IFCNT)、23 記憶回路(MRY)、24 制御回路(MCNT)、25 スタティック・ランダム・アクセスメモリ(SRAM)、26 アドレスラッチ回路(ADRLAT)、27 メモリアレイ、28,628 正規アドレスデコーダ(SDEC)、29 タイミングコントローラ(TMCNT)、27_D データフィールド(DFLD)、27_C 制御フィールド(CFLD)、30 セレクタ(ADRSL)、31 アドレスインクリメンタ(ICRM)、32,132,232 アクセス制御デコーダ(ACDEC)、35 接続経路選択回路、36 スイッチ回路、37 接続用記憶回路、39 正規メモリセルアレイ、40 バスインタフェース回路(BUSIF)、41 アドレスデコーダ(ADEC)、42 内部バス選択回路(IBSL)、51,651 冗長制御回路、53 不良メモリセル行、54 冗長メモリセル行、61 冗長ロウデコーダ部、62 プログラム回路、63 比較器、64 インバータ、65,66 AND回路、89,153 ARカウンタ。
【技術分野】
【0001】
本発明は、半導体装置に関し、記憶回路を用いて可変可能に論理機能を実現することができる半導体装置に関する。
【背景技術】
【0002】
可変論理機能を実現するための記憶回路を論理回路と等価な回路として扱うことができる半導体装置を提供することにある。
【0003】
たとえば、特許文献1(国際公開第2008/143285号パンフレット)に記載の半導体装置は、可変論理機能を実現するためにそれぞれ記憶回路と制御回路を有する複数の機能再構成セルを備え、真理値データを格納する記憶回路の読み出しアドレスを機能再構成セルそれ自体で自律的に制御する。たとえば、制御回路は、記憶回路のデータフィールドおよび制御フィールドから同期的に読み出された情報を帰還入力し、制御フィールドからの帰還入力情報に基づいて、データフィールドからの帰還入力情報または別の情報をデータフィールドおよび制御フィールドを次に同期的に読み出し制御するためのアドレス情報とする。
【0004】
機能再構成セルは、アクセス要求主体からのアクセス要求に応答するインタフェース制御回路の制御を受ける。
【0005】
これによって、真理値データを格納する記憶回路の読み出しを機能再構成セルそれ自体で自律的に制御することができるから、可変論理機能を実現するための記憶回路を論理回路と等価な回路として扱うことができる。したがって、実現可能な論理構成や論理規模に融通性を得ることができ、また、小さなチップ占有面積で大きな論理規模にも対応可能な可変論理機能が実現可能になる。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】国際公開第2008/143285号パンフレット
【発明の概要】
【発明が解決しようとする課題】
【0007】
しかしながら、機能再構成セルの記憶回路のデータフィールドおよび制御フィールドの情報が不正アクセスによって読み出されたり、改竄されたりすると、それは、機能再構成セルで実現される可変論理機能を実行する回路が盗まれたり、破壊されたりすることと同じ結果となり、その損害は計り知れない。
【0008】
それゆえに、本発明の目的は、耐タンパ性を有する、可変論理機能を実現するための記憶回路を有する半導体装置を提供することである。
【課題を解決するための手段】
【0009】
本発明の一実施形態の半導体装置は、記憶回路と制御回路とを有する複数の機能再構成セルと、アクセス要求に応答して機能再構成セルを制御するインタフェース制御回路と、ユーザから認証コードの入力を受付け、入力された認証コードに基づいて、ユーザのアクセスが正当か否かを判定し、正当な場合にイネーブル信号を活性化する中央処理装置とを備える。記憶回路は、メモリアレイを有し、メモリアレイは、複数個の正規メモリセルと、複数個の冗長メモリセルとを有する。メモリアレイは、データフィールドと、制御フィールドに分割される。制御回路は、記憶回路の次の読出しアドレスを先に記憶回路から読出した制御フィールドの情報または外部イベント入力に基づいて自律的に制御することが可能である。記憶回路は、制御回路から出力されるアドレスをデコードし、デコード結果に基づいて、データフィールドの少なくとも1つの正規メモリセルと、制御フィールドの少なくとも1つのメモリセルを選択する正規デコーダと、イネーブル信号が活性化された場合に限り、制御回路から出力されるアドレスと、所定の正規メモリセルのアドレスとが一致したときに、正規デコーダによる選択を禁止し、データフィールドの少なくとも1つの冗長メモリセルと制御フィールドの少なくとも1つの冗長メモリセルを選択する冗長制御回路とを含む。
【発明の効果】
【0010】
本発明の一実施形態によれば、可変論理機能を実現するための記憶回路に耐タンパ性を持たせることができる。
【図面の簡単な説明】
【0011】
【図1】本発明の実施形態のデータプロセッサの構成を表わす図である。
【図2】第1の実施形態の機能再構成セルの一例を表わす図である。
【図3】冗長制御回路の構成を表わす図である。
【図4】この冗長制御回路によって、実現される動作を説明するための図である。
【図5】MCUの処理手順を表わすフローチャートである。
【図6】第2の実施形態の機能再構成セルの一例を表わす図である。
【図7】第3の実施形態に係る複数の機能再構成セルのアレイ構成を表わす図である。
【図8】機能再構成メモリ8の全体的な構成を表わす図である。
【図9】機能再構成セルと経路選択回路のアドレスマッピングを例示する図である。
【図10】第3の実施形態の変形例に係る複数の機能再構成セルのアレイ構成を例示する図である。
【図11】第4の実施形態の機能再構成セルの一例を表わす図である。
【図12】冗長制御回路651と、アクセス制御デコーダ(ACDEC)232と、正規アドレスデコーダ628によって実現される動作を説明するための図である。
【発明を実施するための形態】
【0012】
以下、本発明の実施形態について図面を参照して説明する。
[第1の実施形態]
(データプロセッサ)
図1は、本発明の実施形態のデータプロセッサ1の構成を表わす図である。
【0013】
同図に示されるデータプロセッサ(MCU:Micro Control Unit)は、特に制限されないが、相補型MOS集積回路製造技術により単結晶シリコンのような1個の半導体基板に形成されている。
【0014】
データプロセッサ1は、プログラムに従って命令をフェッチして実行する中央処理装置(CPU)2、CPU2が実行するプログラム等が格納されたリード・オンリ・メモリ(ROM)3、CPU2のワーク領域等に用いられるランダム・アクセス・メモリ(RAM)4、およびCPU2による初期設定に従ってデータ転送を制御するダイレクト・メモリ・アクセス・コントローラ(DMAC)5を備える。CPU2、ROM3、RAM4、DMAC5は、システムバス(第1バス)SBUSに接続される。
【0015】
システムバスSBUSは、バスステートコントローラ(BSC)6を介して周辺バス(第2バス)PBUSに接続する。システムバスSBUSはCPU2の動作周波数に同期してデータ、アドレスおよびバスコマンドなどが伝送される高速バスとして位置付けられる。これに対して、周辺バスPBUSは動作速度の遅い周辺回路が接続され、データなどが低速で伝送される。CPU2などが周辺回路に対するアクセス要求を発行すると、BSC6は、そのアクセス要求に係る周辺回路のマッピングアドレスに応じて、周辺バスを介するアクセスに必要なバスサイクル数や並列データビット数等のバス制御を行なう。
【0016】
システムバスSBUSと周辺バスPBUSの双方には機能再構成メモリ(RCFGM)8が接続される。機能再構成メモリ8は、CPU2などによってシステムバスSBUSから書込まれた論理機能設定情報(コンフィグレーション情報)に従って可変可能に論理機能が設定され、設定された論理機能に対して周辺バスPBUS経由でデータの入出力が可能にされる。
【0017】
また、CPU2は、ユーザから認証コードの入力を受付ける。認証コードとしては、たとえば、ユーザのパスワード、内蔵SRAM2のデバイスID、ユーザの指紋情報のいずれか、またはこれらを組合せたものが用いられる。CPU2は、入力された認証コードと予め記憶している認証コードとを照合することによって、ユーザのアクセスが正当か否かを判定する。CPU2は、アクセスが正当な場合にイネーブル信号EBを「H」レベルに活性化し、アクセスが正当でない場合にイネーブル信号EBを「L」レベルに非活性化する。
【0018】
データプロセッサ1は、さらに、周辺バスPBUSに接続された周辺回路として、ディジタル信号をアナログ信号に変換して外部に出力するディジタル・アナログ・コンバータ(DAC)10、CPU2の命令実行状態等を監視するウォッチドッグタイマ(WDT)11、インプットキャプチャおよびコンペアマッチ等のタイマ・カウンタ動作可能なタイマ(TMR)12、シリアルコミュニケーションインタフェースコントローラ(SCI)13、パルス幅変調回路(PWM)15、および割込みコントローラ(INTC)16を備える。
【0019】
図1には、割込み信号としてINTa,INTbが代表的に示される。割込みコントローラ16は、割込み信号に対する割り込みマスク制御や優先レベル制御を行って割込み信号を受け付け、受付けた割込み信号に応ずるベクタを発行するととともに、CPU2に割込み要求信号IRQを発行し、ベクタが示す割込み処理プログラムをCPU2に実行させる。周辺回路として、その他に図示を省略するIOポートなどが設けられている。
【0020】
機能再構成メモリ8は、複数の機能再構成セル(S−ACMU)20、および外部からのアクセス要求に応答して機能再構成セル20を制御するインタフェース制御回路(IFCNT)21などを備える。
【0021】
機能再構成セル20は、CPU2などによってシステムバスSBUSから書込まれたコンフィグレーション情報に従って可変可能に論理機能が設定される。
【0022】
図1において、その一部には、FIFOバッファ(FIFO_B)、16ビットパルス幅変調回路(PWM_16b)、8ビットパルス幅変調回路(PWM_8b)、シリアル送信ユニット(SCI_Tx)、シリアル受信ユニット(SCI_Rx)、24ビットタイマ(TMR_24b)、および32ビットタイマ(TMR_32b)の論理機能が設定されている。残りの機能再構成セル20は、システムバスSBUSを介してランダムアクセス可能な内部メモリ(ITNR_RAM)として利用可能にされる。設定された論理動作に用いるデータの書込み、論理動作の開始の指示、および論理動作結果のデータリードは周辺バスPBUS経由で行われる。
【0023】
(機能再構成セル)
図2は、第1の実施形態の機能再構成セル20の一例を表わす図である。
【0024】
機能再構成セル20は、記憶回路(MRY)23と、制御回路(MCNT)24を備える。
【0025】
記憶回路23は、たとえばシングルポートのスタティック・ランダム・アクセスメモリ(SRAM)25と、アドレスラッチ回路(ADRLAT)26とによって構成される。
【0026】
SRAM25は、メモリアレイ27、正規アドレスデコーダ28、およびタイミングコントローラ(TMCNT)29を備える。
【0027】
メモリアレイ27は、アドレスラッチ回路26から供給されるアドレス信号によってアクセスされるデータフィールド(DFLD)27_Dと制御フィールド(CFLD)27_Cを有する。つまり、メモリアレイ27の各行のメモリセルの一部は、データフィールド(DFLD)27_Dの情報を記憶し、残りの一部は、制御フィールド(CFLD)27_Cの情報を記憶する。
【0028】
正規アドレスデコーダ28は、アドレスラッチ回路(ADRLAT)26から出力されるアドレス信号をデコードして、デコード結果に応じた行のメモリセル(つまり、データフィールド(DFLD)27_Dの情報を記憶する複数のメモリセルと、制御フィールド(CFLD)27_Cの情報を記憶する複数のメモリセルからなる)を選択する。
【0029】
タイミングコントローラ(TMCNT)29は、選択されたアクセス単位のメモリセルに対してリード・ライト信号RW_j(j=0〜m)で指示されたリード動作またはライト動作を制御する。
【0030】
制御回路24は、アドレスラッチ回路26にアドレス信号を供給するセレクタ(ADRSL)30、アドレスラッチ回路26がラッチしたアドレス信号を+1づつインクリメントするアドレスインクリメンタ(ICRM)31、およびアクセス制御デコーダ(ACDEC)32を有する。
【0031】
セレクタ30には、データフィールド27_Dから読み出された情報DAT_D、アドレスインクリメンタ31の出力、およびバスSBUS,PBUSから供給されたアクセスアドレス情報の一部のアドレス情報ADR_EXTが入力される。
【0032】
アクセス制御デコーダ32には、制御フィールド27_Cから読み出された制御情報DAT_C、外部イベント信号EXEVT、機能再構成セル20に対するランダムアクセス選択信号RDMAE_j、ロジックイネーブル信号LOGE_j、およびIOアクセス選択信号IOAE_jが供給される。アクセス制御デコーダ32は、これらに基づいてセレクタ30の出力動作などを制御する。
【0033】
メモリアレイ27には、図示しないアドレスフィールド(AFLD)とアドレスフィールドの出力をセレクタ30への入力とするパス(DAT_A)をさらに有する。メモリアレイ27にアクセスしアドレスフィールドからの出力をアクセス制御デコーダによりメモリアレイ27の次のアクセスアドレスとすることも可能である。
【0034】
ランダムアクセス選択信号RDMAE_jがアクティブにされたとき、アクセス制御デコーダ32は、セレクタ30にアドレス情報ADR_EXTを選択させ、そのアドレス情報ADR_EXTに従ってタイミングコントローラ29にリード/ライト信号RW_jに従ったアクセス動作を指示する。これによってSRAM25はアドレス情報ADR_EXTで指定されるアドレスに対してランダムアクセス可能になる。
【0035】
IOアクセス選択信号IOAE_jがアクティブにされ、リード/ライト信号RW_jによりリード動作が指示されたとき、アクセス制御デコーダ32は、そのときのアドレスラッチ回路26のアドレスラッチ状態を維持したまま、そのラッチアドレス情報に従ってタイミングコントローラ29にリードアクセス動作を指示する。これにより、機能再構成セル20のIOアクセス選択信号IOAE_jがアクティブにされると、そのときSRAM25で選択されている記憶領域に対してアクセス可能になり、SRAM25に対して一つのメモリマップドIOデータレジスタに対する読出しと等価なアクセス動作が可能になる。
【0036】
また、IOアクセス選択信号IOAE_jがアクティブにされ、リード・ライト信号RW_jによりライト動作が指示されたとき、アクセス制御デコーダ32はアドレス情報ADR_EXTをアドレスセレクタ30に選択させ、そのアドレス情報ADR_EXTをアドレスラッチ26にセットして、SRAM25に対する読出しアドレスを初期設定することができる。
【0037】
このように、IOアクセス選択信号IOAE_jがイネーブルにされたとき書込み対象とされるアドレスラッチ回路26は書込み対象とされるメモリマップドIOレジスタと等価のレジスタとして把握することができる。この等価レジスタをスタートアドレス設定用等価IOレジスタと称する。また、IOアクセス選択信号IOAE_jがイネーブルにされたとき読出し対象とされるSRAMのメモリ領域は読出し対象とされるメモリマップドIOレジスタと等価のレジスタとして把握することができる。この等価レジスタをデータリード用等価IOレジスタと称する。
【0038】
ロジックイネーブル信号LOGE_jがアクティブにされたとき、アクセス制御デコーダ32はそのときアドレスラッチ26が保持しているアドレスをスタートアドレスとして、そのアクティブ期間にSRAM25のメモリリードサイクルを繰り返し起動し、サイクル毎に、制御フィールド27_Cから読み出される制御情報DAT_Cに従ってセレクタ30の選択動作を制御する。
【0039】
外部イベント信号EXEVTがイネーブルにされたとき、アクセス制御デコーダ32は、メモリリードサイクルにおいてアドレスセレクタ30に特定のアドレス(例えばSRAM25の先頭アドレス)を出力させる。
【0040】
ロジックイネーブル信号LOGE_jがイネーブルにされたときスタートアドレスを保持するアドレスラッチ26は、ロジック動作の開始を指示するイネーブルビットの書込み対象とされるメモリマップドIOレジスタと等価のレジスタとして把握することができる。この等価レジスタをロジックイネーブル用等価IOレジスタと称する。
【0041】
メモリアレイ27は、複数個のSRAMセル25を含み、正規メモリセルアレイ39と、冗長メモリセル行54からなる。
【0042】
正規メモリセルアレイ39は、行列状に配置された複数個の正規メモリセルを含む。正規メモリセルアレイ39は、不良メモリセル行53を含む。不良メモリセル行53は、少なくとも1つのビット不良メモリを含む。出荷前のテスト時に、正規メモリセルアレイ39内の不良な行を発見して、その行が不良メモリセル行に設定される。正規メモリセルアレイ39の行は、正規アドレスデコーダ28によって選択される。
【0043】
冗長メモリセル行54は、1行に配置され複数個の冗長メモリセルを含む。冗長メモリセル行54のメモリセルは、アドレスの順序に従えば不良メモリセル行のメモリセルに本来格納されるべき秘匿を要するデータを記憶する。冗長メモリセル行54は、アクセス信号ACによって選択される。
【0044】
(冗長制御回路)
図3は、冗長制御回路の構成を表わす図である。
【0045】
図4は、この冗長制御回路によって、実現される動作を説明するための図である。
図3を参照して、冗長制御回路51は、冗長ロウデコーダ部61を含む。
【0046】
冗長ロウデコーダ部61は、プログラム回路62と、比較器63とを含む。
プログラム回路62は、複数個のヒューズ素子を含む。複数個のヒューズ素子のうちのいくつかが、出荷前のテスト時に、テスタによって、ブローされることによって、不良メモリセル行のロウアドレスがプログラムされる。
【0047】
比較器63は、アドレス信号のうちのロウアドレスがプログラム回路62でプログラムされた不良メモリセル行のロウアドレスとが一致するときに、「H」レベルの信号を出力 する。
【0048】
AND回路65は、CPU2から送られてくるイネーブル信号EBが「H」レベルであり(つまり、ユーザのアクセスが正当な場合に)、かつ比較器63から一致を示す「H」レベルの信号を受けたときに限り、正規アドレスデコーダ28および冗長メモリセル行54に出力するアクセス信号ACを「H」レベルに活性化する。
【0049】
インバータIV64およびAND回路66は、CPU2から送られてくるイネーブル信号EBが「L」レベルであり(つまり、ユーザのアクセスが不当な場合に)、かつ比較器63から一致を示す「H」レベルの信号を受けたときに限り、CPU2へ出力するアラーム信号ARを「H」レベルに活性化する。
【0050】
正規アドレスデコーダ28は、アクセス信号ACが「H」レベルに活性化すると、正規メモリセルの選択を禁止する。正規アドレスデコーダ28は、アクセス信号ACが「H」レベルに活性化されないときには、正規メモリセルの選択が禁止されない。
【0051】
アクセス信号ACが「H」レベルに活性化されると、冗長メモリセル行に配置された冗長メモリセルが選択される。アクセス信号ACが「H」レベルに活性化されないときには、冗長メモリセル行に配置された冗長メモリセルが選択されない。
【0052】
したがって、アクセス信号ACが「H」レベルに活性化された場合には、冗長メモリセル行に対してアクセスが行なわれることになる。リードアクセスの場合には、冗長メモリセル行に記憶された秘匿を要するデータが読み出される。ライトアクセスの場合には、冗長メモリセル行にデータが書込まれるので、秘匿を要するデータが変更される。
【0053】
また、アクセス信号ACが「H」レベルに活性化されない場合には、不良メモリセル行に対してアクセスが行なわれることになる。リードアクセスの場合には、不良メモリセル行から読み出しエラーが発生するだけであって、秘匿を要するデータが読み出されない。ライトアクセスの場合には、不良メモリセル行へのデータの書込みを実行するだけであって、秘匿を要するデータが改竄されない。
【0054】
CPU2は、アラーム信号ARが「H」レベルにアサートされると、強制終了、またはメモリアレイ27のSRAMセルをリセットする。たとえば、CPU2は、アラーム信号ARが「H」レベルにアサートされたときに、メモリアレイ27のSRAMセルの記憶データをすべて「0」に初期化する。
【0055】
なお、CPU2は、冗長制御回路51からのアラーム信号ARが「H」レベルにアサートされるたびに、カウント値をインクリメントし、カウンタ値が所定値に達したときに、
強制終了、またはメモリアレイ27のSRAMセルをリセットすることとしてもよい。
【0056】
(MCU1の処理手順)
図5は、MCU1の処理手順を表わすフローチャートである。
【0057】
まず、CPU2は、初期化指示を発行する(ステップS101)。
次に、S−ACMU20は、初期化指示を受領し(ステップS102)、初期化処理を実行し(ステップS103)、初期化完了通知を発行する(ステップS104)。
【0058】
次に、CPU2は、初期化完了通知を受領し(ステップS105)、イネーブル信号EBを活性化する(ステップS107)。
【0059】
S−ACMU20は、活性化されたイネーブル信号EBを受領する(ステップS108)。
【0060】
次に、CPU2は、S−ACMU20のメモリアレイに書込みコードを転送する(ステップS110)。
【0061】
S−ACMU20は、コードを受領し、メモリアレイに書込む(ステップS111)。
次に、S−ACMU20は、メモリアレイを選択するアドレスと、イネーブル信号EBの論理を判定し(ステップS112)、正常動作(ステップS113)、または異常対応処理を実行する(ステップS114)。S−ACMU20は、異常対応処理では、活性化されたアラーム信号ARを通知する(ステップS115)。
【0062】
CPU2は、活性化されたアラーム信号ARを受領すると、必要な処理を行なって(ステップS117)、リセットなどの処理を指示する(ステップS118)。
【0063】
S−ACMU20は、指示を受領すると(ステップS119)、指示に応じてリセットなどの処理を実行する(ステップS120)。
【0064】
以上のように、この機能再構成セル20によれば、記憶回路23の読み出しを機能再構成セル20それ自体で自律的に制御することができる。たとえば、制御回路24はSRAM25の次の読出しアドレスを先にSRAM25から読出した制御フィールドCFLDの情報DAT_Cやアクセス制御デコーダ32に供給される外部イベント信号EXEVTの入力に基づいて自律的に制御することが可能である。これにより、可変論理機能を実現するための記憶回路23を論理回路と等価な回路として扱うことができる。したがって、実現可能な論理構成や論理規模に融通性を得ることができ、また、小さなチップ占有面積で大きな論理規模にも対応可能な可変論理機能を実現可能になる。また、記憶回路23内のメモリセルに耐タンパ性を持たせることによって、メモリセルに記憶された情報が盗まれたり、改竄されたりするのを防止することができる。
【0065】
[第2の実施形態]
図6は、第2の実施形態の機能再構成セルの一例を表わす図である。
【0066】
この機能再構成セル520が、図2の機能再構成セル20と相違する点は、ARカウンタ153を備える点である。
【0067】
ARカウンタ153は、冗長制御回路51からアラーム信号ARを受ける。ARカウンタ153は、冗長制御回路51からのアラーム信号ARが「H」レベルにアサートされるたびに、カウント値をインクリメントする。
【0068】
ARカウンタ153は、カウンタ値が所定値に達したら、CPU2を介さずに、アクセス制御デコーダ32に指示を送る。アクセス制御デコーダ32は、ARカウンタ153の指示に応じて、メモリアレイ27のSRAMセルをリセットする。たとえば、ARカウンタ153は、カウンタ値が所定値に達したら、メモリアレイ27のSRAMセルの記憶データをすべて「0」に初期化するように、アクセス制御デコーダ32に指示を送る。
【0069】
[第3の実施形態]
図7には、第3の実施形態に係る複数の機能再構成セル20のアレイ構成が例示される。
【0070】
複数の機能再構成セル(S−ACMU)20はマトリクス配置され、左右に隣接する機能再構成セル20の間には接続経路選択回路(RSW)35が配置される。機能再構成セル20および接続経路選択回路35は、行単位で内部バスIBUS_i(i=0,1,…)に接続される。内部バスIBUS_iはアドレスバスIABUS_iとデータバスIDBUS_iに大別される。内部アドレスバスIABUS_iは、制御回路24に前記アドレスADR_EXTを供給する。内部データバスIDBUS_iは、記憶回路23との間で情報DAT_C,DAT_Dを伝達する。接続経路選択回路35は、機能再構成セル20のデータDAT_C,DAT_Dの伝達経路を上下または左右に隣接する機能再構成セル20の間で選択的に接続するスイッチ回路36と、スイッチ回路36のスイッチ制御情報を保持するための接続用記憶回路37とを有する。接続用記憶回路37は内部バスIABUS_i,IDBUS_iを介してランダムアクセスさせることによって所要のスイッチ制御情報が設定される。
【0071】
一の機能再構成セル20のデータDAT_C,DAT_Dを他の機能再構成セル20のデータDAT_C,DAT_Dに伝達することが可能であるから、複数の機能再構成セル20間でそれぞれの前記自律制御を連動させることが可能になる。複数の機能再構成セル20を直列的に動作させ、あるいは並列的に動作させて、一単位の論理機能を実現することが可能になる。具体例は後で詳述する。
【0072】
機能再構成セル20の記憶回路23には論理機能を定義するためのコンフィギュレーション情報がランダムアクセス設定され、接続経路選択回路35の接続用記憶回路37には接続経路を定義するためのコンフィグレーション情報がランダムアクセスによって設定される。論理機能が設定された機能再構成セル20に論理動作の開始が指示されると、その論理動作によって得られる情報は左右または上下に配置された別の機能再構成セル20に接続経路選択回路35を介して伝達可能にされ、また、機能再構成セル20の論理動作による情報は前記メモリマップドIOレジスタに対する読出しと等価なアクセス動作により対応するバスIBUS_iを介して外部に読み出し可能にされる。
【0073】
CPU2は、機能再構成メモリ8内のすべてのS−ACMU(20)にイネーブル信号EBを出力する。イネーブル信号EBの論理は、第1の実施形態で説明したものと同様である。
【0074】
機能再構成メモリ8内のすべてのS−ACMU(20)の冗長制御回路51は、アラーム信号ARをCPU2へ出力する。アラーム信号ARの論理は、第1の実施形態で説明したものと同様である。
【0075】
CPU2は、機能再構成メモリ8内のすべてのS−ACMU(20)の冗長制御回路51のうちの少なくとも1つから「H」レベルのアラーム信号ARを受けたときには、強制終了、または機能再構成メモリ8内のすべてのS−ACMU(20)のメモリアレイ27のSRAMセルをリセットする。たとえば、CPU2は、少なくとも1つのアラーム信号ARが「H」レベルにアサートされたときに、機能再構成メモリ8内のすべてのS−ACMU(20)のメモリアレイ27のSRAMセルの記憶データをすべて「0」に初期化する。
【0076】
なお、CPU2は、機能再構成メモリ8内のすべてのS−ACMU(20)の冗長制御回路51から「H」レベルのアラーム信号ARを受けたときに、強制終了、または機能再構成メモリ8内のすべてのS−ACMU(20)のメモリアレイ27のSRAMセルをリセットすることとしてもよい。
【0077】
また、CPU2は、「H」レベルのアラーム信号ARを出力したS−ACMU(20)についてだけ、メモリアレイ27のSRAMセルをリセットすることとしてもよい。
【0078】
図8には機能再構成メモリ8の全体的な構成が例示される。
バスSBUS,PBUSからのアクセス要求に応答して、図7で説明した複数個の機能再構成セル20と接続経路選択回路35のアレイに対する制御を行なうインタフェース制御回路として、バスインタフェース回路(BUSIF)40、アドレスデコーダ(ADEC)41、および内部バス選択回路(IBSL)42を有する。
【0079】
複数個の機能再構成セル20の記憶回路23のメモリエリア(SRAM25の記憶領域)には、図9に例示されるように、第1のアドレス範囲AA1のアドレスがマッピングされる。第1のアドレス範囲AA1はシステムバスSBUSに接続するメモリ空間の一部のアドレス空間とされる。また、前記夫々の機能再構成セル20のための等価的なメモリマップドIOレジスタとして把握することができるスタートアドレス設定用等価IOレジスタ、データリード用等価IOレジスタおよびロジックイネーブル用等価IOレジスタには第2のアドレス範囲AA2のアドレスがマッピングされる。図9において1個の機能再構成セルにおけるSRAMのアドレスは256ワード分のアドレスとされ、1個の機能再構成セルにおける3個の等価的なメモリマップドIOレジスタのアドレスは3ワード分のアドレスとされる。
【0080】
第2のアドレス範囲AA2は周辺バスPBUSに接続される周辺回路のレジスタ等に割り当てられるメモリマップドIOアドレス空間の一部のアドレス空間とされる。
【0081】
接続用記憶回路37の記憶領域には第3のアドレス範囲AA3のアドレスがマッピングされる。第3のアドレス範囲AA3はシステムバスSBUS若しくは周辺バスPBUSに接続するメモリ空間の一部のアドレス空間とされる。
【0082】
バスステートコントローラ6は、第1または第3のアドレス範囲AA1,AA3へのアクセス要求があったときデータプロセッサのアドレス空間中のメモリアドレス空間へのアクセスとしてアクセス制御を行い、第2のアドレス空間AA2へのアクセス要求があった時はデータプロセッサのアドレス空間中のIOアドレス空間へのアクセスとしてアクセス制御を行なう。第1乃至第3のいずれのアドレス範囲へのアクセスであったとしても機能再構成メモリ8のバスインタフェース回路40がアクセスの受付をする。第1または第3のアドレス範囲AA1,AA3へのアクセス要求があったとき、バスインタフェース回路40はメモリウインドウイネーブル信号CMEをアクティブとし、第2のアドレス範囲AA2のアクセス要求があったときバスインタフェース回路40はロジックウインドウイネーブル信号CREをアクティブとする。アクセス要求に係るデータの方向はアクセス要求元から発行されるリード信号RDおよびライト信号WTによって判別される。尚、メモリウインドウイネーブル信号CMEおよびロジックウインドウイネーブル信号CREは例えばアドレスデコーダ41に供給される。
【0083】
アドレスデコーダ41はアクセス要求に係るアドレス信号の上位側ビットをデコードして、アレイ状に配置された機能再構成セル20と接続経路選択回路35のうち何れの回路が指定されているかを判別する。接続経路選択回路35が指定されているときは当該回路の接続用記憶回路37をイネーブルとし、対応する内部バスIBUS_iをバス選択回路42に選択させてシステムバスSBUSに接続し、そのアクセス要求に伴うアドレス信号の下位側アドレス情報を用いて当該接続用記憶回路37をランダムアクセス可能にする。これにより、CPU2等は第3のアドレス範囲AA3のアドレスを指定するランダムアクセスにより接続用記憶回路37に書き込みを行って機能再構成セル20間の接続を任意に定義することができる。
【0084】
また、アドレスデコーダ41は、アドレスデコードにより、アドレス範囲AA1のアドレスにより機能再構成セル20が指定されていることを判別したときは、当該機能再構成セルに割り当てられたRDMAE_jをアクティブとし、対応する内部バスIBUS_iをバス選択回路42に選択させてシステムバスSBUSに接続し、そのアクセス要求に伴うアドレス信号の下位側アドレス情報を用いて当該接続用記憶回路37をランダムアクセス可能にする。これにより、CPU2等は第1のアドレス範囲AA1のアドレスを指定するランダムアクセスによって記憶回路23のSRAM25に書き込みを行って当該機能再構成セル20の論理構成を任意に定義することができる。
【0085】
アドレスデコーダ41は、アドレスデコードにより、アドレス範囲AA2のアドレスにより機能再構成セル20の等価的なメモリマップドIOレジスタが指定されていることを判別したときは、指定された等価的なメモリマップドIOレジスタに応じて、IOAE_jまたはLOGE_jをアクティブとし、リード・ライト信号RW_jを生成する。
【0086】
すなわち、そのとき、周辺バスPBUSからスタートアドレス設定用等価IOレジスタを指定してライト信号WTにより書き込み動作が指示されたとき、アドレスデコーダ41はそのアクセス要求に伴うアドレス信号の下位側アドレス情報で指定される機能再構成セル20に割り当てられたIOAE_jをアクティブとする。更に、リード・ライト信号RW_jによってライト動作を指定する。これによって当該機能再構成セル20のADRSEL30を経由してADRLAT26に書き込みデータがセットされる。
【0087】
また、そのとき、周辺バスPBUSからロジックイネーブル用等価IOレジスタを指定してリード信号RDにより読み出し動作が指示されたとき、アドレスデコーダ41はそのアクセス要求に伴うアドレス信号の下位側アドレス情報で指定される機能再構成セル20に割り当てられたLOGE_jをアクティブとする。更に、リード・ライト信号RW_jによってリード動作を指定する。これによって当該機能再構成セル20のアクセス制御デコーダ32はそのときアドレスラッチ26が保持しているアドレスをスタートアドレスとしてそのアクティブ期間にSRAM25のメモリリードサイクルを繰り返し起動し、サイクル毎にデータフィールド27_Dから読み出されるデータ情報DAT_Dをセレクタに帰還させ、サイクル毎に、制御フィールド27_Cから読み出される制御情報DAT_Cに従ってセレクタ30の選択動作を制御して、論理動作を実現する。
【0088】
また、そのとき、周辺バスPBUSからデータリード用等価IOレジスタを指定してリード信号RDにより読み出し動作が指示されたとき、アドレスデコーダ41はそのアクセス要求に伴うアドレス信号の下位側アドレス情報で指定される機能再構成セル20に割り当てられたIOAE_jをアクティブとする。更に、バスインタフェース回路40はリード・ライト信号RW_jによってリード動作を指定する。これによって当該機能再構成セル20のADRLAT26が保持しているアドレス情報によって選択されるSRAM25の記憶領域からリードされる情報をバスインタフェース回路40が受け取って周辺バスPBUSにリードデータとして出力する。これにより、CPU2等は論理機能が設定された機能再構成セル20による論理動作の結果を第2のアドレス範囲AA2のアドレスを指定するリードアクセスによって任意に取得することができる。バスインタフェース回路40は論理動作の結果の一つとして論理動作完了のような要求を認識すると、割り込み信号を割り込みコントローラ16に供給することができる。これによる割り込みが与えられたCPU2は例えばデータリード用等価IOレジスタに対するリード動作を指定することによって当該論理動作を終了した機能再構成セル20から論理動作の結果を取得する動作ルーチンに移行したりすることが可能になる。
【0089】
上述のように、記憶回路に対するランダムアクセス用のアドレスマッピング(第1のアドレス範囲)に対し、機能設定された機能再構成セルによる論理動作結果を取得するために機能再構成セルに割り当てたメモリマップドI/Oアドレスのようなアドレス(第2のアドレス範囲のアドレス)を個別化することにより、機能再構成セルに対する論理機能をダイナミックに再構成してもそれによる論理動作結果を取得するためのリードアドレスに変更を生ぜず、機能再構成セルに対する論理機能をダイナミックに再構成することが容易になる。また、記憶回路23内のメモリセルに耐タンパ性を持たせることによって、メモリセルに記憶された情報が盗まれたり、改竄されたりするのを防止することができる。
【0090】
[第3の実施形態の変形例]
図10は、第3の実施形態の変形例に係る複数の機能再構成セルのアレイ構成を例示する図である。
【0091】
図10に示すように、このMCU1は、ARカウンタ89を備える。
ARカウンタ89は、機能再構成メモリ8内のすべてのS−ACMU(20)の冗長制御回路51のうちの少なくとも1つから「H」レベルのアラーム信号ARを受けるたびに、カウント値をインクリメントする。
【0092】
ARカウンタ89は、カウンタ値が所定値に達したら、CPU2を介さずに、リセット信号RSを出力して、機能再構成メモリ8内のすべてのS−ACMU(20)のメモリアレイ27のSRAMセルをリセットする。たとえば、ARカウンタ89は、カウンタ値が所定値に達したら、機能再構成メモリ8内のすべてのS−ACMU(20)のメモリアレイ27のSRAMセルの記憶データをすべて「0」に初期化する。
【0093】
なお、ARカウンタ89は、機能再構成メモリ8内のすべてのS−ACMU(20)の冗長制御回路51から「H」レベルのアラーム信号ARを受けたときに、カウント値をインクリメントすることとしてもよい。
【0094】
また、ARカウンタ89は、S−ACMU(20)ごとに、「H」レベルのアラーム信号ARを出力した回数をカウントすることとしてもよい。
【0095】
[第4の実施形態]
第1の実施形態では、アクセス信号ACが「H」レベルに活性化されない場合には、プログラムされたロウアドレスと、指定されたロウアドレスが一致したときには、不良メモリセル行に対してアクセスが行なわれることになる。リードアクセスの場合には、不良メモリセル行から読み出しエラーが発生するので、不正アクセス者に対して、不正なアクセスを検知したことが知られてしまう。
【0096】
本実施の形態では、不正なアクセスを検知したことが知られないようにする手段を提供する。
【0097】
図11は、第4の実施形態の機能再構成セルの一例を表わす図である。
この機能再構成セル220が、図2の機能再構成セル20と相違する点は、冗長制御回路651と、アクセス制御デコーダ(ACDEC)232と、正規アドレスデコーダ628である。
【0098】
図12は、冗長制御回路651と、アクセス制御デコーダ(ACDEC)232と、正規アドレスデコーダ628によって実現される動作を説明するための図である。
【0099】
冗長制御回路651は、アラーム信号ARをアクセス制御デコーダ232と、正規アドレスデコーダ628へ出力する。冗長制御回路651の入力および出力の論理は、第1の実施形態で説明したものと同様である。
【0100】
正規アドレスデコーダ628は、アクセス信号ACが「H」レベルに活性化すると、正規メモリセルの選択を禁止する。
【0101】
正規アドレスデコーダ628は、アクセス信号ACが「H」レベルに活性化されず、かつ条件信号CONDが「H」レベルに活性化されないときには、正規メモリセルの選択を禁止しない。
【0102】
正規アドレスデコーダ628は、アクセス信号ACが「H」レベルに活性化されず、かつ条件信号CONDが「H」レベルに活性化された場合には、アラーム信号ARが「H」レベルに活性化されたときには、正規メモリセルの選択を禁止し、アラーム信号ARが「H」レベルに活性化されないときには、正規メモリセルの選択を禁止しない。
【0103】
アクセス制御デコーダ232は、条件信号CONDが「H」レベルに活性化され、かつアラーム信号ARが「H」レベルに活性化されたときには、ダミー処理の開始アドレスである所定のアドレスを出力する。これによって、所定のアドレスへ無条件ジャンプし、所定のアドレスからのダミー処理が開示されるので、不正アクセス者に対して、不正なアクセスを検知したことが知られるのを防止できる。
【0104】
(変形例)
本発明は、上記の実施形態に限定されるものではなく、以下のような変形例も含む。
【0105】
(1) カラム冗長
本発明の実施形態では、メモリアレイが、不良メモリセルが含まれる不良メモリセル行、および不良メモリセル行を置換する冗長メモリセル行を備える構成について説明したが、これに限定するものではない。
【0106】
メモリアレイが、不良メモリセルが含まれる不良メモリセル列、および不良メモリセル列を置換する冗長メモリセル列を備えるものであってもよい。この場合、冗長制御回路のプログラム回路は、複数個のヒューズ素子によって、不良メモリセル列のカラムアドレスをプログラムする。比較器は、アドレス信号のうちのカラムアドレスがプログラム回路でプログラムされた不良メモリセル列のカラムアドレスとが一致するときに、「H」レベルの信号を出力する。
【0107】
また、不良メモリセル行および冗長メモリセル行が1行であるとして説明したが、不良メモリセル行と冗長メモリセル行がそれぞれ複数行であるとしてもよい。また、同様に、不良メモリセル列と冗長メモリセル列がそれぞれ複数行であるとしてもよい。
【0108】
(2) 仮想不良
正規メモリアレイは、不良メモリセル行または不良メモリ列に代えて、少なくとも1つの仮想不良メモリ含む仮想不良メモリセル行または仮想不良メモリセル列を備えることとしてもよい。仮想不良メモリには、テスタによって、ドントケア(don't care)値、つまりダミー値が書込まれる。
【0109】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【0110】
1 データプロセッサ、2 中央処理装置(CPU)、4 ランダム・アクセス・メモリ(RAM)、5 ダイレクト・メモリ・アクセス・コントローラ(DMAC)、SBUS システムバス(第1バス)、6 バスステートコントローラ(BSC)、PBUS 周辺バス(第2バス)、8 機能再構成メモリ(RCFGM)、16 割込みコントローラ(INTC)、20 機能再構成セル(ACMU)、21 インタフェース制御回路(IFCNT)、23 記憶回路(MRY)、24 制御回路(MCNT)、25 スタティック・ランダム・アクセスメモリ(SRAM)、26 アドレスラッチ回路(ADRLAT)、27 メモリアレイ、28,628 正規アドレスデコーダ(SDEC)、29 タイミングコントローラ(TMCNT)、27_D データフィールド(DFLD)、27_C 制御フィールド(CFLD)、30 セレクタ(ADRSL)、31 アドレスインクリメンタ(ICRM)、32,132,232 アクセス制御デコーダ(ACDEC)、35 接続経路選択回路、36 スイッチ回路、37 接続用記憶回路、39 正規メモリセルアレイ、40 バスインタフェース回路(BUSIF)、41 アドレスデコーダ(ADEC)、42 内部バス選択回路(IBSL)、51,651 冗長制御回路、53 不良メモリセル行、54 冗長メモリセル行、61 冗長ロウデコーダ部、62 プログラム回路、63 比較器、64 インバータ、65,66 AND回路、89,153 ARカウンタ。
【特許請求の範囲】
【請求項1】
記憶回路と制御回路とを有する複数の機能再構成セルと、
アクセス要求に応答して前記機能再構成セルを制御するインタフェース制御回路と、
ユーザから認証コードの入力を受付け、前記入力された認証コードに基づいて、ユーザのアクセスが正当か否かを判定し、正当な場合にイネーブル信号を活性化する中央処理装置とを備え、
前記記憶回路は、メモリアレイを有し、
前記メモリアレイは、複数個の正規メモリセルと、複数個の冗長メモリセルとを有し、
前記メモリアレイは、データフィールドと、制御フィールドに分割され、
前記制御回路は、前記記憶回路の次の読出しアドレスを先に前記記憶回路から読出した制御フィールドの情報または外部イベント入力に基づいて自律的に制御することが可能であり、
前記記憶回路は、
前記制御回路から出力されるアドレスをデコードし、デコード結果に基づいて、データフィールドの少なくとも1つの正規メモリセルと、制御フィールドの少なくとも1つのメモリセルを選択する正規デコーダと、
前記イネーブル信号が活性化された場合に限り、前記制御回路から出力されるアドレスと、所定の正規メモリセルのアドレスとが一致したときに、前記正規デコーダによる選択を禁止し、データフィールドの少なくとも1つの冗長メモリセルと制御フィールドの少なくとも1つの冗長メモリセルを選択する冗長制御回路とを含む、半導体装置。
【請求項2】
前記制御回路は次の読出しアドレスとして、前記アクセス要求に伴ってインタフェース制御回路に供給されるアドレス情報、所定の外部イベント入力を条件に前記制御回路が決定するアドレス情報、先に記憶回路のデータフィールドから読み出された情報、または先に前記記憶回路に出力したアドレス情報のアドレス演算により得られるアドレス情報を出力する、請求項1記載の半導体装置。
【請求項3】
記憶回路と制御回路を有する複数の機能再構成セルと、
アクセス要求に応答して前記機能再構成セルを制御するインタフェース制御回路と、
ユーザから認証コードの入力を受付け、前記入力された認証コードに基づいて、ユーザのアクセスが正当か否かを判定し、正当な場合にイネーブル信号を活性化する中央処理装置とを備え、
前記記憶回路は、メモリアレイを有し、
前記メモリアレイは、複数個の正規メモリセルと、複数個の冗長メモリセルとを有し、
前記メモリアレイは、データフィールドと、制御フィールドに分割され、
前記制御回路は、前記データフィールド及び制御フィールドから同期的に読み出された情報を帰還入力し、制御フィールドからの帰還入力情報に基づいて、データフィールドからの帰還入力情報又は別の情報をデータフィールド及び制御フィールドを次に同期的に読み出し制御するためのアドレス情報とすることが可能であり、
前記記憶回路は、
前記制御回路から出力されるアドレスをデコードし、デコード結果に基づいて、データフィールドの少なくとも1つの正規メモリセルと、制御フィールドの少なくとも1つのメモリセルを選択する正規デコーダと、
前記イネーブル信号が活性化された場合に限り、前記制御回路から出力されるアドレスと、所定の正規メモリセルのアドレスとが一致したときに、前記正規デコーダによる選択を禁止し、データフィールドの少なくとも1つの冗長メモリセルと制御フィールドの少なくとも1つの冗長メモリセルを選択する冗長制御回路とを含む、半導体装置。
【請求項4】
前記制御回路は、前記制御フィールドからの帰還入力情報に基づいて、データフィールドからの帰還入力情報または別の情報をアドレス情報として選択するセレクタを有する、請求項3記載の半導体装置。
【請求項5】
前記別の情報は、前記アクセス要求に伴ってインタフェース制御回路に供給されるアドレス情報、所定の外部イベント入力を条件に前記制御回路が決定するアドレス情報、または先に前記記憶回路に出力したアドレス情報のアドレス演算により得られるアドレス情報である、請求項4記載の半導体装置。
【請求項6】
前記冗長制御回路は、前記イネーブル信号が活性化されない場合、前記指定されたアドレスと、所定の正規メモリセルのアドレスとが一致したときに、アラーム信号を前記中央処理装置へ出力する、請求項1〜5のいずれか1項に記載の半導体装置。
【請求項7】
前記冗長制御回路は、前記イネーブル信号が活性化されない場合、前記指定されたアドレスと、所定の正規メモリセルのアドレスとが一致したときに、アラーム信号を出力し、
前記制御回路は、前記冗長制御回路から前記アラーム信号が出力された回数をカウントするカウンタを備える、請求項1〜5のいずれか1項に記載の半導体装置。
【請求項8】
記憶回路と制御回路を有する複数の機能再構成セルと、
前記複数の機能再構成セルの間を可変化能に接続する接続経路選択回路と、
アクセス要求に応答して前記機能再構成セル及び接続経路選択回路を制御するインタフェース制御回路と、
ユーザから認証コードの入力を受付け、前記入力された認証コードに基づいて、ユーザのアクセスが正当か否かを判定し、正当な場合にイネーブル信号を活性化する中央処理装置とを備え、
前記記憶回路は、メモリアレイを有し、
前記メモリアレイは、複数個の正規メモリセルと、複数個の冗長メモリセルとを有し、
前記メモリアレイは、データフィールドと、制御フィールドに分割され、
前記制御回路は、前記データフィールド及び制御フィールドから同期的に読み出された情報を帰還入力し、制御フィールドからの帰還入力情報に基づいて、データフィールドからの帰還入力情報又は別の情報をデータフィールド及び制御フィールドを次に同期的に読み出し制御するためのアドレス情報とすることが可能であり、
前記接続経路選択回路は、一の機能再構成セルにおけるデータフィールドからの出力と制御フィールドからの出力とを他の機能再構成セルの制御回路に選択的に接続するスイッチ回路と、前記スイッチ回路のスイッチ制御情報を保持する接続用記憶回路とを有し、
前記複数個の機能再構成セルの記憶回路には第1のアドレス範囲のアドレスがマッピングされ、
前記複数個の機能再構成セルには第2のアドレス範囲のアドレスがマッピングされ、
前記接続用記憶回路には第3のアドレス範囲のアドレスがマッピングされ、
前記インタフェース制御回路は、第1のアドレス範囲に対するアクセス要求に応答して、当該アドレスが割り当てられた機能再構成セルの前記記憶回路をランダムアクセス可能とし、第2のアドレス範囲に対するリードアクセス要求に応答して、当該アドレスの制御回路がそのとき記憶回路に出力させている情報を読み出し、第3のアドレス範囲に対するライトアクセス要求に応答して、当該アドレスが割り当てられた前記接続用記憶回路をランダムアクセス可能とし、
前記記憶回路は、
前記制御回路から出力されるアドレスをデコードし、デコード結果に基づいて、データフィールドの少なくとも1つの正規メモリセルと、制御フィールドの少なくとも1つのメモリセルを選択する正規デコーダと、
前記イネーブル信号が活性化された場合に限り、前記制御回路から出力されるアドレスと、所定の正規メモリセルのアドレスとが一致したときに、前記正規デコーダによる選択を禁止し、データフィールドの少なくとも1つの冗長メモリセルと制御フィールドの少なくとも1つの冗長メモリセルを選択する冗長制御回路とを含む、半導体装置。
【請求項9】
前記冗長制御回路は、前記イネーブル信号が活性化されない場合、前記指定されたアドレスと、所定の正規メモリセルのアドレスとが一致したときに、アラーム信号を出力し、
前記半導体装置は、
前記複数の機能再構成セルの記憶回路内の冗長制御回路から前記アラーム信号が出力された回数をカウントするカウンタを備える、請求項8記載の半導体装置。
【請求項10】
前記所定の正規メモリセルは、不良メモリセルであり、
前記冗長メモリセルは、前記不良メモリセルに本来格納されるべき、秘匿を要するデータを記憶する、請求項1〜9のいずれか1項に記載の半導体装置。
【請求項11】
前記所定の正規メモリセルは、ドントケア値が記憶された仮想不良メモリセルであり、
前記冗長メモリセルは、前記仮想不良メモリセルに本来格納されるべき、秘匿を要するデータを記憶する、請求項1〜9のいずれか1項に記載の半導体装置。
【請求項12】
記憶回路と制御回路とを有する複数の機能再構成セルと、
アクセス要求に応答して前記機能再構成セルを制御するインタフェース制御回路と、
ユーザから認証コードの入力を受付け、前記入力された認証コードに基づいて、ユーザのアクセスが正当か否かを判定し、正当な場合にイネーブル信号を活性化する中央処理装置とを備え、
前記記憶回路は、メモリアレイを有し、
前記メモリアレイは、複数個の正規メモリセルと、複数個の冗長メモリセルとを有し、
前記メモリアレイは、データフィールドと、制御フィールドに分割され、
前記制御回路は、前記記憶回路の次の読出しアドレスを先に前記記憶回路から読出した制御フィールドの情報または外部イベント入力に基づいて自律的に制御することが可能であり、
前記記憶回路は、
前記制御回路から出力されるアドレスをデコードし、デコード結果に基づいて、データフィールドの少なくとも1つの正規メモリセルと、制御フィールドの少なくとも1つのメモリセルを選択する正規デコーダと、
前記イネーブル信号が活性化された場合に限り、前記制御回路から出力されるアドレスと、不良の正規メモリセルのアドレスとが一致したときに、前記正規デコーダによる選択を禁止し、データフィールドの少なくとも1つの冗長メモリセルと制御フィールドの少なくとも1つの冗長メモリセルを選択する冗長制御回路とを含み。
前記冗長制御回路は、前記イネーブル信号が活性化されない場合、前記指定されたアドレスと、前記不良の正規メモリセルのアドレスとが一致したときに、アラーム信号を出力し、
前記制御回路は、前記アラーム信号に応じて、ダミー処理の開始アドレスである所定のアドレスを前記記憶回路へ出力する、半導体装置。
【請求項1】
記憶回路と制御回路とを有する複数の機能再構成セルと、
アクセス要求に応答して前記機能再構成セルを制御するインタフェース制御回路と、
ユーザから認証コードの入力を受付け、前記入力された認証コードに基づいて、ユーザのアクセスが正当か否かを判定し、正当な場合にイネーブル信号を活性化する中央処理装置とを備え、
前記記憶回路は、メモリアレイを有し、
前記メモリアレイは、複数個の正規メモリセルと、複数個の冗長メモリセルとを有し、
前記メモリアレイは、データフィールドと、制御フィールドに分割され、
前記制御回路は、前記記憶回路の次の読出しアドレスを先に前記記憶回路から読出した制御フィールドの情報または外部イベント入力に基づいて自律的に制御することが可能であり、
前記記憶回路は、
前記制御回路から出力されるアドレスをデコードし、デコード結果に基づいて、データフィールドの少なくとも1つの正規メモリセルと、制御フィールドの少なくとも1つのメモリセルを選択する正規デコーダと、
前記イネーブル信号が活性化された場合に限り、前記制御回路から出力されるアドレスと、所定の正規メモリセルのアドレスとが一致したときに、前記正規デコーダによる選択を禁止し、データフィールドの少なくとも1つの冗長メモリセルと制御フィールドの少なくとも1つの冗長メモリセルを選択する冗長制御回路とを含む、半導体装置。
【請求項2】
前記制御回路は次の読出しアドレスとして、前記アクセス要求に伴ってインタフェース制御回路に供給されるアドレス情報、所定の外部イベント入力を条件に前記制御回路が決定するアドレス情報、先に記憶回路のデータフィールドから読み出された情報、または先に前記記憶回路に出力したアドレス情報のアドレス演算により得られるアドレス情報を出力する、請求項1記載の半導体装置。
【請求項3】
記憶回路と制御回路を有する複数の機能再構成セルと、
アクセス要求に応答して前記機能再構成セルを制御するインタフェース制御回路と、
ユーザから認証コードの入力を受付け、前記入力された認証コードに基づいて、ユーザのアクセスが正当か否かを判定し、正当な場合にイネーブル信号を活性化する中央処理装置とを備え、
前記記憶回路は、メモリアレイを有し、
前記メモリアレイは、複数個の正規メモリセルと、複数個の冗長メモリセルとを有し、
前記メモリアレイは、データフィールドと、制御フィールドに分割され、
前記制御回路は、前記データフィールド及び制御フィールドから同期的に読み出された情報を帰還入力し、制御フィールドからの帰還入力情報に基づいて、データフィールドからの帰還入力情報又は別の情報をデータフィールド及び制御フィールドを次に同期的に読み出し制御するためのアドレス情報とすることが可能であり、
前記記憶回路は、
前記制御回路から出力されるアドレスをデコードし、デコード結果に基づいて、データフィールドの少なくとも1つの正規メモリセルと、制御フィールドの少なくとも1つのメモリセルを選択する正規デコーダと、
前記イネーブル信号が活性化された場合に限り、前記制御回路から出力されるアドレスと、所定の正規メモリセルのアドレスとが一致したときに、前記正規デコーダによる選択を禁止し、データフィールドの少なくとも1つの冗長メモリセルと制御フィールドの少なくとも1つの冗長メモリセルを選択する冗長制御回路とを含む、半導体装置。
【請求項4】
前記制御回路は、前記制御フィールドからの帰還入力情報に基づいて、データフィールドからの帰還入力情報または別の情報をアドレス情報として選択するセレクタを有する、請求項3記載の半導体装置。
【請求項5】
前記別の情報は、前記アクセス要求に伴ってインタフェース制御回路に供給されるアドレス情報、所定の外部イベント入力を条件に前記制御回路が決定するアドレス情報、または先に前記記憶回路に出力したアドレス情報のアドレス演算により得られるアドレス情報である、請求項4記載の半導体装置。
【請求項6】
前記冗長制御回路は、前記イネーブル信号が活性化されない場合、前記指定されたアドレスと、所定の正規メモリセルのアドレスとが一致したときに、アラーム信号を前記中央処理装置へ出力する、請求項1〜5のいずれか1項に記載の半導体装置。
【請求項7】
前記冗長制御回路は、前記イネーブル信号が活性化されない場合、前記指定されたアドレスと、所定の正規メモリセルのアドレスとが一致したときに、アラーム信号を出力し、
前記制御回路は、前記冗長制御回路から前記アラーム信号が出力された回数をカウントするカウンタを備える、請求項1〜5のいずれか1項に記載の半導体装置。
【請求項8】
記憶回路と制御回路を有する複数の機能再構成セルと、
前記複数の機能再構成セルの間を可変化能に接続する接続経路選択回路と、
アクセス要求に応答して前記機能再構成セル及び接続経路選択回路を制御するインタフェース制御回路と、
ユーザから認証コードの入力を受付け、前記入力された認証コードに基づいて、ユーザのアクセスが正当か否かを判定し、正当な場合にイネーブル信号を活性化する中央処理装置とを備え、
前記記憶回路は、メモリアレイを有し、
前記メモリアレイは、複数個の正規メモリセルと、複数個の冗長メモリセルとを有し、
前記メモリアレイは、データフィールドと、制御フィールドに分割され、
前記制御回路は、前記データフィールド及び制御フィールドから同期的に読み出された情報を帰還入力し、制御フィールドからの帰還入力情報に基づいて、データフィールドからの帰還入力情報又は別の情報をデータフィールド及び制御フィールドを次に同期的に読み出し制御するためのアドレス情報とすることが可能であり、
前記接続経路選択回路は、一の機能再構成セルにおけるデータフィールドからの出力と制御フィールドからの出力とを他の機能再構成セルの制御回路に選択的に接続するスイッチ回路と、前記スイッチ回路のスイッチ制御情報を保持する接続用記憶回路とを有し、
前記複数個の機能再構成セルの記憶回路には第1のアドレス範囲のアドレスがマッピングされ、
前記複数個の機能再構成セルには第2のアドレス範囲のアドレスがマッピングされ、
前記接続用記憶回路には第3のアドレス範囲のアドレスがマッピングされ、
前記インタフェース制御回路は、第1のアドレス範囲に対するアクセス要求に応答して、当該アドレスが割り当てられた機能再構成セルの前記記憶回路をランダムアクセス可能とし、第2のアドレス範囲に対するリードアクセス要求に応答して、当該アドレスの制御回路がそのとき記憶回路に出力させている情報を読み出し、第3のアドレス範囲に対するライトアクセス要求に応答して、当該アドレスが割り当てられた前記接続用記憶回路をランダムアクセス可能とし、
前記記憶回路は、
前記制御回路から出力されるアドレスをデコードし、デコード結果に基づいて、データフィールドの少なくとも1つの正規メモリセルと、制御フィールドの少なくとも1つのメモリセルを選択する正規デコーダと、
前記イネーブル信号が活性化された場合に限り、前記制御回路から出力されるアドレスと、所定の正規メモリセルのアドレスとが一致したときに、前記正規デコーダによる選択を禁止し、データフィールドの少なくとも1つの冗長メモリセルと制御フィールドの少なくとも1つの冗長メモリセルを選択する冗長制御回路とを含む、半導体装置。
【請求項9】
前記冗長制御回路は、前記イネーブル信号が活性化されない場合、前記指定されたアドレスと、所定の正規メモリセルのアドレスとが一致したときに、アラーム信号を出力し、
前記半導体装置は、
前記複数の機能再構成セルの記憶回路内の冗長制御回路から前記アラーム信号が出力された回数をカウントするカウンタを備える、請求項8記載の半導体装置。
【請求項10】
前記所定の正規メモリセルは、不良メモリセルであり、
前記冗長メモリセルは、前記不良メモリセルに本来格納されるべき、秘匿を要するデータを記憶する、請求項1〜9のいずれか1項に記載の半導体装置。
【請求項11】
前記所定の正規メモリセルは、ドントケア値が記憶された仮想不良メモリセルであり、
前記冗長メモリセルは、前記仮想不良メモリセルに本来格納されるべき、秘匿を要するデータを記憶する、請求項1〜9のいずれか1項に記載の半導体装置。
【請求項12】
記憶回路と制御回路とを有する複数の機能再構成セルと、
アクセス要求に応答して前記機能再構成セルを制御するインタフェース制御回路と、
ユーザから認証コードの入力を受付け、前記入力された認証コードに基づいて、ユーザのアクセスが正当か否かを判定し、正当な場合にイネーブル信号を活性化する中央処理装置とを備え、
前記記憶回路は、メモリアレイを有し、
前記メモリアレイは、複数個の正規メモリセルと、複数個の冗長メモリセルとを有し、
前記メモリアレイは、データフィールドと、制御フィールドに分割され、
前記制御回路は、前記記憶回路の次の読出しアドレスを先に前記記憶回路から読出した制御フィールドの情報または外部イベント入力に基づいて自律的に制御することが可能であり、
前記記憶回路は、
前記制御回路から出力されるアドレスをデコードし、デコード結果に基づいて、データフィールドの少なくとも1つの正規メモリセルと、制御フィールドの少なくとも1つのメモリセルを選択する正規デコーダと、
前記イネーブル信号が活性化された場合に限り、前記制御回路から出力されるアドレスと、不良の正規メモリセルのアドレスとが一致したときに、前記正規デコーダによる選択を禁止し、データフィールドの少なくとも1つの冗長メモリセルと制御フィールドの少なくとも1つの冗長メモリセルを選択する冗長制御回路とを含み。
前記冗長制御回路は、前記イネーブル信号が活性化されない場合、前記指定されたアドレスと、前記不良の正規メモリセルのアドレスとが一致したときに、アラーム信号を出力し、
前記制御回路は、前記アラーム信号に応じて、ダミー処理の開始アドレスである所定のアドレスを前記記憶回路へ出力する、半導体装置。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【公開番号】特開2012−168705(P2012−168705A)
【公開日】平成24年9月6日(2012.9.6)
【国際特許分類】
【出願番号】特願2011−28707(P2011−28707)
【出願日】平成23年2月14日(2011.2.14)
【出願人】(302062931)ルネサスエレクトロニクス株式会社 (8,021)
【Fターム(参考)】
【公開日】平成24年9月6日(2012.9.6)
【国際特許分類】
【出願日】平成23年2月14日(2011.2.14)
【出願人】(302062931)ルネサスエレクトロニクス株式会社 (8,021)
【Fターム(参考)】
[ Back to top ]