(57)【特許請求の範囲】
【請求項１】
デュアルポートメモリであって、
前記デュアルポートメモリの偶数アドレスのところのデータを記憶するように構成された第1のシングルポートメモリと、
前記デュアルポートメモリの奇数アドレスのところのデータを記憶するように構成された第2のシングルポートメモリと
を備え、
前記デュアルポートメモリが、前記奇数アドレスからデータを読み出す読出動作および前記偶数アドレスの中へデータを書き込む書込動作を同時に実行し、
前記デュアルポートメモリが、前記偶数アドレスからデータを読み出す読出動作および前記奇数アドレスの中へデータを書き込む書込動作を同時に実行し、
第1のマルチプレクサおよび第2のマルチプレクサを備え、外部読出動作イネーブル信号および外部書込動作イネーブル信号を選択することによって前記第1のシングルポートメモリおよび前記第2のシングルポートメモリのうちの少なくとも一方へチップイネーブル信号を与えるように構成されたマルチプレクサの第1の対
をさらに備え、
前記第1のマルチプレクサが前記第1のシングルポートメモリに接続され、前記第2のマルチプレクサが前記第2のシングルポートメモリに接続される、
デュアルポートメモリ。
【請求項２】
第3のマルチプレクサおよび第4のマルチプレクサを備え、前記外部書込動作イネーブル信号および信号マスクを選択することによって前記第1のシングルポートメモリおよび前記第2のシングルポートメモリのうちの少なくとも一方へ書込イネーブル信号を与えるように構成されたマルチプレクサの第2の対
をさらに備え、
前記第3のマルチプレクサが前記第1のシングルポートメモリに接続され、前記第4のマルチプレクサが前記第2のシングルポートメモリに接続される、請求項1に記載のデュアルポートメモリ。
【請求項３】
第5のマルチプレクサおよび第6のマルチプレクサを備え、外部読出アドレスおよび外部書込アドレスに基づいて前記第1のシングルポートメモリおよび前記第2のシングルポートメモリのうちの少なくとも一方へ読出/書込アドレスを与えるように構成されたマルチプレクサの第3の対
をさらに備え、
前記第5のマルチプレクサが前記第1のシングルポートメモリに接続され、前記第6のマルチプレクサが前記第2のシングルポートメモリに接続される、請求項2に記載のデュアルポートメモリ。
【請求項４】
前記マルチプレクサの第3の対が、前記外部読出アドレスを2で割った商に基づいて前記第1のシングルポートメモリおよび前記第2のシングルポートメモリのうちの少なくとも一方へ読出アドレスを与え、
前記マルチプレクサの第3の対が、前記外部書込アドレスを2で割った商に基づいて前記第1のシングルポートメモリおよび前記第2のシングルポートメモリのうちの少なくとも一方へ書込アドレスを与える、請求項3に記載のデュアルポートメモリ。
【請求項５】
前記マルチプレクサの各対における選択信号の対は、前記読出動作および前記書込動作が同時に実行されるときには、互いに反対である、請求項3に記載のデュアルポートメモリ。
【請求項６】
各マルチプレクサの選択信号が、前記外部読出アドレスおよび前記外部書込アドレスのパリティによって決定される、請求項3に記載のデュアルポートメモリ。
【請求項７】
各マルチプレクサの前記選択信号が、前記外部読出アドレスの最下位ビット(LSB)および前記外部書込アドレスの最下位ビット(LSB)に基づいて決定される、請求項6に記載のデュアルポートメモリ。
【請求項８】
前記第1のシングルポートメモリまたは前記第2のシングルポートメモリから読み出したデータを出力するように構成された出力マルチプレクサ
をさらに備えた、請求項3に記載のデュアルポートメモリ。
【請求項９】
前記出力マルチプレクサへ選択信号を与えるように構成されたフリップフロップ
をさらに備え、
前記選択信号が、前記外部読出アドレスおよび前記外部書込アドレスのパリティによって決定される、請求項8に記載のデュアルポートメモリ。
【請求項１０】
第1のシングルポートメモリの中にデュアルポートメモリの偶数アドレスのところのデータを記憶するステップと、
第2のシングルポートメモリの中に前記デュアルポートメモリの奇数アドレスのところのデータを記憶するステップと、
マルチプレクサの第1の対によって前記第1のシングルポートメモリおよび前記第2のシングルポートメモリを使用可能にするステップと、
選択したシングルポートメモリを使用可能にして書込動作を実行するために、マルチプレクサの第2の対によって前記第1のシングルポートメモリおよび前記第2のシングルポートメモリのうちの選択したシングルポートメモリへ書込イネーブル信号を与えるステップと、
前記選択したシングルポートメモリを使用可能にして前記書込アドレスの中へデータを書き込むために、マルチプレクサの第3の対によって前記選択したシングルポートメモリへ書込アドレスを与えるステップと
を含む、方法。
【請求項１１】
他方のシングルポートメモリを使用可能にして読出動作を実行し且つ読出アドレスからデータを読み出すために、前記マルチプレクサの第3の対によって前記第1のシングルポートメモリおよび前記第2のシングルポートメモリのうちの前記他方のシングルポートメモリへ前記読出アドレスを与えるステップ
をさらに含む、請求項10に記載の方法。
【請求項１２】
前記マルチプレクサの第1の対が、第1のマルチプレクサおよび第2のマルチプレクサを備え、前記第1のシングルポートメモリおよび前記第2のシングルポートメモリを使用可能にするために、外部読出動作イネーブル信号および外部書込動作イネーブル信号を選択することによって前記第1のシングルポートメモリおよび前記第2のシングルポートメモリへチップイネーブル信号を与えるように構成され、
前記第1のマルチプレクサが前記第1のシングルポートメモリに接続され、前記第2のマルチプレクサが前記第2のシングルポートメモリに接続される、請求項11に記載の方法。
【請求項１３】
前記マルチプレクサの第2の対が、第3のマルチプレクサおよび第4のマルチプレクサを備え、前記外部書込動作イネーブル信号および信号マスクを選択することによって前記選択したシングルポートメモリへ前記書込イネーブル信号を与えるように構成され、
前記第3のマルチプレクサが前記第1のシングルポートメモリに接続され、前記第4のマルチプレクサが前記第2のシングルポートメモリに接続される、請求項12に記載の方法。
【請求項１４】
前記マルチプレクサの第3の対が、第5のマルチプレクサおよび第6のマルチプレクサを備え、外部読出アドレスおよび外部書込アドレスに基づいて前記選択したシングルポートメモリへ前記書込アドレスを与え、前記他方のシングルポートメモリへ前記読出アドレスを与えるように構成される、請求項13に記載の方法。
【請求項１５】
前記マルチプレクサの第3の対が、前記外部読出アドレスを2で割った商に基づいて前記他方のシングルポートメモリへ前記読出アドレスを与え、
前記マルチプレクサの第3の対が、前記外部書込アドレスを2で割った商に基づいて前記選択したシングルポートメモリへ前記書込アドレスを与える、請求項14に記載の方法。
【請求項１６】
前記マルチプレクサの各対における選択信号の対は、前記読出動作および前記書込動作が同時に実行されるときに、互いに反対である、請求項14に記載の方法。
【請求項１７】
各マルチプレクサの選択信号が、前記外部読出アドレスおよび前記外部書込アドレスのパリティによって決定される、請求項14に記載の方法。
【請求項１８】
各マルチプレクサの前記選択信号が、前記外部読出アドレスの最下位ビット(LSB)および前記外部書込アドレスの最下位ビット(LSB)に基づいて決定される、請求項17に記載の方法。
【請求項１９】
出力マルチプレクサによって前記他方のシングルポートメモリから読み出したデータを出力するステップ
をさらに含む、請求項14に記載の方法。
【請求項２０】
フリップフロップによって前記出力マルチプレクサへ選択信号を与えるステップであって、前記選択信号が、前記外部読出アドレスおよび前記外部書込アドレスのパリティによって決定される、ステップ
をさらに含む、請求項19に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願
本出願は、中華人民共和国国家知識産権局(SIPO)に対して2011年10月24日に出願した、中国特許出願第201110325418.6号に対する優先権を主張し、その内容は、引用により本明細書中に組み込まれている。
【０００２】
本教示は、メモリに関係し、より詳しくはデュアルポートメモリおよびその方法に関係する。
【背景技術】
【０００３】
メモリは、データにアクセスする方法にしたがってシングルポートメモリおよびデュアルポートメモリへと分類されることがある。シングルポートメモリと比較して、デュアルポートメモリは、別々の読出制御回路および書込制御回路を有するので高速でデータを読み出し且つ書き込むことができ、したがって、コンピュータ関連分野において広く使用されている。例えば、デュアルポートランダムアクセスメモリ(RAM)および先入力先出力(FIFO)などの、デュアルポートメモリは、ホストと外部装置との間の通信用に、およびホスト間の通信用に使用されることがある。しかしながら、デュアルポートメモリが別々の読出制御回路および書込制御回路を有するので、これらが比較的広いダイの大きさを占有し、これによってこれらのデュアルポートメモリを有する回路構成要素の製造コストを増加させる。
【０００４】
図1Aは、M×2Nの容量を有する先行技術のデュアルポートメモリ101のブロック図である。図1Bは、図1A中のデュアルポートメモリ101に関係する信号のタイミング図を示す。図1Aが、図1Bとの組み合わせで説明される。図1Aに示したように、デュアルポートメモリ101は、読出動作クロック信号端子CLKA、読出動作イネーブル信号端子CENA、読出動作アドレス入力端子AA、読出動作データ出力端子QA、書込動作クロック信号端子CLKB、書込動作イネーブル信号端子CENB、書込動作アドレス入力端子AB、および書込動作データ入力端子DBを含む。
【０００５】
図1Bに示したように、デュアルポートメモリ101からデータを読み出すときには、読出動作イネーブル信号端子CENAは論理ロー状態であり、読出アドレスが、読出動作アドレス入力端子AAを介して入力され、読出アドレスのところのデータが、次のクロックサイクル中に読出動作データ出力端子QAを介して出力される。デュアルポートメモリ101の中へデータを書き込むときには、書込動作イネーブル信号端子CENBは論理ロー状態であり、書込アドレスが、書込動作アドレス入力端子ABを介して入力され、データが、書込動作データ入力端子DBを介して書込アドレスの中へ書き込まれる。図1Bに示したように、読出動作および書込動作が、アクセス速度を早くするためにデュアルポートメモリ101内で同時に実行されることが可能である。しかしながら、デュアルポートメモリ101のダイサイズが比較的大きく、このために、デュアルポートメモリ101を製造するためのコストは、相対的に高い。
【発明の概要】
【課題を解決するための手段】
【０００６】
本教示は、メモリに関係し、より詳しくはデュアルポートメモリおよびその方法に関係する。
【０００７】
一例では、第1のシングルポートメモリおよび第2のシングルポートメモリを含むデュアルポートメモリが提供される。第1のシングルポートメモリは、デュアルポートメモリの偶数アドレス中のデータを記憶するように構成される。第2のシングルポートメモリは、デュアルポートメモリの奇数アドレス中のデータを記憶するように構成される。デュアルポートメモリは、奇数アドレスからデータを読み出す読出動作および偶数アドレスの中へデータを書き込む書込動作を同時に実行する。デュアルポートメモリは、偶数アドレスからデータを読み出す読出動作および同時に奇数アドレスの中へデータを書き込む書込動作を実行する。
【０００８】
別の一例では、デュアルポートメモリを利用する方法が提供される。デュアルポートメモリの偶数アドレスのところのデータが、第1のシングルポートメモリの中に記憶される。デュアルポートメモリの奇数アドレスのところのデータが、第2のシングルポートメモリの中に記憶される。第1のシングルポートメモリおよび第2のシングルポートメモリは、マルチプレクサの第1の対によって使用可能にされる。書込イネーブル信号が、選択したシングルポートメモリを使用可能にして書込動作を実行するために、マルチプレクサの第2の対によって第1のシングルポートメモリおよび第2のシングルポートメモリのうちの選択したシングルポートメモリへ与えられる。書込アドレスが、選択したシングルポートメモリを使用可能にして書込アドレスの中へデータを書き込むために、マルチプレクサの第3の対によって選択したシングルポートメモリへ与えられる。
【０００９】
権利を主張する主題の実施形態の特徴および利点は、下記の詳細な説明が進むにつれ、そして図面を参照すると明らかになるであろう。図面では、類似の参照番号は、類似の部品を図示する。これらの例示的な実施形態が、図面を参照して詳細に説明される。これらの実施形態は、非限定的である例示的な実施形態であり、実施形態では、類似の参照番号は、図面の複数の図を通して類似した構造を表す。
【図面の簡単な説明】
【００１０】
【図１Ａ】先行技術のデュアルポートメモリのブロック図である。
【図１Ｂ】図1A中のデュアルポートメモリに関係する信号のタイミング図である。
【図２】本教示の一実施形態によるデュアルポートメモリのブロック図である。
【図３】本教示の一実施形態によるデュアルポートメモリの詳細なブロック図である。
【図３Ａ】図3中のシングルポートメモリのブロック図である。
【図４Ａ】本教示の一実施形態によるデュアルポートメモリ内のマルチプレクサ用の選択信号発生回路のブロック図である。
【図４Ｂ】本教示の一実施形態によるデュアルポートメモリ内のマルチプレクサ用の選択信号発生回路のブロック図である。
【図４Ｃ】本教示の一実施形態によるデュアルポートメモリ内のマルチプレクサ用の選択信号発生回路のブロック図である。
【図４Ｄ】本教示の一実施形態によるデュアルポートメモリ内のマルチプレクサ用の選択信号発生回路のブロック図である。
【図５】本教示の一実施形態による図3中のデュアルポートメモリに関係する信号のタイミング図である。
【図６】本教示の一実施形態にしたがってデュアルポートメモリによって実行される動作の流れ図である。
【発明を実施するための形態】
【００１１】
本教示の実施形態への参照を、ここで詳細に行う。本教示がこれらの実施形態とともに説明されるが、これらの実施形態が本教示をこれらの実施形態に限定するようには意図していないことが、理解されるであろう。対照的に、本教示は、別記の特許請求の範囲によって規定されるような本教示の精神および範囲内に含まれることが可能な代替形態、変形形態および等価物を包含するように意図されている。
【００１２】
さらにその上、本教示の下記の詳細な説明では、数多くの具体的な詳細が、本教示の十分な理解を与えるために説明される。しかしながら、本教示がこれらの具体的な詳細がなくとも実行されうることを、当業者なら認識するであろう。別の事例では、良く知られた方法、手順、構成要素、および回路が、本教示の態様を不必要に不明瞭にしないために、詳細には説明されていない。
【００１３】
図2は、本教示の一実施形態によるデュアルポートメモリ200のブロック図を示す。デュアルポートメモリ200は、デュアルポートメモリ200の奇数アドレスのところのデータを記憶するためにM×Nの容量を有する奇数アドレスシングルポートメモリ201、デュアルポートメモリ200の偶数アドレスのところのデータを記憶するためにM×Nの容量を有する偶数アドレスシングルポートメモリ202、偶数アドレスシングルポートメモリ202に接続されたマルチプレクサ212、奇数アドレスシングルポートメモリ201に接続されたマルチプレクサ213、およびデータを出力するためのマルチプレクサ214を含む。
【００１４】
この例では、デュアルポートメモリ200のアドレスは、偶数アドレスおよび奇数アドレスへと分類される。偶数アドレスシングルポートメモリ202は、偶数アドレスのところのデータを記憶し、奇数アドレスシングルポートメモリ201は、奇数アドレスのところのデータを記憶する。動作では、デュアルポートメモリ200の偶数アドレスのところのデータが読み出されるときには、偶数アドレスシングルポートメモリ202は、マルチプレクサ212を介して偶数アドレスを受け取り、偶数アドレスのところのデータを読み出すために読出動作を実行し、同時に、奇数アドレスシングルポートメモリ201は、マルチプレクサ213を介してデュアルポートメモリ200の奇数アドレスを受け取り、奇数アドレスのところにデータを書き込むために書込動作を実行する。その一方で、デュアルポートメモリ200の奇数アドレスのところのデータが読み出されるときには、奇数アドレスシングルポートメモリ201は、マルチプレクサ213を介して奇数アドレスを受け取り、奇数アドレスのところのデータを読み出すために読出動作を実行し、同時に、偶数アドレスシングルポートメモリ202は、マルチプレクサ212を介してデュアルポートメモリ200の偶数アドレスを受け取り、偶数アドレスのところにデータを書き込むために書込動作を実行する。
【００１５】
偶数アドレスシングルポートメモリ202および奇数アドレスシングルポートメモリ201の合計サイズは、先行技術のデュアルポートメモリのサイズよりも小さく、したがって、デュアルポートメモリを製造するコストは減少する。
【００１６】
図3は、本教示の一実施形態によるデュアルポートメモリ200の詳細なブロック図を示す。この例におけるデュアルポートメモリ200は、デュアルポートメモリ200の奇数アドレスのところのデータを記憶するように構成された奇数アドレスシングルポートメモリ301、およびデュアルポートメモリ200の偶数アドレスのところのデータを記憶するように構成された偶数アドレスシングルポートメモリ302を含む。
【００１７】
この例におけるデュアルポートメモリ200は、複数の端子、例えば、クロック信号端子CLK、読出動作イネーブル信号端子CENA、読出動作アドレス入力端子AA、書込動作イネーブル信号端子CENB、書込動作アドレス入力端子AB、書込動作データ入力端子DB、およびデータ出力端子QAを含む。シングルポートメモリ301および302の各々は、図3Aと組み合わせて詳細に図説される複数の端子を含む。内部奇数アドレスシングルポートメモリ201および内部偶数アドレスシングルポートメモリ202の端子とデュアルポートメモリ200の外部端子との間の関係が、下記に図説される。
【００１８】
図3Aは、図3中のシングルポートメモリのブロック図を示す。この例におけるシングルポートメモリ340は、クロック信号端子CLK、チップイネーブル信号端子CEN、書込イネーブル信号端子WEN、読出/書込アドレス入力端子A、書込データ入力端子Dおよびデータ出力端子Qを含む。シングルポートメモリ340からデータを読み出すまたはシングルポートメモリ340の中へデータを書き込むときには、チップイネーブル信号端子CENは論理ロー状態である。シングルポートメモリ340からデータを読み出すときには、アドレスが読出/書込アドレス入力端子Aを介して入力され、データは、次のクロックサイクル中にデータ出力端子Qを介して出力されうる。シングルポートメモリ340の中へデータを書き込むときには、書込イネーブル信号端子WENは論理ロー状態であり、アドレスが読出/書込アドレス入力端子Aを介して入力され、データがデータ入力端子Dを介してそのアドレスの中へ書き込まれる。
【００１９】
図3を参照して、この例では、デュアルポートメモリ200のクロック信号端子CLKが、偶数アドレスシングルポートメモリ302のクロック信号端子CLK_EVENおよび奇数アドレスシングルポートメモリ301のクロック信号端子CLK_ODDに接続される。デュアルポートメモリ200の書込動作データ入力端子DBが、偶数アドレスシングルポートメモリ302の書込データ入力端子D_EVENおよび奇数アドレスシングルポートメモリ301の書込データ入力端子D_ODDに接続される。
【００２０】
この例におけるデュアルポートメモリ200は、デュアルポートメモリ200の外部読出動作イネーブル信号R_ENまたは外部書込動作イネーブル信号W_ENを選択することによって偶数アドレスシングルポートメモリ302のチップイネーブル信号端子CEN_EVENおよび奇数アドレスシングルポートメモリ301のチップイネーブル信号端子CEN_ODDへイネーブル信号を与えるように構成されたマルチプレクサの第1の対310を含む。
【００２１】
この例では、マルチプレクサの第1の対310は、第1のマルチプレクサ304および第2のマルチプレクサ303を含む。第1のマルチプレクサ304の入力端子Aが、外部読出動作イネーブル信号R_ENを受け取るために読出動作イネーブル信号端子CENAに接続され、第1のマルチプレクサ304のもう1つの入力端子Bが、外部書込動作イネーブル信号W_ENを受け取るために書込動作イネーブル信号端子CENBに接続される。第1のマルチプレクサ304の選択信号は、図4Aと組み合わせて下記に説明される。したがって、第1のマルチプレクサ304は、外部読出動作イネーブル信号R_ENまたは外部書込動作イネーブル信号W_ENを選択することによって偶数アドレスシングルポートメモリ302のチップイネーブル信号端子CEN_EVENへイネーブル信号を与える。第2のマルチプレクサ303の入力端子Aが、読出動作イネーブル信号端子CENAに接続され、第2のマルチプレクサ303のもう1つの入力端子Bが、書込動作イネーブル信号端子CENBに接続される。第2のマルチプレクサ303の選択信号は、図4Aと組み合わせて下記に説明される。したがって、第2のマルチプレクサ303は、外部読出動作イネーブル信号R_ENまたは外部書込動作イネーブル信号W_ENを選択することによって奇数アドレスシングルポートメモリ301のチップイネーブル信号端子CEN_ODDへイネーブル信号を与える。このために、各シングルポートメモリに対して、読出動作または書込動作を実行するかどうかで、対応するチップイネーブル信号端子が常に使用可能にされる。
【００２２】
この例では、デュアルポートメモリ200は、外部書込動作イネーブル信号W_ENおよび信号マスク、例えばディジタル1を選択することによって、偶数アドレスシングルポートメモリ302の書込イネーブル信号端子WEN_EVENおよび奇数アドレスシングルポートメモリ301の書込イネーブル信号端子WEN_ODDへ書込イネーブル信号を与えるように構成されたマルチプレクサの第2の対320をさらに含む。
【００２３】
この例では、マルチプレクサの第2の対320は、第3のマルチプレクサ306および第4のマルチプレクサ305を含む。第3のマルチプレクサ306の入力端子Aが信号マスク(ディジタル1)を受け取り、第3のマルチプレクサ306のもう1つの入力端子Bが、外部書込動作イネーブル信号W_ENを受け取るために書込動作イネーブル信号端子CENBに接続される。第3のマルチプレクサ306の選択信号は、図4Bと組み合わせて下記に説明される。したがって、第3のマルチプレクサ306は、外部書込動作イネーブル信号W_ENまたは信号マスクを選択することによって、偶数アドレスシングルポートメモリ302の書込イネーブル信号端子WEN_EVENへ書込イネーブル信号を与える。第4のマルチプレクサ305の入力端子Aが信号マスク(ディジタル1)に接続され、第4のマルチプレクサ305のもう1つの入力端子Bが書込動作イネーブル信号端子CENBに接続される。第4のマルチプレクサ305の選択信号は、図4Bと組み合わせて下記に説明される。したがって、第4のマルチプレクサ305は、外部書込動作イネーブル信号W_ENまたは信号マスクを選択することによって、奇数アドレスシングルポートメモリ301の書込イネーブル信号端子WEN_ODDへ書込イネーブル信号を与える。
【００２４】
このために、各シングルポートメモリに対して、書込動作を実行するときには、対応するマルチプレクサを介して外部書込動作イネーブル信号W_ENを受け取ることによって、対応する書込イネーブル信号端子が使用可能にされる。それ以外は、対応する書込イネーブル信号端子は、信号マスク(ディジタル1)によって使用不能にされる。
【００２５】
この例では、デュアルポートメモリ200は、外部読出アドレスADDAAまたは外部書込アドレスADDABに基づいて偶数アドレスシングルポートメモリ302および奇数アドレスシングルポートメモリ301へ読出/書込アドレスを与えるように構成されたマルチプレクサの第3の対330をさらに含む。
【００２６】
この例では、マルチプレクサの第3の対330は、第5のマルチプレクサ308および第6のマルチプレクサ307を含む。第5のマルチプレクサ308の入力端子Aが、読出動作アドレス入力端子AAに接続されて外部読出アドレスADDAAを2で割った商である第1のアドレス(ADDAA /2)を受け取り、第5のマルチプレクサ308のもう1つの入力端子Bが、書込動作アドレス入力端子ABに接続されて外部書込アドレスADDABを2で割った商である第2のアドレス(ADDAB /2)を受け取る。第5のマルチプレクサ308の選択信号は、図4Cと組み合わせて下記に説明される。したがって、第5のマルチプレクサ308は、第1のアドレスまたは第2のアドレスを選択することによって、偶数アドレスシングルポートメモリ302へ読出/書込アドレスを与える。第6のマルチプレクサ307の入力端子Aが、読出動作アドレス入力端子AAに接続されて第1のアドレスを受け取り、第6のマルチプレクサ307のもう1つの入力端子Bが、書込動作アドレス入力端子ABに接続されて第2のアドレスを受け取る。第6のマルチプレクサ307の選択信号は、図4Cと組み合わせて下記に説明される。したがって、第6のマルチプレクサ307は、第1のアドレス(ADDAA /2)または第2のアドレス(ADDAB /2)を選択することによって、奇数アドレスシングルポートメモリ301へ書込/読出アドレスを与える。
【００２７】
このために、各シングルポートメモリに対して、読出動作を実行するときには、対応する読出/書込アドレス入力端子は、マルチプレクサの第3の対330を介して外部書込アドレスを2で割った商である第1のアドレス(ADDAA /2)を受け取る。書込動作を実行するときには、対応する読出/書込アドレス入力端子Aは、マルチプレクサの第3の対330を介して外部書込アドレスを2で割った商である第2のアドレス(ADDAB /2)を受け取る。
【００２８】
この例では、デュアルポートメモリ200は、偶数アドレスシングルポートメモリ302および奇数アドレスシングルポートメモリ301のデータ出力端子Q_EVENおよびQ_ODDに接続された出力マルチプレクサ309をさらに含む。出力マルチプレクサ309は、偶数アドレスシングルポートメモリ302および奇数アドレスシングルポートメモリ301から読み出したデータを出力するように構成される。出力マルチプレクサ309の選択信号は、図4Dと組み合わせて下記に説明される。
【００２９】
この例では、出力マルチプレクサ309の入力端子Aが、偶数アドレスシングルポートメモリ302に接続され、もう1つの入力端子Bが、奇数アドレスシングルポートメモリ301に接続され、データ出力端子QAが、偶数アドレスシングルポートメモリ302および奇数アドレスシングルポートメモリ301から読み出したデータを出力する。偶数アドレスシングルポートメモリ302が読出動作を実行するときには、出力マルチプレクサ309は、データ出力端子Q_EVENのところのデータを選択し、データ出力端子QAを介してデータを出力する。奇数アドレスシングルポートメモリ301が読出動作を実行するときには、出力マルチプレクサ309は、奇数アドレスシングルポートメモリ301のデータ出力端子Q_ODDのところのデータを選択し、データ出力端子QAを介してデータを出力する。
【００３０】
この例では、前述のマルチプレクサ303〜308の選択信号は、外部読出アドレスADDAAおよび外部書込アドレスADDABのパリティによって決定される。例えば、選択信号は、外部読出アドレスADDAAの最下位ビット(LSB)および外部書込アドレスADDABの最下位ビット(LSB)についての論理演算によって決定されうる。一実施形態では、選択信号が第1の状態、例えば、論理ハイである場合には、マルチプレクサの端子Bのところの信号が選択され、選択信号が第2の状態、例えば、論理ローである場合には、マルチプレクサの端子Aのところの信号が選択される。
【００３１】
一実施形態では、読出動作および書込動作が同時に実行されるときには、マルチプレクサの各対の選択信号は、互いに反対である。例えば、偶数アドレスの中へデータを書き込み且つ奇数アドレスからデータを読み出すときには、第1のマルチプレクサ304の選択信号は、第1の状態、例えば、論理ハイであり、したがって、マルチプレクサ304の入力端子Bのところの外部書込動作イネーブル信号W_ENが選択され、偶数アドレスシングルポートメモリ302を使用可能にするために端子CEN_EVENへ出力される。同時に、第2のマルチプレクサ303の選択信号は、第2の状態、例えば、論理ローであり、したがって、第2のマルチプレクサ303の入力端子Aのところの外部読出動作イネーブル信号R_ENが選択され、奇数アドレスシングルポートメモリ301を使用可能にするために端子CEN_ODDへ出力される。
【００３２】
図4Aは、本教示の一実施形態によるデュアルポートメモリ200のマルチプレクサの第1の対310用の選択信号発生回路410および420のブロック図を示す。この例では、第1の選択信号発生回路420は、外部読出動作イネーブル信号R_ENおよび外部読出アドレスADDAAの最下位ビット(ADDAA[0])を受け取るように構成されたORゲート424、外部書込動作イネーブル信号W_ENおよび外部書込アドレスADDABの最下位ビット(ADDAB[0])を受け取るように構成されたORゲート426、ならびにORゲート424および426の出力を受け取り、第1のマルチプレクサ304への選択信号として出力信号を与えるように構成されたANDゲート422を含む。
【００３３】
同様に、第2の選択信号発生回路410は、外部読出動作イネーブル信号R_ENおよび外部読出アドレスADDAAの最下位ビット(ADDAA[0])を受け取るように構成されたORゲート413、外部書込動作イネーブル信号W_ENおよび外部書込アドレスADDABの最下位ビット(ADDAB[0])を受け取るように構成されたORゲート415、ならびにORゲート413および415の出力を受け取り、第2のマルチプレクサ303への選択信号として出力信号を与えるように構成されたANDゲート411を含む。
【００３４】
図4Bは、本教示の一実施形態によるデュアルポートメモリ200のマルチプレクサの第2の対320用の選択信号発生回路440のブロック図を示す。図4Bの例に示したように、第3のマルチプレクサ306用の選択信号発生回路440は、外部書込アドレスADDABの最下位ビット(ADDAB[0])を受け取り、第3のマルチプレクサ306への選択信号としてADDAB[0]の逆信号を出力するように構成されたNOTゲート442を含む。第4のマルチプレクサ305の選択端子Sは、選択信号として外部書込アドレスADDABの最下位ビット(ADDAB[0])を受け取る。
【００３５】
図4Cは、本教示の一実施形態によるデュアルポートメモリ200のマルチプレクサの第3の対330用の選択信号発生回路450および460のブロック図を示す。図4Cの例に示したように、第5のマルチプレクサ308用の選択信号発生回路460は、外部書込動作イネーブル信号W_ENおよび外部書込アドレスADDABの最下位ビット(ADDAB[0])を受け取り、第5のマルチプレクサ308への選択信号として出力を与えるように構成されたNORゲート462を含む。第6のマルチプレクサ307用の選択信号発生回路450は、外部書込動作イネーブル信号W_ENおよび外部書込アドレスADDABの最下位ビット(ADDAB[0])を受け取り、第6のマルチプレクサ307への選択信号として出力を与えるように構成されたANDゲート451を含む。
【００３６】
出力マルチプレクサ309の選択信号は、外部読出アドレスADDAAのパリティによって決定されうる。図4Dは、出力マルチプレクサ309用の選択信号発生回路470のブロック図を示す。一実施形態では、選択信号発生回路470は、外部読出アドレスADDAAの最下位ビット(ADDAA[0])を受け取り、マルチプレクサ309への選択信号として次のクロックサイクル中に出力信号を与えるように構成されたDフリップフロップ(DFF)472を含む。別のタイプのフリップフロップが、出力マルチプレクサ309用の選択信号を発生するためにやはり使用されうることが、理解されるはずである。
【００３７】
例えば、外部読出アドレスADDAAが奇数、例えば、[00000011]である場合には、最下位ビットADDAA[0]は1であり、マルチプレクサ309の選択信号はディジタル1であり、そのときには、マルチプレクサ309の端子Bのところのデータが選択され、奇数アドレスシングルポートメモリ301から読み出されたデータが、端子QAを介して出力される。外部読出アドレスが偶数、例えば、[00000010]である場合には、最下位ビットADDAA[0]は0であり、マルチプレクサ309の選択信号はゼロであり、そのときには、マルチプレクサ309の端子Aのところのデータが選択され、偶数アドレスシングルポートメモリ302から読み出されたデータが、端子QAを介して出力される。
【００３８】
図5は、本教示の一実施形態による、図3中のデュアルポートメモリに関係する信号のタイミング図を示す。本教示のデュアルポートメモリ200の動作が、図3、図4A〜図4Dおよび図5を組み合わせて図説される。
【００３９】
図5に示したように、奇数アドレスシングルポートメモリ301および偶数アドレスシングルポートメモリ302は、同じ外部クロックを使用して動作することできる。奇数アドレスシングルポートメモリ301は、デュアルポートメモリ200の奇数アドレスからデータを読み出すときまたはその中へデータを書き込むときに動作し、偶数アドレスシングルポートメモリ302は、デュアルポートメモリ200の偶数アドレスからデータを読み出すときまたはその中へデータを書き込むときに動作する。その上、この例におけるデュアルポートメモリ200は、また、1つのアドレス上で読出動作をおよび同時に反対のパリティを有するもう1つのアドレス上に書込動作を実行することができる。
【００４０】
一実施形態では、外部読出動作イネーブル信号R_ENがローになり、外部書込動作信号W_ENがハイになり、且つ端子AAを介したアドレス入力が偶数であるときには、デュアルポートメモリ200内の偶数アドレスシングルポートメモリ302が使用可能にされ、デュアルポートメモリ200の偶数アドレス上で読出動作を実行する。
【００４１】
図5の例に示したように、時間T0において、読出動作イネーブル信号端子CENAのところの外部読出動作イネーブル信号R_ENはローであり、偶数外部読出アドレスADDAAが端子AAを介して入力される。したがって、最下位ビットADDAA[0]はディジタルゼロである。図4Aを参照して、ORゲート424の出力がローになる。書込動作イネーブル信号端子CENBのところの書込動作イネーブル信号W_ENはハイであり、ORゲート426の出力がハイになり、ANDゲート422の出力がローになる。したがって、第1のマルチプレクサ304の選択信号がローになり、これが偶数アドレスシングルポートメモリ302へ出力するために端子Aのところの外部読出動作イネーブル信号R_EN(これはローである)を選択する。このために、端子CEN_EVENのところの信号がローになるので、偶数アドレスシングルポートメモリ302が使用可能にされる。
【００４２】
図4A中の選択信号発生回路410を参照して、ORゲート413および415の出力はハイであり、このために、ANDゲート411の出力がハイになる。マルチプレクサ303の選択信号がハイになり、奇数アドレスシングルポートメモリ301へ出力するために端子Bのところの外部書込動作イネーブル信号W_EN(これはハイである)を選択する。端子CEN_ODDのところの信号がハイになるので、奇数アドレスシングルポートメモリ301が使用不能にされる。
【００４３】
時間T0においては、書込動作アドレス入力端子ABのところの外部書込アドレスADDABは無効であり、書込動作イネーブル信号端子CENBのところの外部書込動作イネーブル信号W_ENはハイである。図4Bに示した例によれば、マルチプレクサ306の入力は、両方とも論理ハイである。最下位ビットADDAB[0]がディジタル1であるかディジタルゼロであるかどうかにかかわらず、マルチプレクサ306の出力がハイになり、偶数アドレスシングルポートメモリ302の書込動作を使用不能にするために偶数アドレスシングルポートメモリ302の書込イネーブル信号端子WEN_EVENへ送られる。
【００４４】
図4Cを参照して、書込動作イネーブル信号端子CENBのところの外部書込動作イネーブル信号W_ENが時間T0においてハイであるので、NORゲート462の出力はローであり、したがって、マルチプレクサ308用の選択信号はローである。そのために、マルチプレクサ308の端子Aのところの第1のアドレス(ADDAA /2)、これは外部読出アドレスADDAAを2で割った商である、が選択され、偶数アドレスシングルポートメモリ302の読出/書込アドレス入力端子A_EVENへ送られる。したがって、デュアルポートメモリ200内の偶数アドレスシングルポートメモリ302が、使用可能にされ、デュアルポートメモリ200の偶数アドレス上で読出動作を実行する。
【００４５】
出力マルチプレクサ309は、DFF472によって与えられる選択信号にしたがってデュアルポートメモリ200の偶数アドレスから読み出したデータを出力する。図4Dを参照して、外部読出アドレスADDAAが偶数であるので、最下位ビットADDAA[0]はディジタルゼロであり、DFF472は、次のクロックサイクル中にディジタルゼロを出力する。このために、出力マルチプレクサ309の端子Aのところのデータが選択され、時間T1においてデータ出力端子QAを介して出力される。
【００４６】
同様に、読出動作を、デュアルポートメモリ200の奇数アドレス上でやはり実行することができる。デュアルポートメモリ200の奇数アドレス上で実行される読出動作は、偶数アドレス上で実行される読出動作と同様であり、簡潔さおよび明瞭さのために繰り返しては説明しない。
【００４７】
一実施形態では、書込動作イネーブル信号W_ENがローになり、読出動作イネーブル信号R_ENがハイになり、且つ端子ABを介したアドレス入力が奇数であるときには、デュアルポートメモリ200内の奇数アドレスシングルポートメモリ301が、使用可能になり、デュアルポートメモリ200の奇数アドレス上に書込動作を実行する。
【００４８】
図5の例に示したように、時間T2においては、書込動作イネーブル信号端子CENBのところの外部書込動作イネーブル信号W_ENはローであり、外部読出動作イネーブル信号R_ENはハイであり、奇数アドレスADDABが端子ABを介して入力される。したがって、最下位ビットADDAB[0]は、ディジタル1である。図4Aを参照して、ORゲート413の出力はハイであり、ORゲート415の出力はハイであり、ANDゲート411の出力はハイである。したがって、第2のマルチプレクサ303の選択信号はハイであり、これが奇数アドレスシングルポートメモリ301へ出力するためにマルチプレクサ303の端子Bのところの外部書込動作イネーブル信号W_EN(これはローである)を選択する。このために、端子CEN_ODDのところの信号がローであるので、奇数アドレスシングルポートメモリ301が使用可能にされる。
【００４９】
図4A中の選択信号発生回路420を参照して、ORゲート424および426の出力は、それぞれハイおよびローであり、そのときにはANDゲート422の出力はローである。このために、マルチプレクサ304の選択信号がローになり、マルチプレクサ304の端子Aのところの外部読出動作イネーブル信号R_EN(これは論理ハイである)が、選択され、且つ偶数アドレスシングルポートメモリ302へ出力される。端子CEN_EVENのところの信号がハイになるので、偶数アドレスシングルポートメモリ302が使用不能にされる。
【００５０】
時間T2において、書込動作アドレス入力端子ABのところの外部書込アドレスADDABが入力される。アドレスADDABが奇数であるので、最下位ビットADDAB[0]は、ディジタル1である。このために、マルチプレクサ305の選択信号がハイになり、マルチプレクサ305の端子Bのところの外部書込動作イネーブル信号W_EN(これはローである)が、選択され、奇数アドレスシングルポートメモリ301の書込動作を使用可能にするために奇数アドレスシングルポートメモリ301の書込イネーブル信号端子WEN_ODDへ送られる。
【００５１】
図4Cの例では、ADDAB[0]がディジタル1であり且つ外部書込動作イネーブル信号W_ENが時間T2においてディジタルゼロであるので、このために、ANDゲート451の出力はハイである。マルチプレクサ307用の選択信号はハイであり、マルチプレクサ307の端子Aのところの第2のアドレス(ADDAB /2)(これは外部書込アドレスADDABを2で割った商である)が選択され、奇数アドレスシングルポートメモリ301の読出/書込アドレス入力端子A_ODDへ送られる。同時に、時間T2において、データが、書込動作データ入力端子DBを介して入力され、奇数アドレスシングルポートメモリ301のデータ入力端子D_ODDへ送られる。このために、デュアルポートメモリ200内の奇数アドレスシングルポートメモリ301が使用可能にされ、デュアルポートメモリ200の奇数アドレス上に書込動作を実行する。
【００５２】
同様に、書込動作を、デュアルポートメモリ200の偶数アドレス上にやはり実行することができる。デュアルポートメモリ200の偶数アドレス上に実行する書込動作は、奇数アドレス上に実行する書込動作と同様であり、簡潔さおよび明瞭さのために繰り返しては説明しない。
【００５３】
一実施形態では、デュアルポートメモリ200は、あるアドレス上で読出動作を実行し、同時に反対のパリティを有するもう1つのアドレス上に書込動作を実行することができる。すなわち、読出動作アドレスおよび書込動作アドレスが異なるパリティを有する。一実施形態では、外部読出動作イネーブル信号R_ENおよび書込動作イネーブル信号W_ENの両方がローであり、書込動作アドレス入力端子ABのところの外部書込アドレスADDABが偶数であり、且つ読出動作アドレス入力端子AAのところの外部読出アドレスADDAAが奇数であるとき、そのときには、書込動作が、デュアルポートメモリ200の偶数アドレス上に実行され、読出動作がデュアルポートメモリ200の奇数アドレス上で実行される。
【００５４】
図5に示したように、時間T3においては、外部読出動作イネーブル信号R_ENおよび書込動作イネーブル信号W_ENの両方がローであり、奇数外部読出アドレスADDAAが端子AAを介して入力され、偶数外部書込アドレスADDABが端子ABを介して入力される。したがって、最下位ビットADDAA[0]はディジタル1であり、最下位ビットADDAB[0]はディジタルゼロである。図4Aを参照して、ORゲート424および426の出力はハイであり、ANDゲート422の出力はハイである。したがって、第1のマルチプレクサ304の選択信号がハイになり、これが偶数アドレスシングルポートメモリ302へ出力するために端子Bのところの書込動作イネーブル信号W_EN(これは論理ローである)を選択する。このために、端子CEN_EVENのところの信号がローになるので、偶数アドレスシングルポートメモリ302が使用可能にされる。
【００５５】
図4A中の選択信号発生回路410を参照して、ORゲート413および415の出力はローであり、ANDゲート411の出力はローである。したがって、第2のマルチプレクサ303の選択信号がローになり、これが奇数アドレスシングルポートメモリ301へ出力するために端子Aのところの読出動作イネーブル信号R_EN(これは論理ローである)を選択する。このために、端子CEN_ODDのところの信号がローになるので、奇数アドレスシングルポートメモリ301が使用可能にされる。
【００５６】
図4Bを参照して、最下位ビットADDAB[0]がディジタルゼロであるので、NOTゲート442の出力はハイであり、このために、マルチプレクサ306の選択信号がハイになり、マルチプレクサ306の端子Bのところの外部書込動作イネーブル信号W_EN(これはローである)が選択され、偶数アドレスシングルポートメモリ302の書込動作を使用可能にするために偶数アドレスシングルポートメモリ302の書込イネーブル信号端子WEN_EVENへ送られる。マルチプレクサ305の選択信号がローであり、マルチプレクサ305の端子Aのところの信号マスク(ディジタル1)が選択され、奇数アドレスシングルポートメモリ301の書込動作を使用不能にするために奇数アドレスシングルポートメモリ301の書込イネーブル信号端子WEN_ODDへ送られる。
【００５７】
図4Cに示したように、書込動作イネーブル信号端子CENBのところの外部書込動作イネーブル信号W_ENが時間T3においてローであり、且つADDAB[0]がディジタルゼロであるので、NORゲート462の出力はハイである。したがって、マルチプレクサ308用の選択信号はハイである。このために、マルチプレクサ308の端子Bのところの第2のアドレス(ADDAB /2)、これは外部書込アドレスADDABを2で割った商である、が選択され、偶数アドレスシングルポートメモリ302の読出/書込アドレス入力端子A_EVENへ送られる。したがって、デュアルポートメモリ200内の偶数アドレスシングルポートメモリ302が使用可能にされ、デュアルポートメモリ200の偶数アドレス上に書込動作を実行する。
【００５８】
図4C中のANDゲート451の出力はローである。このために、マルチプレクサ307の端子Aのところの第1のアドレス(ADDAA /2)、これは外部読出アドレスADDAAを2で割った商である、が選択され、奇数アドレスシングルポートメモリ301の読出/書込アドレス入力端子A_ODDへ送られる。したがって、デュアルポートメモリ200内の奇数アドレスシングルポートメモリ301が使用可能にされ、デュアルポートメモリ200の奇数アドレス上で読出動作を実行する。
【００５９】
出力マルチプレクサ309は、DFF472によって与えられる選択信号にしたがって、デュアルポートメモリ200の奇数アドレスから読み出したデータを出力する。図4Dを参照して、外部読出アドレスADDAAの最下位ビットADDAA[0]がディジタル1であるので、DFF472は、次のクロックサイクル(時間T4)中にはディジタル1を出力する。このために、マルチプレクサ309の端子Bのところのデータが、選択され、時間T4において出力端子QAを介して出力される。
【００６０】
同様に、書込動作が、デュアルポートメモリ200の奇数アドレス上にやはり実行されることが可能であり、読出動作が、同時にデュアルポートメモリ200の偶数アドレス上で実行されることが可能である。動作は、上に説明した動作と同様であり、簡潔さおよび明瞭さのために繰り返しては説明しない。
【００６１】
図6は、本教示の一実施形態にしたがって、デュアルポートメモリ200によって実行される動作の流れ図を示す。図6が、図3、図4A〜図4Dおよび図5と組み合わせて説明される。具体的なステップが図6に開示されるが、かかるステップは例示である。すなわち、本教示は、図6に列挙したステップの他の様々なステップまたは変形形態を実行するために良く適している。
【００６２】
ステップ601では、デュアルポートメモリ200の偶数アドレスのところのデータが、偶数アドレスシングルポートメモリ302中に記憶される。ステップ602では、デュアルポートメモリ200の奇数アドレスのところのデータが、奇数アドレスシングルポートメモリ301中に記憶される。一実施形態では、デュアルポートメモリ200のクロック信号端子CLKが、偶数アドレスシングルポートメモリ302のクロック信号端子CLK_EVENおよび奇数アドレスシングルポートメモリ301のクロック信号端子CLK_ODDに接続される。デュアルポートメモリ200の書込動作データ入力端子DBが、偶数アドレスシングルポートメモリ302の書込データ入力端子D_EVENおよび奇数アドレスシングルポートメモリ301の書込データ入力端子D_ODDに接続される。
【００６３】
この例では、デュアルポートメモリ200の外部端子が、マルチプレクサの複数の対を介して偶数アドレスシングルポートメモリ302および奇数アドレスシングルポートメモリ301の端子に接続される。ステップ603では、マルチプレクサの第1の対310は、偶数アドレスシングルポートメモリ302および奇数アドレスシングルポートメモリ301へイネーブル信号を与える。例えば、マルチプレクサの第1の対310は、それぞれ偶数アドレスシングルポートメモリ302および奇数アドレスシングルポートメモリ301のチップイネーブル信号端子(CEN_EVENおよびCEN_ODD)に接続された第1のマルチプレクサ304および第2のマルチプレクサ303を含み、デュアルポートメモリ200の外部読出動作イネーブル信号R_ENまたは外部書込動作イネーブル信号W_ENを選択することによって、偶数アドレスシングルポートメモリ302および奇数アドレスシングルポートメモリ301へチップイネーブル信号を与える。
【００６４】
ステップ604では、マルチプレクサの第2の対320が、偶数アドレスシングルポートメモリ302および奇数アドレスシングルポートメモリ301のうちの選択したシングルポートメモリへ書込動作イネーブル信号を与える。例えば、マルチプレクサの第2の対320は、偶数アドレスシングルポートメモリ302および奇数アドレスシングルポートメモリ301の書込動作イネーブル信号端子(WEN_EVENおよびWEN_ODD)に接続された第3のマルチプレクサ306および第4のマルチプレクサ305を含み、外部書込動作イネーブル信号W_ENおよび信号マスク、例えば、ディジタル1を選択することによって、書込イネーブル信号を与える。
【００６５】
ステップ605では、マルチプレクサの第3の対330が、選択したシングルポートメモリを使用可能にして書込アドレスの中へデータを書き込むために、書込動作を実行している選択したシングルポートメモリへ書込アドレスを与える。例えば、マルチプレクサの第3の対330は、偶数アドレスシングルポートメモリ302および奇数アドレスシングルポートメモリ301の読出/書込アドレス入力端子(A_EVENおよびA_ODD)に接続された第5のマルチプレクサ308および第6のマルチプレクサ307を含み、外部読出アドレスADDAAまたは外部書込アドレスADDABに基づいて書込アドレスを与える。
【００６６】
一実施形態では、マルチプレクサの第3の対330は、外部読出アドレスADDAAを2で割った商である第1のアドレス(ADDAA /2)(すなわち、1ビットだけ右へシフトした外部読出アドレスADDAA)および外部書込アドレスADDABを2で割った商である第2のアドレス(ADDAB /2)(すなわち、1ビットだけ右へシフトした外部書込アドレスADDAB)を受け取り、選択したシングルポートメモリへ書込アドレスとして第2のアドレスを与える。
【００６７】
その上に、マルチプレクサの第3の対330は、別のシングルポートメモリを使用可能にして読出動作を実行するために、別のシングルポートメモリへ読出アドレスとして第2のアドレスに対して反対のパリティを有する第1のアドレスを与える。このために、デュアルポートメモリ200は、互いに反対のパリティを有する1つのアドレス上で読出動作を、もう1つのアドレス上で書込動作を同時に実行することができる。すなわち、奇数アドレスシングルポートメモリ301が、デュアルポートメモリ200の奇数アドレス上に書込動作を実行し、偶数アドレスシングルポートメモリ302が同時にデュアルポートメモリの偶数アドレス上で読出動作を実行する、または、奇数アドレスシングルポートメモリ301が、デュアルポートメモリ200の奇数アドレス上で読出動作を実行し、偶数アドレスシングルポートメモリ302が、同時にデュアルポートメモリの偶数アドレス上に書込動作を実行する。
【００６８】
一実施形態では、偶数アドレスシングルポートメモリ302または奇数アドレスシングルポートメモリ301から読み出したデータが、次のクロックサイクル中に出力マルチプレクサ309によって出力される。出力マルチプレクサ309の選択信号は、外部読出アドレスADDAAのパリティによって決定される。
【００６９】
マルチプレクサ303〜308の選択信号は、外部読出アドレスADDAAおよび外部書込アドレスADDABのパリティによって決定されうる。例えば、選択信号が、外部読出アドレスADDAAの最下位ビット(LSB)および外部書込アドレスADDABの最下位ビット(LSB)についての論理演算によって決定されることが可能である。一実施形態では、読出動作および書込動作が同時に実行されるときには、マルチプレクサの各対において選択信号は、互いに反対である。
【００７０】
上記のマルチプレクサ303〜308が、ANDゲート、ORゲート、独立したマルチプレクサ、または他の適した電子デバイスなどの複数の特定の電子デバイスによって実装されうることが、理解されるはずである。
【００７１】
2つのシングルポートメモリを使用することによって、本教示のデュアルポートメモリは、偶数アドレスの中へデータを書き込みながら奇数アドレスからデータを読み出し、且つ奇数アドレスの中へデータを書き込みながら偶数アドレスからデータを読み出すことができる。その上に、従来型のデュアルポートメモリと同じ容量およびアクセス速度を有する本教示のデュアルポートメモリを使用することによって、従来型のデュアルポートメモリの機能が実現されると同時に、ダイサイズが減少される。
【００７２】
上記の開示が例示的であることが、理解されるであろう。本教示は、上記の実例に限定されない。様々な変形形態および変更形態が本教示の特許請求の範囲の精神および範囲から逸脱せずに行いうることを、当業者なら理解するはずである。
【符号の説明】
【００７３】
200  デュアルポートメモリ
201  奇数アドレスシングルポートメモリ
202  偶数アドレスシングルポートメモリ
212  マルチプレクサ
213  マルチプレクサ
214  マルチプレクサ
【図１Ａ】
0005499131.tif 000002
【図１Ｂ】
0005499131.tif 000003
【図２】
0005499131.tif 000004
【図３】
0005499131.tif 000005
【図３Ａ】
0005499131.tif 000006
【図４Ａ】
0005499131.tif 000007
【図４Ｂ】
0005499131.tif 000008
【図４Ｃ】
0005499131.tif 000009
【図４Ｄ】
0005499131.tif 000010
【図５】
0005499131.tif 000011
【図６】
0005499131.tif 000012