JP2019057336A - 半導体集積回路 - Google Patents

半導体集積回路 Download PDF

Info

Publication number
JP2019057336A
JP2019057336A JP2017179448A JP2017179448A JP2019057336A JP 2019057336 A JP2019057336 A JP 2019057336A JP 2017179448 A JP2017179448 A JP 2017179448A JP 2017179448 A JP2017179448 A JP 2017179448A JP 2019057336 A JP2019057336 A JP 2019057336A
Authority
JP
Japan
Prior art keywords
data
clock signal
bank
memory bank
mode
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2017179448A
Other languages
English (en)
Inventor
光介 辰村
Kosuke Tatsumura
光介 辰村
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.)
Toshiba Corp
Original Assignee
Toshiba 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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP2017179448A priority Critical patent/JP2019057336A/ja
Priority to US15/912,594 priority patent/US10496569B2/en
Publication of JP2019057336A publication Critical patent/JP2019057336A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1684Details of memory controller using multiple buses
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1689Synchronisation and timing concerns
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4022Coupling between buses using switching circuits, e.g. switching matrix, connection or expansion network
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/41Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming static cells with positive feedback, i.e. cells not needing refreshing or charge regeneration, e.g. bistable multivibrator or Schmitt trigger
    • G11C11/413Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing, timing or power reduction
    • G11C11/414Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing, timing or power reduction for memory cells of the bipolar type
    • G11C11/416Read-write [R-W] circuits 
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/41Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming static cells with positive feedback, i.e. cells not needing refreshing or charge regeneration, e.g. bistable multivibrator or Schmitt trigger
    • G11C11/413Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing, timing or power reduction
    • G11C11/417Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing, timing or power reduction for memory cells of the field-effect type
    • G11C11/419Read-write [R-W] circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1015Read-write modes for single port memories, i.e. having either a random port or a serial port
    • G11C7/1045Read-write mode select circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1048Data bus control circuits, e.g. precharging, presetting, equalising
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C8/00Arrangements for selecting an address in a digital store
    • G11C8/12Group selection circuits, e.g. for memory block selection, chip selection, array selection
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C8/00Arrangements for selecting an address in a digital store
    • G11C8/16Multiple access memory array, e.g. addressing one storage element via at least two independent addressing line groups
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/02Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
    • H03K19/173Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
    • H03K19/177Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components arranged in matrix form
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2207/00Indexing scheme relating to arrangements for writing information into, or reading information out from, a digital store
    • G11C2207/005Transfer gates, i.e. gates coupling the sense amplifier output to data lines, I/O lines or global bit lines
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1075Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers for multiport memories each having random access ports and serial ports, e.g. video RAM

Abstract

【課題】I/Oの数を増大させることなく,データ転送レートを増大することができるコンフィグラブルメモリブロックを備えた半導体集積回路を提供する。【解決手段】第1メモリバンク222および第2メモリバンク224にアドレス情報を供給するコンフィグラブルデコーダ210と、データを第1モードまたは第2モードに再構成可能な出力モジュール230であって、第1モードは、第1クロック信号fCLKに従って第1データおよび第2データを保持し、第1クロック信号の少なくとも2倍の周波数を有する第2クロック信号fCLK×2に従って第1データと第2データとの一方を選択して出力する機能を有する。第2モードは、少なくとも第1クロック信号に従って第1データおよび第2データのうちの一方を選択し出力する機能を有する。【選択図】図2

Description

本発明の実施形態は、半導体集積回路に関する。
フィールドプログラマブルゲートアレイ(以下、FPGA(Field Programmable Gate Array)とも云う)に代表されるプログラマブルロジックデバイス(以下、PLD(Programmable logic device)とも云う)は、チップ製造後に回路構成を書き換えることができる半導体集積回路である。アイランドスタイルのPLDは、コンフィグラブルロジックブロックとコンフィグラブルメモリブロックが、コンフィグラブルインターコネクトブロックによって相互に接続された二次元的な繰り返し構造からなる。コンフィグラブルメモリブロックは、より高いデータレート(bit/sec)でコンフィグラブルロジックブロックへデータを供給できることが望ましい。データレートは,データ転送のクロック周波数fclkとデータビット幅Wの積で与えられる。データ転送のクロック速度は、コンフィグラブルメモリブロックに含まれるメモリコアの読み出し最大クロック周波数によって通常制限される。また、データビット幅は,コンフィグラブルメモリブロックとコンフィグラブルインターコネクトブロックとを接続するコンフィグラブルブロックのI/Oの数によって制限される。コンフィグラブルブロックのI/Oは、そのコンフィグラビリティのために1つのI/Oあたりの面積が大きく、I/O数の増大は著しい面積の増大を引き起こす。
米国特許第7,797,610号明細書
"High Density, Low Energy, Magnetic Tunnel Junction Based Block RAMs for Memory-rich FPGAs", IEEE International Conference on Field-Programmable Technology (FPT), pp. 4-11 (2016). K.Tatsumura, S. Yazdanshenas, and V. Betz
本実施形態は、I/Oの数を増大させることなく,データ転送レートを増大することができるコンフィグラブルメモリブロックを備えた半導体集積回路を提供する。
本実施形態による半導体集積回路は、第1クロック信号に従って読み出し動作を行い、前記第1クロック信号に従って第1データを出力する第1メモリバンクと、前記第1クロック信号に従って読み出し動作を行い、前記第1クロック信号に従って第2データを出力する第2メモリバンクと、前記第1メモリバンクおよび前記第2メモリバンクにアドレス情報を供給するコンフィグラブルデコーダと、第1モードまたは第2モードに再構成可能な出力モジュールであって、前記第1モードは、前記第1クロック信号に従って前記第1データおよび第2データを保持し、前記第1クロック信号の少なくとも2倍の周波数を有する第2クロック信号に従って第1データと前記第2データとの一方を選択して出力する機能を有し、前記第2モードは少なくとも前記第1クロック信号に従って前記第1データおよび前記第2データのうちの一方を選択し出力する機能を有する、出力モジュールと、を備えている。
第1実施形態による半導体集積回路の構成を示すブロック図。 第1実施形態のコンフィグラブルメモリモジュールを示す回路図。 第1実施形態におけるコンフィグラブルメモリモジュールのダブルデータレートモードを示す回路図。 第1実施形態におけるコンフィグラブルメモリモジュールのノーマルモードを示す回路図。 第1実施形態におけるコンフィグラブルメモリモジュールの一例の詳細を示す回路図。 第1実施形態におけるコンフィグラブルデコーダの一例の詳細を示す回路図。 第1実施形態におけるコンフィグラブルメモリモジュールのダブルデータレートモードのタイミングチャートを示す波形図。 第1実施形態におけるコンフィグラブルメモリモジュールのノーマルモードのタイミングチャートを示す波形図。 第2実施形態による半導体集積回路のコンフィグラブルメモリブロックを示す回路図。 第3実施形態による半導体集積回路のコンフィグラブルメモリブロックのダブルデータレートフリップフロップモードの場合の回路図。 第3実施形態による半導体集積回路のコンフィグラブルメモリブロックのノーマルフリップフロップモードの場合の回路図。
(第1実施形態)
第1実施形態による半導体集積回路について図1乃至図8を参照して説明する。この実施形態の半導体集積回路は、アイルランドスタイルのプログラマブルロジックデバイス(以下、PLD(Programmable logic device)とも云う)を有し、このPDLのアーキテクチャを図1に示す。
このPDL1は、コンフィグラブルロジックブロック(以下、LBとも云う)10と、コンフィグラブルメモリブロック(以下、MBとも云う)20と、コンフィグラブルコネクションブロック(以下、CBとも云う)30と、コンフィグラブルスイッチブロック(以下、SBとも云う)40と、を備えている。
コンフィグラブルロジックブロック10は、コンフィグラブルコネクションブロック30から信号を受けるとともに、コンフィグラブルスイッチブロック40に信号を送る。コンフィグラブルメモリブロック20は、コンフィグラブルコネクションブロック30から信号を受けるとともに、コンフィグラブルスイッチブロック40に信号を送る。
コンフィグラブルスイッチブロック40は、コンフィグラブルコネクションブロック30を介してインターブロック配線50で相互に接続される。コンフィグラブルコネクションブロック30は、インターブロック配線50に入力端子が接続されるマルチプレクサ(図示せず)を含み、回路構成情報に従って、インターブロック配線50のうち、選択した配線の信号を、コンフィグラブルロジックブロック10もしくはコンフィグラブルメモリブロック20へ出力する。
コンフィグラブルスイッチブロック40は、あるインターブロック配線50に接続されるマルチプクレサ(図示せず)を含み、コンフィグラブルロジックブロック10もしくはコンフィグラブルメモリブロック20からの出力を回路構成情報に従って選択し、選択した信号を別のインターブロック配線50に出力する。
なお、本実施形態では、コンフィグラブルコネクションブロック30とコンフィグラブルスイッチブロック40とを合わせて、コンフィグラブルインターコネクトブロックと呼ぶ。すなわち、本実施形態では、コンフィグラブルロジックブロック10とコンフィグラブルメモリブロック20は、コンフィグラブルインターコネクトブロックによって相互接続される。
(メモリモジュールの概要)
次に、コンフィグラブルメモリブロック20は、コンフィグラブルメモリモジュールを含み、このコンフィグラブルメモリモジュールの概要の一例を図2に示す。
このコンフィグラブルメモリモジュール200は、コンフィグラブルデコーダ210と、2つのRAM(Random Access Memory)バンク222、224と、コンフィグラブル出力モジュール230と、を備えている。コンフィグラブルデコーダ210は、RAMバンク222、224にそれぞれアドレス情報を送る。
このコンフィグラブル出力モジュール230は、バンクレジスタ231、232と、コンフィグラブルマルチプレクサ233,234と、コンフィグレーションSRAM(Static Random Access Memory)233a,234aと、バンク選択マルチプレクサ235と、バンク選択アドレスレジスタ236と、モード選択マルチプレクサ237と、コンフィグレーションSRAM237aと、を備えている。バンクレジスタ231は、例えばフリップフロップで構成され、RAMバンク222から送られてくる幅Wのデータをクロック信号fCLKに従って保持するとともにコンフィグラブルマルチプレクサ233に送る。バンクレジスタ232は、例えばフリップフロップで構成され、RAMバンク224から送られてくる幅Wのデータをクロック信号fCLKに従って保持するとともに、コンフィグラブルマルチプレクサ234に送る。
コンフィグラブルマルチプレクサ233は、RAMバンク222から送られてくるデータと、バンクレジスタ231から送られてくるデータとのうち一方を、コンフィグレーションSRAM233aから送られてくる入力信号に従って選択し、選択したデータをバンク選択マルチプレクサ235に送る。コンフィグラブルマルチプレクサ234は、RAMバンク224から送られてくるデータと、バンクレジスタ232から送られてくるデータとのうち一方を、コンフィグレーションSRAM234aから送られてくる入力信号に従って選択し、選択したデータをバンク選択マルチプレクサ235に送る。すなわち、コンフィグラブルマルチプレクサ233,234は、バンクレジスタ231,232をそれぞれバイパスする機能を有し、バイパスマルチプレクサとも呼ばれる。
バンク選択アドレスジスタ236は、例えばフリップフロップで構成され、2つのRAMバンク222,224のうちのうちの一方を選択するアドレスaddr_bankをクロック信号fCLKに従って保持するとともに、保持したアドレスを出力する。
モード選択マルチプレクサ237は、コンフィグレーションSRAM237aに保持されたデータに従って、バンク選択アドレスジスタ236の出力と、クロック周波数(以下、クロック速度とも云う)fCLKを有するクロック信号と、クロック速度fCLKの2倍の速度2×fCLKを有するクロック信号fCLK×2とのうち一方を選択し、選択した信号を入力信号としてバンク選択マルチプレクサ235に送る。なお、本実施形態および以降の実施形態では、クロック速度fCLKの2倍の速度2×fCLKを有するクロック信号fCLK×2の代わりに、クロック速度fCLKの少なくとも2倍の速度を有するクロック信号を用いてもよい。
バンク選択マルチプレクサ235は、モード選択マルチプレクサ237から送られてくる入力信号に従って、コンフィグラブルマルチプレクサ233、234のうちの一方の出力を選択し、この選択した出力をコンフィグラブル出力モジュール230から出力する。
コンフィグラブルデコーダ210と、マルチプレクサ233、234と、モード選択マルチプレクサ237はコンフィグラビリティ(再構成能)を持ち、その再構成能はコンフィグレーションSRAMに保持される回路構成情報(回路構成データ)によって決定される。
コンフィグラブルメモリモジュール200は、全体として、コンフィグレーションSRAMに保持される回路構成情報によって、図3に示すダブルデータレートモードと、図4に示すノーマルモードとに再構成することができる。
図3に示すダブルデータレートモードは、バイパスマルチプレクサ233,234によってバンクレジスタ231,232がそれぞれ選択され、バンクレジスタ231,232によって保持されたデータの両方がバンク選択マルチプレクサ235へ入力され、クロック速度fCLKの2倍のクロック速度2×fCLKでバンク選択マルチプレクサ235から交互に出力される状態である。
一方、図4に示すノーマルモードは、バイパスマルチプレクサ233,234によってRAMバンク222,224が選択され、かつRAMバンク222,224に保持されたデータのうちの一方がバンク選択マルチプレクサ235によって選択されて、クロック速度fCLKでバンク選択マルチプレクサ235から出力される状態である。
すなわち、このダブルデータレートモデルは、ノーマルモードに比べて、2倍の最大データ転送レートを実現することができる。
コンフィグラブル出力モジュール230は、ダブルデータレートモデルの際には、データ幅を半分にし、かつデータ転送クロックの速度を2倍にする。すなわち、W−down/fCLK−upコンバーター(converter)に再構成される。一方、コンフィグラブル出力モジュール230は、ノーマルモードの際には,バンク選択アドレスに従いRAMバンク222およびRAMバンク224のうちの一方を選択するバンクセレクタに再構成される。
コンフィグラブルデコーダ210は、2つのRAMバンク222、224に同時にアドレス情報を供給する共有モード(shared mode)と、バンク選択アドレス信号に従い2つのRAMバンク222、224のうち一方を選択し排他的にアドレス情報を供給する排他的モード(Exclusive mode)のうちの一方に再構成できる。コンフィグラブルデコーダ210は、ダブルデータレートモードの際には共有モードに、ノーマルモードの際には排他的モードに再構成される。
RAMバンク222とRAMバンク224は,ポートに供給されたアドレスに対して読み出しもしくは書き込みの動作を行う通常のRAMバンクである。RAMバンク222、224はそれぞれ、2つのポートをもつデュアルポートバンクである。すなわち、RAMバンク222、224はそれぞれ、上記2つのポートのアドレスに対して同時にアクセス可能である。RAMバンク222、224は,内部にメモリセルアレイを有する。このメモリセルアレイのセルは、例えば8個のトランジスタから構成されるデュアルポートSRAMセル、もしくは2個のトランジスタと、1個のMTJ(magnetic tunnel junction)素子から構成されるデュアルポートMTJセルであっても良い(例えば、非特許文献1参照)。または、4個のトランジスタと1個のMTJ素子からなるデュアルポートMTJ素子セルであってもよい。また、RAMバンク222,224は,1つのポートをもつシングルポートバンクであっても良い。この場合、セルは、6個のトランジスタから構成されるシングルポートSRAMセル、または1個のトランジスタと1個のMTJ素子からなるシングルポートMTJセルであって良い。
本実施形態では、RAMバンクの数は2である。RAMバンクの数は、例えば、4、6、8など2よりも大きい2の倍数であっても良い。
RAMバンク222およびRAMバンク224の読み出し時または書き込み時の最大データ幅はWである。RAMバンクの最大データ幅Wは、RAMバンクが保持するビットラインドライバ(読み出しセンスアンプと、書き込み用ドライバ)の数により決定される。
RAMバンク222とRAMバンク224の最大読み出しクロック周波数をクロック信号fCLKの周波数fCLKとする。本実施形態では,RAMバンク222とRAMバンク224の読み出しポートにはクロック信号fCLKが供給される。
バンクレジスタ231、232は、W個のF/F(フリップフロップ)を含み、それぞれバンク222、バンク224からの読み出しデータ(Dout)を保持することができる。バンク222およびバンクレジスタ231と、バンク224およびバンクレジスタ232にはクロック信号fCLKが供給される。
バイパスマルチプレクサ233は、RAMバンク222の出力端子(Wビット)とバンクレジスタ231の出力端子(Wビット)に接続され、RAMバンク222から直接出力される読み出しデータ(non-registered)と、バンクレジスタ231を介した出力データ(registered)の一方を選択して出力する(出力データ幅Wビット)。バイパスマルチプレクサ234は、RAMバンク224の出力端子(Wビット)とバンクレジスタ232の出力端子(Wビット)に接続され、RAMバンク224から直接出力される読み出しデータ(non-registered)と、バンクレジスタ232を介した出力データ(registered)の一方を選択して出力する(出力データ幅Wビット)。バイパスマルチプレクサ233は、ダブルデータレートモードの際にはバンクレジスタ231を介した出力データを,ノーマルモードの際にはRAMバンク222から直接出力される読み出しデータを選択するように再構成される。バイパスマルチプレクサ234は、ダブルデータレートモードの際にはバンクレジスタ232を介した出力データを,ノーマルモードの際にはRAMバンク224から直接出力される読み出しデータを選択するように再構成される。
バンク選択アドレスレジスタ236は、バンク選択アドレス信号addr_bankをfCLKのクロックレートで保持する。
モード選択マルチプレクサ237は、クロック信号fCLKの2倍の速度のクロック信号fCLK×2の分配線と、バンク選択アドレスレジスタ236の出力に接続され、回路構成情報に従って、両者の内一方を出力する。モード選択マルチプレクサ235は、ダブルデータレートモードの際には信号fCLK×2を、ノーマルモードの際にはバンク選択アドレス信号addr_bankを選択する。
バンク選択マルチプレクサ235には、バンクバイパスマルチプレクサ233の出力(Wビット)と、バンクバイパスマルチプレクサ234の出力(Wビット)が接続され、モード選択マルチプレクサ237の出力信号に従って、両者の内の一方を出力端子OUTから出力する(出力データ幅W)。
バンク選択マルチプレクサ235は、ダブルデータレートモードの際には信号fCLK×2のクロックサイクル(1/(fCLK×2))毎にバンクバイパスマルチプレクサ233の出力と、バンクバイパスマルチプレクサ234の出力とを交互に切り替え、出力端子OUTから順に出力する。一方、ノーマルモードの際は、クロック信号fCLKのクロックサイクル(1/fCLK)毎に、バンクアドレス信号addr_bankに応じてバンクバイパスマルチプレクサ233の出力と、バンクバイパスマルチプレクサ234の出力の一方を選択し、出力端子OUTから出力する。
(コンフィグラブルメモリモジュール200の詳細)
図5に、コンフィグラブルメモリモジュール200の一例の詳細を示す。本例では、バンク222、224の論理的な幅(Width)/深さ(Depth)は共に4ビット/4ワード(4×4アレイ)である。即ち,最大データ幅(W)は4ビット、深さは4ワードである。バンク222は4行×4列のセルアレイと、4本のワード線WL000,WL010,WL100,WL110と、4本のビット線BL00,BL01,BL10,BL11と、センスアンプSA00,SA01,SA10,SA11と、を含む。バンク224は,4行×4列のセルアレイと、4本のワード線WL001,WL011,WL101,WL111と、4本のビット線BL00,BL01,BL10,BL11と、センスアンプSA00,SA01,SA10,SA11と、を含む。バンク222、224のワード線は、コンフィグラブルデコーダ210に接続される。ビット線BL00,BL01,BL10,BL11はそれぞれ、読み出しセンスアンプSA00,SA01,SA10,SA11の入力端子に接続される。
RAMバンク222のセンスアンプSA00,SA01,SA10,SA11はそれぞれ、バンクレジスタ231付の、バンクバイパスマルチプレクサ233を経由して、バンク選択マルチプレクサ235に接続される。一方、RAMバンク224のセンスアンプSA00,SA01,SA10,SA11はそれぞれ、バンクレジスタ232付の、バンクバイパスマルチプレクサ234を経由して、バンク選択マルチプレクサ235に接続される。ここで,バンクレジスタ231、232のそれぞれは、1ビットのフリップフロップ(F/F)である。バンクレジスタ231は合計W個(4つ)のフリップフロップ(F/F)を含む。バンクレジスタ232のそれぞれは、1ビットのフリップフロップ(F/F)である。バンクレジスタ232は合計W個(4つ)のフリップフロップ(F/F)を含む。
また、RAMバンク222、224のバイパスマルチプレクサ233、234の各々は、2対1(2ビット入力:1ビット出力)のコンフィグラブルマルチプレクサである。RAMバンク222、224のバイパスマルチプレクサ233、234は,それぞれW個(4つ)の2対1のコンフィグラブルマルチプレクサを含む。図5では、バイパスマルチプレクサ233、234の各々は、個別の回路構成情報を持つ。これに代えて、1つの回路構成情報をバイパスマルチプレクサ233のすべてが共有しても良く、1つの回路構成情報をバイパスマルチプレクサ234のすべてが共有しても良い。
バンク選択マルチプレクサ235の各々は,2対1のマルチプレクサである。バンク選択マルチプレクサ235は、合計W個(4つ)の2対1マルチプレクサを含む。バンク選択マルチプレクサ235の各々は、2対1マルチプレクサの制御信号(入力信号)の端子に、モード選択マルチプレクサ237の出力が接続される。
コンフィグラブルメモリモジュール200は、バンクレジスタ231,232と、RAMバンク222、224の内部制御信号を生成する制御パルス生成器204を更に備えている。この制御パルス生成器204にはクロック信号fCLKが供給され、モード選択マルチプレクサ237には、クロック信号fCLKの周波数の2倍の周波数を有するクロック信号fCLK×2が供給される。コンフィグラブルメモリモジュール200の外部からクロック信号fCLKと信号クロック信号fCLK×2の2系統のクロックを供給しても良い。もしくは,外部からクロック信号fCLK×2を供給し,2分1の分周器により,クロック信号fCLK×2からクロック信号fCLKを内部で生成しても良い。
(コンフィグラブルデコーダ210)
図6に、コンフィグラブルデコーダ210の一例の詳細を示す。本例のコンフィグラブルデコーダ210は、4ワードRAMバンクを2つ駆動する。本例のコンフィグラブルデコーダ210は、2対4のアドレスデコーダ211と、制御ゲート212a、212bと、ワード線ドライバ213a、213bと、バンク選択アドレス(addr_bank)を保持するバンク選択アドレスレジスタ214と、モード選択マルチプレクサ215と、インバータ216と、バイパスマルチプレクサ217と、を備えている。
デコーダ211は、2ビットのアドレス信号を、4ビットのデコード信号(00,01,10,11)にデコードする。
制御ゲート212a、212bは、デコード信号と、図5に示す制御パルス生成器204からの制御パルスと、バンク選択信号との3つのアンド演算を行うANDゲートであって、その出力はワード線ドライバ213a、213bに接続される。
バンク選択アドレスレジスタ214は、図5に示すコンフィグラブル出力モジュール230に含まれる同名のレジスタ231と同じ構成を有している。
モード選択マルチプレクサ215は、バンク選択アドレスレジスタ214の出力と、固定された論理値1の端子との一方を、回路構成情報に従って選択して出力する。ダブルデータレートモードの際には固定された論理値1の端子を選択し、ノーマルモードの際にはバンク選択アドレスレジスタ214の出力を選択する。
バイパスマルチプレクサ217は、モード選択マルチプレクサ215の出力と、それをインバータ216により反転した信号との一方を、回路構成情報に従って選択して出力する。ダブルデータレートモードの際にはモード選択マルチプレクサ215の出力を選択し、ノーマルモードの際にはインバータ216の出力を選択する。
RAMバンク222側の制御ゲート212aへは、モード選択マルチプレクサ215の出力が接続される。一方、RAMバンク224側の制御ゲート212bへは,バイパスマルチプレクサ217の出力が接続される。
コンフィグラブルデコーダ210は、全体として、ダブルデータレートモードの際には2つのRAMバンク222、224に同時にアドレス情報を供給する共有モードに、ノーマルモードの際にはバンク選択アドレス信号に従い2つのRAMバンク222、224のうち一方を選択し排他的にアドレス情報を供給する排他的モードに再構成される。
図7に、ダブルデータレートモードのタイミングチャートを示す。RAMバンク222、224に供給されるクロック信号fCLKを基準に4サイクル分、すなわち、サイクル0,サイクル1,サイクル2,サイクル3の動作を示す。クロック信号fCLK×2を基準にした場合は8サイクル、すなわちマイクロサイクル0〜マイクロサイクル7の動作を示す。
サイクル0では、RAMバンク222、224は同時に読み出し動作を行い、データD000と、データD001を読み出す。データの3つのビットのうち初めの2つのビットは行アドレスaddr_rowを表し、最後の1つのビットはバンク選択アドレスを示す。RAMバンク222およびRAMバンク224は読み出し動作に、クロック信号fCLKの周波数の逆数に相当するサイクル時間(Tcyc=1/fCLK)を使うことができる。
サイクル1のクロック信号fCLKの立ち上がりにおいて、バンクレジスタ231はデータD000を取得し、バンクレジスタ232はデータD001を取得する。バンクレジスタ231とバンクレジスタ232は、サイクル1の期間その値を保持する。サイクル1に属するマイクロサイクル2、マイクロサイクル3においては、バンク選択マルチプレクサ235は順にデータD000とデータD001を出力する。
サイクル1においては、RAMバンク222とRAMバンク224は同時に読み出し動作を行いそれぞれ、データD010とデータD011を読み出す。サイクル2に属するマイクロサイクル4およびマイクロサイクル5において、バンク選択マルチプレクサ235は、データD010とデータD011をそれぞれ出力する。
バンク選択マルチプレクサ235の出力信号(OUT)のデータ転送レートは、ビット幅Wでデータ転送クロックがfCLK×2であるから、W×fCLK×2となる。
図8に、ノーマルモードのタイミングチャートを示す。図8は、RAMバンク222、224に供給されるクロックfCLKを基準に4サイクル分、すなわちサイクル0、サイクル1、サイクル2、サイクル3の動作を示す。コンフィグラブル出力モジュール230と、コンフィグラブルデコーダ210に含まれる、バンク選択アドレスレジスタ214、236は、サイクル0のクロック信号fCLKの立ち上がりにおいて、バンク選択アドレス信号“0”を取得し、サイクル0の期間その値を保持する。
サイクル0において、RAMバンク222は読み出し動作を行い、データD000を読み出す。RAMバンク222は読み出し動作に、クロックの周期fCLKの逆数に相当するサイクル時間(Tcyc=1/fCLK)を使うことができる。
バンク選択アドレスレジスタ214,236は、サイクル1のクロックfCLKの立ち上がりにおいて、バンク選択アドレス信号“1”を取得し、サイクル1の期間中その値を保持する。サイクル1において、RAMバンク224は読み出し動作を行い、データD001を読み出す。バンク選択マルチプレクサ235は、サイクル0においてデータD000を出力し、サイクル1においてデータD001を出力する。バンク選択マルチプレクサ235の出力信号(OUT)のデータ転送レートは、ビット幅がWでデータ転送クロックがfCLKであるから、W×fCLKとなる。
図7,8に示されるように,本実施形態によれば,通常のデータ転送レートのコンフィグレーションモードに加えて,その2倍の最大データ転送レートを可能とするダブルデータレートモードをもサポートするコンフィグラブルメモリモジュールを実現することができる。ダブルデータレートモジュールを実現するにあたって、コンフィグラブル出力モジュール230の出力端子OUTのデータ幅Wを増大する必要がなく、およびRAMバンク222とRAMバンク224の最大読み出しクロックの周波数fCLKを増大する必要がない。
本実施形態の原理においては、ダブルデータレートモードは、2つのRAMバンク222、224を同時に読み出し動作させることで、データ転送レートを増大させることができる。一方、コンフィグラブル出力モジュール230の出力端子OUTにおいては,出力端子の数を増大させることなく、データ転送クロック周波数を2倍にすることで増大したデータの転送を可能にすることができる。
以上説明したように、I/Oの数を増大させることなく,データ転送レートを増大することができるコンフィグラブルメモリブロックを備えた半導体集積回路を提供することができる。
(第2実施形態)
第2実施形態による半導体集積回路について図9を参照して説明する。この第2実施形態の半導体集積回路は、第1実施形態の半導体集積回路においてコンフィグラブルメモリブロック20を図9に示すコンフィグラブルメモリブロック20に置き換えた構成を有している。
この第2実施形態のコンフィグラブルメモリブロック20は、ローカル配線202と、ローカルマルチプレクサ205と、入力レジスタ206、207、208と、コンフィグラブルメモリモジュール200と、出力クロスバー250と、コンフィグラブル出力レジスタ260と、を備えている。
インターブロック配線50からコンフィグラブルコネクションブロック30のマルチプレクサ310によって選択的に取り込まれた信号は、コンフィグラブルメモリブロック20のローカル配線202に入力される。メモリブロック20の入力端子MBINの数は、コネクションブロック30のマルチプレクサの数、もしくはローカル配線の数に等しい。メモリブロック20の入力端子MBINの数を増大させるためには,占有面積の大きいコネクションブロック30のマルチプレクサの数を増大させる必要がある。
ローカルマルチプレクサ205は、ローカル配線202に接続され、回路構成情報に従ってローカル配線202の内の選択した信号を入力レジスタ206、207、208に出力する。
入力レジスタ206は、入力データ(Din)を保持し、入力レジスタ207は、読み出しもしくは書き込みのアドレスを保持し、入力レジスタ208は、書き込みイネーブル信号を保持する。
コンフィグラブルメモリモジュール200は、図2に示したコンフィグラブルメモリモジュール200と同じものである。このコンフィグラブルメモリモジュール200は、2つのRAMバンク222,224を含み、RAMバンク222とRAMバンク224の読み出しおよび書き込み時の最大データ幅はWである。
コンフィグラブルメモリモジュール200の出力端子OUTのデータ幅はポート当りWである。図9には1つのポートの出力端子のみが記載されている。2つめのポートも同じく幅Wの出力端子を持つ。したがって、2つのポートの出力端子を合わせるとコンフィグラブルメモリモジュール200の出力端子のデータ幅は2Wある。RAMバンク222とRAMバンク224の最大読み出しクロックの周波数はfCLKである。
出力クロスバー250の入力端子は、コンフィグラブルメモリモジュール200の出力端子が接続される。このコンフィグラブルメモリモジュール200の出力端子は、2つのポートを併せてデータ幅が2Wである。出力クロスバー250の出力端子OUTXbarのデータ幅はWである。出力クロスバー250は、データ幅が2Wの入力端子と、データ幅がWの出力端子と、を有するスイッチマトリックスで、回路構成情報に従って所望の入力線と出力線のつなぎ換えを実現する。
コンフィグラブル出力レジスタ260は、バイパスマルチプクサを備える出力レジスタで、そのデータ幅はWである。すなわち、コンフィグラブルマルチプレクサ262と、W個のフリップフロップ264と、バイパスマルチプクレサ266と、を有する。なお、符号262aおよび266aは、それぞれコンフィグラブルマルチプレクサ262およびバイパスマルチプクレサ266のコンフィグレーションSRAMであって、回路構成情報が保持される。
コンフィグラブル出力レジスタ260の出力端子は、メモリブロック20の出力端子MBOUTに相当しそのデータ幅はWである。メモリブロック20の出力端子の1つは,スイッチブロック40内の複数のマルチプレクサに接続されてもよい。この場合は、ブロードキャストワイヤとも呼ばれる。
メモリブロック20の出力端子の数を増大するためには、出力クロスバー250のサイズ、コンフィグラブル出力レジスタ260の数、スイッチブロック40のマルチプレクサの数を増大させる必要があり、大きな占有面積の増大を伴う。
コンフィグラブル出力レジスタ260の出力レジスタ264のクロック入力端子は、クロック信号fCLK×2と、クロック信号fCLKとを選択可能なコンフィグラブルマルチプクレサ262の出力端子が接続される。ダブルデータレートモードの際にはクロック信号fCLK×2が選択され、ノーマルモードの際にはクロック信号fCLKが選択される。
以上説明したように、本実施形態によれば、メモリブロック20の内部、すなわち入力端子MBINと、出力端子MBOUTとの間の領域にコンフィグラブルメモリモジュール200が配置されることにより、出力端子MBOUTの数を増大させることなく、通常のデータ転送レートのコンフィグレーションモードに加えて,その2倍の最大データ転送レートを可能とするダブルデータレートモードをもサポートするメモリブロックを実現することができる。
以上説明したように、第2実施形態も第1実施形態と同様に、I/Oの数を増大させることなく,データ転送レートを増大することができるコンフィグラブルメモリブロックを備えた半導体集積回路を提供することができる。
(第3実施形態)
第3実施形態による半導体集積回路について図10および図11を参照して説明する。この第3実施形態の半導体集積回路は、第1実施形態の半導体集積回路においてコンフィグラブルメモリブロック20にコンフィグラブル入力モジュール270を更に備えた構成を有している。
第3実施形態に係るコンフィグラブルメモリブロック20は、コンフィグラブル入力モジュールと、メモリバンク部と、コンフィグラブル出力モジュールと、を備えている。メモリバンク部280は第1および第2実施形態で説明した、コンフィグラブルデコーダ210と、RAMバンク222と、RAMバンク224と、を備えている。コンフィグラブルデコーダ210、RAMバンク222、およびRAMバンク224は、第1および第2実施形態で説明したコンフィグラブルデコーダ210、RAMバンク222、およびRAMバンク224と同じ構成および機能を有している。また、コンフィグラブル出力モジュールは、第1実施形態で説明したコンフィグラブル出力モジュール230と同じ構成を有している。
コンフィグラブル入力モジュールは、ダブルデータレートモードとノーマルモードとに再構成される機能を有する。
ダブルデータレートモードにおいては、図10に示すように、コンフィグラブル入力モジュール270は、レジスタ272、274、276を有している。コンフィグラブルレジスタ272はフリップフロップであって、クロック信号fCLK×2に従って動作し、データ幅がWの入力端子がコンフィグラブルメモリブロック20のデータ幅がWである入力端子MBINに接続され、データ幅がWの出力端子がレジスタ274のデータ幅がWの入力端子に接続される。レジスタ274はフリップフロップであって、クロック信号fCLKに従って動作し、データ幅がWの入力端子がレジスタ272のデータ幅がWの出力端子に接続され,データ幅がWの出力端子が、RAMバンク222のデータ幅がWの入力端子に接続される。レジスタ276はフリップフロップであって、クロック信号fCLKに従って動作し、データ幅がWの入力端子がコンフィグラブルメモリブロック20の入力端子MBINに接続され、データ幅がWの出力端子がバンク224のデータ幅がWの入力端子に接続される。
ダブルデータレートモードにおいては、図10に示すように、コンフィグラブル出力モジュール230は、レジスタ231と、レジスタ232と、マルチプレクサ235と、を備えている。レジスタ231は、クロック信号fCLKに従って動作し、データ幅がWの入力端子が、データ幅がWのRAMバンク222の出力端子に接続され、データ幅がWの出力端子がマルチプレクサ235の入力端子に接続される。レジスタ232は、クロック信号fCLKに従って動作し、データ幅がWの入力端子が、データ幅がWのRAMバンク224の出力端子に接続され、データ幅がWの出力端子がマルチプレクサ235の入力端子に接続される。マルチプレクサ235は、出力端子がメモリブロック20の出力端子MBOUTに接続される。
このように構成されたコンフィグラブルメモリブロック20は、メモリバンク部280の他に、コンフィグラブル入力モジュール(入力ポート)270と、コンフィグラブル出力モジュール(出力ポート)230と、を有している。すなわち、コンフィグラブルメモリブロック20は、書き込みポート(入力ポート)および読み出しポート(出力ポート)を有しているので、ダブルデータレートモードを実現することができる。
ダブルデータレートモードでは、図10に示すように、コンフィグラブル入力モジュール270はW−up/fCLK−downコンバータに再構成され、コンフィグラブル出力モジュール230はW−down/fCLK−upコンバータに再構成される。
ノーマルモードでは、図11に示すように、コンフィグラブル入力モジュール270は入力フリップフロップ/ブロードキャストワイヤに再構成され、コンフィグラブル出力モジュール230はバンクセレクタに再構成される。
(ダブルデータレートモードの動作)
W−up/fCLK−downコンバータ270は、図10に示すように、データ幅W、転送クロック周波数fCLK×2のデータストリームをデータ幅2W、転送クロック周波数fCLKのデータストリームへ変換する。RAMバンク222とRAMバンク224の書き込みポートは、周波数fCLKのサイクルで同時に書き込み動作を行う。同時にRAMバンク222とRAMバンク224の読み出しポートは、周波数fCLKのサイクルで同時に読み出し動作を行う。W−down/fCLK−upコンバータ230は、データ幅2W、転送クロック周波数fCLKのデータストリームをデータ幅W、転送クロック周波数fCLK×2のデータストリームへ変換する。
(ノーマルモードの動作)
図11に示すように、入力フリップフロップ/ブロードキャストワイヤ270は、データ幅Wのデータストリームを周波数fCLKのレートでラッチし、RAMバンク222とRAMバンク224の入力データ端子へ、ブロードキャストする。RAMバンク222とRAMバンク224の書き込みポートは、周波数fCLKのサイクルで排他的に一方が選択され、その選択バンクのみが書き込み動作を行う。同時にRAMバンク222とRAMバンク224の読み出しポートは、周波数fCLKのサイクルで排他的に一方が選択され、その選択バンクのみが読み出し動作を行う。バンクセレクタ230により、RAMバンク222とRAMバンク224からの出力信号は統合され、データ幅W、転送クロック周波数fCLKのデータストリームとして出力される。
ノーマルモードと比べて、ダブルデータレートモードは、入力端子MBINと出力端子MBOUTの数を増大させることなく、入力および出力のデータ転送レートを2倍に増大することができる。
以上説明したように、第3実施形態も第1実施形態と同様に、I/Oの数を増大させることなく,データ転送レートを増大することができるコンフィグラブルメモリブロックを備えた半導体集積回路を提供することができる。
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これらの実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これらの実施形態やその変形は、発明の範囲や要旨に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。
1・・・半導体集積回路、10・・・コンフィグラブルロジックブロック、20・・・コンフィグラブルメモリブロック、30・・・コンフィグラブルコネクションブロック、40・・・コンフィグラブルスイッチブロック、50・・・インターブロック配線、200・・・コンフィグラブルメモリモジュール、204・・・制御パルス生成器、205・・・ローカルマルチプレクサ、206,207,208・・・入力レジスタ、210・・・コンフィグラブルデコーダ、211・・・デコーダ、212a,212b・・・制御ゲート、213a,213b・・・ワード線ゲート、214・・・バンク選択アドレスレジスタ。215・・・モード選択マルチプレクサ、216・・・インバータ、217・・・バイパスマルチプレクサ、222,224・・・RAMバンク、230・・・コンフィグラブル出力モジュール、231,232・・・バンクレジスタ、233,234・・・コンフィグラブルバンクマルチプレクサ(バンクレジスタ)、233a,234a・・・コンフィグレーションSRAM、235・・・バンク選択マルチプレクサ、236・・・バンク選択アドレスレジスタ、237・・・モード選択マルチプレクサ、237a・・・コンフィグレーションSRAM、250・・・出力クロスバー、260・・・コンフィグラブル出力レジスタ、262・・・コンフィグラブルマルチプレクサ、262a・・・コンフィグレーションSRAM、264・・・フリップフロップ、266・・・バイパスマルチプレクサ、266a・・・コンフィグレーションSRAM、310・・・マルチプレクサ、410・・・マルチプレクサ、270・・・コンフィグラブル入力モジュール、280・・・メモリバンク部

Claims (10)

  1. 第1クロック信号に従って読み出し動作を行い、前記第1クロック信号に従って第1データを出力する第1メモリバンクと、
    前記第1クロック信号に従って読み出し動作を行い、前記第1クロック信号に従って第2データを出力する第2メモリバンクと、
    前記第1メモリバンクおよび前記第2メモリバンクにアドレス情報を供給するコンフィグラブルデコーダと、
    第1モードまたは第2モードに再構成可能な出力モジュールであって、前記第1モードは、前記第1クロック信号に従って前記第1データおよび第2データを保持し、前記第1クロック信号の少なくとも2倍の周波数を有する第2クロック信号に従って第1データと前記第2データとの一方を選択して出力する機能を有し、前記第2モードは少なくとも前記第1クロック信号に従って前記第1データおよび前記第2データのうちの一方を選択し出力する機能を有する、出力モジュールと、
    を備えた半導体集積回路。
  2. 前記出力モジュールは、
    前記第1メモリバンクに接続され、前記第1クロック信号に従って前記第1データを保持する第1レジスタ群と、
    前記第2メモリバンクに接続され、前記第1クロック信号に従って前記第2データを保持する第2レジスタ群と、
    前記第1データと前記第1レジスタ群に保持されたデータのうちの一方を選択し出力する第1マルチプレクサと、
    前記第2データと前記第2レジスタ群に保持されたデータのうちの一方を選択し出力する第2マルチプレクサと、
    前記第1クロック信号に従ってバンク選択アドレス信号を保持するバンク選択アドレスレジスタと、
    前記第2クロック信号と前記バンク選択アドレス信号のうちの一方を選択し出力する第3マルチプレクサと、
    前記第3マルチプレクサの出力に従って前記第1マルチプレクサの出力と前記第2マルチプレクサの出力のうちの一方を選択し出力するバンク選択マルチプレクサと、
    を備えた請求項1記載の半導体集積回路。
  3. 前記コンフィグラブルデコーダは前記第1モードにおいて、前記第1メモリバンクおよび前記第2メモリバンクに同時にアドレス情報を供給し、
    前記出力モジュールは前記第1モードにおいて、
    前記第1メモリバンクに接続され、前記第1クロック信号に従って前記第1データを保持する第1レジスタ群と、
    前記第2メモリバンクに接続され、前記第1クロック信号に従って前記第2データを保持する第2レジスタ群と、
    前記第1レジスタ群および前記第2レジスタ群に接続され、前記第2クロック信号に従って第1レジスタ群に保持されたデータと前記第2レジスタ群に保持されたデータとの一方を選択し、出力するバンク選択マルチプレクサと、
    を有する請求項1記載の半導体集積回路。
  4. 前記コンフィグラブルデコーダは前記第2モードにおいて、バンク選択アドレス信号に従い前記第1メモリバンクおよび前記第2メモリバンクのうち一方を排他的に選択してアドレス情報を供給し、
    前記出力モジュールは前記第2モードにおいて、
    前記第1クロック信号に従って前記バンク選択アドレス信号を保持するバンク選択アドレスレジスタと、
    前記バンク選択アドレス信号に従って前記第1メモリバンクからの前記第1データと前記第2メモリバンクからの前記第2データとのうちの一方を選択し、出力するバンク選択マルチプレクサと、
    を備えた請求項1記載の半導体集積回路。
  5. 前記第1メモリバンクのデータ入力端子と前記第2メモリバンクのデータ入力端子が接続された出力端子を有し、前記第1モードまたは前記第2モードに再構成可能な入力モジュールを更に備え、
    前記入力モジュールは、
    前記第1モードにおいて、前記第2クロック信号に従って第1入力データおよび第2入力データを連続して取り込み、前記第1クロック信号に従って前記第1入力データを前記第1メモリバンクに供給し、前記第2入力データを前記第2メモリバンクに供給し、
    前記2モードにおいて、前記第1クロック信号に従って第3入力データを取り込み、第1クロック信号に従って、前記第1メモリバンクおよび前記第2メモリバンクに前記第3入力データを同時に供給する、
    請求項1乃至4のいずれかに記載の半導体集積回路。
  6. 前記第1メモリバンクおよび前記第2メモリバンクはそれぞれ、第1ポートおよび第2ポートを有し、前記第1ポートおよび前記第2ポートのアドレスに対して同時にアクセスが可能なデュアルポートランダムアクセスメモリである請求項1乃至5のいずれかに記載の半導体集積回路。
  7. コンフィグラブルロジックブロックと、
    コンフィグラブルメモリブロックと、
    前記コンフィグラブルロジックブロックと前記コンフィグラブルメモリブロックとを相互接続するコンフィグラブルインターコネクトブロックと、
    を備含み、
    前記コンフィグラブルメモリブロックは、
    第1クロック信号に従って読み出し動作を行い、前記第1クロック信号に従って第1データを出力する第1メモリバンクと、
    前記第1クロック信号に従って読み出し動作を行い、前記第1クロック信号に従って第2データを出力する第2メモリバンクと、
    前記第1メモリバンクおよび前記第2メモリバンクにアドレス情報を供給するコンフィグラブルデコーダと、
    第1モードおよび第2モードに再構成可能な出力モジュールであって、前記第1モードは、前記第1クロック信号に従って前記第1データおよび第2データを保持し、前記第1クロック信号の少なくとも2倍の周波数を有する第2クロック信号に従って第1データと前記第2データとの一方を選択して出力する機能を有し、前記第2モードは少なくとも前記第1クロック信号に従って前記第1データおよび前記第2データのうちの一方を選択し出力する機能を有する、出力モジュールと、
    を備えた半導体集積回路。
  8. 前記出力モジュールは、
    前記第1メモリバンクに接続され、前記第1クロック信号に従って前記第1データを保持する第1レジスタ群と、
    前記第2メモリバンクに接続され、前記第1クロック信号に従って前記第2データを保持する第2レジスタ群と、
    前記第1データと前記第1レジスタ群に保持されたデータのうちの一方を選択し出力する第1マルチプレクサと、
    前記第2データと前記第2レジスタ群に保持されたデータのうちの一方を選択し出力する第2マルチプレクサと、
    前記第1クロック信号に従ってバンク選択アドレス信号を保持するバンク選択アドレスレジスタと、
    前記第2クロック信号と前記バンク選択アドレス信号のうちの一方を選択し出力するモード選択マルチプレクサと、
    前記第3マルチプレクサの出力に従って前記第1マルチプレクサの出力と前記第2マルチプレクサの出力のうちの一方を選択し出力するバンク選択マルチプレクサと、
    を備えた請求項7記載の半導体集積回路。
  9. 前記コンフィグラブルデコーダは前記第1モードにおいて、前記第1メモリバンクおよび前記第2メモリバンクに同時にアドレス情報を供給し、
    前記出力モジュールは前記第1モードにおいて、
    前記第1メモリバンクに接続され、前記第1クロック信号に従って前記第1データを保持する第1レジスタ群と、
    前記第2メモリバンクに接続され、前記第1クロック信号に従って前記第2データを保持する第2レジスタ群と、
    前記第1レジスタ群および前記第2レジスタ群に接続され、前記第2クロック信号に従って第1レジスタ群に保持されたデータと前記第2レジスタ群に保持されたデータとの一方を選択し、出力するバンク選択マルチプレクサと、
    を有する請求項7記載の半導体集積回路。
  10. 前記コンフィグラブルデコーダは前記第2モードにおいて、バンク選択アドレス信号に従い前記第1メモリバンクおよび前記第2メモリバンクのうち一方を排他的に選択してアドレス情報を供給し、
    前記出力モジュールは前記第2モードにおいて、
    前記第1クロック信号に従って前記バンク選択アドレス信号を保持するバンク選択アドレスレジスタと、
    前記バンク選択アドレス信号に従って前記第1メモリバンクからの前記第1データと前記第2メモリバンクからの前記第2データとのうちの一方を選択し、出力するバンク選択マルチプレクサと、
    を備えた請求項7記載の半導体集積回路。
JP2017179448A 2017-09-19 2017-09-19 半導体集積回路 Pending JP2019057336A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2017179448A JP2019057336A (ja) 2017-09-19 2017-09-19 半導体集積回路
US15/912,594 US10496569B2 (en) 2017-09-19 2018-03-06 Semiconductor integrated circuit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017179448A JP2019057336A (ja) 2017-09-19 2017-09-19 半導体集積回路

Publications (1)

Publication Number Publication Date
JP2019057336A true JP2019057336A (ja) 2019-04-11

Family

ID=65721101

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017179448A Pending JP2019057336A (ja) 2017-09-19 2017-09-19 半導体集積回路

Country Status (2)

Country Link
US (1) US10496569B2 (ja)
JP (1) JP2019057336A (ja)

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2742220B2 (ja) * 1994-09-09 1998-04-22 松下電器産業株式会社 半導体記憶装置
US6525565B2 (en) * 2001-01-12 2003-02-25 Xilinx, Inc. Double data rate flip-flop
US20050268023A1 (en) 2004-06-01 2005-12-01 Briggs Randall D Multi-port random access memory
US7248491B1 (en) * 2004-09-10 2007-07-24 Xilinx, Inc. Circuit for and method of implementing a content addressable memory in a programmable logic device
US7420874B2 (en) * 2005-04-06 2008-09-02 Rambus Inc. Integrated circuit memory device, system and method having interleaved row and column control
US7797610B1 (en) 2005-07-19 2010-09-14 Xilinx, Inc. Method and apparatus for virtual quad-port random access memory
DE102005037219A1 (de) * 2005-08-08 2007-02-15 Robert Bosch Gmbh Vorrichtung und Verfahren zur Speicherung von Daten und/oder Befehlen in einem Rechnersystem mit wenigstens zwei Verarbeitungseinheiten und wenigstens einem ersten Speicher oder Speicherbereich für Daten und/oder Befehle
WO2007036050A1 (en) * 2005-09-30 2007-04-05 Mosaid Technologies Incorporated Memory with output control
US7747833B2 (en) 2005-09-30 2010-06-29 Mosaid Technologies Incorporated Independent link and bank selection
US7317644B1 (en) * 2005-12-15 2008-01-08 Altera Corporation Signal timing for I/O
US7613055B2 (en) * 2007-08-09 2009-11-03 Altera Corporation Programmable control block for dual port SRAM application
US8558594B2 (en) * 2011-09-27 2013-10-15 Apple Inc. Reduced frequency clock delivery with local recovery
US8913440B2 (en) * 2011-10-05 2014-12-16 Taiwan Semiconductor Manufacturing Company, Ltd. Tracking mechanisms
US8705310B2 (en) 2012-08-24 2014-04-22 Cypress Semiconductor Corporation Access methods and circuits for memory devices having multiple banks
JP6102722B2 (ja) * 2013-12-20 2017-03-29 株式会社ソシオネクスト メモリ装置及びメモリ装置の制御方法
US9361959B2 (en) * 2014-08-25 2016-06-07 Apple Inc. Low power double pumped multi-port register file architecture

Also Published As

Publication number Publication date
US20190087365A1 (en) 2019-03-21
US10496569B2 (en) 2019-12-03

Similar Documents

Publication Publication Date Title
US6876228B2 (en) Field programmable gate array
US11159168B2 (en) Superconducting non-destructive readout circuits
JP3626239B2 (ja) プログラマブルアレイ
US6430088B1 (en) Embedded static random access memory for field programmable gate array
US6686769B1 (en) Programmable I/O element circuit for high speed logic devices
JPH03132212A (ja) 構成を変更可能な論理アレイ
JP2016516331A (ja) メモリを有する集積回路デバイスおよび集積回路デバイスにメモリを実装する方法
JP6564186B2 (ja) 再構成可能な半導体装置
US10867669B2 (en) Serialized SRAM access to reduce congestion
US20060232296A1 (en) Fast processing path using field programmable gate array logic unit
JP2003308224A (ja) マルチポートスキャンチェーンレジスタ装置及び方法
US9799379B2 (en) Hold time aware register file module and method therefor
JP3576837B2 (ja) プログラマブルロジックlsiの基本セル及び基本セル2次元アレイ
JP3231842B2 (ja) シリアルアクセスメモリ
US7248491B1 (en) Circuit for and method of implementing a content addressable memory in a programmable logic device
US8400865B2 (en) Memory macro configuration and method
US7242633B1 (en) Memory device and method of transferring data in memory device
US10496569B2 (en) Semiconductor integrated circuit
US6897676B1 (en) Configuration enable bits for PLD configurable blocks
KR101884190B1 (ko) 다수의 기록 포트를 갖는 메모리
JP4488282B2 (ja) 半導体集積回路
JPS63276138A (ja) レジスタ・フアイル
WO2018207801A1 (ja) プログラム可能なデバイス、その論理構成方法、及びそのプログラム
JPH06267279A (ja) 半導体記憶装置
Ngai et al. A new generation of ORCA FPGA with enhanced features and performance