JP2002244844A - 半導体装置 - Google Patents

半導体装置

Info

Publication number
JP2002244844A
JP2002244844A JP2001039428A JP2001039428A JP2002244844A JP 2002244844 A JP2002244844 A JP 2002244844A JP 2001039428 A JP2001039428 A JP 2001039428A JP 2001039428 A JP2001039428 A JP 2001039428A JP 2002244844 A JP2002244844 A JP 2002244844A
Authority
JP
Japan
Prior art keywords
data
address
random number
circuit
bus
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
JP2001039428A
Other languages
English (en)
Inventor
Kan Yamagishi
歓 山岸
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP2001039428A priority Critical patent/JP2002244844A/ja
Publication of JP2002244844A publication Critical patent/JP2002244844A/ja
Withdrawn legal-status Critical Current

Links

Abstract

(57)【要約】 【課題】 安全性が高くかつ周期の長い擬似乱数を高速
でかつ容易に発生する。 【解決手段】 メモリアレイ(2)から内部データバス
(12)に読出されたデータのうち所定数のデータビッ
トを転送回路(16)を介して内部アドレスバス(8)
に転送してメモリセル選択回路(10)へ与える。この
とき、アドレスの最下位ビット(ALSB)に従って、
内部データバス12上のデータを修飾回路(18)によ
り修飾してメモリアレイ2に再書込する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】この発明は、半導体装置に関
し、特に、擬似乱数を効率的にかつ容易に発生すること
のできる半導体装置に関する。より特定的には、非線形
操作を内部で行なうランダム・アクセス・メモリ(RA
M)に関する。
【0002】
【従来の技術】乱数は、暗号通信、ゲーム、およびシミ
ュレーション手法などさまざまな分野において広く用い
られている。特に、計算量理論に基づく暗号理論の分野
においては、平文を暗号文に暗号化するための暗号化鍵
として、乱数が用いられる。通常、この乱数として、擬
似乱数が用いられるが、高度情報化社会および電子マネ
ー社会等においては、セキュリティの観点から、安全性
の高い乱数を大量に生成することが必要となる。このよ
うな乱数を発生する方法の1つとして、フィードバック
シフトレジスタ(FSR)を用いる方法がある。この方
法においては、シフトレジスタの出力に非線形変換を行
なって乱数を生成し、かつこの生成した乱数をシフトレ
ジスタにフィードバックする非線形FSRが用いられ
る。この非線形FSRの場合、アルゴリズムに従って非
線形操作をソフトウェア的に行なっており、計算時間が
長くなる。そこで、予め乱数データをメモリ内に記憶さ
せて、高速で乱数データを発生する構成が、たとえば特
開昭58−200319に示されている。
【0003】図8は、上述の文献に示される従来の擬似
乱数発生器の構成を概略的に示す図である。図8におい
て、従来の擬似乱数発生器は、Mビット符号データを格
納するメモリ回路500と、メモリ回路500から読出
されたMビット符号を、クロック信号CLKに同期して
取込みかつラッチしてMビットの乱数データCiを生成
するラッチ回路502とを含む。このラッチ回路502
からのMビットの乱数データCiのうち、Nビットの乱
数データBiが、メモリ回路500に対しアドレス信号
としてフィードバックされる。すなわち、メモリ回路5
00から読出されたMビット符号により、メモリ回路5
00の次のアドレスが指定される。したがって、メモリ
回路500内において連続するアドレス位置に非線形的
に変化する符号を格納することにより、メモリ回路50
0からは、順次互いに非線形的な関係を有する符号が生
成され、擬似乱数データが生成される。
【0004】
【発明が解決しようとする課題】この図8に示す擬似乱
数発生器においては、ラッチ回路502から発生される
Mビットの擬似乱数データCiから取り出されたNビッ
トの符号Biが、メモリ回路500の次のアドレスAi
+1を指定する。したがって、擬似乱数発生のために用
いられるメモリ回路500のアドレス空間は、2^Nで
あり、データ“0…0”が乱数データとしては用いられ
ないため、周期2^N−1の擬似乱数が発生される。こ
こで、“^”は、べき乗を示す。たとえば、メモリ回路
500が8ビットデータを出力する場合、その擬似乱数
の周期は、255サイクル(ビット)となり、擬似乱数
の周期が短くなり、乱数の安全性が低くなる。この擬似
乱数の周期を長くする場合、メモリ回路500の記憶容
量も応じて大きくなり、この擬似乱数発生器の面積が増
大しまたコストも高くなる。
【0005】それゆえ、この発明の目的は、回路規模を
増大させることなく擬似乱数の周期を長くすることので
きる半導体装置を提供することである。
【0006】この発明の他の目的は、長い周期の擬似乱
数を効率的に発生することのできる半導体装置を提供す
ることである。
【0007】
【課題を解決するための手段】この発明に係る半導体装
置は、データを記憶するメモリと、このメモリから読出
されたデータを伝達するためのデータバスと、このメモ
リのアドレスを指定するアドレス信号を伝達するアドレ
スバスと、所定の動作モードを指定する動作モード指示
信号に従って、このデータバスの所定数のデータ線のデ
ータをアドレスバスに転送する転送回路と、動作モード
指示信号が所定の動作モードを指示するとき、アドレス
バスの所定のアドレス信号線のビット値に従ってデータ
バスの所定のデータ線のデータビット値を修飾し、該修
飾後のデータをメモリ回路のアドレスバス上のアドレス
信号が指定する位置に書込む書込回路とを備える。
【0008】書込回路は、好ましくは、アドレスバスの
所定のアドレス信号線の最下位ビット値に従ってデータ
バスの所定数のデータ線の最上位のビットおよび最下位
のビット値の一方を反転してメモリのアドレス指定され
た位置に書込む。
【0009】また、この書込回路は、動作モード指示信
号が所定の動作モードと異なる動作モードを指示すると
きには、外部からの書込データをメモリへ書込む。
【0010】また、この半導体装置は半導体チップ上に
集積化される。メモリから読出されるデータを、アドレ
スビット値に従って修飾することにより、メモリの記憶
するデータを変更することができ、同一アドレスが、読
出されたデータにより指定されても、格納データは変更
されているため、指定されるアドレスのシーケンスが異
なり、応じて、異なるデータが連続して発生される期間
を長くすることができる。したがって、メモリ回路に擬
似乱数データを格納することにより、乱数データを格納
するアドレス空間により規定される周期よりも周期の長
い擬似乱数を発生することができ、メモリ容量を増大す
ることなく、発生される擬似乱数を真正乱数近くにする
ことができ、その安全性を改善することができる。
【0011】
【発明の実施の形態】[実施の形態1]図1は、この発
明の実施の形態1に従う半導体装置の全体の構成を概略
的に示す図である。図1においては、半導体装置1は、
行列状に配列される複数のメモリセルを有するメモリア
レイ2と、通常動作モード時、外部からのアドレス信号
ADを取込みアドレスバス8上に内部アドレス信号を伝
達するアドレス入力回路4と、アドレスバス8を介して
与えられるアドレス信号に従ってメモリアレイ2のアド
レス指定されたメモリセルを選択するメモリセル選択回
路10と、内部データバス12と外部との間でデータの
入出力を行なうデータ入出力回路6と、メモリアレイ2
の選択されたメモリセルに対するデータの書込/読出を
行なう書込/読出回路14と、乱数データ発生モード
時、内部データバス12上の所定数のビットのデータを
アドレスバス8に転送する転送回路16と、乱数発生モ
ード時、内部データバス12上の所定数のビットをアド
レスバス8上の所定のアドレスビットに従って、修飾し
て書込/読出回路14の書込回路へ伝達する修飾回路1
8と、外部からの制御信号W/RZ、およびCE等に従
って内部制御信号を生成する制御回路20を含む。
【0012】この制御回路20は、乱数発生モード時、
外部からの制御信号に従って、乱数制御信号RNC、お
よび書込/読出回路14の書込回路(ライトドライバ)
を活性化する書込活性化信号WEなどを生成する。制御
回路20に与えられる外部制御信号として、データの書
込/読出を示す書込/読出指示信号W/RZと、この半
導体装置1が選択されたことを示すチップイネーブル信
号CEを代表的に示す。乱数制御信号RNCは、これら
の外部制御信号CEおよびW/RZ等のタイミング関係
に従って制御回路20により生成されるように図1にお
いては示す。しかしながら、この乱数制御信号RNC
は、外部から特定の端子を介して与えられてもよい。
【0013】転送回路16は、乱数データ発生モード
時、乱数制御信号RNCが活性化されると、内部データ
バス12の所定数のビットをアドレスバス8上に伝達す
る。したがって、乱数データがメモリアレイ2から読出
されて外部へデータ入出力回路6を介して読出されると
き、次の乱数データのアドレスは、この読出されたデー
タにより指定される。したがって、予めメモリアレイに
擬似乱数データを各アドレスに格納しておけば、先に読
出されたデータと次に読出されるデータとの間の線形関
係は存在せず、容易に乱数データを生成することができ
る。また、発生される乱数のシーケンスは、最初に与え
られるアドレスにより決定され、初期値依存型の乱数を
発生することができ、乱数の安全性を改善することがで
きる。
【0014】修飾回路18は、この乱数データ発生モー
ド時、内部データバス12の所定のビットを、アドレス
バス8の所定のビット(図1においては最下位ビットA
LSB)の値に従って修飾して、再び元のアドレス位置
に書込む。したがって、乱数データが読出されると、読
出された乱数データが修飾されるため、次にこのアドレ
ス位置が指定された場合には、続いて発生される乱数デ
ータの発生シーケンスが異なり、これにより、乱数の周
期を長くすることができる。次に、各部の構成について
説明する。
【0015】[転送回路16の構成]図2は、図1に示
す転送回路16の構成を概略的に示す図である。図2に
おいて、転送回路16は、内部データバス12上のデー
タをラッチするデータラッチDLHと、乱数制御信号R
NCの活性化時導通し、データラッチDLHのラッチ出
力ノードを内部アドレスバス8bに結合する転送ゲート
回路TG0−TGmと、乱数制御信号RNCの活性化時
出力ハイインピーダンス状態となり、内部アドレスバス
8aおよび8bを分離するトライステート転送バッファ
回路TB0−TBmを含む。内部アドレスバス8aがア
ドレス入力回路4に結合され、内部アドレスバス8b
が、メモリアレイ部25に含まれるメモリセル選択回路
10に結合される。これらの内部データバス8aおよび
8bが図1に示す内部データバス8に対応する。
【0016】メモリアレイ部25は、図1に示すメモリ
アレイ2、メモリセル選択回路10、および書込/読出
回路14を含む。
【0017】この転送回路16において、データラッチ
DLHには、内部データバス12上のデータがラッチさ
れる。乱数制御信号RNCがLレベルであり、通常動作
モード(乱数データ発生モード以外の動作モード)のと
きには、転送ゲート回路TG0−TGmは、すべて非導
通状態にあり、データラッチDLHと内部アドレスバス
8bとは分離される。一方、トライステートバッファ回
路TB0−TBmはイネーブル状態にあり、アドレス入
力回路4から内部アドレスバス8a上に伝達されるアド
レスビットを内部アドレスバス8bに伝達し、外部アド
レスに対応するアドレスビットAD0−ADmを生成す
る。したがって、この場合においては、メモリアレイ部
25は、外部からのアドレス信号に従ってデータアクセ
スが行なわれ、データ入出力回路6を介してデータの書
込または読出が実行される。
【0018】一方、乱数データ発生モード時において
は、乱数制御信号RNCがHレベルとなり、トライステ
ート転送バッファ回路TB0−TBmが、すべて出力ハ
イインピーダンス状態となり、内部アドレスバス8aお
よび8bが分離される。このとき、アドレス入力回路4
は、乱数制御信号RNCにより、非活性状態に置かれて
もよい。
【0019】一方、転送ゲート回路TG0−TGmが導
通し、データラッチDLHのラッチ出力ノードが、内部
アドレスバス8bに結合される。データラッチDLH
は、フリップフロップ型のラッチ回路で構成されてもよ
く、また、インバータを用いたインバータラッチ回路で
構成されてもよい。いずれの構成においても、データラ
ッチDLHは、出力ノード駆動能力を有しており、この
転送ゲート回路TG0−TGmが導通すると、データラ
ッチDLHのラッチデータが、内部アドレスバス8bに
伝達される。したがって、メモリアレイ部25によりラ
ッチされたデータ、すなわちメモリアレイ部25から読
出されたデータに従って次のサイクルにおいてアクセス
するアドレスを指定するアドレスビットAD0−ADm
が設定される。
【0020】メモリアレイ部25のメモリアレイ2に格
納された乱数データに従って、次のアドレスが指定され
るため、内部で、非線形操作が行なわれ、読出された乱
数データと次に読出される乱数データとの間に線形関係
をなくすことができ、安全性の高い乱数データを生成す
ることができる。すなわち、この乱数データのシーケン
スは、初期アドレスに依存して決定され、初期値依存型
の乱数データとなる。メモリアレイ2においては、乱数
データが、予め適当に定められて格納される(この格納
方法については後に説明する)。
【0021】また、内部でたとえばCPU(中央演算処
理装置)などを用いてアルゴリズムに従って非線形操作
を行なって乱数データを発生していないため、高速で、
乱数データを生成することができる。
【0022】アドレスビットAD0−ADmが、(m+
1)=Nビットの場合、この乱数データに使用されるア
ドレス空間は、2のN乗アドレスとなる。たとえば、1
MビットのRAM(ランダム・アクセス・メモリ)を用
いて、その語構成が、128K・8ビットの場合、8ビ
ットのアドレスを使用するため、乱数データのアドレス
空間として、2の8乗、すなわち256アドレスを乱数
データ格納領域として使用することができる。したがっ
て、最低限、周期255ビットの乱数データを生成する
ことができる(ただし、全ビットが“0”の乱数データ
は除く)。しかしながら、後に説明する修飾回路によ
り、この乱数データの周期をこのアドレス空間で規定さ
れる周期255ビット(サイクル)よりも長くすること
ができ、従来に比べて、小メモリ容量(アドレス空間)
で周期の長い乱数を発生することができる。
【0023】なお、図2に示す構成においては、内部デ
ータバス12の全ビットを、内部アドレスバス8bに転
送してアドレスを生成している。しかしながら、上述の
128K・8ビット構成のRAMの場合、アドレスは、
17ビットであり、その一部の8ビットのアドレスバス
のみを使用するため、このデータ転送をされないアドレ
スバスのアドレス信号線については、乱数データ発生
時、たとえば所定のビットパターンに固定されればよ
い。メモリアレイ部25のメモリアレイの特定のアドレ
ス領域を、乱数データ格納領域として使用することがで
きる。この構成においては、単に、アドレス入力回路4
を、乱数データ発生時初期状態に設定して、たとえばL
レベルのアドレスビットを発生させ、これらの不使用の
アドレスバスに対しては、トライステート転送バッファ
回路を設けず、直接このアドレス入力回路4からのアド
レスビットをメモリアレイ部25へ転送する。これによ
り、上位アドレスビットを固定した乱数データアドレス
を生成することができる。
【0024】また、これに代えて、不使用のアドレス信
号線に対し図2に示すトライステート転送バッファ回路
と同様の回路を設け、これらの回路の出力信号を、乱数
データ発生モード時所定電圧レベルに固定してもよい。
例えば、入力部に乱数制御信号RNCに応答して出力ハ
イインピーダンス状態となるトライステートバッファを
設け、出力部にHレベルまたはLレベルに対応のアドレ
ス信号線を乱数制御信号RNCに従って固定するトラン
ジスタを配置する。
【0025】また、内部データバス12の全ビットをア
ドレスとして使用する必要はなく、必要とされる乱数デ
ータの数に応じて、転送ゲート回路TG0−TGmの数
およびトライステート転送バッファ回路TB0−TBm
の数は、適当に定められればよい。
【0026】すなわち、図3に示すように、アドレス
を、固定データ領域と、乱数データ領域とで構成し、乱
数データにより指定される領域のアドレスビットAD0
−ADmのビット数を適当に調整することにより、必要
とされる乱数データの数を適当に定めることができる。
【0027】なお、データラッチDLHは、メモリアレ
イ部25から、乱数データが読出されたとき、次のサイ
クルにおいて読出される乱数データのアドレスを生成す
る。したがって、このデータラッチDLHにおいては、
読出された乱数データが、1サイクル遅れて、内部アド
レスバス8bに転送される。この転送制御のためには、
読出動作を活性化するたとえばリードイネーブル信号が
利用されてもよく、また、たとえばシステムクロックに
同期して転送が行なわれてもよい。このような1サイク
ル遅延機能を有するデータラッチは、たとえば2段のフ
リップフロップまたは2段のシフトレジスタ構成により
容易に実現することができる。
【0028】[乱数データの生成法]図4は、乱数デー
タをメモリに設定する動作手順を示すフロー図である。
以下、乱数データを初期設定するための手順について、
図4を参照して説明する。
【0029】まず、乱数発生に使用される元データの集
合RD={M(i):i=1−2^n−1}を準備する
(ステップS1)。この乱数元データ集合RDの要素M
(i)は、互いに異なる値をとる。ここで、nビットの
2進数で表わすことのできる最大値は、2^n−1であ
る。アドレス“0…0”には適当な乱数データが格納さ
れる。
【0030】メモリのアドレスiに乱数データM(i)
が格納される。まず、先頭アドレスを指定するために、
iを1に設定する(ステップS2)。続いて、乱数元デ
ータ集合RDの対応の要素M(i)を取出し、この要素
M(i)の値が、アドレスiに等しいか否かを判定する
(ステップS3)。アドレスiに格納すべき要素M
(i)の値がアドレスiに等しい場合には、このアドレ
スiに、次の要素M(i+1)を書込み、乱数元データ
集合RDから、この書込んだ要素M(i+1)を取除く
(ステップS4)。ここで、乱数元データ集合RDの要
素の値は互いに異なっているため、要素M(i+1)
は、アドレスiと値が異なっており、この要素M(i+
1)をアドレスiに書込んでも、問題はない。
【0031】次いで、乱数元データ集合RDの残りの要
素のうち、最小番号MIN{i}の要素M(x)をアド
レス(i+1)の位置に書込む(ステップS5)。この
とき、要素M(x)=(i+1)であれば、xが次の最
小値の要素M(x)をアドレス(i+1)に書込む。こ
の書込んだ要素M(x)を乱数元データ集合から取除
く。
【0032】次いで、このアドレス(i+1)が、最終
アドレス2^n−1であるかを判定する(ステップS
6)。最終アドレスまで、乱数データが書込まれていれ
ば、この乱数データの初期値の設定が終了する。一方、
ステップS6において、アドレス(i+1)がまだ最終
アドレス2^n−1に到達していない場合には、すでに
アドレスiが1増分されて、アドレス(i+1)に要素
M(x)が書き込まれているため、ステップS10にお
いてアドレスiを1増分して、実際に書き込まれたアド
レス位置をポイントする。
【0033】一方、ステップS3において、アドレスi
に書込む要素M(i)が別のアドレスを指定している場
合には、このアドレスiに、要素M(i)を書込み、こ
の書込んだ要素M(i)を、乱数元データ集合から取除
く(ステップS7)。次いで、このアドレスiが、最終
アドレス2^nに到達しているか否かの判定を行なう
(ステップS8)。このアドレスiが最終アドレスに到
達していれば、乱数データの初期値の設定が終了する。
【0034】一方、ステップS8においてまだ最終アド
レスに到達していない場合には、アドレスiを1増分し
て(ステップS9)、ステップS3に戻る。また、ステ
ップS6においてまだ最終アドレスに到達していないと
判定された場合には、前述のごとくステップS10にお
いてアドレスを1増分した後、ステップS9において、
アドレスを1増分して、次の書込位置のアドレスを指定
する。ステップS10において生成されたアドレス(i
+1)は、最終アドレス2^n−1と異なるため、ステ
ップS10の後にステップS9においてさらにアドレス
iを1増分しても、最終アドレスを超えることはない。
最終アドレスに到達するまで、上述の手順を繰り返し実
行する。
【0035】上述の乱数データの初期値設定手順に従っ
てnビットの乱数データを、アドレス1−2^nに書込
むことにより、ある特定のアドレスにアクセスしたと
き、そのアドレス位置に格納された乱数データが対応の
アドレスを指定し、乱数データがそのアドレスに固定さ
れて、乱数発生シーケンスが凍結されるのを防止するこ
とができ、乱数データを修飾しない場合、乱数データの
周期を2^n−1に設定することができる。ここで、周
期が、2^n−1であるのは、アドレス0を使用してい
ないためである。アドレス0を使用することが許され
る、すなわち、乱数データとして、“0…0”が使用で
きる場合には、図4に示すフロー図において、アドレス
iの初期値を0に設定することにより、周期2^nの乱
数データを生成することができる。以下に説明する修飾
動作においては、このアドレス“0…0”を使用する。
【0036】[修飾回路18の構成]図5(A)は、図
1に示す修飾回路18の構成を概略的に示す図である。
図5において、修飾回路18は、書込活性化信号WEと
乱数制御信号RNCを受けるAND回路30と、内部ア
ドレスバス上の最下位アドレスビットALSBとAND
回路30の出力信号と内部データバス12a上の乱数デ
ータの最上位ビットDmを受けて、乱数データ発生モー
ド時、この最上位データビットDmを選択的に修飾して
内部データバス12bを介して書込/読出回路14に伝
達するビット変更回路34mと、インバータ32を介し
て与えられる最下位アドレスビットALSBとAND回
路30の出力信号と乱数データの最下位ビットD0とを
受け、乱数データ発生モード時この最下位データビット
D0を修飾して内部データバス12bを介して書込/読
出回路14に伝達するビット変更回路34lを含む。こ
こで、内部データバス12aおよび12bは、図1に示
す内部データバス12に対応し、内部データバス12a
が図1に示すデータ入出力回路6に結合される。
【0037】書込/読出回路14は、書込活性化信号W
Eの活性化時活性化され、これらのビット変更回路34
mおよび34lの出力ビットと図示しない残りの内部デ
ータバス12上のビット値に従って内部書込データを生
成してメモリアレイ2へ転送するライトドライバ14w
と、読出活性化信号REの活性化時活性化され、メモリ
アレイ2の選択メモリセルから読出されたデータを増幅
して内部データバス12bへ出力するリードアンプ14
rを含む。
【0038】この修飾回路18においては、乱数データ
の最上位ビットDmおよび最下位ビットD0に対しての
みビット変更回路34mおよび34lが設けられてお
り、残りの内部データバス12上のデータ線に対して
は、これらのビット変更回路は設けられていない。した
がって、乱数データ発生時、最下位アドレスビットAL
SBに従って、乱数データの最上位ビットDmおよび最
下位ビットD0が選択的に修飾されてメモリアレイ2に
書込まれる。
【0039】図5(B)は、図5に示すビット変更回路
34mおよび34lの構成を示す図である。ビット変更
回路34mおよび34lは、同一構成を有するため、図
5(B)においては、1つのビット変更回路の構成を示
す。
【0040】図5(B)においては、ビット変更回路3
4mおよび34lの各々は、入力ノードIAおよびIB
上の信号を受けるNAND回路40と、NAND回路4
0の出力信号を反転するインバータ41と、これらのN
AND回路40およびインバータ41の出力する相補信
号に従って選択的に導通し、導通時入力ノードICを出
力ノードOTに結合する転送ゲート42と、NAND回
路40およびインバータ41の出力する相補信号に従っ
て選択的に活性化され、活性化時入力ノードIC上の信
号を反転して出力ノードOTに出力するトライステート
インバータバッファ43とを含む。ビット変更回路34
mは、入力ノードIAおよびIBにそれぞれ、最下位ア
ドレスビットALSBおよびAND回路30の出力信号
を受け、入力ノードICが内部データバスに結合され
る。ビット変更回路34lは、入力ノードIAが、イン
バータ32の出力信号を受けるように結合され、入力ノ
ードIBに、AND回路30の出力信号を受け、入力ノ
ードICが内部データ線に結合される。出力ノードOT
は、これらのビット変更回路34mおよび34lそれぞ
れの対応の内部データ線に結合される。
【0041】乱数制御信号RNCが非活性状態のときに
は、図5(A)に示すAND回路30の出力信号はLレ
ベルである。したがって、ビット変更回路34mおよび
34lにおいてそれぞれの入力ノードIBに、Lレベル
の信号が与えられるため、図5(B)に示すNAND回
路40の出力信号がHレベルとなり、かつインバータ4
1の出力信号がLレベルとなる。この状態においては、
ビット変更回路34mおよび34lにおいては転送ゲー
ト42が導通し、トライステートインバータバッファ4
3は、出力ハイインピーダンス状態である。したがっ
て、この通常動作モード時においては、何らビット変更
が行なわれないため、外部アドレスに従って、データア
クセスを実行することができる。
【0042】乱数制御信号RNCがHレベルとなる乱数
データ発生モード時においては、乱数データ読出後、書
込活性化信号WEが所定時間活性化され、AND回路3
0の出力信号がHレベルとなる。したがって、最下位ア
ドレスビットALSBが、Lレベル(“0”)であり、
偶数アドレスを指定しているときには、図5(A)に示
すインバータ32の出力信号がHレベルとなり、応じて
ビット変更回路34lにおいては、NAND回路40の
出力信号がLレベルとなる。応じて、インバータ41の
出力信号がHレベルとなり、ビット変更回路34lにお
いて、転送ゲート42が非導通状態となり、一方、トラ
イステートインバータバッファ43が活性化される。し
たがって、乱数データの最下位ビットD0が反転されて
ライトドライバ14wへ与えられる。ライトドライバ1
4wは、この書込活性化信号WEの活性化に従って、こ
の内部データバス12b上のデータをメモリアレイ2の
選択メモリセルへ書込む。
【0043】ビット変更回路34mにおいては、NAN
D回路40の出力信号が、Hレベルであり、転送ゲート
42が導通状態にあり、ビットの反転は行なわれない。
【0044】一方、最下位アドレスビットALSBがH
レベル(“1”)であり、奇数アドレスの場合には、イ
ンバータ32の出力信号がLレベルとなり、ビット変更
回路34lにおいては、転送ゲート42が導通状態、ト
ライステートインバータバッファ43は出力ハイインピ
ーダンス状態であり、乱数データの最下位ビットD0は
修飾されずに、ライトドライバ14wへ与えられる。一
方、ビット変更回路34mにおいては、転送ゲート42
が非導通状態、トライステートインバータバッファ43
が活性状態となり、乱数データの最上位ビットDmを反
転して内部データバス12bの対応の内部データ線を介
してライトドライバ14wへ伝達する。
【0045】したがって、この乱数データ発生時におい
ては、書込活性化信号WEが活性化されると、偶数アド
レスから読出された乱数データは、その最下位ビットが
反転されて再書込され、また奇数アドレスについては乱
数データの最上位ビットが反転されて再書込が行なわれ
る。
【0046】したがって、図6に示すように、アドレス
A1−Anにそれぞれ格納された乱数データRD1−R
Dnが、最初に読出されると、奇数アドレスA1、A
3、…Anの乱数データRD1、RD3、RDnは、そ
の最上位ビットのビット値が反転され、一方、偶数アド
レスA2,…,An−1の乱数データRD2および…R
Dn−1は、その最下位ビットのビット値が反転され
る。したがって、最初のアドレスA1−Anがすべてア
クセスされた後、次の乱数データ発生シーケンスにおい
ては、乱数データの値が変更されているため、乱数デー
タ発生シーケンスが前回の乱数データ発生シーケンスと
異なり、乱数データ発生シーケンスを長くすることがで
きる。この修飾された乱数データがすべて発生される
と、再び元の乱数データに戻るため、したがって、最
低、乱数データの周期を2倍に設定することができる。
【0047】なお、この乱数データ発生時に乱数データ
を書換える構成においては、アドレス“0…0”を許容
し、このアドレス“0…0”に、適当な乱数データを格
納する。例えば、奇数アドレスにデータ“100…0”
が格納されて、修飾された場合、アドレス“000…
0”が次のアクセス時に指定される。この場合、アドレ
ス“000…0”に適当な乱数データが格納されていれ
ば、乱数発生シーケンスを持続することができる。
【0048】この乱数データ格納時においては、修飾さ
れた乱数データが、自身を格納するアドレスを指定する
ことができる。しかしながら、この場合、再度読出され
たとき、そのアドレスに従って自身が修飾され、次のサ
イクルにおいて、別のアドレスが指定されるため、特に
問題は生じない。この場合、乱数の周期をより長くする
ことができる。
【0049】この、修飾操作において、奇数アドレスの
データと偶数アドレスのデータとに対して操作内容を異
ならせているのは、連続アドレスのデータに対する操作
を異ならせ、連続乱数データの間に線形性が生じないよ
うにいするためである。
【0050】なお、この乱数データ発生時において、乱
数データ読出後、書込活性化信号WEを活性化する制御
は、図1に示す制御回路20により実行される。アドレ
ス信号が内部で生成されるため、乱数データ発生モード
時、アドレスバスに新たなアドレスが転送されるごと
に、アドレス変化検出信号を生成し、このアドレス変化
検出信号に従ってリードアンプ14rを活性化する読出
活性化信号REを活性化し、続いて、所定期間書込活性
化信号WEを活性化する。これにより、読出データと書
込データの衝突を防止して、正確に、乱数データを修飾
することができる。なお、乱数データの初期アドレス
は、外部アドレスに従って、指定される。乱数データ発
生を指示するコマンドとともに初期アドレスを外部から
印加する。外部アドレスを内部に取りこみ、内部アドレ
スを生成してメモリアレイ部に伝達した後、アドレス入
力回路をアドレスバス8(8b)から切離す。
【0051】また、図5(A)に示す構成においては、
ビット変更回路34mおよび34lにより、内部データ
バス12は、内部データバス12aおよび12bに区分
されているが、他のデータ線については連続的に延びて
いる。
【0052】しかしながら、図7に示すように、リード
アンプ14rの出力が、内部データバス12に伝達さ
れ、この内部データバス12は、修飾回路18を介して
ライトドライバ14wに結合されてもよい。このライト
ドライバ14wおよびリードアンプ14rはメモリアレ
イ2に結合される。この図7に示す構成の場合、リード
アンプ14rの読出動作と並行して修飾回路18を動作
させて、ライトドライバ14wを介して修飾後の乱数デ
ータをメモリアレイ2に書込むことができ、制御が容易
となる。
【0053】なお、乱数データが修飾されるのは、該乱
数データが読み出されたサイクルにおいてであり、読み
出された乱数データがアドレスとして利用されるのは、
該乱数データが読み出されたサイクルの次のサイクルで
ある。
【0054】この奇数アドレスの乱数データの最上位ビ
ットを反転し、また偶数アドレスの乱数データの最下位
ビットを反転することにより、隣接アドレス間でのデー
タの線形操作関係が存在しないため、乱数の安全性が確
保される。また、アドレス“0…0”に適当な乱数デー
タを格納する構成の場合、奇数アドレスの乱数データの
最下位ビットを反転し、偶数アドレスの乱数データの最
上位ビットを反転してもよい。
【0055】なお、この乱数データの修飾時、最上位ビ
ットおよび最下位ビットの反転する構成の場合、データ
バスの最も外部のデータ線のビット値の修飾であり、デ
ータバス内部のデータ線を取出して、修飾する必要がな
く、回路配置が容易となる。
【0056】また、この最上位ビットおよび最下位ビッ
トに代えて、乱数データの適当な上位ビットおよび下位
ビットが修飾されてもよい。
【0057】なお、上述の説明においては、半導体装置
1は、1つの半導体チップ上に集積化されている。この
半導体装置としては、データの書込/読出を行なうとと
もに、アドレス指定をランダムに行なうことのできるR
AMであればよく、データ書込経路とデータ読出経路と
が異なるマルチポートRAMであってもよい。また、内
部データバスとして、内部書込データを伝達する内部書
込データバスと内部読出データを伝達する内部読出デー
タバスとが別々に設けられていてもよい。
【0058】なお、転送回路16においては、内部読出
データの適当な数の選択されたビットを、メモリセル選
択回路内のアドレス信号をデコードして行および列選択
信号を生成するデコード回路へ与える場合において、相
補アドレスビットを生成する必要がある場合には、この
転送回路16において、各データビットの反転ビットを
生成して相補データビットを生成することにより、容易
に、相補アドレス信号ビットを生成してデコード回路へ
与えることができる。
【0059】また、これに代えて、アドレス入力回路と
外部アドレス入力端子との間にマルチプレクサを設け、
このマルチプレクサを介してデータラッチDLHからの
内部読出データを、アドレス入力回路へ与えてもよい。
この構成の場合、トライステート転送バッファ回路およ
び転送ゲート回路は、特に設ける必要がない。
【0060】
【発明の効果】以上のように、この発明に従えば、メモ
リの内部読出データの適当なビットをアドレス信号とし
て利用して、次のデータを読出すように構成しており、
高速でかつ容易に安全性の高い乱数データを生成するこ
とができる。特に、この読出した内部乱数データを内部
で修飾して再書込するように構成しており、メモリアレ
イ内に格納される乱数データが、常時更新されるため、
乱数データの周期を長くすることができる。
【0061】また、アドレスバスの最下位ビット値に従
ってデータの最上位ビットおよび最下位ビットの一方を
選択的に反転してメモリアレイに書込んでおり、容易
に、乱数データを修飾してメモリアレイへ書込むことが
でき、またこのとき連続するアドレスの乱数データに対
する修飾操作が異なっており、続いて読出される乱数デ
ータの線形性が存在しないため、修飾後の乱数データに
ついても、安全性を確保することができる。
【0062】また、通常動作モード時においては、外部
からの書込データをメモリへ書込むように構成してお
り、この乱数データ発生用メモリを、通常のワーキング
メモリとしても利用することができ、通信端末などにお
いても、暗号文を復号化するためのワーキングメモリと
して使用することができ、回路規模の小さな暗号復号化
回路を実現することができる。
【0063】また、この半導体装置を集積化することに
より、携帯機器などの用途においても容易に適用するこ
とができ、プロセサなどと組合わせ、セキュリティの高
い携帯情報端末機器を構築することができる。
【図面の簡単な説明】
【図1】 この発明に従う半導体装置の全体の構成を概
略的に示す図である。
【図2】 図1に示す転送回路の構成を概略的に示す図
である。
【図3】 この発明における乱数データ発生時のアドレ
スの構成を概略的に示す図である。
【図4】 乱数データの初期設定シーケンスを示すフロ
ー図である。
【図5】 (A)は、図1に示す修飾回路の構成を概略
的に示し、(B)は、図5(A)に示すビット変更回路
の構成を示す図である。
【図6】 図5(A)に示す修飾回路の動作を説明する
ための図である。
【図7】 この発明に従う半導体装置の変更例を示す図
である。
【図8】 従来の乱数データ発生器の構成を概略的に示
した図である。
【符号の説明】
1 半導体装置、2 メモリアレイ、4 アドレス入力
回路、6 データ入力回路、8 アドレスバス、8a,
8b 内部アドレスバス、12 内部データバス、16
転送回路、18 修飾回路、20 制御回路、DLH
データラッチ、TG0−TGm 転送ゲート回路、T
B0−TBm トライステート転送バッファ回路、14
w ライトドライバ、14r リードアンプ、34m,
34lビット変更回路。

Claims (4)

    【特許請求の範囲】
  1. 【請求項1】 データを記憶するメモリと、 前記メモリから読出されたデータを伝達するためのデー
    タバスと、 前記メモリのアドレスを指定するアドレス信号を伝達す
    るアドレスバスと、 所定の動作モードを指定する動作モード指示信号に従っ
    て、前記データバスの所定数のデータ線のデータを前記
    アドレスバスに転送する転送回路と、 前記動作モード指示信号が前記所定の動作モードを指示
    するとき、前記アドレスバスの所定のアドレス信号線の
    ビット値に従って前記データバスの所定のデータ線のデ
    ータビット値を修飾して、該修飾後のデータを前記メモ
    リ回路の前記アドレスバス上のアドレス信号が指定する
    位置に書込む書込回路とを備える、半導体装置。
  2. 【請求項2】 前記書込回路は、前記アドレスバスの所
    定のアドレス信号線の最下位ビット値に従って前記所定
    数のデータ線の最上位のビットおよび最下位のビット値
    の一方を反転して前記メモリのアドレス指定された位置
    に書込む、請求項1記載の半導体装置。
  3. 【請求項3】 前記書込回路は、前記動作モード指示信
    号が、前記所定の動作モードと異なる動作モードを指示
    するとき、外部からの書込データを前記メモリへ書込
    む、請求項1記載の半導体装置。
  4. 【請求項4】 前記半導体装置は、半導体チップ上に集
    積化される、請求項1記載の半導体装置。
JP2001039428A 2001-02-16 2001-02-16 半導体装置 Withdrawn JP2002244844A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2001039428A JP2002244844A (ja) 2001-02-16 2001-02-16 半導体装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001039428A JP2002244844A (ja) 2001-02-16 2001-02-16 半導体装置

Publications (1)

Publication Number Publication Date
JP2002244844A true JP2002244844A (ja) 2002-08-30

Family

ID=18902218

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001039428A Withdrawn JP2002244844A (ja) 2001-02-16 2001-02-16 半導体装置

Country Status (1)

Country Link
JP (1) JP2002244844A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011530719A (ja) * 2008-08-06 2011-12-22 キャシー・ホールディングス・リミテッド・ライアビリティ・カンパニー 不確定性ランダム値発生器

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011530719A (ja) * 2008-08-06 2011-12-22 キャシー・ホールディングス・リミテッド・ライアビリティ・カンパニー 不確定性ランダム値発生器
JP2014178716A (ja) * 2008-08-06 2014-09-25 Cassy Holdings Llc 不確定性ランダム値発生器

Similar Documents

Publication Publication Date Title
US20020023191A1 (en) Semiconductor memory device and memory system using the same
US7561689B2 (en) Generating keys having one of a number of key sizes
EP3709157B1 (en) Random number generator
JP4148507B2 (ja) フィールドプログラマブルゲートアレイ
US20060133158A1 (en) Pipe latch circuit of multi-bit prefetch-type semiconductor memory device with improved structure
JP2005327437A (ja) 半導体記憶装置
JPH1153169A (ja) 低電力で相互接続の簡単なマイクロプロセッサ及びメモリー・インターフェース
JP2004519811A (ja) 多重プリフェッチi/o構成を備えるデータパスを有するメモリデバイスおよび方法
CN103631732B (zh) 非易失存储器及电子设备
US7164607B2 (en) Dual bus memory burst architecture
US11017128B2 (en) Data security using bit transposition during memory accesses
US6219283B1 (en) Memory device with local write data latches
US7949698B2 (en) Circuit arrangement and method for initializing a random number generator
EP0690450A2 (en) Memory circuit sequentially accessible by arbitrary address
KR20050046461A (ko) 반도체 메모리 장치 및 이 장치의 테스트 패턴 데이터발생방법
JP4863279B2 (ja) メモリシステム及びメモリアクセス方法
JP2002244844A (ja) 半導体装置
TWI776351B (zh) 利用借助於進階加密標準處理電路之資料保護的資料存取方法、應用於記憶體裝置之記憶體控制器以及應用於記憶體裝置之記憶體控制器的進階加密標準處理電路
JP2002111781A (ja) パケット通信用メモリ及びそれに用いるデータ書込み読出し方法
US20240322828A1 (en) Apparatus and method for expanding round keys during data encryption
US20020015353A1 (en) Programmable counter circuit for generating a sequential/interleave address sequence
JPH06290584A (ja) 半導体記憶装置
JP3233561B2 (ja) 半導体記憶装置
JP4252406B2 (ja) データ変換装置
US7903496B2 (en) Semiconductor memory device

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20080513