説明

半導体装置

【課題】動作速度と駆動能力とのバランスが調整された多入力論理回路を備えた半導体装置を提供する。
【解決手段】3入力以上の入力端子を含み当該3入力以上の入力端子の論理レベルについて論理演算を行う多入力論理回路(XOR_H)を備え、当該多入力論理回路は、それぞれ2つの入力端子を含み当該2つの入力端子の論理レベルに対して前記論理演算を行う複数の2入力論理回路を含み、当該複数の2入力論理回路は、第1の2入力論理回路(XOR_D61)と当該第1の2入力論理回路よりも占有面積が小さく駆動能力が小さい第2の2入力論理回路(XOR_F61、XOR_F62)とを含み、前記第1の2入力論理回路が前記多入力論理回路の最終段として動作し、前記第2の2入力論理回路が前記第1の2入力論理回路に信号を供給する前段回路の少なくとも一部として動作することを特徴とする。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、多入力論理回路を備えた半導体装置に関する。
【背景技術】
【0002】
半導体装置、例えばDRAM(Dynamic Random Access memory)とメモリコントローラとの間においてデータの授受を行う際のデータの転送速度が高速化しつつある。そのため、データの授受を行う際に用いるデータバスが外部からのノイズなどの影響を受けやすくなり、転送データにエラーが発生する恐れがある。そこで、半導体装置が内部で生成した巡回冗長検査(CRC:Cyclic Redundancy Check)符号(誤り検出符号)を、転送データに付加してメモリコントローラに出力する。そして、メモリコントローラでは、送られてきた転送データと誤り検出符号に基づいて転送データにエラーがあるか否かの判定処理を行う。そして、転送データにエラーがある場合、例えば半導体装置から転送データを再送することで、データバスにおけるデータ転送の信頼性を向上している。
特許文献1には、このような巡回冗長検査機能を備える半導体装置(DRAM)が開示されている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2009−87485号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
特許文献1に記載されている巡回冗長検査機能を備えるDRAMにおいては、誤り検出符号を生成する誤り検出符号生成回路として、転送データのビット数に対応した入力数を有する多入力排他的論理和回路が用いられている。この誤り検出符号の生成は、DRAMのライト動作時とリード動作時とのどちらにおいても実行され、その動作速度は、DRAMのライト動作とリード動作との速度に影響を与える。一方で、誤り検出符号生成回路のDRAMチップ上の配置によっては、誤り検出符号生成回路が長距離の配線を介して誤り符号を転送しなくてはならない場合もあり、その駆動能力は、動作速度同様にDRAMのライト動作とリード動作とに影響を与える。
従って、巡回冗長検査機能を備えるDRAMのライト動作とリード動作との速度の向上には、動作速度と駆動能力とのバランスが調整された多入力排他的論理和回路が必要である。
【課題を解決するための手段】
【0005】
本発明は、3入力以上の入力端子を含み当該3入力以上の入力端子の論理レベルについて論理演算を行う多入力論理回路を備え、当該多入力論理回路は、それぞれ2つの入力端子を含み当該2つの入力端子の論理レベルに対して前記論理演算を行う複数の2入力論理回路を含み、当該複数の2入力論理回路は、第1の2入力論理回路と当該第1の2入力論理回路よりも占有面積が小さく駆動能力が小さい第2の2入力論理回路とを含み、前記第1の2入力論理回路が前記多入力論理回路の最終段として動作し、前記第2の2入力論理回路が前記第1の2入力論理回路に信号を供給する前段回路の少なくとも一部として動作することを特徴とする半導体装置である。
【0006】
また、本発明は、メモリセルアレイと、データ入出力部と、前記メモリセルアレイと前記データ入出力部との間に配置され、複数のデータを転送するバス配線と、前記バス配線から前記複数のデータを受け取り、前記複数のデータに対し複数段階の第1の論理演算を行い符号化データを生成し、当該符号化データを前記データ入出力部に供給する符号生成回路と、を備え、当該符号生成回路は、それぞれ2つの入力端子を含み当該2つの入力端子の論理レベルに対して前記第1の論理演算を行う複数の2入力論理回路を含み、当該複数の2入力論理回路は、第1の2入力論理回路と当該第1の2入力論理回路よりも占有面積が小さく駆動能力が小さい複数の第2の2入力論理回路とを含み、前記第1の2入力論理回路が前記複数段階の前記第1の論理演算のうちの最終段の論理演算を行うように構成され、前記複数の第2の2入力論理回路が前記複数段階の前記第1の論理演算のうちの前記最終段を除く前段の論理演算の一部を行うように構成されることを特徴とする半導体装置である。
【0007】
また、本発明は、メモリセルアレイと、データ入出力部と、前記メモリセルアレイと前記データ入出力部との間に配置され、複数のデータを転送するバス配線と、前記バス配線から前記複数のデータを受け取り、前記複数のデータに対し複数段階の第1の論理演算を行い符号化データを生成し、当該符号化データを前記データ入出力部に供給する符号生成回路と、を備え、当該符号生成回路は、それぞれ、第1の2入力論理回路と当該第1の2入力論理回路よりも占有面積が小さく駆動能力が小さい2つの第2の2入力論理回路とを含む複数の単位回路部であって、それぞれ、当該2つの第2の2入力論理回路の出力ノードが当該第1の2入力論理回路の2つの入力端子にそれぞれ接続された前記複数の単位回路部を含み、当該複数の単位回路部が前記複数段階の前記第1の論理演算を行うことを特徴とする半導体装置である。
【発明の効果】
【0008】
本発明の多入力論理回路によれば、第1の2入力論理回路だけを用いて構成した多入力論理回路と比べて、入力段から出力段までのファンアウト(負荷側回路要素の容量が駆動側回路要素の何個分の容量に相当するかを表す係数)の調整を行うことができる。そのため、動作速度と駆動能力とのバランスが調整された多入力論理回路を提供することができる。また、この多入力論理回路を誤り検出符号生成回路に含める構成の半導体装置とすることで、半導体装置のライト動作とリード動作を高速に行うことができる。
【図面の簡単な説明】
【0009】
【図1】否定排他的論理和回路XNR_C(否定排他的論理和回路)の構成を示す回路図である。
【図2】排他的論理和回路XOR_D(排他的論理和回路)の構成を示す回路図である。
【図3】否定排他的論理和回路XNR_E(否定排他的論理和回路)の構成を示す回路図である。
【図4】排他的論理和回路XOR_F(排他的論理和回路)の構成を示す回路図である。
【図5】否定排他的論理和回路XNR_G(4入力否定排他的論理和回路)の構成を示すブロック図である。
【図6】排他的論理和回路XOR_H(4入力排他的論理和回路)の構成を示すブロック図である。
【図7】否定排他的論理和回路XNR_I(8入力否定排他的論理和回路)の構成を示すブロック図である。
【図8】排他的論理和回路XOR_J(8入力排他的論理和回路)の構成を示すブロック図である。
【図9】半導体装置10の構成を示すブロック図である。
【図10】誤り検出符号生成回路20の構成を示すブロック図である。
【図11】誤り検出符号生成の論理を示す図である。
【図12】多入力排他的論理和XOR_iの構成を示すブロック図である。
【図13】半導体装置10のライト動作(8IO入力)のタイミングチャートである。
【図14】半導体装置10のリード動作(8IO出力)のタイミングチャートである。
【図15】半導体装置10のライト動作(4IO入力)のタイミングチャートである。
【図16】半導体装置10のリード動作(4IO出力)のタイミングチャートである。
【発明を実施するための形態】
【0010】
[第1の実施形態]
以下、添付図面を参照しながら、本発明の好ましい実施の形態について詳細に説明する。
第1の実施形態の説明では、まず図1〜図2を用いて否定排他的論理和回路XNR_C、及び排他的論理和回路XOR_D(第1の2入力論理回路)の構成を説明し、続いて、図3〜図4を用いて否定排他的論理和回路XNR_E、及び排他的論理和回路XOR_F(第2の2入力論理回路)の構成を説明する。そして、図5〜図8を用いて否定排他的論理和回路XNR_G、排他的論理和回路XOR_H、否定排他的論理和回路XNR_I、及び排他的論理和回路XOR_J(多入力排他的論理和回路)の構成を説明する。
【0011】
図1(a)は、否定排他的論理和回路XNR_C(Exclusive−NOR:否定排他的論理和回路)の構成を示す回路図である。
否定排他的論理和回路XNR_C(第1の2入力論理回路)は、第1の入力端子TIN1、第2の入力端子TIN2、及び出力端子TOUTを有している。否定排他的論理和回路XNR_Cは、第1の入力端子TIN1に入力される第1入力信号IN1の論理レベル(以下、論理「0」のとき論理レベルをLレベル、論理「1」のとき論理レベルをHレベルとする)が第2の入力端子TIN2に入力される第2入力信号IN2の論理レベルと一致する場合、出力端子TOUTからHレベルの出力信号OUTを出力する。また、否定排他的論理和回路XNR_Cは、第1入力信号IN1の論理レベルが第2入力信号IN2の論理レベルと一致しない場合、Lレベルの出力信号OUTを出力する。
【0012】
否定排他的論理和回路XNR_Cは、インバータ回路INV11、インバータ回路INV12、論理回路LGC13、及び論理回路LGC14を含んで構成される。
インバータ回路INV11は、PMOSトランジスタP11(P型チャネルMOSトランジスタ)、及びNMOSトランジスタN11(N型チャネルMOSトランジスタ)から構成される。PMOSトランジスタP11において、ソースは電源電圧VDDが供給される電源配線に接続され、ゲートは第1の入力端子TIN1に接続され、ドレインは接続点Nd11に接続される。NMOSトランジスタN11において、ドレインは接続点Nd11に接続され、ゲートは第1の入力端子TIN1に接続され、ソースは電源電圧VSSが供給される電源配線に接続される(接地される)。
インバータ回路INV11は、第1の入力端子TIN1に入力される第1入力信号IN1の論理レベルを反転して、接続点Nd11に出力する。
【0013】
インバータ回路INV12は、PMOSトランジスタP12、及びNMOSトランジスタN12から構成される。PMOSトランジスタP12において、ソースは電源電圧VDDが供給される電源配線に接続され、ゲートは第2の入力端子TIN2に接続され、ドレインは接続点Nd12に接続される。NMOSトランジスタN12において、ドレインは接続点Nd12に接続され、ゲートは第2の入力端子TIN2に接続され、ドレインは接地される。
インバータ回路INV12は、第2の入力端子TIN2に入力される第2入力信号IN2の論理レベルを反転して、接続点Nd12に出力する。
【0014】
論理回路LGC13は、PMOSトランジスタP13a、PMOSトランジスタP13b、及びNMOSトランジスタN13から構成される。PMOSトランジスタP13aにおいて、ソースは電源電圧VDDが供給される電源配線に接続され、ゲートは第1の入力端子TIN1に接続され、ドレインはPMOSトランジスタP13bのソースに接続される。また、PMOSトランジスタP13bにおいて、ソースはPMOSトランジスタP13aのドレインに接続され、ゲートは第2の入力端子TIN2に接続され、ドレインは出力端子TOUTに接続される。NMOSトランジスタN13において、ドレインは出力端子TOUTに接続され、ゲートは接続点Nd11に接続され、ソースは接続点Nd12に接続される。
論理回路LGC14は、PMOSトランジスタP14a、PMOSトランジスタP14b、及びNMOSトランジスタN14から構成される。PMOSトランジスタP14aにおいて、ソースは電源電圧VDDが供給される電源配線に接続され、ゲートは接続点Nd11に接続され、ドレインはPMOSトランジスタP14bのソースに接続される。また、PMOSトランジスタP14bにおいて、ソースはPMOSトランジスタP14aのドレインに接続され、ゲートは接続点Nd12に接続され、ドレインは出力端子TOUTに接続される。NMOSトランジスタN14において、ドレインは出力端子TOUTに接続され、ゲートは接続点Nd12に接続され、ソースは接続点Nd11に接続される。
【0015】
否定排他的論理和回路XNR_Cにおいて、第1入力信号IN1の論理レベル、及び第2入力信号IN2の論理レベルがLレベルのとき、インバータ回路INV11は接続点Nd11をHレベル、インバータ回路INV12は接続点Nd12をHレベルにそれぞれ充電する。
PMOSトランジスタP14a、及びPMOSトランジスタP14bはオフ(非導通)し、また、NMOSトランジスタN13、及びNMOSトランジスタN14はゲート−ソース間の電位差が0Vとなるので、オフする。一方、PMOSトランジスタP13a、及びPMOSトランジスタP13bはオン(導通)するので、否定排他的論理和回路XNR_Cは出力端子TOUTにHレベルの出力信号OUTを出力する。
【0016】
また、否定排他的論理和回路XNR_Cにおいて、第1入力信号IN1の論理レベルがLレベル、第2入力信号IN2の論理レベルがHレベルのとき、インバータ回路INV11は接続点Nd11をHレベルに充電し、インバータ回路INV12は接続点Nd12をLレベルに放電する。
PMOSトランジスタP13aはオンするが、PMOSトランジスタP13bはオフし、また、PMOSトランジスタP14bはオンするが、PMOSトランジスタP14aはオフする。また、NMOSトランジスタN14はゲート−ソース間の電位差が負となるのでオフする。一方、NMOSトランジスタN13は、ゲート−ソース間の電位差が正となりオンするので、否定排他的論理和回路XNR_Cは出力端子TOUTにLレベルの出力信号OUTを出力する。
【0017】
また、否定排他的論理和回路XNR_Cにおいて、第1入力信号IN1の論理レベルがHレベル、第2入力信号IN2の論理レベルがLレベルのとき、インバータ回路INV11は接続点Nd11をLレベルに放電し、インバータ回路INV12は接続点Nd12をHレベルに充電する。
PMOSトランジスタP13bはオンするが、PMOSトランジスタP13aはオフし、また、PMOSトランジスタP14aはオンするが、PMOSトランジスタP14bはオフする。また、NMOSトランジスタN13はゲート−ソース間の電位差が負となるのでオフする。一方、NMOSトランジスタN14は、ゲート−ソース間の電位差が正となりオンするので、否定排他的論理和回路XNR_Cは出力端子TOUTにLレベルの出力信号OUTを出力する。
【0018】
また、否定排他的論理和回路XNR_Cにおいて、第1入力信号IN1の論理レベル、及び第2入力信号IN2の論理レベルがHレベルのとき、インバータ回路INV11は接続点Nd11をLレベル、インバータ回路INV12は接続点Nd12をLレベルにそれぞれ放電する。
PMOSトランジスタP13a、及びPMOSトランジスタP13bはオフし、また、NMOSトランジスタN13、及びNMOSトランジスタN14はゲート−ソース間の電位差が0Vとなるので、オフする。一方、PMOSトランジスタP14a、及びPMOSトランジスタP14bはオンするので、否定排他的論理和回路XNR_Cは出力端子TOUTにHレベルの出力信号OUTを出力する。
【0019】
このように、否定排他的論理和回路XNR_Cは、第1入力信号IN1の論理レベルが第2入力信号IN2の論理レベルと一致する場合、Hレベルの出力信号OUTを出力し、第1入力信号IN1の論理レベルが第2入力信号IN2の論理レベルと一致しない場合、Lレベルの出力信号OUTを出力する2入力否定排他的論理和回路である。
また、否定排他的論理和回路XNR_Cは、図1(a)に示すように、6個のPMOSトランジスタ、及び4個のNMOSトランジスタから構成される。なお、以下、この否定排他的論理和回路XNR_Cを、図1(b)に示す回路シンボルを用いて、図5以降の図面において示す場合がある。
【0020】
図2(a)は、排他的論理和回路XOR_D(Exclusive−OR:排他的論理和回路)の構成を示す回路図である。
排他的論理和回路XOR_D(第1の2入力論理回路)は、第1の入力端子TIN1、第2の入力端子TIN2、及び出力端子TOUTを有している。排他的論理和回路XOR_Dは、第1の入力端子TIN1に入力される第1入力信号IN1の論理レベルが第2の入力端子TIN2に入力される第2入力信号IN2の論理レベルと一致する場合、出力端子TOUTからLレベルの出力信号OUTを出力する。また、排他的論理和回路XOR_Dは、第1入力信号IN1の論理レベルが第2入力信号IN2の論理レベルと一致しない場合、Hレベルの出力信号OUTを出力する。
【0021】
排他的論理和回路XOR_Dは、インバータ回路INV21、インバータ回路INV22、論理回路LGC23、及び論理回路LGC24を含んで構成される。
インバータ回路INV21は、PMOSトランジスタP21、及びNMOSトランジスタN21から構成される。PMOSトランジスタP21において、ソースは電源電圧VDDが供給される電源配線に接続され、ゲートは第1の入力端子TIN1に接続され、ドレインは接続点Nd21に接続される。NMOSトランジスタN21において、ドレインは接続点Nd21に接続され、ゲートは第1の入力端子TIN1に接続され、ドレインは接地される。
インバータ回路INV21は、第1の入力端子TIN1に入力される第1入力信号IN1の論理レベルを反転して、接続点Nd21に出力する。
【0022】
インバータ回路INV22は、PMOSトランジスタP22、及びNMOSトランジスタN22から構成される。PMOSトランジスタP22において、ソースは電源電圧VDDが供給される電源配線に接続され、ゲートは第2の入力端子TIN2に接続され、ドレインは接続点Nd22に接続される。NMOSトランジスタN22において、ドレインは接続点Nd22に接続され、ゲートは第2の入力端子TIN2に接続され、ドレインは接地される。
インバータ回路INV22は、第2の入力端子TIN2に入力される第2入力信号IN2の論理レベルを反転して、接続点Nd22に出力する。
【0023】
論理回路LGC23は、PMOSトランジスタP23、NMOSトランジスタN23a、及びNMOSトランジスタN23bから構成される。PMOSトランジスタP23において、ソースは接続点Nd21に接続され、ゲートは接続点Nd22に接続され、ドレインは出力端子TOUTに接続される。また、NMOSトランジスタN23aにおいて、ドレインは出力端子TOUTに接続され、ゲートは第1の入力端子TIN1に接続され、ソースはNMOSトランジスタN23bのドレインに接続される。NMOSトランジスタN23bにおいて、ドレインはNMOSトランジスタN23aのソースに接続され、ゲートは第2の入力端子TIN2に接続され、ソースは接地される。
論理回路LGC24は、PMOSトランジスタP24、NMOSトランジスタN24a、及びNMOSトランジスタN24bから構成される。PMOSトランジスタP24において、ソースは接続点Nd22に接続され、ゲートは接続点Nd21に接続され、ドレインは出力端子TOUTに接続される。また、NMOSトランジスタN24aにおいて、ドレインは出力端子TOUTに接続され、ゲートは接続点Nd21に接続され、ソースはNMOSトランジスタN24bのソースに接続される。NMOSトランジスタN24bにおいて、ドレインはNMOSトランジスタN24aのソースに接続され、ゲートは接続点Nd22に接続され、ソースは接地される。
【0024】
排他的論理和回路XOR_Dにおいて、第1入力信号IN1の論理レベル、及び第2入力信号IN2の論理レベルがLレベルのとき、インバータ回路INV21は接続点Nd21をHレベル、インバータ回路INV22は接続点Nd22をHレベルにそれぞれ充電する。
PMOSトランジスタP23、及びPMOSトランジスタP24はオフし、また、NMOSトランジスタN23a、及びNMOSトランジスタN23bはゲートの電位がLレベルであるのでオフする。一方、NMOSトランジスタN24a、及びNMOSトランジスタN24bはオンするので、排他的論理和回路XOR_Dは出力端子TOUTにLレベルの出力信号OUTを出力する。
【0025】
また、排他的論理和回路XOR_Dにおいて、第1入力信号IN1の論理レベルがLレベル、第2入力信号IN2の論理レベルがHレベルのとき、インバータ回路INV21は接続点Nd21をHレベルに充電し、インバータ回路INV22は接続点Nd22をLレベルに放電する。
NMOSトランジスタN23bはオンするが、NMOSトランジスタN23aはオフし、また、NMOSトランジスタN24aはオンするが、NMOSトランジスタN24bはオフする。また、PMOSトランジスタP24はゲート−ソース間の電位差が正となるのでオフする。一方、PMOSトランジスタP23は、ゲート−ソース間の電位差が負となりオンするので、排他的論理和回路XOR_Dは出力端子TOUTにHレベルの出力信号OUTを出力する。
【0026】
また、排他的論理和回路XOR_Dにおいて、第1入力信号IN1の論理レベルがHレベル、第2入力信号IN2の論理レベルがLレベルのとき、インバータ回路INV21は接続点Nd21をLレベルに放電し、インバータ回路INV22は接続点Nd22をHレベルに充電する。
NMOSトランジスタN23aはオンするが、NMOSトランジスタN23bはオフし、また、NMOSトランジスタN24bはオンするが、NMOSトランジスタN24aはオフする。また、PMOSトランジスタP23はゲート−ソース間の電位差が正となるのでオフする。一方、PMOSトランジスタP24は、ゲート−ソース間の電位差が負となりオンするので、排他的論理和回路XOR_Dは出力端子TOUTにHレベルの出力信号OUTを出力する。
【0027】
また、排他的論理和回路XOR_Dにおいて、第1入力信号IN1の論理レベル、及び第2入力信号IN2の論理レベルがHレベルのとき、インバータ回路INV21は接続点Nd21をLレベル、インバータ回路INV22は接続点Nd22をLレベルにそれぞれ放電する。
PMOSトランジスタP23、及びPMOSトランジスタP24はいずれもゲート−ソース間の電位差が0Vとなるのでオフし、また、NMOSトランジスタN24a、及びNMOSトランジスタN24bはゲートの電位がLレベルであるのでオフする。一方、NMOSトランジスタN23a、及びNMOSトランジスタN23bはオンするので、排他的論理和回路XOR_Dは出力端子TOUTにLレベルの出力信号OUTを出力する。
【0028】
このように、排他的論理和回路XOR_Dは、第1入力信号IN1の論理レベルが第2入力信号IN2の論理レベルと一致する場合、Lレベルの出力信号OUTを出力し、第1入力信号IN1の論理レベルが第2入力信号IN2の論理レベルと一致しない場合、Hレベルの出力信号OUTを出力する2入力排他的論理和回路である。
また、排他的論理和回路XOR_Dは、図2(a)に示すように、4個のPMOSトランジスタ、及び6個のNMOSトランジスタから構成される。なお、以下、この排他的論理和回路XOR_Dを、図2(b)に示す回路シンボルを用いて、図5以降の図面において示す場合がある。
【0029】
続いて、図3〜図4を用いて、上述した否定排他的論理和回路XNR_C、及び排他的論理和回路XOR_D(第1の2入力論理回路)よりも半導体装置に占める占有面積が小さく駆動能力が小さい否定排他的論理和回路XNR_E、及び排他的論理和回路XOR_F(第2の2入力論理回路)の構成を説明する。
図3(a)は、否定排他的論理和回路XNR_E(Exclusive−NOR:否定排他的論理和回路)の構成を示す回路図である。
否定排他的論理和回路XNR_E(第2の2入力論理回路)は、第1の入力端子TIN1、第2の入力端子TIN2、及び出力端子TOUTを有している。否定排他的論理和回路XNR_Eは、第1の入力端子TIN1に入力される第1入力信号IN1の論理レベルが第2の入力端子TIN2に入力される第2入力信号IN2の論理レベルと一致する場合、出力端子TOUTからHレベルの出力信号OUTを出力する。また、否定排他的論理和回路XNR_Eは、第1入力信号IN1の論理レベルが第2入力信号IN2の論理レベルと一致しない場合、Lレベルの出力信号OUTを出力する。
【0030】
否定排他的論理和回路XNR_Eは、インバータ回路INV31、論理回路LGC32、及びトランスファーゲート回路33aを含んで構成される。
インバータ回路INV31は、PMOSトランジスタP31、及びNMOSトランジスタN31から構成される。PMOSトランジスタP31において、ソースは電源電圧VDDが供給される電源配線に接続され、ゲートは第1の入力端子TIN1に接続され、ドレインは接続点Nd31に接続される。NMOSトランジスタN31において、ドレインは接続点Nd31に接続され、ゲートは第1の入力端子TIN1に接続され、ソースは接地される。
インバータ回路INV31は、第1の入力端子TIN1に入力される第1入力信号IN1の論理レベルを反転して、接続点Nd31に出力する。
【0031】
論理回路LGC32は、PMOSトランジスタP32、及びNMOSトランジスタN32から構成される。PMOSトランジスタP32において、ソースは接続点Nd31に接続され、ゲートは第2の入力端子TIN2に接続され、ドレインは出力端子TOUTに接続される。また、NMOSトランジスタN32において、ドレインは出力端子TOUTに接続され、ゲートは第2の入力端子TIN2に接続され、ソースは第1の入力端子TIN1に接続される。
トランスファーゲート回路33aは、PMOSトランジスタP33、及びNMOSトランジスタN33から構成される。PMOSトランジスタP33において、ソースは第2の入力端子TIN2に接続され、ゲートは接続点Nd31に接続され、ドレインは出力端子TOUTに接続される。また、NMOSトランジスタN33において、ドレインは第2の入力端子TIN2に接続され、ゲートは第1の入力端子TIN1に接続され、ソースは出力端子TOUTに接続される。
【0032】
否定排他的論理和回路XNR_Eにおいて、第1入力信号IN1の論理レベル、及び第2入力信号IN2の論理レベルがLレベルのとき、各回路においてトランジスタは次の動作を行う。
まず、インバータ回路INV31は接続点Nd31をHレベルに充電する。また、論理回路LGC32において、PMOSトランジスタP32、及びNMOSトランジスタN32のゲート電位はLレベルとなる。
これにより、トランスファーゲート回路33aにおいて、PMOSトランジスタP33は、ゲート−ソース間の電位差が正となり、オフし、NMOSトランジスタN33はゲート電位がLレベルとなり、オフする。
また、論理回路LGC32において、NMOSトランジスタN32は、ゲート−ソース間の電位差が0Vとなり、オフする。一方、論理回路LGC32において、PMOSトランジスタP32は、ゲート−ソース間の電位差が負となり、オンする。
これにより、否定排他的論理和回路XNR_Eは出力端子TOUTにHレベルの出力信号OUTを出力する。
【0033】
また、否定排他的論理和回路XNR_Eにおいて、第1入力信号IN1の論理レベルがLレベル、第2入力信号IN2の論理レベルがHレベルのとき、各回路においてトランジスタは次の動作を行う。
まず、インバータ回路INV31は接続点Nd31をHレベルに充電する。また、論理回路LGC32において、PMOSトランジスタP32、及びNMOSトランジスタN32のゲート電位はHレベルとなる。
これにより、トランスファーゲート回路33aにおいて、PMOSトランジスタP33はゲート−ソース間の電位差が0Vとなり、オフし、NMOSトランジスタN33はゲート電位がLレベルとなり、オフする。
また、論理回路LGC32において、PMOSトランジスタP32は、ゲート−ソース間の電位差が0Vとなり、オフする。一方、論理回路LGC32において、NMOSトランジスタN32は、ゲート−ソース間の電位差が正となり、オンする。
これにより、否定排他的論理和回路XNR_Eは出力端子TOUTにLレベルの出力信号OUTを出力する。
【0034】
また、否定排他的論理和回路XNR_Eにおいて、第1入力信号IN1の論理レベルがHレベル、第2入力信号IN2の論理レベルがLレベルのとき、各回路においてトランジスタは次の動作を行う。
まず、インバータ回路INV31は接続点Nd31をLレベルに放電する。また、論理回路LGC32において、PMOSトランジスタP32、及びNMOSトランジスタN32のゲート電位はLレベルとなる。
これにより、論理回路LGC32において、PMOSトランジスタP32は、ゲート−ソース間の電位差が0Vとなり、オフし、NMOSトランジスタN32は、ゲート−ソース間の電位差が負となり、オフする。
また、トランスファーゲート回路33aにおいて、PMOSトランジスタP33はゲート−ソース間の電位差が負となる期間オンし、NMOSトランジスタN33はゲート−ソース間の電位差が正となる期間オンする。
これにより、否定排他的論理和回路XNR_Eは出力端子TOUTにLレベルの出力信号OUTを出力する。
【0035】
また、否定排他的論理和回路XNR_Eにおいて、第1入力信号IN1の論理レベル、及び第2入力信号IN2の論理レベルがHレベルのとき、各回路においてトランジスタは次の動作を行う。
まず、インバータ回路INV31は接続点Nd31をLレベルに放電する。また、論理回路LGC32において、PMOSトランジスタP32、及びNMOSトランジスタN32のゲート電位はHレベルとなる。
これにより、論理回路LGC32において、PMOSトランジスタP32は、ゲート−ソース間の電位差が正となり、オフし、NMOSトランジスタN32は、ゲート−ソース間の電位差が0Vとなり、オフする。
また、トランスファーゲート回路33aにおいて、PMOSトランジスタP33はゲート−ソース間の電位差が負となる期間オンし、NMOSトランジスタN33はゲート−ソース間の電位差が正となる期間オンする。
これにより、否定排他的論理和回路XNR_Eは出力端子TOUTにHレベルの出力信号OUTを出力する。
【0036】
このように、否定排他的論理和回路XNR_Eは、第1入力信号IN1の論理レベルが第2入力信号IN2の論理レベルと一致する場合、Hレベルの出力信号OUTを出力し、第1入力信号IN1の論理レベルが第2入力信号IN2の論理レベルと一致しない場合、Lレベルの出力信号OUTを出力する2入力否定排他的論理和回路である。
また、否定排他的論理和回路XNR_Eは、図3(a)に示すように、3個のPMOSトランジスタ、及び3個のNMOSトランジスタから構成される。
すなわち、否定排他的論理和回路XNR_E(第2の2入力論理回路)は、図1(a)に示す否定排他的論理和回路XNR_C(第1の2入力論理回路)に比べて、回路を構成するトランジスタ数が少ないため小面積である。しかしながら、否定排他的論理和回路XNR_Eは、トランスファーゲート構造となるトランスファーゲート回路33a、及び論理回路LGC32を有している。このトランスファーゲート構造は、前段(インバータ回路INV31、第2の入力端子TIN2に信号を供給する回路)からの入力信号を、インバータ回路の様にバッファリングせずに通過させる。そのため、否定排他的論理和回路XNR_Eは、否定排他的論理和回路XNR_Cに比べて駆動能力は低い。
なお、以下、この否定排他的論理和回路XNR_Eを、図3(b)に示す回路シンボルを用いて、図5以降の図面において示す場合がある。
【0037】
図4(a)は、排他的論理和回路XOR_F(Exclusive−OR:排他的論理和回路)の構成を示す回路図である。
排他的論理和回路XOR_F(第2の2入力論理回路)は、第1の入力端子TIN1、第2の入力端子TIN2、及び出力端子TOUTを有している。排他的論理和回路XOR_Fは、第1の入力端子TIN1に入力される第1入力信号IN1の論理レベルが第2の入力端子TIN2に入力される第2入力信号IN2の論理レベルと一致する場合、出力端子TOUTからLレベルの出力信号OUTを出力する。また、排他的論理和回路XOR_Fは、第1入力信号IN1の論理レベルが第2入力信号IN2の論理レベルと一致しない場合、Hレベルの出力信号OUTを出力する。
【0038】
排他的論理和回路XOR_Fは、インバータ回路INV41、論理回路LGC42、及びトランスファーゲート回路43aを含んで構成される。
インバータ回路INV41は、PMOSトランジスタP41、及びNMOSトランジスタN41から構成される。PMOSトランジスタP41において、ソースは電源電圧VDDが供給される電源配線に接続され、ゲートは第1の入力端子TIN1に接続され、ドレインは接続点Nd41に接続される。NMOSトランジスタN41において、ドレインは接続点Nd41に接続され、ゲートは第1の入力端子TIN1に接続され、ソースは接地される。
インバータ回路INV41は、第1の入力端子TIN1に入力される第1入力信号IN1の論理レベルを反転して、接続点Nd41に出力する。
【0039】
論理回路LGC42は、PMOSトランジスタP42、及びNMOSトランジスタN42から構成される。PMOSトランジスタP42において、ソースは第1の入力端子TIN1に接続され、ゲートは第2の入力端子TIN2に接続され、ドレインは出力端子TOUTに接続される。また、NMOSトランジスタN42において、ドレインは出力端子TOUTに接続され、ゲートは第2の入力端子TIN2に接続され、ソースは接続点Nd41に接続される。
トランスファーゲート回路43aは、PMOSトランジスタP43、及びNMOSトランジスタN43から構成される。PMOSトランジスタP33において、ソースは第2の入力端子TIN2に接続され、ゲートは第1の入力端子TIN1に接続され、ドレインは出力端子TOUTに接続される。また、NMOSトランジスタN43において、ドレインは第2の入力端子TIN2に接続され、ゲートは接続点Nd41に接続され、ソースは出力端子TOUTに接続される。
【0040】
排他的論理和回路XOR_Fにおいて、第1入力信号IN1の論理レベル、及び第2入力信号IN2の論理レベルがLレベルのとき、各回路においてトランジスタは次の動作を行う。
まず、インバータ回路INV41は接続点Nd41をHレベルに充電する。また、論理回路LGC42において、PMOSトランジスタP42、及びNMOSトランジスタN42のゲート電位はLレベルとなる。
これにより、論理回路LGC32において、PMOSトランジスタP42は、ゲート−ソース間の電位差が0Vとなり、オフし、NMOSトランジスタN42は、ゲート電位がLレベルとなり、オフする。また、トランスファーゲート回路43aにおいて、PMOSトランジスタP43は、ゲート電位がLレベルとなり、オフする。一方、NMOSトランジスタN43はゲート−ソース間の電位差が正となり、オンする。
これにより、排他的論理和回路XOR_Fは出力端子TOUTにLレベルの出力信号OUTを出力する。
【0041】
また、排他的論理和回路XOR_Fにおいて、第1入力信号IN1の論理レベルがLレベル、第2入力信号IN2の論理レベルがHレベルのとき、各回路においてトランジスタは次の動作を行う。
まず、インバータ回路INV41は接続点Nd41をHレベルに充電する。また、論理回路LGC42において、PMOSトランジスタP42、及びNMOSトランジスタN42のゲート電位はHレベルとなる。
これにより、論理回路LGC42において、PMOSトランジスタP42は、ゲート−ソース間電位が正となり、オフし、NMOSトランジスタN42は、ゲート−ソース間の電位差が0Vとなり、オフする。
また、トランスファーゲート回路43aにおいて、PMOSトランジスタP43はゲート−ソース間の電位差が負の期間オンし、NMOSトランジスタN43はゲート電位が正の期間オンする。
これにより、排他的論理和回路XOR_Fは出力端子TOUTにHレベルの出力信号OUTを出力する。
【0042】
また、排他的論理和回路XOR_Fにおいて、第1入力信号IN1の論理レベルがHレベル、第2入力信号IN2の論理レベルがLレベルのとき、各回路においてトランジスタは次の動作を行う。
まず、インバータ回路INV41は接続点Nd41をLレベルに放電する。また、論理回路LGC42において、PMOSトランジスタP42、及びNMOSトランジスタN42のゲート電位はLレベルとなる。
これにより、トランスファーゲート回路43aにおいて、PMOSトランジスタP43はゲート−ソース間の電位差が正であるのでオフし、NMOSトランジスタN43はゲート電位がLレベルであるのでオフする。また、論理回路LGC42において、NMOSトランジスタN42は、ゲートがLレベルとなり、オフする。一方、PMOSトランジスタP42はゲート電位がLレベルであるのでオンする。
これにより、排他的論理和回路XOR_Fは出力端子TOUTにHレベルの出力信号OUTを出力する。
【0043】
また、排他的論理和回路XOR_Fにおいて、第1入力信号IN1の論理レベル、及び第2入力信号IN2の論理レベルがHレベルのとき、各回路においてトランジスタは次の動作を行う。
まず、インバータ回路INV41は接続点Nd41をLレベルに放電する。また、論理回路LGC42において、PMOSトランジスタP42、及びNMOSトランジスタN42のゲート電位はHレベルとなる。
これにより、トランスファーゲート回路43aにおいて、PMOSトランジスタP43はゲート電位がHレベルであるのでオフし、NMOSトランジスタN43はゲート電位がLレベルであるのでオフする。また、論理回路LGC42において、PMOSトランジスタP42はゲート−ソース間の電位差が0Vであるのでオフする。一方、NMOSトランジスタN42は、ゲート−ソース間の電位差が正となり、オンする。
これにより、排他的論理和回路XOR_Fは出力端子TOUTにLレベルの出力信号OUTを出力する。
【0044】
このように、排他的論理和回路XOR_Fは、第1入力信号IN1の論理レベルが第2入力信号IN2の論理レベルと一致する場合、Lレベルの出力信号OUTを出力し、第1入力信号IN1の論理レベルが第2入力信号IN2の論理レベルと一致しない場合、Hレベルの出力信号OUTを出力する2入力排他的論理和回路である。
また、排他的論理和回路XOR_Fは、図4(a)に示すように、3個のPMOSトランジスタ、及び3個のNMOSトランジスタから構成される。
すなわち、排他的論理和回路XOR_F(第2の2入力論理回路)は、図2(a)に示す排他的論理和回路XOR_D(第1の2入力論理回路)に比べて、回路を構成するトランジスタ数が少ないため小面積である。しかしながら、排他的論理和回路XOR_Fは、トランスファーゲート構造となるトランスファーゲート回路43a、及び論理回路LGC42を有している。このトランスファーゲート構造は、前段(インバータ回路INV41、第2の入力端子TIN2に信号を供給する回路)からの入力信号を、インバータ回路の様にバッファリングせずに通過させる。そのため、排他的論理和回路XOR_Fは、排他的論理和回路XOR_Dに比べて駆動能力は低い。
なお、以下、この排他的論理和回路XOR_Eを、図4(b)に示す回路シンボルを用いて、図5以降の図面において示す場合がある。
【0045】
続いて、図5〜図8を用いて否定排他的論理和回路XNR_G、排他的論理和回路XOR_H、否定排他的論理和回路XNR_I、及び排他的論理和回路XOR_J(多入力排他的論理和回路)の構成を説明する。
図5において、3入力以上の入力端子を含み当該3入力以上の入力端子の論理レベルについて論理演算を行う多入力論理回路の一例として、否定排他的論理和回路XNR_G(4入力否定排他的論理和回路)の構成を示す。
否定排他的論理和回路XNR_Gは、否定排他的論理和回路XNR_E51、否定排他的論理和回路XNR_E52、及び否定排他的論理和回路XNR_C51を含んで構成される。
否定排他的論理和回路XNR_E51、否定排他的論理和回路XNR_E52は、それぞれ図3(b)に示す2入力の否定排他的論理和回路XNR_E(第2の2入力論理回路)と同一構成の2入力否定排他的論理和回路である。
また、否定排他的論理和回路XNR_C51は、図1(b)に示す2入力の否定排他的論理和回路XNR_E(第1の2入力論理回路)と同一構成の2入力否定排他的論理和回路である。
否定排他的論理和回路XNR_E51、否定排他的論理和回路XNR_E52の合計2つの出力端子が否定排他的論理和回路XNR_C51の2入力端子と接続されることにより、4入力1出力の否定排他的論理和回路XNR_Gが構成されている。
これにより、否定排他的論理和回路XNR_G(多入力論理回路)は、4入力の論理レベルのうちに偶数個のLレベル(論理「0」)がある場合(すべてLレベル、2つがLレベル、4つ全てがLレベルの場合)、出力端子からHレベル(論理「1」)の出力信号を出力する。また、否定排他的論理和回路XNR_Gは、4入力の論理レベルのうちに奇数個のLレベルがある場合(1つがLレベル、3つがLレベルの場合)、Lレベル(論理「0」)の出力信号を出力する。
【0046】
否定排他的論理和回路XNR_Gの特徴は、当該論理回路を構成する2入力否定排他的論理和回路のうち、出力ピンを備える最終段の2入力否定排他的論理和回路を駆動能力のある否定排他的論理和回路XNR_C(第1の2入力論理回路)とし、この否定排他的論理和回路XNR_Cに信号を供給する前段回路を、否定排他的論理和回路XNR_Cに比べて占有面積が小さく駆動能力が小さい否定排他的論理和回路XNR_E(第2の2入力論理回路)とした点にある。
この組み合わせを用いることにより、全てを否定排他的論理和回路XNR_Cで構成した場合、30個のMOSトランジスタ(18個のPMOSトランジスタ、12個のNMOSトランジスタ)が必要となるのに対して、構成するMOSトランジスタの個数を22個(12個のPMOSトランジスタ、10個のNMOSトランジスタ)に低減することができる。
【0047】
また、MOSトランジスタの個数を低減しつつ、全てを同じドライビング能力の2入力排他的論理和回路で構成する場合に比べて、入力段から出力段までのファンアウト(負荷側回路要素の容量が駆動側回路要素の何個分の容量に相当するかを表す係数)の調整を行うことができ、最適なドライビング能力を確保し、タイミングを高速化することができる。これは、例えば、同じドライビング能力を有するインバータ回路を複数段接続して負荷をドライブする場合を考えると、最終段のドライビング能力は負荷に併せて調整しなければならない。しかし、前段のインバータ回路は次段のインバータ回路を負荷として見た場合、その負荷は最終段に接続される負荷と同じになって、負荷が大きくなり、複数段接続したインバータ回路全体のタイミングの高速化を図ることができない。そのため、インバータ回路を複数段接続して負荷をドライブする場合、前段に向かうにつれてドライビング能力を下げていった方が、前段のインバータ回路が次段のインバータ回路を負荷として見た場合、それぞれのインバータ回路において負荷は軽くなり、高速化を図ることができる。つまり、本願の原理は、インバータ回路のドライビング能力を前段にいくにつれ小さくして、前段が後段を負荷として見た場合の負荷を軽くし、複数段接続した全体の回路としてのタイミングを高速化できるとの同じ原理である。もちろん、この場合であっても、インバータ回路とインバータ回路との間に配線等の寄生容量が入る場合、インバータ回路だけでなくその寄生容量も負荷に含める必要があるので、常に前段にいくにつれドライビング能力が小さくなるのではなく、各段において後段までの負荷を考慮してドライビング能力を大きくするインバータ回路を接続する場合もある。そのため、本願でも、前段の論理回路は、全て第2の2入力論理回路である必要はなく、少なくとも一部が第2の2入力論理回路であって、他に第1の2入力論理回路を含める構成としてもよい。
【0048】
次に、図6を用いて排他的論理和回路XOR_H(多入力排他的論理和回路)の構成を説明する。
図6において、3入力以上の入力端子を含み当該3入力以上の入力端子の論理レベルについて論理演算を行う多入力論理回路の一例として、排他的論理和回路XOR_H(4入力排他的論理和回路)の構成を示す。
排他的論理和回路XOR_Hは、排他的論理和回路XOR_F61、排他的論理和回路XOR_F62、及び排他的論理和回路XOR_D61を含んで構成される。
排他的論理和回路XOR_F61、排他的論理和回路XOR_F62は、それぞれ図4(b)に示す2入力の排他的論理和回路XOR_F(第2の2入力論理回路)と同一構成の2入力排他的論理和回路である。
また、排他的論理和回路XOR_D61は、図2(b)に示す2入力の排他的論理和回路XOR_D(第1の2入力論理回路)と同一構成の2入力排他的論理和回路である。
排他的論理和回路XOR_F61、排他的論理和回路XOR_F62の合計2つの出力端子が排他的論理和回路XOR_D61の2入力端子と接続されることにより、4入力1出力の排他的論理和回路XOR_Hが構成されている。
これにより、排他的論理和回路XOR_H(多入力論理回路)は、4入力の論理レベルのうちに偶数個のLレベル(論理「0」)がある場合(すべてLレベル、2つがLレベル、4つ全てがLレベルの場合)、出力端子からLレベル(論理「0」)の出力信号を出力する。また、否定排他的論理和回路XNR_Hは、4入力の論理レベルのうちに奇数個のLレベルがある場合(1つがLレベル、3つがLレベルの場合)、Hレベル(論理「1」)の出力信号を出力する。
【0049】
排他的論理和回路XOR_Hの特徴は、当該論理回路を構成する2入力排他的論理和回路のうち、出力ピンを備える最終段の2入力排他的論理和回路を駆動能力のある排他的論理和回路XOR_D(第1の2入力論理回路)とし、この排他的論理和回路XOR_Dに信号を供給する前段回路を、排他的論理和回路XOR_Dに比べて占有面積が小さく駆動能力が小さい排他的論理和回路XOR_F(第2の2入力論理回路)とした点にある。
この組み合わせを用いることにより、全てを排他的論理和回路XOR_Dで構成した場合、30個のMOSトランジスタ(12個のPMOSトランジスタ、18個のNMOSトランジスタ)が必要となるのに対して、構成するMOSトランジスタの個数を22個(10個のPMOSトランジスタ、12個のNMOSトランジスタ)に低減することができる。
また、MOSトランジスタの個数を低減しつつ、全てを同じドライビング能力の2入力排他的論理和回路で構成する場合に比べて、最適なドライビング能力を確保し、タイミングを高速化することができる。もちろん、前段の論理回路は、全て第2の2入力論理回路である必要はなく、少なくとも一部が第2の2入力論理回路であって、他に第1の2入力論理回路を含める構成としてもよい。
【0050】
続いて、図7〜図8を用いて否定排他的論理和回路XNR_I、及び排他的論理和回路XOR_J(多入力排他的論理和回路)の構成を説明する。
図7において、3入力以上の入力端子を含み当該3入力以上の入力端子の論理レベルについて論理演算を行う多入力論理回路の一例として、否定排他的論理和回路XNR_I(8入力否定排他的論理和回路)の構成を示す。
否定排他的論理和回路XNR_Iは、否定排他的論理和回路XNR_E71〜否定排他的論理和回路XNR_E76、及び否定排他的論理和回路XNR_C71を含んで構成される。
否定排他的論理和回路XNR_E71〜否定排他的論理和回路XNR_E76は、それぞれ図3(b)に示す2入力の否定排他的論理和回路XNR_E(第2の2入力論理回路)と同一構成の2入力否定排他的論理和回路である。
また、否定排他的論理和回路XNR_C71は、図1(b)に示す2入力の否定排他的論理和回路XNR_C(第1の2入力論理回路)と同一構成の2入力否定排他的論理和回路である。
否定排他的論理和回路XNR_E71、否定排他的論理和回路XNR_E72の合計2つの出力端子が否定排他的論理和回路XNR_E75の2入力端子と接続され、否定排他的論理和回路XNR_E73、否定排他的論理和回路XNR_E74の合計2つの出力端子が否定排他的論理和回路XNR_E76の2入力端子と接続される。また、否定排他的論理和回路XNR_E75、否定排他的論理和回路XNR_E76の合計2つの出力端子が否定排他的論理和回路XNR_C71の2入力端子と接続される。この構成により、8入力1出力の否定排他的論理和回路XNR_Iが構成されている。
これにより、否定排他的論理和回路XNR_I(多入力論理回路)は、8入力の論理レベルのうちに偶数個のLレベル(論理「0」)がある場合(すべてLレベル、2つがLレベル、4つがLレベル、6つがLレベル、8つ全てがLレベルの場合)、出力端子からHレベル(論理「1」)の出力信号を出力する。また、否定排他的論理和回路XNR_Iは、8入力の論理レベルのうちに奇数個のLレベルがある場合(1つがLレベル、3つがLレベル、5つがLレベル、7つがLレベルの場合)、Lレベル(論理「0」)の出力信号を出力する。
【0051】
否定排他的論理和回路XNR_Iの特徴は、当該論理回路を構成する2入力否定排他的論理和回路のうち、出力ピンを備える最終段の2入力否定排他的論理和回路を駆動能力のある否定排他的論理和回路XNR_C(第1の2入力論理回路)とし、この否定排他的論理和回路XNR_Cに信号を供給する前段回路を、否定排他的論理和回路XNR_Cに比べて占有面積が小さく駆動能力が小さい否定排他的論理和回路XNR_E(第2の2入力論理回路)とした点にある。
この組み合わせを用いることにより、全てを否定排他的論理和回路XNR_Cで構成した場合、70個のMOSトランジスタ(42個のPMOSトランジスタ、28個のNMOSトランジスタ)が必要となるのに対して、構成するMOSトランジスタの個数を46個(24個のPMOSトランジスタ、22個のNMOSトランジスタ)に低減することができる。
【0052】
また、MOSトランジスタの個数を低減しつつ、全てを同じドライビング能力の2入力否定排他的論理和回路で構成する場合に比べて、最適なドライビング能力を確保し、タイミングを高速化することができる。この理由は、図5に示す否定排他的論理和回路XNR_Gで述べた理由と同じである。例えば、半導体装置を実現する製品のプロセス世代(微細化に伴い製造工程も変遷するが、その製造工程を用いる時期)に応じてMOSトランジスタ能力も変化する(例えば駆動能力が向上する)。こうした場合であっても、論理回路の負荷が設計ターゲットとして決まった場合、出力段を構成する部分を第1の2入力論理回路で構成し、第1の2入力論理回路に信号を供給する前段(2段)を、第2の2入力論理回路で構成することで、最適なドライビング能力を確保し、タイミングを高速化することができる。もちろん、前段の論理回路は、全て第2の2入力論理回路である必要はなく、設計ターゲットの負荷に応じて、少なくとも一部が第2の2入力論理回路であって、他に第1の2入力論理回路を含める構成としてもよい。
【0053】
図8において、3入力以上の入力端子を含み当該3入力以上の入力端子の論理レベルについて論理演算を行う多入力論理回路の一例として、排他的論理和回路XOR_J(8入力排他的論理和回路)の構成を示す。
排他的論理和回路XOR_Jは、排他的論理和回路XOR_F81〜排他的論理和回路XOR_F86、及び排他的論理和回路XOR_D81を含んで構成される。
排他的論理和回路XOR_F81〜排他的論理和回路XOR_F86は、それぞれ図4(b)に示す2入力の排他的論理和回路XOR_F(第2の2入力論理回路)と同一構成の2入力排他的論理和回路である。
また、排他的論理和回路XOR_D81は、図2(b)に示す2入力の排他的論理和回路XOR_D(第1の2入力論理回路)と同一構成の2入力排他的論理和回路である。
排他的論理和回路XOR_F81、排他的論理和回路XOR_F82の合計2つの出力端子が排他的論理和回路XOR_F85の2入力端子と接続され、排他的論理和回路XOR_F83、排他的論理和回路XOR_F84の合計2つの出力端子が排他的論理和回路XOR_F86の2入力端子と接続される。また、排他的論理和回路XOR_F85、排他的論理和回路XOR_F86の合計2つの出力端子が排他的論理和回路XOR_D81の2入力端子と接続される。この構成により、8入力1出力の排他的論理和回路XOR_Jが構成されている。
これにより、排他的論理和回路XOR_J(多入力論理回路)は、8入力の論理レベルのうちに偶数個のLレベル(論理「0」)がある場合(すべてLレベル、2つがLレベル、4つがLレベル、6つがLレベル、8つ全てがLレベルの場合)、出力端子からLレベル(論理「1」)の出力信号を出力する。また、否定排他的論理和回路XNR_Jは、8入力の論理レベルのうちに奇数個のLレベルがある場合(1つがLレベル、3つがLレベル、5つがLレベル、7つがLレベルの場合)、Hレベル(論理「0」)の出力信号を出力する。
【0054】
排他的論理和回路XOR_Jの特徴は、当該論理回路を構成する2入力排他的論理和回路のうち、出力ピンを備える最終段の2入力排他的論理和回路を駆動能力のある排他的論理和回路XOR_D(第1の2入力論理回路)とし、この排他的論理和回路XOR_Dに信号を供給する前段回路を、排他的論理和回路XOR_Dに比べて占有面積が小さく駆動能力が小さい排他的論理和回路XOR_F(第2の2入力論理回路)とした点にある。
この組み合わせを用いることにより、全てを排他的論理和回路XOR_Dで構成した場合、70個のMOSトランジスタ(28個のPMOSトランジスタ、42個のNMOSトランジスタ)が必要となるのに対して、構成するMOSトランジスタの個数を46個(22個のPMOSトランジスタ、24個のNMOSトランジスタ)に低減することができる。
また、MOSトランジスタの個数を低減しつつ、全てを同じドライビング能力の2入力排他的論理和回路で構成する場合に比べて、最適なドライビング能力を確保し、タイミングを高速化することができる。もちろん、前段の論理回路は、全て第2の2入力論理回路である必要はなく、設計ターゲットの負荷に応じて、少なくとも一部が第2の2入力論理回路であって、他に第1の2入力論理回路を含める構成としてもよい。
【0055】
このように、本発明は、3入力以上の入力端子を含み当該3入力以上の入力端子の論理レベルについて論理演算を行う多入力論理回路であって、当該多入力論理回路(否定排他的論理和回路XNR_G、XNR_I、排他的論理和回路XOR_H、XOR_J)は、それぞれ2つの入力端子を含み当該2つの入力端子の論理レベルに対して前記論理演算を行う複数の2入力論理回路を含み、当該複数の2入力論理回路は、第1の2入力論理回路(否定排他的論理和回路XNR_C、または排他的論理和回路XOR_D)と当該第1の2入力論理回路よりも占有面積が小さく駆動能力が小さい第2の2入力論理回路(否定排他的論理和回路XNR_E、または排他的論理和回路XOR_F)とを含み、前記第1の2入力論理回路が前記多入力論理回路の最終段として動作し、前記第2の2入力論理回路が前記第1の2入力論理回路に信号を供給する前段回路の少なくとも一部として動作することを特徴とする多入力論理回路である。
【0056】
本発明の半導体装置によれば、従来の多入力排他的論理和回路よりも、動作速度と駆動能力とのバランスが調整された多入力排他的論理和回路を提供することができる。
【0057】
[第2の実施形態]
続いて、上述した多入力排他的論理和回路を含んで構成される誤り検出符号生成回路を備えた半導体装置(半導体装置10)について説明する。
図9は、本発明を半導体装置10、例えばクロックに同期して動作するSDRAM(シンクロナス・ダイナミック・ランダム・アクセス・メモリ)に適用した場合の半導体装置10の概略構成を示す。なお、図9に示されている各回路ブロックは、全て単結晶シリコンのような1個の半導体チップ上に形成される。各回路ブロックは、例えば、PMOSトランジスタ及びNMOSトランジスタ等の複数のトランジスタで構成される。また、◎印で示されているのは、当該半導体チップに設けられる外部端子としてのパッドであり、図示されている外部端子の他に外部から供給される電源電圧が印加される電源電圧端子が設けられる。
半導体装置10は、メモリセルアレイ11、ロウデコーダ13、カラムデコーダ14、センスアンプ15、制御回路18、データ入出力部19、誤り検出符号生成回路20、データバスインバージョン回路21、及び警告信号出力部22を含んで構成される。
【0058】
半導体装置10は、リード動作時、誤り検出符号生成回路20において、誤り検出符号(以下CRC符号)を生成し、リードデータの出力と同時にCRC符号を出力する。CRC符号の生成方法としては、一例として、標準化団体(JEDEC等)で規格化された巡回冗長検査手法を用いる方法があるが、これに限定されるものではない。本実施例では、8IO構成でバースト長BL8動作の場合(8×8=64ビットのメモリセルデータを8個のデータ入出力端子DQからバースト長さ8で出力する動作)を例に説明する。この場合、それぞれのデータ入出力端子DQのバースト長BLの9ビット目に演算結果のCRC符号を出力する。
半導体装置10と通信関係にあるホストCPU(メモリコントローラ)は、半導体装置10から送信されるデータとこのCRC符号とを受信し、ホストCPU自身で半導体装置10から送信されるデータに基づいてCRC演算を行う。このホストCPUは、自身が演算したCRC符号と、メモリから送信されたCRC符号との等価性を確認し、半導体装置−ホストCPU間のデータ線路でデータが正常に送信されているか否か(誤送信されていないか否か)を検出できる。
【0059】
また、半導体装置10は、ライト動作時、CRC手法を用いて、誤り検出符号生成回路20において、CRC符号をデータ受信と同時に生成する。本実施例では8IO構成でBL8動作の場合(8×8=64ビットのデータを8個のデータ入出力端子DQからバースト長さ8で入力してメモリセルへ書き込む動作)を例に示す。この場合、それぞれのデータ入出力端子DQのBLの9ビット目には、CPUからの演算結果のCRC符号が入力される。
半導体装置10は、通信関係にあるホストCPUから送信されるCRC符号と、メモリ自身が受信したライトデータから生成したCRC符号とについての等価性を確認し、半導体装置10−ホストCPU間のデータ線路で、データが誤送信されたか否かを検出することができる。さらに、本実施形態の半導体装置10は、ALERT_Nとよばれる端子が規格化されており、誤送信が検出されたときは警告信号ALERT_NをLレベル(活性レベル)で出力する。
【0060】
なお、図9においては図示していないが、4IO構成でBL8動作の場合(4×8=32ビットのメモリセルデータを4個のデータ入出力端子DQからバースト長さ8で出力する動作)は、それぞれのデータ入出力端子DQのBLの9、10ビット目として演算結果のCRC符号を出力する。これは、8IO構成でBL8動作の場合と、4IO構成でBL4動作の場合では、必要なCRC演算結果のビット数が同じであるため、IO数が少ない4IO構成では、9,10ビット目の2倍のビットを用いて合計8ビットのCRC演算結果を出力しなければならないからである。
【0061】
以下簡単に半導体装置10の構成について順番に説明する。
メモリセルアレイ11(ビット線とワード線とに対応付けられているメモリセルを有するメモリセルアレイ)は、複数のメモリセルが行及び列のマトリックス状に配置された複数のバンクから構成される。図9においてはバンクnを代表として示している。バンクnは、記憶領域であるメモリセルを有している。例えば、バンクnは、ワード線WLとビット線DLの交点にメモリセルMCを有する。
【0062】
制御回路18は、内部にクロック生成回路を備え、このクロック生成回路は、外部から供給される一定周波数のクロック信号CK、その論理反転信号/CK、及びクロックCK及び/CKが有効であることを示すクロックイネーブル信号CKEに基づいて内部回路(制御回路18におけるコマンドデコーダ、データ入出力部19等)を動作させる内部クロック信号を生成する。
半導体装置10に外部から供給される制御信号としては、クロック信号CK、その論理反転信号/CK、及びクロックイネーブル信号CKEの他に次の制御信号がある。半導体装置10を選択状態にするチップセレクト信号/CS(以下、外部メモリ制御信号CSとする)、行アドレスストローブ信号/RAS(以下、外部メモリ制御信号RASとする)、列アドレスストローブ信号/CAS(以下、外部メモリ制御信号CASとする)、データの書込み動作を指示するライトイネーブル信号/WE(以下、外部メモリ制御信号WEとする)などである。なお、以上の信号のうち符号の前に“/”が付されているものは、ロウレベル(Lレベル)が有効レベルであることを意味している。
【0063】
制御回路18は、内部にコマンドデコーダを備え、このコマンドデコーダは、これらの外部メモリ制御信号であるCS信号、RAS信号、CAS信号、及びWE信号とアドレス信号の一部をデコードして、外部から供給されるコマンドを復号する。本実施例の半導体装置10に供給されるコマンドとしては、半導体装置の内部回路の活性化を指示するACTコマンド、読出しを指示するREADコマンド、書込みを指示するWRITEコマンド、制御回路18におけるモードレジスタへの動作モードの設定を指示するMRSコマンド、ACTコマンドにより活性化された内部回路の非活性化を指示するPREコマンドなどがある。
コマンドデコーダは、外部メモリ制御信号であるCS信号、RAS信号、CAS信号、及びWE信号をコマンド信号として、内部クロック信号に同期して取り込み、復号する。また、コマンドデコーダは、復号したコマンドに対応して内部コマンド信号、例えば、アクティブコマンド(ACTコマンド)、ライトコマンド(WRITEコマンド)、リードコマンド(READコマンド)、プリチャージコマンド(PREコマンド)それぞれに対応して内部アクティブ信号、内部ライト信号、内部リード信号、内部プリチャージ信号などを生成する。
また、制御回路18は、内部にモードレジスタを備え、このモードレジスタは、外部メモリ制御信号であるCS信号、RAS信号、CAS信号、及びWE信号の活性レベルの組み合わせ入力によりアドレス信号A0〜Anを保持し、テスト動作モードへのエントリなど各動作モードの初期設定を行う。バースト長(BL)もモードレジスタに設定される。
【0064】
制御回路18は、モードレジスタに設定された各動作モード、コマンドデコーダからの内部コマンド信号に対応して、半導体装置10内の各回路(アドレスバッファ、ロウデコーダ13、カラムデコーダ14、センスアンプ15、データ入出力部19、誤り検出符号生成回路20、データバスインバージョン回路21)を制御する制御信号を発生する。例えば、制御回路18は、ロウデコーダ13、カラムデコーダ14、センスアンプ15、データ入出力部19、誤り検出符号生成回路20、データバスインバージョン回路21を活性制御する活性非活性制御信号を、内部アクティブ信号、内部プリチャージ信号の論理レベルの変化に対応してタイミング制御し、出力する。また、制御回路18は、データ入出力部19を活性制御するライト制御信号を、内部ライト信号の論理レベルの変化に対応してタイミング制御して出力する。
【0065】
また、制御回路18は、内部にアドレスバッファを備え、このアドレスバッファは、ACTコマンドにより活性化された状態で、外部から入力されるメモリセルの位置を示すアドレスデータ(以下、アドレスと略す)を、マルチプレックス方式で内部に取り込む。マルチプレックス方式とは、ACTコマンドによりメモリセルの位置を示す行アドレス(ロウアドレス)を、READコマンドまたはWRITEコマンドによりメモリセルの位置を示す列アドレス(カラムアドレス)を、時系列に取り込む方式である。
ロウデコーダ13は、ACTコマンドにより活性化された状態で、アドレスバッファにより取り込まれたロウアドレスをデコードし、メモリセルアレイ11内の対応するワード線(例えば上記ワード線WL)を選択する。選択されたワード線に接続される複数のメモリセルは、それぞれのビット線(メモリセルMCであればビット線DL)と接続され、各メモリセルのデータはビット線に読み出される。
センスアンプ15は、ACTコマンドにより活性化され、内部リード信号または内部ライト信号によりビット線に読み出された電圧を増幅し、半導体装置10がメモリセルからのデータを読み出す動作(リード動作)にあるとき、増幅したデータを選択されるカラムスイッチ、及びリードライトバスを介して、リードデータDATA[63:0]をデータ入出力部19、及び誤り検出符号生成回路20に対して出力する。また、センスアンプ15は、半導体装置10がメモリセルへの書き込み動作(ライト動作)にあるとき、誤り検出符号生成回路20の判定結果に基づいてデータ入出力部19が出力するライトデータDATA[63:0]をカラムスイッチ及びリードライトバスを介してメモリセルへ書き込む。
【0066】
カラムデコーダ14は、ACTコマンドに続くWRITEコマンド(またはREADコマンド)により活性化された状態で、アドレスバッファにより取り込まれたカラムアドレスをデコードしてメモリセルアレイ11内の対応するカラム(ビット線)を選択する。
【0067】
誤り検出符号生成回路20は、半導体装置10のリード動作において、制御回路18から入力される制御信号Read CRC Ctrl CLKにより活性化され、メモリセルアレイ11からリードライトバスを介して読み出されたリードデータDATA[63:0]、及びデータバスインバージョン回路21からDM/DBIバスを介して入力されるデータバスインバージョン信号DBI[7:0]に基づいて、CRC符号(8ビット)を生成して、CRC信号線を介してデータ入出力部19に対して出力する。
また、誤り検出符号生成回路20は、半導体装置10のライト動作において、制御回路18から入力される制御信号Write CRC Ctrl CLKにより活性化され、データ入出力部19からリードライトバスを介して入力されるライトデータDATA[63:0]、データ入出力部19からDM/DBIバスを介して入力されるデータバスインバージョン信号DBI[7:0]、及びデータ入出力部19からCRC信号線を介して入力されるCRC符号CRC[7:0](巡回冗長符号)に基づいて、メモリセルに書き込むべきデータが正しいか否か(データ入出力部19が受信したデータが正しいデータか否か)を判定し、判定結果を判定結果信号Write CRC Error Flagとして警告信号出力部22に対して出力する。警告信号出力部22は、判定結果信号Write CRC Error Flagが判定結果が否であることを示す場合に警告信号ALERT_NをLレベル(活性レベル)で出力する。
【0068】
データ入出力部19は、半導体装置10のリード動作において、メモリセルアレイ11からリードライトバスを介して読み出されたリードデータDATA[63:0]、及び誤り検出符号生成回路20が生成したCRC符号CRC[7:0]を、データ入出力端子DQ0〜DQn(n=3または7)を介して外部に出力する。
また、データ入出力部19は、ライト動作において外部からデータ入出力端子DQ0〜DQnを介して入力されるメモリセルへ書き込むべきデータ、すなわちライトデータDATA[63:0]を、リードライトバスを介してメモリセルアレイ11と誤り検出符号生成回路20とに供給し、外部のメモリコントローラ(不図示)がCRC演算した結果であるCRC符号CRC[7:0]を、CRC信号線を介して誤り検出符号生成回路20へ供給する。
このように、CRC符号CRC[7:0]の入出力は、データ入出力端子DQ0〜DQnを介して実行される。このため、データ入出力部19は、データ(リードデータ、ライトデータ)をリードライトバスとデータ入出力端子DQとの間でやりとりさせ、CRC符号をCRC信号線(8ビットのデータ伝送線)とデータ入出力端子との間でやり取りするように制御する必要がある。このため、データ入出力端子DQを介して入出力される一連のデータ及びCRC符号のデータのかたまりのうち、どのデータがCRC符号に対応するかを予め設定しておく必要がある。一例として、本実施例では、×8IO構成でデータのバースト長がBL8の場合、データの入出力に続く9ビット目(BL9)がCRC符号に対応する。また、×4IO構成でデータのバースト長がBL8の場合、データの出力に続く9ビット目と10ビット目の2ビットがCRC符号に対応する。このため、データ入出力部19は、FiFo(Furst in Furst out)回路(不図示)を備え、リード時は、CRC信号線からCRC符号CRC[7:0]をリードデータの9,10ビット目に出力するように制御し、また、ライト時にはライトデータの9,10ビット目からCRC符号CRC[7:0]をCRC信号線に供給する。
【0069】
また、データ入出力部19は、DM/DBI端子を備える。このDM/DBI端子はメモリコントローラとデータマスク信号又はデータバスインバージョン信号をやり取りする端子である。データ入出力部19は、DM/DBIバスを介してデータバスインバージョン回路21と接続され、データバスインバージョン信号DBI[7:0]のやり取りを行う。
このデータマスク信号は、ライト動作時にコントローラからライトデータと共にメモリに供給され、対応するライトデータをマスクする信号であり、リード動作時には使用されない信号である。
また、データバスインバージョン信号は、ライト動作時にコントローラからライトデータと共にメモリに供給され、また、リード動作時には、メモリからコントローラへリードデータと共に出力される信号である。データバスインバージョン信号は、送信側のデバイス(例えば、半導体装置10)が出力時に対応するデータ(例えば、リードデータ)を反転したか否かを受信側(例えばコントローラ)に伝える信号である。受信側のデバイスは、データバスインバージョン信号に応じて、受信したデータをそのまま取り込むか反転して取り込むかを切り替える。データバスインバージョン信号は、例えばデータの多数決論理をとり、一部のデータを反転させて伝送路におけるリードデータ、またはライトデータのスウィング回数を減らし、シグナルインテグリティーの改善に寄与する機能を有する。ただし送信側は、上述の通りデータの反転をしたかどうかを送信先に教える必要があり、このデータバスインバージョン信号が用いられる。受信側はデータバスインバージョン信号を用いてデータを復元する。半導体装置10のリード時におけるデータバスインバージョン信号(アドレス論理データ)は、データバスインバージョン回路21で生成される。また、メモリコントローラが送信するライトデータに基づいて生成するデータバスインバージョン信号(アドレスデータ)は、DM/DBI端子を介してデータ入出力部19に入力される。
なお、データマスク信号の機能は、本願とは直接には関係しないため、半導体装置10内部において、データバスインバージョン信号DM/DBI[7:0]とは表さず、データバスインバージョン信号DBI[7:0]と表している。
【0070】
半導体装置10内では、リード動作時に、データバスインバージョン回路21がデータバスインバージョン信号DBI[7:0]を生成する。データバスインバージョン回路21は、リードライトバスからリードデータDATA[63:0]を受け取り、所定の処理(上記多数決処理)を行い、データバスインバージョン信号DBI[7:0]を生成し、DM/DBIバスを介して誤り検出符号生成回路20に供給する。
なお、データマスク信号とデータバスインバージョン信号とは、本実施形態においては共通の端子で入出力を行うため、どちらか一方を排他的に使用するか、又は、どちらも使用しないこととなる。この設定は、制御回路18内のモードセットレジスタに動作モードを設定しておくことで切替えが可能である。
【0071】
本発明に関係するコマンドが、外部から供給される場合、半導体装置10が行う動作について簡単に述べる。
まず、外部からのクロック信号CKの立ち上り時(/CKの立下り時)に、外部メモリ制御信号CS、RASがLレベルであり外部メモリ制御信号CAS、WEがHレベルであるときに、コマンドデコーダ16にACTコマンドが入力される。このとき、コマンドデコーダ16の内部コマンド信号のうち、内部アクティブ信号がLレベルからHレベルへ変化する。この内部アクティブ信号のHレベルへの変化に対応して、半導体装置10の内部でアクティブ動作が行われる。すなわち、ロウデコーダ13及び制御回路18におけるアドレスバッファは、活性化を示す活性非活性制御信号が入力され、活性化される。また、ACTコマンド入力と同時に、外部入力のアドレス信号がアドレスバッファにラッチされる。そして、活性化されたロウデコーダ13は、ラッチされたアドレス信号をデコードし、メモリセルアレイ11のワード線を選択および駆動する。また、ACTコマンド入力により、センスアンプ15、データ入出力部19も、活性化を示す活性非活性制御信号が入力され、活性化される。制御回路18は、内部で活性化を示す活性非活性制御信号をタイミング調整し、センスアンプ15へ出力する。タイミング調整した信号が入力されるセンスアンプ15は、ビット線の電圧を増幅する。
【0072】
次に、書き込み動作においては、クロック信号CKの立ち上り時に、外部メモリ制御信号CS、CAS、WEがLレベルであり、外部メモリ制御信号RASがHレベルであるときに、制御回路18におけるコマンドデコーダにWRITEコマンドが入力される。このとき、コマンドデコーダの内部コマンド信号の中で、内部ライト信号がLレベルからHレベルへ変化する。この内部ライト信号のHレベルへの変化に対応して、半導体装置10の内部でライト動作が行われる。すなわち、既にACTコマンドにより活性化されているアドレスバッファは、今度はWRITEコマンドとともに入力される外部入力のアドレス信号をラッチし、WRITEコマンドにより活性化されるカラムデコーダ14は、ラッチされたアドレス信号に基づいて、メモリセルアレイ11のビット線を選択する。制御回路18は、ライト制御信号をタイミング制御し、データ入出力部19へ出力する。ライト制御信号が入力されるデータ入出力部19は、選択されたメモリセルアレイ11のビット線をリードライトバス及びカラムスイッチを介して、センスアンプ15とともに駆動し、外部から入力されるライトデータを、メモリセルに書き込む。
【0073】
また、読み出し動作においては、クロック信号CKの立ち上り時に、外部メモリ制御信号CS、CASがLレベルであり、外部メモリ制御信号RAS、WEがHレベルであるときに、制御回路18におけるコマンドデコーダにREADコマンドが入力される。このとき、コマンドデコーダの内部コマンド信号の中で、内部リード信号がLレベルからHレベルへ変化する。この内部リード信号のHレベルへの変化に対応して、半導体装置10の内部でリード動作が行われる。すなわち、既にACTコマンドにより活性化されているアドレスバッファは、今度はREADコマンドとともに入力される外部入力のアドレス信号をラッチし、READコマンドにより活性化されるカラムデコーダ14は、ラッチされたアドレス信号に基づいて、メモリセルアレイ11のビット線を選択する。制御回路18は、リード制御信号をタイミング制御し出力する。リード制御信号が入力されるデータ入出力部19は、センスアンプ15により増幅されたメモリセルアレイ11のビット線の電圧が、カラムスイッチ及びリードライトバスを介してリードデータDATA[63:0]として入力され、また、誤り検出符号生成回路20が生成したCRC符号CRC[7:0]がCRC信号線を介して入力され、これらの両データを外部へデータ入出力端子DQを介して出力する。
【0074】
読み出し動作または書き込み動作に続いてスタンバイ状態に移行する際、クロック信号CKの立ち上り時に、外部メモリ制御信号CS、RAS、WEがLレベルであり、外部メモリ制御信号CASがHレベルであるときに、制御回路18におけるコマンドデコーダにPREコマンドが入力される。このとき、コマンドデコーダ16の内部コマンド信号の中で、内部プリチャージ信号がLレベルからHレベルへ変化する。この内部プリチャージ信号のHレベルへの変化に対応して、半導体装置10の内部でプリチャージ動作が行われる。すなわち、ロウデコーダ13は、非活性化を示す活性非活性制御信号が入力されて非活性化され、メモリセルアレイ11のワード線が非選択状態となり、メモリセルアレイ11のビット線が所定の電圧へプリチャージされ、半導体装置10はスタンバイ状態(IDLE)となる。また、PREコマンド入力により、カラムデコーダ14、センスアンプ15、データ入出力部19にも、非活性化を示す活性非活性制御信号が入力され、非活性化される。
【0075】
また半導体装置10に動作モードを設定するには、クロック信号CKの立ち上り時に、外部メモリ制御信号CS、RAS、WE、CASが全てLレベルであるときに、制御回路18におけるコマンドデコーダにMRSコマンドが入力される。制御回路18におけるモードレジスタは、MRSコマンドが入力され、入力されるアドレスの論理が所定の論理である場合、半導体装置10が移行する動作モードを示すコード(MRSコード)を生成する。このMRSコードは、モードレジスタにラッチされ、制御回路18が半導体装置10内の各回路の動作(例えば、バースト長さBLの設定、或いはデータ入出力部19のメモリセルへの誤りデータ書込み動作を許可するか否か)を制御するために用いられる。
なお、MRSコマンドが供給され、上記テスト動作モードへ移行した半導体装置10に、ACTコマンド、READコマンド等を供給する場合、半導体装置10は供給されるコマンドが指示する上述した動作を行う。
また、このMRSコードは、再びMRSコマンドが供給されるまではモードレジスタに保持される。
【0076】
続いて、図9に示す誤り検出符号生成回路20の構成について説明する。
図10は、誤り検出符号生成回路20の構成を示すブロック図である。
図10に示す様に、誤り検出符号生成回路20はオア回路101、8ビットCRC符号生成回路102、フリップフロップ回路103、バッファ回路104、遅延回路105、8ビットCRC符号判定回路110(8ビットCRC符号比較回路111、ラッチ回路112、アンド回路113、及び遅延回路114)を含んで構成される。
オア回路101は、制御回路18から入力される制御信号Read CRC Ctrl CLKと制御信号Write CRC Ctrl CLKとの論理和を演算し、演算結果である出力信号を、8ビットCRC符号生成回路102を構成するラッチ回路102aに対して出力する。オア回路101は、制御信号Read CRC Ctrl CLKと制御信号Write CRC Ctrl CLKとのいずれか一方が活性レベル(Hレベル)になると、Hレベルの出力信号をラッチ回路102aに対して出力する。
8ビットCRC符号生成回路102は、ラッチ回路102a、及び72入力排他的論理和回路102bを含んで構成される。
ラッチ回路102aは、リードライトバス、及びDM/DBIバスを介してそれぞれ入力されるデータ(リードデータDATA[63:0]またはライトデータDATA[63:0])、データバスインバージョン信号DBI[7:0]を、オア回路101の出力信号がHレベルになると保持するとともに、保持した信号をデータ信号D[71:0]として72入力排他的論理和回路102bに出力する。
ここで、データ信号D[71:0]は、データ(リードデータDATA[63:0]またはライトデータDATA[63:0])に対応する上位のデータ信号D[71:8]と、データバスインバージョン信号DBI[7:0]に対応するデータ信号D[7:0]から構成される。
72入力排他的論理和回路102bは、ラッチ回路102aから入力されるデータ信号D[71:0]を用いて、XOR演算(排他的論理和演算)し、CRC演算結果として8ビットのCRC論理符号CRC_LOGIC[7:0](巡回冗長論理符号)を生成する(詳細後述)。
遅延回路105は、ラッチ回路102aのラッチ動作、及び72入力排他的論理和回路102bの演算動作に必要となる時間分の遅延時間が設定され、制御信号Read CRC Ctrl CLKを遅延させた信号をフリップフロップ回路103、及びバッファ回路104に出力する。
フリップフロップ回路103は、72入力排他的論理和回路102bの演算結果であるCRC論理符号CRC_LOGIC[7:0]を、遅延された制御信号Read CRC Ctrl CLKが活性レベル(Hレベル)になると保持するとともに、保持した信号をバッファ回路104に出力する。バッファ回路104は、フリップフロップ回路103が保持するCRC論理符号CRC_LOGIC[7:0]を、遅延された制御信号Read CRC Ctrl CLKが活性レベル(Hレベル)になると、CRC符号CRC[7:0]としてデータ入出力部19に対して出力する。データ入出力部19は、リード動作において、このCRC符号CRC[7:0]をデータ入出力端子DQから半導体装置10のリード時のCRC結果(Read CRC result)として出力する。
【0077】
8ビットCRC符号判定回路110は、8ビットCRC符号比較回路111、ラッチ回路112、アンド回路113、及び遅延回路114を含んで構成される。また、8ビットCRC符号比較回路111は、排他的論理和回路111aとオア回路111bを含んで構成される。
排他的論理和回路111aは、72入力排他的論理和回路102bの演算結果であるCRC論理符号CRC_LOGIC[7:0]と、バッファ回路104の出力信号であるCRC符号CRC[7:0]とのXOR演算(排他的論理和演算)し、演算結果をオア回路111bに出力する。この排他的論理和回路111aは、例えば8個のXOR回路(排他的論理和回路)から構成され、各々のXOR回路において、CRC論理符号CRC_LOGIC[7:0]の1ビットとCRC符号CRC[7:0]の対応する1ビットとの(例えば、i=0〜7としてCRC論理符号CRC_LOGIC[i]とCRC符号CRC[i]との)排他的論理和を演算し、合計8ビットの出力信号をオア回路111bに出力する。排他的論理和回路111aは、CRC論理符号CRC_LOGIC[7:0]の論理レベルとCRC符号CRC[7:0]の論理レベルとが全て一致する場合、全てLレベルの出力信号を出力する。一方、CRC論理符号CRC_LOGIC[7:0]の論理レベルとCRC符号CRC[7:0]の論理レベルとが一つでも一致しない場合、一致するビットについてはLレベルを出力するが、一致しないビットに対してはHレベルを出力する。
オア回路111bは、排他的論理和回路111aからの8ビットの出力信号を論理和演算し、演算結果をラッチ回路112に対して出力する。従って、8ビットCRC符号比較回路111は、CRC論理符号CRC_LOGIC[7:0]の論理レベルとCRC符号CRC[7:0]の論理レベルとが全て一致する場合、Lレベルの出力信号をラッチ回路112に対して出力し、一つでも一致しない場合、Hレベルの出力信号をラッチ回路112に対して出力する。
【0078】
遅延回路114は、8ビットCRC符号生成回路102の動作(ラッチ回路102aのラッチ動作、及び72入力排他的論理和回路102bの演算動作)、及び8ビットCRC符号比較回路111の比較動作に必要とされる時間分の遅延時間が設定され、制御信号Write CRC Ctrl CLKを遅延させた信号をラッチ回路112、及びアンド回路113に出力する。
ラッチ回路112は、8ビットCRC符号比較回路111の比較結果を、遅延された制御信号Write CRC Ctrl CLKが活性レベル(Hレベル)になると保持するとともに、保持した信号をアンド回路113に出力する。アンド回路113は、ラッチ回路112が保持する8ビットCRC符号比較回路111の比較結果と、遅延された制御信号Write CRC Ctrl CLKとの論理積を演算し、演算結果として判定結果信号Write CRC Error Flagを制御回路18に対して出力する。
すなわち、8ビットCRC符号比較回路111、ラッチ回路112、アンド回路113、及び遅延回路114を含んで構成される8ビットCRC符号判定回路110は、CRC論理符号CRC_LOGIC[7:0]の論理レベルとCRC符号CRC[7:0]の論理レベルとが全て一致する場合、Lレベルの判定結果信号Write CRC Error Flagを警告信号出力部22に対して出力し、一つでも一致しない場合、Hレベルの判定結果信号Write CRC Error Flagを警告信号出力部22に対して出力する。
【0079】
次に、誤り検出符号生成回路20における8ビットCRC符号生成回路102が行う論理演算の一例について、図11及び図12を用いて説明する。
図11は、72入力排他的論理和回路102bが行う誤り検出符号生成の論理の一例を示す図である。また、図12は、72入力排他的論理和回路102bにおける多入力排他的論理和回路XOR_iの構成を示すブロック図である。
72入力排他的論理和回路102bは8つの多入力排他的論理和回路XOR_i(i=0〜7)を含んで構成される。
図12においては、多入力排他的論理和回路XOR_0について回路構成を詳細に示しているが、他の7つの多入力排他的論理和回路XOR_1〜多入力排他的論理和回路XOR_7各々も多入力排他的論理和回路XOR_0と同様に排他的論理和回路により構成され、図11に示す論理演算を行う。
以下、図11を参照しつつ、多入力排他的論理和回路XOR_iがデータ信号D[71:0]に基づいて演算し、演算結果としてCRC論理符号CRC_LOGIC[i]を出力する回路構成について詳細に説明する。
【0080】
多入力排他的論理和回路XOR_0は、72ビットのデータ信号D[71:0]のうち、データ信号D[69]、データ信号D[68]、データ信号D[67]、データ信号D[66]、データ信号D[64]、データ信号D[63]、データ信号D[60]、データ信号D[56]、データ信号D[54]、データ信号D[53]、データ信号D[52]、データ信号D[50]、データ信号D[49]、データ信号D[48]、データ信号D[45]、データ信号D[43]、データ信号D[40]^D[39]、データ信号D[35]、データ信号D[34]^D[31]、データ信号D[30]、データ信号D[28]、データ信号D[23]、データ信号D[21]、データ信号D[19]、データ信号D[18]、データ信号D[16]、データ信号D[14]、データ信号D[12]、データ信号D[8]、データ信号D[7]、データ信号D[6]、データ信号D[0]の合計34ビットが入力される。
多入力排他的論理和回路XOR_0は、これらの排他的論理和を演算して、CRC論理符号CRC_LOGIC[0]を生成する。
【0081】
多入力排他的論理和回路XOR_0において、8個の排他的論理和回路XOR_H121_0〜XOR_H128_0各々は、入力されるデータ信号の下位側ビットから4ビットずつが順番に入力される。また、多入力排他的論理和回路XOR_0において、排他的論理和回路XOR_F121_0(または排他的論理和回路XOR_D121_0)は、最上位の2ビットであるデータ信号D[69]、データ信号D[68]が入力される。
排他的論理和回路XOR_H121_0〜XOR_H128_0各々は、第1の実施形態において説明した排他的論理和回路XOR_H(4入力排他的論理和回路)である(図6参照)。
また、排他的論理和回路XOR_F121_0、排他的論理和回路XOR_D121_0は、それぞれ、排他的論理和回路XOR_F(第2の2入力論理回路)、排他的論理和回路XOR_D(第1の2入力論理回路)である(それぞれ図4、図2参照)。
【0082】
多入力排他的論理和回路XOR_0において、排他的論理和回路XOR_H131_0は、排他的論理和回路XOR_H(4入力排他的論理和回路)であり、4入力には排他的論理和回路XOR_H121_0の出力、排他的論理和回路XOR_H122_0の出力、排他的論理和回路XOR_H123_0の出力、及び排他的論理和回路XOR_H123_0の出力が入力され、これらの排他的論理和を演算し、演算結果を出力信号として出力する。
また、多入力排他的論理和回路XOR_0において、排他的論理和回路XOR_H132_0は、排他的論理和回路XOR_H(4入力排他的論理和回路)であり、4入力には排他的論理和回路XOR_H124_0の出力、排他的論理和回路XOR_H125_0の出力、排他的論理和回路XOR_H126_0の出力、及び排他的論理和回路XOR_H126_0の出力が入力され、これらの排他的論理和を演算し、演算結果を出力信号として出力する。
また、多入力排他的論理和回路XOR_0において、排他的論理和回路XOR_H133_0は、排他的論理和回路XOR_H(4入力排他的論理和回路)であり、4入力には排他的論理和回路XOR_H127_0の出力、排他的論理和回路XOR_H128_0の出力、排他的論理和回路XOR_F121_0(または排他的論理和回路XOR_D121_0)の出力、及びXOR_F121_0(または排他的論理和回路XOR_D121_0)の出力が入力され、これらの排他的論理和を演算し、演算結果を出力信号として出力する。
【0083】
多入力排他的論理和回路XOR_0において、排他的論理和回路XOR_H141_0は、排他的論理和回路XOR_H(4入力排他的論理和回路)であり、4入力には排他的論理和回路XOR_H131_0の出力、排他的論理和回路XOR_H132_0の出力、排他的論理和回路XOR_H133_0の出力、及び排他的論理和回路XOR_H133_0の出力が入力され、これらの排他的論理和を演算し、演算結果をCRC論理符号CRC_LOGIC[0]として出力する。
【0084】
多入力排他的論理和回路XOR_0において、排他的論理和回路XOR_H121_0〜XOR_H128_0、排他的論理和回路XOR_H131_0〜XOR_H133_0、排他的論理和回路XOR_H141_0各々は、第1の実施形態において説明した排他的論理和回路XOR_H(4入力排他的論理和回路)である。
この排他的論理和回路XOR_Hは、2つの排他的論理和回路XOR_F(第2の2入力論理回路)と、1つの排他的論理和回路XOR_D(第1の2入力論理回路)とを含んで構成される単位回路部である(図6参照)。
排他的論理和回路XOR_F、排他的論理和回路XOR_Dは、それぞれ2入力端子を含み当該2入力の論理レベルに対して排他的論理和演算(第1の論理演算)を行なう回路であるから、単位回路部各々は2段階の排他的論理和演算を行なうことになる。
従って、本実施形態において、多入力排他的論理和回路XOR_0は、リードライトバス及びDM/DBIバス(バス配線)と、データ入出力部19に接続されるCRC信号線との間に、最大3個の排他的論理和回路XOR_Hを直並列に接続した構成を有するので、6段階(複数段階)の排他的論理和演算をほぼ並列に行うことができる。
【0085】
つまり、排他的論理和回路XOR_H121_0〜XOR_H128_O(単位回路部)のうちの排他的論理和回路XOR_D(第1の2入力論理回路と実質的に同一の回路構成を含む第3の2入力論理回路)は、第2段の排他的論理和演算を行ない、排他的論理和回路XOR_H131_0〜XOR_H133_O(単位回路部)のうちの排他的論理和回路XOR_D(第3の2入力論理回路)は、第4段の排他的論理和演算を行なう。
また、排他的論理和回路XOR_H121_0〜XOR_H128_O各々における排他的論理和回路XOR_Fは第1段の排他的論理和演算を行ない、排他的論理和回路XOR_H131_0〜XOR_H133_O各々における排他的論理和回路XOR_Fは第3段の排他的論理和演算を行ない、排他的論理和回路XOR_H141_0における排他的論理和回路XOR_Fは第5段の排他的論理和演算を行なう。
つまり、第2段、及び第4段の排他的論理和演算を行なう排他的論理和回路XOR_D(第3の2入力論理回路)は、第1段、第3段、及び第5段の排他的論理和演算を行なう排他的論理和回路XOR_F(第2の2入力論理回路)と協同して、多入力排他的論理和回路XOR_0における6段階の排他的論理和演算のうち最終段を除く前段の排他的論理和演算を行っている。
そして、6段階の排他的論理和演算を行なう多入力排他的論理和回路XOR_0の最終段は、排他的論理和回路XOR_H141_0(単位回路部)を構成する排他的論理和回路XOR_D(第1の2入力論理回路)である。この排他的論理和回路XOR_Dは、最終段の排他的論理和演算を行ない、生成したCRC論理符号CRC_LOGIC[0](符号化データ)を、その出力ノードから、データ入出力部19の入力ノードへと出力している。
【0086】
他の7つの多入力排他的論理和回路XOR_1〜多入力排他的論理和回路XOR_7各々も、多入力排他的論理和回路XOR_0と同様に、最終段は排他的論理和回路XOR_D(第1の2入力論理回路)で構成され、最終段の排他的論理和演算を行なう。また、多入力排他的論理和回路XOR_1〜多入力排他的論理和回路XOR_7各々において、第2段、及び第4段の排他的論理和演算を行なう排他的論理和回路XOR_D(第3の2入力論理回路)が、第1段、第3段、及び第5段の排他的論理和演算を行なう排他的論理和回路XOR_F(第2の2入力論理回路)と協同して、6段階の排他的論理和演算のうち最終段を除く前段の排他的論理和演算を行う。
【0087】
図11に戻って、多入力排他的論理和回路XOR_1は、72ビットのデータ信号D[71:0]のうち、データ信号D[70]、データ信号D[66]、データ信号D[65]、データ信号D[63]、データ信号D[61]、データ信号D[60]、データ信号D[57]、データ信号D[56]、データ信号D[55]、データ信号D[52]、データ信号D[51]、データ信号D[48]、データ信号D[46]、データ信号D[45]、データ信号D[44]、データ信号D[43]、データ信号D[41]、データ信号D[39]、データ信号D[36]、データ信号D[34]、データ信号D[32]、データ信号D[30]、データ信号D[29]、データ信号D[28]、データ信号D[24]、データ信号D[23]、データ信号D[22]、データ信号D[21]、データ信号D[20]、データ信号D[18]、データ信号D[17]、データ信号D[16]、データ信号D[15]、データ信号D[14]、データ信号D[13]、データ信号D[12]、データ信号D[9]、データ信号D[6]、データ信号D[1]、データ信号D[0]の合計40ビットが入力される。
多入力排他的論理和回路XOR_1は、これらの排他的論理和を演算して、CRC論理符号CRC_LOGIC[1]を生成する。
【0088】
多入力排他的論理和回路XOR_2は、72ビットのデータ信号D[71:0]のうち、データ信号D[71]、データ信号D[69]、データ信号D[68]、データ信号D[63]、データ信号D[62]、データ信号D[61]、データ信号D[60]、データ信号D[58]、データ信号D[57]、データ信号D[54]、データ信号D[50]、データ信号D[48]、データ信号D[47]、データ信号D[46]、データ信号D[44]、データ信号D[43]、データ信号D[42]、データ信号D[39]、データ信号D[37]、データ信号D[34]、データ信号D[33]、データ信号D[29]、データ信号D[28]、データ信号D[25]、データ信号D[24]、データ信号D[22]、データ信号D[17]、データ信号D[15]、データ信号D[13]、データ信号D[12]、データ信号D[10]、データ信号D[8]、データ信号D[6]、データ信号D[2]、データ信号D[1]、データ信号D[0]の合計36ビットが入力される。
多入力排他的論理和回路XOR_2は、これらの排他的論理和を演算して、CRC論理符号CRC_LOGIC[2]を生成する。
【0089】
多入力排他的論理和回路XOR_3は、72ビットのデータ信号D[71:0]のうち、データ信号D[70]、データ信号D[69]、データ信号D[64]、データ信号D[63]、データ信号D[62]、データ信号D[61]、データ信号D[59]、データ信号D[58]、データ信号D[55]、データ信号D[51]、データ信号D[49]、データ信号D[48]、データ信号D[47]、データ信号D[45]、データ信号D[44]、データ信号D[43]、データ信号D[40]、データ信号D[38]、データ信号D[35]、データ信号D[34]、データ信号D[30]、データ信号D[29]、データ信号D[26]、データ信号D[25]、データ信号D[23]、データ信号D[18]、データ信号D[16]、データ信号D[14]、データ信号D[13]、データ信号D[11]、データ信号D[9]、データ信号D[7]、データ信号D[3]、データ信号D[2]、データ信号D[1]の合計35ビットが入力される。
多入力排他的論理和回路XOR_3は、これらの排他的論理和を演算して、CRC論理符号CRC_LOGIC[3]を生成する。
【0090】
多入力排他的論理和回路XOR_4は、72ビットのデータ信号D[71:0]のうち、データ信号D[71]、データ信号D[70]、データ信号D[65]、データ信号D[64]、データ信号D[63]、データ信号D[62]、データ信号D[60]、データ信号D[59]、データ信号D[56]、データ信号D[52]、データ信号D[50]、データ信号D[49]、データ信号D[48]、データ信号D[46]、データ信号D[45]、データ信号D[44]、データ信号D[41]、データ信号D[39]、データ信号D[36]、データ信号D[35]、データ信号D[31]、データ信号D[30]、データ信号D[27]、データ信号D[26]、データ信号D[24]、データ信号D[19]、データ信号D[17]、データ信号D[15]、データ信号D[14]、データ信号D[12]、データ信号D[10]、データ信号D[8]、データ信号D[4]、データ信号D[3]、データ信号D[2]の合計35ビットが入力される。
多入力排他的論理和回路XOR_4は、これらの排他的論理和を演算して、CRC論理符号CRC_LOGIC[4]を生成する。
【0091】
多入力排他的論理和回路XOR_5は、72ビットのデータ信号D[71:0]のうち、データ信号D[71]、データ信号D[66]、データ信号D[65]、データ信号D[64]、データ信号D[63]、データ信号D[61]、データ信号D[60]、データ信号D[57]、データ信号D[53]、データ信号D[51]、データ信号D[50]、データ信号D[49]、データ信号D[47]、データ信号D[46]、データ信号D[45]、データ信号D[42]、データ信号D[40]、データ信号D[37]、データ信号D[36]、データ信号D[32]、データ信号D[31]、データ信号D[28]、データ信号D[27]、データ信号D[25]、データ信号D[20]、データ信号D[18]、データ信号D[16]、データ信号D[15]、データ信号D[13]、データ信号D[11]、データ信号D[9]、データ信号D[5]、データ信号D[4]、データ信号D[3]の合計34ビットが入力される。
多入力排他的論理和回路XOR_5は、これらの排他的論理和を演算して、CRC論理符号CRC_LOGIC[5]を生成する。
【0092】
多入力排他的論理和回路XOR_6は、72ビットのデータ信号D[71:0]のうち、データ信号D[67]、データ信号D[66]、データ信号D[65]、データ信号D[64]、データ信号D[62]、データ信号D[61]、データ信号D[58]、データ信号D[54]、データ信号D[52]、データ信号D[51]、データ信号D[50]、データ信号D[48]、データ信号D[47]、データ信号D[46]、データ信号D[43]、データ信号D[41]、データ信号D[38]、データ信号D[37]、データ信号D[33]、データ信号D[32]、データ信号D[29]、データ信号D[28]、データ信号D[26]、データ信号D[21]、データ信号D[19]、データ信号D[17]、データ信号D[16]、データ信号D[14]、データ信号D[12]、データ信号D[10]、データ信号D[6]、データ信号D[5]、データ信号D[4]の合計33ビットが入力される。
多入力排他的論理和回路XOR_6は、これらの排他的論理和を演算して、CRC論理符号CRC_LOGIC[6]を生成する。
【0093】
多入力排他的論理和回路XOR_7は、72ビットのデータ信号D[71:0]のうち、データ信号D[68]、データ信号D[67]、データ信号D[66]、 データ信号D[65]、データ信号D[63]、データ信号D[62]、データ信号D[59]、データ信号D[55]、データ信号D[53]、データ信号D[52]、データ信号D[51]、データ信号D[49]、データ信号D[48]、データ信号D[47]、データ信号D[44]、データ信号D[42]、データ信号D[39]、データ信号D[38]、データ信号D[34]、データ信号D[33]、データ信号D[30]、データ信号D[29]、データ信号D[27]、データ信号D[22]、データ信号D[20]、データ信号D[18]、データ信号D[17]、データ信号D[15]、データ信号D[13]、データ信号D[11]、データ信号D[7]、データ信号D[6]、データ信号D[5]の合計33ビットが入力される。
多入力排他的論理和回路XOR_7は、これらの排他的論理和を演算して、CRC論理符号CRC_LOGIC[7]を生成する。
【0094】
上述した多入力排他的論理和回路XOR_1〜多入力排他的論理和回路XOR_7のうち、多入力排他的論理和回路XOR_0と同じく34ビットのデータ信号が入力されるのは多入力排他的論理和回路XOR_5である。この多入力排他的論理和回路XOR_5は、多入力排他的論理和回路XOR_0と同一の回路構成としてよい。
また、多入力排他的論理和回路XOR_1は、40ビットのデータ信号が入力されるので、例えば、図12に示す排他的論理和回路XOR_F121_0(または排他的論理和回路XOR_D121_0)に替えて、排他的論理和回路XOR_H129_1、及び排他的論理和回路XOR_H130_1が設けられる。排他的論理和回路XOR_H129_1は、4ビットの入力として、データ信号D[61]、データ信号D[60]、データ信号D[57]、データ信号D[56]が入力される。また、排他的論理和回路XOR_H130_1は、4ビットの入力として、データ信号D[70]、データ信号D[66]、データ信号D[65]、データ信号D[63] が入力される。また、排他的論理和回路XOR_H133_1には、4入力として排他的論理和回路XOR_H127_1の出力、排他的論理和回路XOR_H128_1の出力、排他的論理和回路XOR_H129_1の出力、及び排他的論理和回路XOR_H130_1の出力が入力される。
【0095】
また、多入力排他的論理和回路XOR_2は、36ビットのデータ信号が入力されるので、例えば、図12に示す排他的論理和回路XOR_F121_0(または排他的論理和回路XOR_D121_0)に替えて、排他的論理和回路XOR_H129_2が設けられる。排他的論理和回路XOR_H129_2は、4ビットの入力として、データ信号D[71]、データ信号D[69]、データ信号D[68]、データ信号D[63]が入力される。なお、排他的論理和回路XOR_H133_2は、4入力として、多入力排他的論理和回路XOR_0と同様に、排他的論理和回路XOR_H127_2の出力、排他的論理和回路XOR_H128_2の出力、排他的論理和回路XOR_H129_2の出力、及び排他的論理和回路XOR_H129_2の出力が入力される。
【0096】
また、多入力排他的論理和回路XOR_3、多入力排他的論理和回路XOR_4は、それぞれ35ビットのデータ信号が入力されるので、例えば、図12に示す排他的論理和回路XOR_F121_0(または排他的論理和回路XOR_D121_0)に替えて、3入力の排他的論理和回路が設けられる。3入力の排他的論理和回路は、例えば、図6に示す排他的論理和回路XOR_Hにおいて、排他的論理和回路XOR_F62を削除し、3入力目を直接、排他的論理和回路XOR_D61に入力する構成であってよい。この場合、排他的論理和回路XOR_H133_3は、4入力として、多入力排他的論理和回路XOR_0と同様に、排他的論理和回路XOR_H127_3の出力、排他的論理和回路XOR_H128_3の出力、排他的論理和回路XOR_H129_3の出力、及び排他的論理和回路XOR_H129_3の出力が入力される。また、排他的論理和回路XOR_H133_4は、4入力として、多入力排他的論理和回路XOR_0と同様に、排他的論理和回路XOR_H127_4の出力、排他的論理和回路XOR_H128_4の出力、排他的論理和回路XOR_H129_4の出力、及び排他的論理和回路XOR_H129_4の出力が入力される。
【0097】
また、多入力排他的論理和回路XOR_6、多入力排他的論理和回路XOR_7は、それぞれ33ビットのデータ信号が入力されるので、例えば、図12に示す排他的論理和回路XOR_F121_0(または排他的論理和回路XOR_D121_0)を削除し、一つのデータ信号を直接、排他的論理和回路XOR_H133_6、排他的論理和回路XOR_H133_7に入力する構成とすればよい。この場合、排他的論理和回路XOR_H133_6は、4入力として、多入力排他的論理和回路XOR_0と同様に、排他的論理和回路XOR_H127_6の出力、排他的論理和回路XOR_H128_6の出力、それから、データ信号D[67]、及びデータ信号D[67]が入力される。また、排他的論理和回路XOR_H133_7は、4入力として、多入力排他的論理和回路XOR_0と同様に、排他的論理和回路XOR_H127_7の出力、排他的論理和回路XOR_H128_7の出力、それから、データ信号D[68]、及びデータ信号D[68]が入力される。
【0098】
以上のように構成することで、多入力排他的論理和回路XOR_0〜多入力排他的論理和回路XOR_7は、第1の実施形態において説明した排他的論理和回路XOR_H(4入力排他的論理和回路)、排他的論理和回路XOR_J(8入力排他的論理和回路)と同様に、多入力の論理レベルのうちに偶数個のLレベル(論理「0」)がある場合、出力端子からLレベル(論理「0」)の出力信号(CRC論理符号CRC_LOGIC)を出力する。また、多入力排他的論理和回路XOR_0〜多入力排他的論理和回路XOR_7は、多入力の論理レベルのうちに奇数個のLレベルがある場合、Hレベル(論理「1」)の出力信号(CRC論理符号CRC_LOGIC)を出力する。また、多入力排他的論理和回路XOR_0〜多入力排他的論理和回路XOR_7は、排他的論理和回路XOR_H(4入力排他的論理和回路)、排他的論理和回路XOR_J(8入力排他的論理和回路)と同様に、最適なドライビング能力を確保し、タイミングを高速化することができる。
【0099】
図9に戻って、半導体装置10のライト動作について、図13を用いて説明する。
図13は、半導体装置10のライト動作(8IO入力)のタイミングチャートである。
なお、図13において、データ入出力端子DQに現れる入力信号の変化は、1つのデータ入出力端子DQの入力信号を示している。
時刻t1に、メモリコントローラが半導体装置10にWRITEコマンドを供給する。
なお、メモリコントローラは、DM/DBI端子に、データマスク信号でなくデータバスインバージョン信号を供給するものとする。なお、メモリコントローラは、データマスク信号及びデータバスインバージョン信号を供給しない場合、DM/DBI端子をハイレベル又はロウレベルのどちらか一方の論理レベルに固定する。
【0100】
データ入出力部19は、メモリコントローラからDM/DBI端子を介してデータバスインバージョン信号を受け取り、時刻t2〜t3において、DM/DBIバスを介してデータバスインバージョン信号DBI[7:0]を誤り検出符号生成回路20に出力する。
また、データ入出力部19は、メモリコントローラからデータ入出力端子DQn(n=0〜7)各々を介してライトデータ(計64ビット)を受け取り、時刻t2〜t3において、リードライトバスを介してライトデータDATA[63:0]を誤り検出符号生成回路20に出力する。さらに、データ入出力部19は、ライトデータのうち9ビット目からメモリコントローラが送信したCRC符号を取り出し、CRC信号線を介して、CRC符号CRC[7:0]を誤り検出符号生成回路20に出力する。
【0101】
時刻t3において、誤り検出符号生成回路20は、制御回路18から入力される制御信号Write CRC Ctrl CLKにより活性化され、データ入出力部19からリードライトバスを介して入力されるライトデータDATA[63:0]、及びデータ入出力部19からDM/DBIバスを介して入力されるデータバスインバージョン信号DBI[7:0]に基づいて、CRC論理符号CRC_LOGIC[7:0]を生成する。
時刻t4において、誤り検出符号生成回路20は、CRC論理符号CRC_LOGIC[7:0]と、データ入出力部19からCRC信号線を介して入力されるCRC符号CRC[7:0]とを比較する。
時刻t5において、誤り検出符号生成回路20は、CRC論理符号CRC_LOGIC[7:0]と、データ入出力部19からCRC信号線を介して入力されるCRC符号CRC[7:0]とが不一致だった場合、判定結果信号Write CRC Error Flagを活性レベル(Hレベル)として警告信号出力部22に対して供給する。
警告信号出力部22は、活性レベルの判定結果信号Write CRC Error Flagを受け取った場合、ALERT_N端子から活性レベル(Lレベル)のアラート信号をコントローラに出力し、コントローラにライトデータ又はデータバスインバージョン信号の再送をリクエストする。
【0102】
続いて、半導体装置10のリード動作について、図14を用いて説明する。
図14は、半導体装置10のリード動作(8IO出力)のタイミングチャートである。なお、図13において、データ入出力端子DQに現れる入力信号の変化は、1つのデータ入出力端子DQの入力信号を示いている。
メモリコントローラが半導体装置10にREADコマンドを供給する。なお、半導体装置10は、DM/DBI端子に、データマスク信号でなくデータバスインバージョン信号を供給するものとする。なお、メモリコントローラは、半導体装置10がデータマスク信号及びデータバスインバージョン信号を供給しない場合、DM/DBI端子をハイレベル又はロウレベルのどちらか一方の論理レベルに固定する。
データバスインバージョン回路21は、メモリセルアレイ11からリードライトバスを介してリードデータDATA[63:0]を受け取り、所定の処理(上記多数決処理)を行い、データバスインバージョン信号DBI[7:0]を生成し、DM/DBIバスを介して誤り検出符号生成回路20、及びデータ入出力部19に供給する。
【0103】
時刻t2において、誤り検出符号生成回路20は、制御回路18から入力される制御信号Read CRC Ctrl CLKにより活性化される。誤り検出符号生成回路20は、メモリセルアレイ11からリードライトバスを介して読み出されたリードデータDATA[63:0]、及びデータバスインバージョン回路21からDM/DBIバスを介して入力されるデータバスインバージョン信号DBI[7:0]に基づいて、CRC演算結果として8ビットのCRC論理符号CRC_LOGIC[7:0]を生成する。
また、誤り検出符号生成回路20は、時刻t3において、CRC論理符号CRC_LOGIC[7:0]をCRC符号CRC[7:0]として、CRC信号線を介してデータ入出力部19に対して出力する。
データ入出力部19は、データ入出力端子DQn(n=0〜7)各々から8ビットのリードデータ(合計64ビット)を連続して出力し、DM/DBI端子からリードデータのビットのそれぞれに対応するデータバスインバージョン信号(8ビット)をリードデータに同期して出力する(BL1−8)。また、データ入出力部19は、データ入出力端子DQn(n=0〜7)各々から、BL8のリードデータの出力終了後の時刻t4において、BL9のリードデータとしてCRC符号を出力する。
【0104】
次に、本実施例の変形例として、半導体装置10のIO構成を×8IO構成から×4IO構成とした半導体装置のライト動作、及びリード動作について、図15及び図16を用いて説明する。以下で説明する×4IO構成の半導体装置は、半導体装置10のIO構成のみを変更したもの、具体的には、図9に示す半導体装置10のデータ入出力端子DQnをデータ入出力端子DQn(n=0〜3)としたものであって、その他の構成は半導体装置10と実質的に同一であるとする。図15及び図16では、×4IO構成において、BL8動作の場合(4×8=32ビットのメモリセルデータを4個のデータ入出力端子DQからバースト長さ8で出力する動作)について説明する。この場合、未使用のリードライトバス(リードデータDATA[63−32]またはライトデータDATA[63−32]が転送されるバス配線)は、Hレベル又はLレベルの一方に固定される。ここでは、誤り検出符号生成回路20は、×8IO構成と同一のものを用いるため、×4IO構成の動作においても×8IO構成と同一のビット数のCRC演算結果が必要である。このため、IO数が少ない4IO構成では、9,10ビット目の2倍のビットを用いて合計8ビットのCRC演算結果を出力する方式を用いる。
図15は、半導体装置10のライト動作(4IO入力)のタイミングチャートである。図16は、半導体装置10のリード動作(4IO出力)のタイミングチャートである。
図15及び図16に示すように、×4IO構成の場合の動作は、×8IO構成の場合の動作と実質的に同一であるので、相違点のみ説明する。
まず、図15に示すように、データ入出力部19は、メモリコントローラからデータ入出力端子DQn(n=0〜3)各々を介してライトデータ(合計32ビット)を受け取り、時刻t2〜t3において、リードライトバスを介してライトデータDATA[63:0]を誤り検出符号生成回路20に出力する。さらに、データ入出力部19は、ライトデータのうち9、10ビット目からメモリコントローラが送信したCRC符号を取り出し、CRC信号線を介して、CRC符号CRC[7:0]を誤り検出符号生成回路20に出力する。
また、図16に示すように、データ入出力部19は、データ入出力端子DQn(n=0〜3)各々から32ビットのリードデータ(合計32ビット)を連続して出力し、DM/DBI端子からリードデータのビットのそれぞれに対応するデータバスインバージョン信号をリードデータに同期して出力する(BL1−8)。データ入出力部19は、データ入出力端子DQn(n=0〜3)各々から、BL8のリードデータの出力終了後の時刻t4において、BL9、BL10のリードデータ(合計8ビット)としてCRC符号を出力する。
【0105】
このように、半導体装置10は、データを記憶する複数のメモリセルであって、ビット線とワード線とに対応付けられているメモリセルを有するメモリセルアレイ(メモリセルアレイ11)と、メモリセルアレイから読み出されたデータ、或いはメモリセルアレイへ書き込むデータに基づいて巡回冗長論理符号を生成する誤り検出符号生成回路(誤り検出符号生成回路20)と、メモリセルアレイから読み出されたデータに巡回冗長論理符号を付加してデータ入出力端子を介して半導体装置の外部へリードデータとして出力し、或いは半導体装置の外部からライトデータが入力されて、メモリセルアレイへ書き込むデータを誤り検出符号生成回路に出力するデータ入出力部(データ入出力部19)と、を備える。そして、誤り検出符号生成回路は、多入力論理回路(72入力排他的論理和回路102b)を含んで構成され、その3入力以上の入力端子は、メモリセルアレイから読み出されたデータ、及びメモリセルアレイへ書き込むデータが入力されることを特徴とする。
【0106】
本発明の半導体装置10によれば、動作速度と駆動能力とのバランスが調整された多入力排他的論理和回路を含む誤り検出符号生成回路20を有しているので、CRC演算を高速に行うことができ、半導体装置10のライト動作とリード動作を高速に行うことができる。
【0107】
本願の技術思想は、CRC機能を有する半導体装置に適用できる。更に、図面で開示した各ブロックの接続方法や回路形式、その他の制御信号を生成する回路は、実施例が開示する回路形式に限られない。例えば、実施例において、誤り検出符号生成回路20を構成する単位回路部として、2つの入力端子の論理レベルに対して排他的論理和演算(第1の論理演算)を行なう排他的論理和回路XOR_D(第1の2入力論理回路)と排他的論理和回路XOR_F(第2の2入力論理回路)を開示した。この単位回路部を、否定排他的論理和演算を行なう否定排他的論理和回路XNR_C(第1の2入力論理回路)と否定排他的論理和回路XNR_E(第2の2入力論理回路)で構成してもよい(図5参照)。なお、この場合、データ入出力部19の入力ノード側で論理反転するインバータ回路を設ければ、誤り検出符号生成回路20側で、CRC符号CRC[7:0](巡回冗長符号)を論理反転する必要はなく、誤り検出符号生成回路20の最終段の演算を行う回路を否定排他的論理和回路XNR_C(第1の2入力論理回路)のままとすることができる。或いは、データ入出力部19の入力ノード側で論理反転するインバータ回路を設けず、最終段の演算を行う回路を排他的論理和回路XOR_D(第1の2入力論理回路)としてもよい。
また、本発明の半導体装置の技術思想は、様々な半導体装置に適用することができる。本発明の実施形態においては、主にメモリ(Memory)での実施例を開示したが、これに限られず、メモリ以外の半導体装置、例えば、CPU(Central Processing Unit)、MCU(Micro Control Unit)、DSP(Digital Signal Processor)、ASIC(Application Specific Integrated Circuit)、ASSP(Application Specific Standard Product)等の半導体装置全般に、本発明を適用することができる。
また、このような本発明が適用された半導体装置の製品形態としては、例えば、SOC(システムオンチップ)、MCP(マルチチップパッケージ)やPOP(パッケージオンパッケージ)などが挙げられる。これらの任意の製品形態、パッケージ形態を有する半導体装置に対して本発明を適用することができる。
また、トランジスタは、電界効果トランジスタ(Field Eeffect Transistor;FET)であれば良く、MOS(Metal Oxide Semiconductor)以外にもMIS(Metal-Insulator Semiconductor)、TFT(Thin Film Transistor)等の様々なFETに適用できる。トランジスタ等の様々なFETに適用できる。更に、装置内に一部のバイポーラ型トランジスタを有しても良い。
更に、PMOSトランジスタ(P型チャネルMOSトランジスタ)は、第2導電型のトランジスタ、NMOSトランジスタ(N型チャネルMOSトランジスタ)は、第1導電型のトランジスタの代表例である。
また、本発明の請求の範囲の枠内において種々の開示要素の多様な組み合わせ乃至選択が可能である。すなわち、本発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得る各種変形、修正を含むことは勿論である。
【符号の説明】
【0108】
10…半導体装置、11…メモリセルアレイ、MC…メモリセル、WL…ワード線、DL…ビット線、13…ロウデコーダ、14…カラムデコーダ、15…センスアンプ、18…制御回路、19…データ入出力部、20…誤り検出符号生成回路、21…データバスインバージョン回路、22…警告信号出力部、101,111b…オア回路、102…8ビットCRC符号生成回路、102a,112…ラッチ回路、102b…72入力排他的論理和回路、103…フリップフロップ回路、104…バッファ回路、105,114…遅延回路、110…8ビットCRC符号判定回路、111…8ビットCRC符号比較回路、111a,XOR,XNR…排他的論理和回路、113…アンド回路、INV11,INV12,INV21,INV22,INV31,INV41…インバータ回路、LGC13,LGC14,LGC23,LGC24,LGC32,LGC42…論理回路、33a,43a…トランスファーゲート回路、P11,P12,P13a,P13b,P14a,P14b,P21,P22,P23,P24,P31,P32,P33,P41,P42,P43…PMOSトランジスタ、N11,N12,N13,N14,N21,N22,N23a,N23b,N24a,N24b,N31,N32,N33,N41,N42,N43…NMOSトランジスタ、TIN1…第1の入力端子、TIN2…第2の入力端子、TOUT…出力端子、IN1…第1入力信号、IN2…第2入力信号、DQ,DQ0,DQn…データ入出力端子、Nd11,Nd12,Nd21,Nd22,Nd31,Nd41…接続点

【特許請求の範囲】
【請求項1】
3入力以上の入力端子を含み当該3入力以上の入力端子の論理レベルについて論理演算を行う多入力論理回路を備え、当該多入力論理回路は、それぞれ2つの入力端子を含み当該2つの入力端子の論理レベルに対して前記論理演算を行う複数の2入力論理回路を含み、当該複数の2入力論理回路は、第1の2入力論理回路と当該第1の2入力論理回路よりも占有面積が小さく駆動能力が小さい第2の2入力論理回路とを含み、前記第1の2入力論理回路が前記多入力論理回路の最終段として動作し、前記第2の2入力論理回路が前記第1の2入力論理回路に信号を供給する前段回路の少なくとも一部として動作することを特徴とする半導体装置。
【請求項2】
前記複数の2入力論理回路は、排他的論理和回路または否定排他的論理和回路であることを特徴とする請求項1に記載の半導体装置。
【請求項3】
前記第2の2入力論理回路の出力段は、当該出力段の前段に位置する回路の出力信号を通過させるトランスファーゲート回路を備えることを特徴とする請求項1または請求項2に記載の半導体装置。
【請求項4】
データを記憶する複数のメモリセルであって、ビット線とワード線とに対応付けられているメモリセルを有するメモリセルアレイと、
前記メモリセルアレイから読み出されたデータ、或いは前記メモリセルアレイへ書き込むデータに基づいて巡回冗長論理符号を生成する誤り検出符号生成回路と、
前記メモリセルアレイから読み出されたデータに前記巡回冗長論理符号を付加してデータ入出力端子を介して半導体装置の外部へリードデータとして出力し、或いは半導体装置の外部からライトデータが入力されて、前記メモリセルアレイへ書き込むデータを前記誤り検出符号生成回路に出力するデータ入出力部と、を備え、
前記誤り検出符号生成回路は、
前記3入力以上の入力端子は、前記メモリセルアレイから読み出されたデータ、及び前記メモリセルアレイへ書き込むデータが入力されることを特徴とする請求項1から請求項3いずれか一項に記載の半導体装置。
【請求項5】
前記データ入出力部は、半導体装置の外部において前記ライトデータに基づいて生成された巡回冗長符号が入力され、当該巡回冗長符号を前記誤り検出符号生成回路へ出力し、
前記誤り検出符号生成回路が、前記メモリセルアレイへ書き込むデータに基づいて生成した前記巡回冗長論理符号と前記巡回冗長符号とを比較し、比較結果が一致しない場合、前記ライトデータの再送要求を示す再送要求信号を外部へ出力することを特徴とする請求項4に記載の半導体装置。
【請求項6】
前記メモリセルアレイから読み出されたデータのうち一部のデータの論理レベルを変更し、変更したデータのビット列における位置を示すアドレス論理データを生成するデータバスインバージョン回路を備え、
前記誤り検出符号生成回路は、前記メモリセルアレイから読み出されたデータ、及び前記アドレス論理データに基づいて前記巡回冗長論理符号を生成し、
前記データ入出力部は、前記リードデータとともに前記巡回冗長論理符号を半導体装置の外部へ出力することを特徴とする請求項4または請求項5いずれか一項に記載の半導体装置。
【請求項7】
前記データ入出力部は、半導体装置の外部において前記ライトデータのうち一部のデータの論理レベルが変更された当該ライトデータのビット列における位置を示すアドレスデータが入力され、当該アドレスデータを前記誤り検出符号生成回路へ出力し、
前記誤り検出符号生成回路が、前記メモリセルアレイへ書き込むデータ、及び前記アドレスデータに基づいて前記巡回冗長論理符号を生成することを特徴とする請求項6に記載の半導体装置。
【請求項8】
メモリセルアレイと、
データ入出力部と、
前記メモリセルアレイと前記データ入出力部との間に配置され、複数のデータを転送するバス配線と、
前記バス配線から前記複数のデータを受け取り、前記複数のデータに対し複数段階の第1の論理演算を行い符号化データを生成し、当該符号化データを前記データ入出力部に供給する符号生成回路と、を備え、
当該符号生成回路は、それぞれ2つの入力端子を含み当該2つの入力端子の論理レベルに対して前記第1の論理演算を行う複数の2入力論理回路を含み、当該複数の2入力論理回路は、第1の2入力論理回路と当該第1の2入力論理回路よりも占有面積が小さく駆動能力が小さい複数の第2の2入力論理回路とを含み、前記第1の2入力論理回路が前記複数段階の前記第1の論理演算のうちの最終段の論理演算を行うように構成され、前記複数の第2の2入力論理回路が前記複数段階の前記第1の論理演算のうちの前記最終段を除く前段の論理演算の一部を行うように構成されることを特徴とする半導体装置。
【請求項9】
前記データ入出力部は、前記符号化データを受け取る入力ノードを含み、
前記符号生成回路の前記第1の2入力論理回路は、前記データ入出力部の前記入力ノードと接続された出力ノードを含むことを特徴とする請求項8に記載の半導体装置。
【請求項10】
前記第1の論理演算が、排他的論理和または否定排他的論理和であることを特徴とする請求項8に記載の半導体装置。
【請求項11】
前記符号生成回路は、それぞれが前記第1の2入力論理回路と実質的に同一の回路構成を含む複数の第3の2入力論理回路を含み、当該複数の第3の2入力論理回路が、前記前段の論理演算を前記複数の第2の2入力論理回路と協同して行うように構成されることを特徴とする請求項8に記載の半導体装置。
【請求項12】
メモリセルアレイと、
データ入出力部と、
前記メモリセルアレイと前記データ入出力部との間に配置され、複数のデータを転送するバス配線と、
前記バス配線から前記複数のデータを受け取り、前記複数のデータに対し複数段階の第1の論理演算を行い符号化データを生成し、当該符号化データを前記データ入出力部に供給する符号生成回路と、を備え、
当該符号生成回路は、それぞれ、第1の2入力論理回路と当該第1の2入力論理回路よりも占有面積が小さく駆動能力が小さい2つの第2の2入力論理回路とを含む複数の単位回路部であって、それぞれ、当該2つの第2の2入力論理回路の出力ノードが当該第1の2入力論理回路の2つの入力端子にそれぞれ接続された前記複数の単位回路部を含み、当該複数の単位回路部が前記複数段階の前記第1の論理演算を行うことを特徴とする半導体装置。
【請求項13】
前記データ入出力部は、前記符号化データを受け取る入力ノードを含み、
前記符号生成回路の前記複数の単位回路部のうちの1つの単位回路部の前記第1の2入力論理回路の出力ノードが、前記データ入出力部の前記入力ノードに接続されることを特徴とする請求項12に記載の半導体装置。
【請求項14】
前記符号生成回路の前記複数の単位回路部の各々の前記第1の2入力論理回路及び前記2つの第2の2入力論理回路とが、排他的論理和回路又は否定排他論理和回路であることを特徴とする請求項12に記載の半導体装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate