JP5418291B2 - Memory controller and information processing apparatus - Google Patents
Memory controller and information processing apparatus Download PDFInfo
- Publication number
- JP5418291B2 JP5418291B2 JP2010038672A JP2010038672A JP5418291B2 JP 5418291 B2 JP5418291 B2 JP 5418291B2 JP 2010038672 A JP2010038672 A JP 2010038672A JP 2010038672 A JP2010038672 A JP 2010038672A JP 5418291 B2 JP5418291 B2 JP 5418291B2
- Authority
- JP
- Japan
- Prior art keywords
- clock signal
- memory
- internal clock
- read
- read data
- 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.)
- Expired - Fee Related
Links
Images
Description
本願は、チップ外部のメモリとデータ転送を行うメモリコントローラ、及び情報処理装置に関する。 The present application relates to a memory controller that performs data transfer with a memory outside a chip, and an information processing apparatus.
入力されたクロック信号に同期してデータを出力するSDRAM(Synchronous Dynamic Random Access Memory)等の外部メモリとデータ転送を行うメモリコントローラがある。メモリコントローラは、クロック信号をチップ外部のメモリに供給し、データを受け取る。このようなメモリコントローラに関して、メモリに入力されるクロック信号を引き戻したフィードバッククロック信号を利用してメモリからのデータを取り込む構成が知られている。 There is a memory controller that performs data transfer with an external memory such as an SDRAM (Synchronous Dynamic Random Access Memory) that outputs data in synchronization with an input clock signal. The memory controller supplies a clock signal to a memory outside the chip and receives data. With respect to such a memory controller, a configuration is known in which data from a memory is captured using a feedback clock signal obtained by pulling back a clock signal input to the memory.
メモリコントローラでは、メモリから読み出されたリードデータは、内部ロジック回路での処理が可能なように、メモリコントローラ内部で使用する内部クロック信号に乗せ換えられる。ここで、リードデータの取り込みに使用されるフィードバッククロック信号は内部クロック信号に対して遅延を有するため、内部クロック信号とは非同期となる。そのため、FIFO(First In, First Out)メモリを用いてリードデータを一時的に保持することでフィードバッククロック信号から内部クロック信号へのデータ乗せ換えを実現することが従来行われている。 In the memory controller, read data read from the memory is transferred to an internal clock signal used in the memory controller so that the internal logic circuit can process the read data. Here, since the feedback clock signal used for reading the read data has a delay with respect to the internal clock signal, it is asynchronous with the internal clock signal. For this reason, data transfer from a feedback clock signal to an internal clock signal is realized by temporarily holding read data using a FIFO (First In, First Out) memory.
図1に一例を示す。メモリコントローラ100は、チップ外部のメモリと内部ロジック回路との間でデータの入出力を制御する。不図示のクロック生成部で生成されてメモリコントローラ100の内部で使用される内部クロック信号ACLKは、メモリに供給されるとともに、フィードバッククロック信号FBCLKとしてメモリコントローラ100に引き戻される。フィードバッククロック信号FBCLKは、チップ外部を経由するため、内部クロック信号ACLKに対して遅延112を有する。カウンタスタート信号生成回路101は、内部クロック信号ACLKに同期してカウンタスタート信号PSPを出力する。カウンタスタート信号PSPは、3段のレジスタ106に入力される。また、カウンタスタート信号PSPは、フィードバッククロック信号FBCLKと同様にチップ外部を経由して、フィードバックカウンタスタート信号FBPSPとしてメモリコントローラ100に帰還される。そのため、カウンタスタート信号PSPに対するフィードバックカウンタスタート信号FBPSPの遅延111は、内部クロック信号ACLKに対するフィードバッククロック信号FBCLKの遅延112と相関性を有する。
An example is shown in FIG. The memory controller 100 controls data input / output between a memory outside the chip and an internal logic circuit. An internal clock signal ACLK generated by a clock generation unit (not shown) and used inside the memory controller 100 is supplied to the memory and pulled back to the memory controller 100 as a feedback clock signal FBCLK. Since the feedback clock signal FBCLK passes through the outside of the chip, it has a
カウンタ回路107は、フィードバックカウンタスタート信号FBPSPによってイネーブルされ、フィードバッククロック信号FBCLKに同期してカウント動作するフリーランカウンタである。また、カウンタスタート信号PSPが入力される3段のレジスタ106は、例えば、内部クロック信号ACLKに同期してデータをラッチする3つのフリップフロップである。カウンタ回路108は、3段のレジスタ106を介して入力されるカウンタスタート信号PSPによってイネーブルされ、内部クロック信号ACLKに同期してカウント動作するフリーランカウンタである。
The
レジスタ群104は3つのフリップフロップFF0、FF1、FF2を含み、メモリから読み出されたリードデータMRDを、フィードバッククロック信号FBCLKに同期して格納する。レジスタ群104の前段のセレクタ103は、リードデータMRDの格納位置を、カウンタ回路107のカウント値に応じて、レジスタ群104が有するフリップフロップFF0、FF1、FF2の中から指定する。また、レジスタ群104の後段のセレクタ105は、レジスタ群104からリードデータMRDを取り出す際に、リードデータMRDの取出位置を、カウンタ回路108のカウント値に応じて、フリップフロップFF0、FF1、FF2の中から指定する。すなわち、カウンタ回路107、セレクタ103、レジスタ群104、カウンタ回路108、セレクタ105を含む構成は、カウンタ回路107、セレクタ103をライトポインタ、カウンタ回路108、セレクタ105をリードポインタ、とするFIFOメモリとして機能する。
データ取込コントロール回路102は、内部クロック信号ACLKを動作クロックとして、リードイネーブル信号RDENを出力する。レジスタ群104からセレクタ105を介して取り出されたリードデータMRDは、リードイネーブル信号RDENとともにANDゲート109に入力される。フリップフロップ110は、内部クロック信号ACLKに同期してANDゲート109の出力をラッチする。フリップフロップ110の出力は、リードデータ出力QRDとして内部ロジック回路で処理される。
The data
上記の構成を有する従来例の動作を、図2を参照して説明する。図2は、内部クロック信号ACLKの周期が7.4ns、内部クロック信号ACLKに対するフィードバッククロック信号FBCLKの遅延112が約4.6ns程度である場合のタイミングチャートの一例である。図2において、RPは、レジスタ群104が有するフリップフロップFF0、FF1、FF2のうち、カウンタ回路108、セレクタ105によって指定されるフリップフロップの番号、すなわち、リードポインタの値である。同様に、WPは、レジスタ群104が有するフリップフロップFF0、FF1、FF2のうち、カウンタ回路107、セレクタ103によって指定されるフリップフロップの番号、すなわち、ライトポインタの値である。
The operation of the conventional example having the above configuration will be described with reference to FIG. FIG. 2 is an example of a timing chart when the cycle of the internal clock signal ACLK is 7.4 ns and the
カウンタスタート信号生成回路101からカウンタスタート信号PSPが出力されると、3段のレジスタ106を介してカウンタ回路108がイネーブルされる。これにより、カウンタスタート信号PSPを起点として一定サイクル(ここでは3サイクル)後にリードポインタの値RPが変化し始める。また、前述のように、カウンタスタート信号PSPに対するフィードバックカウンタスタート信号FBPSPの遅延111は、内部クロック信号ACLKに対するフィードバッククロック信号FBCLKの遅延112と相関性を有する。そのため、フィードバックカウンタスタート信号FBPSPは、フィードバッククロック信号FBCLKが内部クロック信号ACLKから遅れるのと同様に、カウンタスタート信号PSPから遅れる。フィードバックカウンタスタート信号FBPSPがフィードバッククロック信号FBCLKの立上りでカウンタ回路107に取り込まれると、ライトポインタの値WPが変化し始める。
When the counter start signal PSP is output from the counter start
内部ロジック回路から発行されるリードコマンド(a)に基づいて、メモリからリードデータMRDとしてDa1、Da2、Da3、Da4が読み出されるとともに、所定タイミングでデータ取込コントロール回路102からリードイネーブル信号RDENが出力される。フィードバッククロック信号FBCLKに同期して、ライトポインタの値WPに応じたレジスタ群104へのリードデータMRDの取り込みが行われる。これにより、データDa1はフリップフロップFF2に、データDa2はフリップフロップFF0に、データDa3はフリップフロップFF1に、データDa4はフリップフロップFF2に、それぞれ格納される。
Based on a read command (a) issued from the internal logic circuit, Da1, Da2, Da3, Da4 are read from the memory as read data MRD, and a read enable signal RDEN is output from the data
リードイネーブル信号RDENが出力されている間、リードポインタの値RPに応じてレジスタ群104から取り出されたリードデータMRDがフリップフロップ110によって内部クロック信号ACLKに同期してラッチされる。これにより、データDa1、Da2、Da3、Da4が内部クロック信号ACLKに同期したリードデータ出力QRDとなる。このようにして、リードコマンド(a)の発行から4サイクル後に内部クロック信号ACLKへのリードデータMRDの乗せ換えが開始され、以降も同様にして、動作が継続される。
While the read enable signal RDEN is being output, the read data MRD extracted from the
FIFOメモリを用いてフィードバッククロック信号FBCLKから内部クロック信号ACLKへのデータ乗せ換えを行う場合、リードポインタに対するライトポインタの動作タイミングを確定させるためにチップ外部の遅延112の値をある程度把握できることが必要となる。これに対して、図1に示した従来例では、カウンタスタート信号PSPを、フィードバッククロック信号FBCLKと同様にチップ外部を経由させてフィードバックカウンタスタート信号FBPSPとして取り込む。これにより、遅延112と相関の取れた遅延111から遅延112の値を見積もり、リードポインタとライトポインタとの時間的関係を決定する。したがって、設計段階でチップ外部の遅延が把握できない場合にも開発を進められる利点がある。
When data transfer from the feedback clock signal FBCLK to the internal clock signal ACLK is performed using a FIFO memory, it is necessary to know the value of the
しかしながら、図1の従来例では、カウンタスタート信号PSPを外部に出力するための端子やフィードバックカウンタスタート信号FBPSPを内部に帰還するための端子が必要となり、端子数が増加するという欠点がある。そのため、端子数に制限のあるチップにおいては、採用することができない場合がある。 However, the conventional example shown in FIG. 1 requires a terminal for outputting the counter start signal PSP to the outside and a terminal for feeding back the feedback counter start signal FBPSP to the inside, resulting in an increase in the number of terminals. For this reason, it may not be possible to employ a chip with a limited number of terminals.
本願は、端子を追加することなく確実にデータ転送を行うことが可能なメモリコントローラ、及び情報処理装置を提供することを目的とする。 An object of the present application is to provide a memory controller and an information processing apparatus that can reliably transfer data without adding a terminal.
本願に開示されているメモリコントローラは、内部クロック信号を外部のメモリに供給し、前記メモリとデータ転送を行うメモリコントローラであって、前記メモリから読み出されたリードデータを、前記メモリに入力される前記内部クロック信号を帰還した帰還クロック信号に同期して格納するレジスタ群と、前記レジスタ群に前記リードデータを取り込む際に、前記リードデータの格納位置を、前記帰還クロック信号に同期して指定するライトポインタと、前記レジスタ群から前記リードデータを取り出す際に、前記リードデータの取出位置を、前記内部クロック信号に同期して指定するリードポインタと、を含むFIFOメモリを備え、前記メモリに供給する前記内部クロック信号の一部をマスクし、前記リードポインタに対する前記ライトポインタの動作タイミングを調整する。 A memory controller disclosed in the present application is a memory controller that supplies an internal clock signal to an external memory and performs data transfer with the memory, and read data read from the memory is input to the memory. A register group that stores the internal clock signal in synchronization with a feedback clock signal that is fed back, and a storage location of the read data is specified in synchronization with the feedback clock signal when the read data is taken into the register group And a read pointer that designates the read data extraction position in synchronization with the internal clock signal when the read data is extracted from the register group, and is supplied to the memory Masking a part of the internal clock signal to the read pointer Adjusting the operation timing of the site pointers.
開示のメモリコントローラ、情報処理装置によれば、端子を追加することなく確実にデータ転送を行うことができる。 According to the disclosed memory controller and information processing apparatus, it is possible to reliably transfer data without adding a terminal.
図3は、第1実施形態の回路ブロック図である。図3では、主としてメモリコントローラ200Aの読み出し制御に関連する部分が示され、見易さを考慮して一部が省略されている。不図示のクロック生成部で生成された内部クロック信号ACLKは、メモリコントローラ200A内の各部に動作クロックとして供給される。コマンドバッファ201は、ロジック側からのコマンドを受け取るバッファであり、内部ロジック回路から制御信号を受信する。アドレスバッファ202は、ロジック側からのアドレスを受け取るバッファであり、内部ロジック回路からアドレスADDを受信する。メモリコントロールモジュール203は、コマンドバッファ201、アドレスバッファ202の情報に基づいてメモリ側へのコマンド情報を生成する。また、メモリコントロールモジュール203は、メモリコントローラ200Aの動作開始直後にスタート信号STARTを発行して転送用FIFO208の動作を開始し、リード動作時に原信号RE_SOURCEを発行して転送用FIFO208からのデータ取り込み動作を行うよう制御する。メモリコマンド生成回路204は、メモリ制御信号、メモリアドレスMADDを出力し、メモリコントロールモジュール203のコマンド情報をメモリに伝える。
FIG. 3 is a circuit block diagram of the first embodiment. FIG. 3 mainly shows a part related to the read control of the memory controller 200A, and a part thereof is omitted in view of easy viewing. An internal clock signal ACLK generated by a clock generation unit (not shown) is supplied as an operation clock to each unit in the memory controller 200A. The
モード設定レジスタ205は、モード設定情報MODEに基づいてカウンタスタート信号PSP、リードイネーブル信号RDEN、マスク信号CLKMASKの発行タイミングを設定するためのレジスタである。カウンタスタート信号&マスク信号生成回路206は、メモリコントロールモジュール203から発行されるスタート信号STARTに応じて、カウンタスタート信号PSP、マスク信号CLKMASKを、モード設定レジスタ205の値を基に設定されるタイミングで発行する。データ取込コントロール回路207は、メモリコントロールモジュール203から発行される原信号RE_SOURCEに対してモード設定レジスタ205の値に基づく遅延を付加し、リードイネーブル信号RDENを生成する。
The
転送用FIFO208において、カウンタスタート信号PSPは、カウンタ回路210のイネーブル端子に入力されるとともに、3段のレジスタ209を介してカウンタ回路212のイネーブル端子に入力される。3段のレジスタ209は、例えば、図1の従来例における3段のレジスタ106と同様に、内部クロック信号ACLKに同期してデータをラッチする3つのフリップフロップである。カウンタ回路210は、カウンタスタート信号PSPによってイネーブルされ、フィードバッククロック信号FBCLKに同期してカウント動作するフリーランカウンタである。カウンタ回路212は、3段のレジスタ209を介して入力されるカウンタスタート信号PSPによってイネーブルされ、内部クロック信号ACLKに同期してカウント動作するフリーランカウンタである。外部データ同期用レジスタ群211は、例えば、図1の従来例におけるレジスタ群104と同様に3つのフリップフロップを含み、メモリから読み出されたリードデータMRDを、フィードバッククロック信号FBCLKに同期して格納する。
In the
また、図3では図示が省略されているが、転送用FIFO208は、レジスタ群211の前段、後段にそれぞれセレクタを有する。前段のセレクタは、リードデータMRDの格納位置を、カウンタ回路210のカウント値に応じて、レジスタ群211が有するフリップフロップの中から指定する。また、後段のセレクタは、レジスタ群211からリードデータMRDを取り出す際に、リードデータMRDの取出位置を、カウンタ回路212のカウント値に応じて、レジスタ群211が有するフリップフロップの中から指定する。すなわち、転送用FIFO208は、カウンタ回路210のカウント値をライトポインタの値、カウンタ回路212のカウント値をリードポインタの値、とするFIFOメモリとして機能する。
Although not shown in FIG. 3, the
リードデータバッファ213は、リードイネーブル信号RDENによってイネーブルされ、転送用FIFO208から取得したリードデータMRDを内部クロック信号ACLKに同期させ、リードデータ出力RDATAとして内部ロジック回路へ転送する。リードデータバッファ213は、例えば、図1の従来例におけるANDゲート109とフリップフロップ110とを含む構成により実現することができる。
The read
メモリコントローラ200Aの内部で使用される内部クロック信号ACLKは、ANDゲート214を介してメモリに供給されるとともに、フィードバッククロック信号FBCLKとしてメモリコントローラ200Aに引き戻される。フィードバッククロック信号FBCLKは、チップ外部を経由するため、内部クロック信号ACLKに対して遅延215を有する。また、内部クロック信号ACLKは、マスク信号CLKMASKとともにANDゲート214に入力されるため、マスク信号CLKMASKのLレベル出力に応じてマスクされ、フィードバッククロック信号FBCLKとして帰還される。
An internal clock signal ACLK used inside the memory controller 200A is supplied to the memory via the AND
図4は、カウンタスタート信号&マスク信号生成回路206の具体例を示す回路ブロック図である。メモリコントロールモジュール203(図3参照)から発行されるスタート信号STARTは、一方の入力がHレベルに固定されたANDゲート11を介して、フリップフロップ12に入力される。フリップフロップ12は、ANDゲート11を介して入力されるスタート信号STARTを内部クロック信号ACLKに同期してラッチし、カウンタスタートイネーブル信号PSP_ENを出力する。制御ステートマシン13は、カウンタスタートイネーブル信号PSP_EN、モード設定レジスタ205(図3参照)の値DL、内部クロック信号ACLKを入力として、カウンタスタート信号PSP、マスクイネーブル信号CLKMSK_ENを出力する。ANDゲート15は、マスクイネーブル信号CLKMSK_ENとインバータ14で反転されたカウンタスタートイネーブル信号PSP_ENとの論理積信号を、マスク信号CLKMASKとして出力する。
FIG. 4 is a circuit block diagram showing a specific example of the counter start signal & mask
図5は、制御ステートマシン13の動作を示す状態遷移図であり、ハードウェア記述言語(Hardware Description Language)で記述された具体例である。RESET状態において、モード設定レジスタ205の値DLに1を加算した値が、所定値DL_NUMとして与えられる。
FIG. 5 is a state transition diagram showing the operation of the
STANDBY状態において、3ビットのレジスタMASK_CNTに“000”が代入される。カウンタスタート信号PSPに対応する1ビットのレジスタに“0”が代入される。マスクイネーブル信号CLKMSK_ENに対応する1ビットのレジスタに“1”が代入される。そして、スタート信号STARTが発行され、カウンタスタートイネーブル信号PSP_ENに対応する1ビットのレジスタの値が“1”になると、制御ステートマシン13はMASK状態に遷移する。
In the STANDBY state, “000” is substituted into the 3-bit register MASK_CNT. “0” is assigned to the 1-bit register corresponding to the counter start signal PSP. “1” is assigned to a 1-bit register corresponding to the mask enable signal CLKMSK_EN. When the start signal START is issued and the value of the 1-bit register corresponding to the counter start enable signal PSP_EN becomes “1”, the
MASK状態において、3ビットのレジスタMASK_CNTの値が1ビットずつ加算される。カウンタスタート信号PSPに対応する1ビットのレジスタに“0”が代入される。マスクイネーブル信号CLKMSK_ENに対応する1ビットのレジスタに“0”が代入される。1ビットずつ加算される3ビットのレジスタMASK_CNTの値が所定値DL_NUMになると、制御ステートマシン13はLASTMASK状態を経てFINAL状態に遷移する。
In the MASK state, the value of the 3-bit register MASK_CNT is added bit by bit. “0” is assigned to the 1-bit register corresponding to the counter start signal PSP. “0” is assigned to a 1-bit register corresponding to the mask enable signal CLKMSK_EN. When the value of the 3-bit register MASK_CNT added bit by bit reaches a predetermined value DL_NUM, the
LASTMASK状態において、3ビットのレジスタMASK_CNTの値は保持される。カウンタスタート信号PSPに対応する1ビットのレジスタに“1”が代入される。マスクイネーブル信号CLKMSK_ENに対応する1ビットのレジスタに“0”が代入される。 In the LASTMASK state, the value of the 3-bit register MASK_CNT is held. “1” is assigned to a 1-bit register corresponding to the counter start signal PSP. “0” is assigned to a 1-bit register corresponding to the mask enable signal CLKMSK_EN.
FINAL状態において、3ビットのレジスタMASK_CNTの値は保持される。カウンタスタート信号PSPに対応する1ビットのレジスタに“1”が代入される。マスクイネーブル信号CLKMSK_ENに対応する1ビットのレジスタに“1”が代入される。 In the final state, the value of the 3-bit register MASK_CNT is held. “1” is assigned to a 1-bit register corresponding to the counter start signal PSP. “1” is assigned to a 1-bit register corresponding to the mask enable signal CLKMSK_EN.
上記の構成を有する第1実施形態の動作を、図6を参照して説明する。図6は、内部クロック信号ACLKの周期が7.4ns、内部クロック信号ACLKに対するフィードバッククロック信号FBCLKの遅延215が3.7nsである場合のタイミングチャートの一例である。図6において、RP、WPはそれぞれ図2と同様にリードポインタの値、ライトポインタの値を示す。
The operation of the first embodiment having the above configuration will be described with reference to FIG. FIG. 6 is an example of a timing chart when the cycle of the internal clock signal ACLK is 7.4 ns and the
STANDBY状態では、カウンタスタート信号PSPはLレベルとなるため、転送用FIFO208は動作を待機する。また、マスク信号CLKMASKはHレベルとなるため、内部クロック信号ACLKはマスクされることなくフィードバッククロック信号FBCLKとして帰還される。
In the STANDBY state, the counter start signal PSP is at L level, so the
メモリコントローラ200Aの動作開始直後にメモリコントロールモジュール203から発行されるスタート信号STARTが内部クロック信号ACLKに同期してフリップフロップ12(図4参照)に取り込まれると、カウンタスタートイネーブル信号PSP_ENが出力される。制御ステートマシン13は、カウンタスタートイネーブル信号PSP_ENに対応する1ビットのレジスタの値が“1”になると、前述のように、MASK状態に遷移する(図5参照)。
When the start signal START issued from the
MASK状態では、カウンタスタート信号PSPはLレベルとなるため、転送用FIFO208は引き続き動作を待機する。また、マスク信号CLKMASKはLレベルとなるため、内部クロック信号ACLKはマスクされてフィードバッククロック信号FBCLKとして帰還される。制御ステートマシン13は、1ビットずつ加算される3ビットのレジスタMASK_CNTの値が所定値DL_NUMになると、前述のように、LASTMASK状態に遷移する(図5参照)。
In the MASK state, the counter start signal PSP is at L level, so the
LASTMASK状態では、カウンタスタート信号PSPはHレベルとなるため、転送用FIFO208において、カウンタ回路210がイネーブルされ、カウンタ回路212も3段のレジスタ209を介してイネーブルされる。また、マスク信号CLKMASKはLレベルとなるため、内部クロック信号ACLKはマスクされてフィードバッククロック信号FBCLKとして帰還される。そして、FINAL状態では、カウンタスタート信号PSPはHレベルとなるため、転送用FIFO208は動作を継続する。また、マスク信号CLKMASKはHレベルとなるため、内部クロック信号ACLKはマスクされることなくフィードバッククロック信号FBCLKとして帰還される。
In the LASTMASK state, the counter start signal PSP becomes H level, so that the
したがって、カウンタ回路210のカウント値であるライトポインタの値WPは、フィードバッククロック信号FBCLKとして帰還される内部クロック信号ACLKのマスク期間が終了するのに応じて変化し始める。また、カウンタ回路212のカウント値であるリードポインタの値RPは、カウンタスタート信号PSPがHレベルとなってから一定サイクル(ここでは3サイクル)後に変化し始める。
Therefore, the write pointer value WP, which is the count value of the
このように、第1実施形態では、カウンタスタート信号&マスク信号生成回路206は、メモリに供給する内部クロック信号ACLKに十分に長いマスク期間を設け、そのマスク期間中にカウンタスタート信号PSPを発行する。これにより、内部クロック信号ACLKとフィードバッククロック信号FBCLKとの非同期性を吸収し、転送用FIFO208においてリードポインタに対するライトポインタの動作タイミングを調整することができる。また、マスク期間とカウンタスタート信号PSPの発行タイミングとはモード設定レジスタ205の値によって変更可能であるため、内部クロック信号ACLKに対するフィードバッククロック信号FBCLKの遅延215に応じた調整を行うことができる。
As described above, in the first embodiment, the counter start signal & mask
図7は、第2実施形態の回路ブロック図である。第2実施形態では、第1実施形態と対応する部分には同じ符号を付して説明を省略し、第1実施形態と異なる点を中心に説明する。メモリコントローラ200Bは、外部クロック観測モジュール216を備える。外部クロック観測モジュール216は、内部クロック信号ACLKの4倍の周波数を有する4逓倍クロック信号X4ACLKを動作クロックとして、フィードバッククロック信号FBCLKを観測し、ライトポインタイネーブル信号WP_ENを出力する。カウンタ回路210は、ライトポインタイネーブル信号WP_ENによってイネーブルされる。
FIG. 7 is a circuit block diagram of the second embodiment. In the second embodiment, portions corresponding to those in the first embodiment are denoted by the same reference numerals, description thereof is omitted, and differences from the first embodiment will be mainly described. The memory controller 200B includes an external
図8は、第2実施形態におけるカウンタスタート信号&マスク信号生成回路206の動作を示すタイミングチャートの一例である。カウンタスタート信号&マスク信号生成回路206の基本的な構成は、第1実施形態における構成と同様である。図8に示されるように、第2実施形態では、カウンタスタート信号&マスク信号生成回路206は、内部クロック信号ACLKのマスク期間を常に1サイクルとする。
FIG. 8 is an example of a timing chart showing the operation of the counter start signal & mask
図9は、外部クロック観測モジュール216の動作を示す状態遷移図であり、ハードウェア記述言語で記述された具体例である。前述のように、外部クロック観測モジュール216は、4逓倍クロック信号X4ACLKを動作クロックとする。RESET状態から復帰すると、外部クロック観測モジュール216は、4逓倍クロック信号X4ACLKに同期してFBCHECK1状態に移行する。そして、外部クロック観測モジュール216は、フィードバッククロック信号FBCLKに対応する1ビットのレジスタの値が“1”にならない限り、FBCHECK1→FBCHECK2→FBCHECK3→FBCHECK4と順に移行する。
FIG. 9 is a state transition diagram showing the operation of the external
FBCHECK4状態においてもフィードバッククロック信号FBCLKに対応する1ビットのレジスタの値が“1”にならない場合、外部クロック観測モジュール216は、WP_EN_ACT状態に移行する。WP_EN_ACT状態において、外部クロック観測モジュール216は、ライトポインタイネーブル信号WP_ENを出力する。このようにして、外部クロック観測モジュール216は、フィードバッククロック信号FBCLKが4逓倍クロック信号X4ACLKの4サイクルの間Hレベルにならない場合に、ライトポインタイネーブル信号WP_ENを出力する。
Even in the FBCHECK4 state, when the value of the 1-bit register corresponding to the feedback clock signal FBCLK does not become “1”, the external
上記の構成を有する第2実施形態の動作を、図10を参照して説明する。カウンタスタート信号&マスク信号生成回路206によって内部クロック信号ACLKが1サイクル分マスクされると、マスク情報がフィードバッククロック信号FBCLKに伝わり、フィードバッククロック信号FBCLKが1サイクル分欠ける。フィードバッククロック信号FBCLKが4逓倍クロック信号X4ACLKの4サイクルの間Hレベルにならないため、前述のように、外部クロック観測モジュール216は、ライトポインタイネーブル信号WP_ENを出力する。これにより、カウンタ回路210がイネーブルされ、フィードバッククロック信号FBCLKに同期してライトポインタの値WPが変化し始める。
The operation of the second embodiment having the above configuration will be described with reference to FIG. When the internal clock signal ACLK is masked for one cycle by the counter start signal & mask
このように、第2実施形態では、カウンタスタート信号&マスク信号生成回路206は、メモリに供給する内部クロック信号ACLKを1サイクル分マスクする。そして、外部クロック観測モジュール216は、4逓倍クロック信号X4ACLKを動作クロックとしてフィードバッククロック信号FBCLKを観測し、マスク情報を検出するとライトポインタイネーブル信号WP_ENを出力する。これにより、第2実施形態においても、内部クロック信号ACLKとフィードバッククロック信号FBCLKとの非同期性を吸収し、転送用FIFO208においてリードポインタに対するライトポインタの動作タイミングを調整することができる。また、カウンタスタート信号PSPの発行タイミングはモード設定レジスタ205の値によって変更可能であるため、内部クロック信号ACLKに対するフィードバッククロック信号FBCLKの遅延215に応じた調整を行うことができる。また、外部クロック観測モジュール216は、4逓倍クロック信号X4ACLKを用いることで、確実にマスク情報を検出することができる。
Thus, in the second embodiment, the counter start signal & mask
以上、詳細に説明したように、前記第1、第2を含む実施形態によれば、メモリに供給する内部クロック信号ACLKをマスクすることで、内部クロック信号ACLKとフィードバッククロック信号FBCLKとの非同期性を吸収し、安定したデータの取り込みが可能になる。前記第1、第2を含む実施形態によれば、端子を追加することなく確実にデータ転送を行うことができる。 As described above in detail, according to the first and second embodiments, the internal clock signal ACLK supplied to the memory is masked so that the internal clock signal ACLK and the feedback clock signal FBCLK are asynchronous. Can be absorbed and stable data can be captured. According to the first and second embodiments, it is possible to reliably transfer data without adding a terminal.
尚、本発明は前記実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲内での種々の改良、変更が可能であることは言うまでもない。 Needless to say, the present invention is not limited to the above-described embodiment, and various improvements and modifications can be made without departing from the spirit of the present invention.
例えば、第2実施形態では、外部クロック観測モジュール216が4逓倍クロック信号X4ACLKを用いる場合を説明したが、これに限定されない。外部クロック観測モジュール216は、4逓倍もしくはそれ以上の高速クロック信号を用いてもよい。
For example, in the second embodiment, the case where the external
また、前記実施形態において転送用FIFO208のレジスタ群211は例えば3つのフリップフロップを含むとしたが、これに限定されないことは言うまでもない。
In the above embodiment, the
また、上述したメモリコントローラとメモリとを備える情報処理装置としても本発明は実現可能である。 The present invention can also be realized as an information processing apparatus including the memory controller and the memory described above.
尚、内部クロック信号ACLK、フィードバッククロック信号FBCLKは、それぞれ内部クロック信号、帰還クロック信号の一例である。レジスタ群211は、レジスタ群の一例である。カウンタ回路210及びセレクタは、ライトポインタの一例である。カウンタ回路212及びセレクタは、リードポインタの一例である。転送用FIFO208は、FIFOメモリの一例である。カウンタスタート信号PSPは、起動信号の一例である。4逓倍クロック信号X4ACLKは、高速クロック信号の一例である。外部クロック観測モジュール216は、観測モジュールの一例である。
The internal clock signal ACLK and the feedback clock signal FBCLK are examples of the internal clock signal and the feedback clock signal, respectively. The
200A、200B メモリコントローラ
205 モード設定レジスタ
206 カウンタスタート信号&マスク信号生成回路
207 データ取込コントロール回路
208 転送用FIFO
210、212 カウンタ回路
211 レジスタ群
213 リードデータバッファ
216 外部クロック観測モジュール
ACLK 内部クロック信号
FBCLK フィードバッククロック信号
MRD リードデータ
PSP カウンタスタート信号
X4ACLK 4逓倍クロック信号
200A,
210, 212
Claims (6)
前記メモリから読み出されたリードデータを、前記メモリに入力される前記内部クロック信号を帰還した帰還クロック信号に同期して格納するレジスタ群と、
前記レジスタ群に前記リードデータを取り込む際に、前記リードデータの格納位置を、前記帰還クロック信号に同期して指定するライトポインタと、
前記レジスタ群から前記リードデータを取り出す際に、前記リードデータの取出位置を、前記内部クロック信号に同期して指定するリードポインタと、
を含むFIFOメモリを備え、
前記メモリに供給する前記内部クロック信号の一部をマスクし、前記リードポインタに対する前記ライトポインタの動作タイミングを調整する
ことを特徴とするメモリコントローラ。 A memory controller for supplying an internal clock signal to an external memory and performing data transfer with the memory;
A group of registers for storing read data read from the memory in synchronization with a feedback clock signal obtained by feeding back the internal clock signal input to the memory;
A write pointer that specifies the storage location of the read data in synchronization with the feedback clock signal when the read data is taken into the register group;
A read pointer for designating the read data extraction position in synchronization with the internal clock signal when the read data is extracted from the register group;
FIFO memory including
A part of the internal clock signal supplied to the memory is masked, and the operation timing of the write pointer with respect to the read pointer is adjusted.
ことを特徴とする請求項1に記載のメモリコントローラ。 The memory controller according to claim 1, wherein an activation signal for activating the read pointer and the write pointer is output during a mask period of the internal clock signal supplied to the memory.
を備えることを特徴とする請求項2に記載のメモリコントローラ。 The memory controller according to claim 2, further comprising a mode setting register that sets an output timing of the mask period and the activation signal.
前記メモリに供給する前記内部クロック信号のマスク部分の検出に応じて前記ライトポインタを起動する
ことを特徴とする請求項1に記載のメモリコントローラ。 An observation module for observing the feedback clock signal, using a high-speed clock signal having an integer multiple of the internal clock signal as an operation clock;
The memory controller according to claim 1, wherein the write pointer is activated in response to detection of a mask portion of the internal clock signal supplied to the memory.
ことを特徴とする請求項4に記載のメモリコントローラ。 The memory controller according to claim 4, wherein the high-speed clock signal is a quadruple clock signal having a frequency four times that of the internal clock signal.
内部クロック信号を前記メモリに供給し、前記メモリとデータ転送を行うメモリコントローラと、
を備える情報処理装置であって、
前記メモリコントローラは、
前記メモリから読み出されたリードデータを、前記メモリに入力される前記内部クロック信号を帰還した帰還クロック信号に同期して格納するレジスタ群と、
前記レジスタ群に前記リードデータを取り込む際に、前記リードデータの格納位置を、前記帰還クロック信号に同期して指定するライトポインタと、
前記レジスタ群から前記リードデータを取り出す際に、前記リードデータの取出位置を、前記内部クロック信号に同期して指定するリードポインタと、
を含むFIFOメモリを備え、
前記メモリに供給する前記内部クロック信号の一部をマスクし、前記リードポインタに対する前記ライトポインタの動作タイミングを調整する
ことを特徴とする情報処理装置。 A memory that outputs data in synchronization with the input clock signal;
A memory controller for supplying an internal clock signal to the memory and transferring data with the memory;
An information processing apparatus comprising:
The memory controller is
A group of registers for storing read data read from the memory in synchronization with a feedback clock signal obtained by feeding back the internal clock signal input to the memory;
A write pointer that specifies the storage location of the read data in synchronization with the feedback clock signal when the read data is taken into the register group;
A read pointer for designating the read data extraction position in synchronization with the internal clock signal when the read data is extracted from the register group;
FIFO memory including
An information processing apparatus comprising: masking a part of the internal clock signal supplied to the memory and adjusting an operation timing of the write pointer with respect to the read pointer.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010038672A JP5418291B2 (en) | 2010-02-24 | 2010-02-24 | Memory controller and information processing apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010038672A JP5418291B2 (en) | 2010-02-24 | 2010-02-24 | Memory controller and information processing apparatus |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2011175429A JP2011175429A (en) | 2011-09-08 |
JP5418291B2 true JP5418291B2 (en) | 2014-02-19 |
Family
ID=44688235
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010038672A Expired - Fee Related JP5418291B2 (en) | 2010-02-24 | 2010-02-24 | Memory controller and information processing apparatus |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5418291B2 (en) |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05265701A (en) * | 1992-03-17 | 1993-10-15 | Japan Radio Co Ltd | Fifo memory |
JP3581666B2 (en) * | 2001-02-27 | 2004-10-27 | 株式会社日立製作所 | Information processing equipment |
JP2003248619A (en) * | 2002-02-22 | 2003-09-05 | Oki Data Corp | Device accessing method |
US7296097B2 (en) * | 2003-03-20 | 2007-11-13 | Renesas Technology Corp. | Memory card and initialization setting method thereof to avoid initializing operation failure in a memory card |
JP4747621B2 (en) * | 2005-03-18 | 2011-08-17 | 日本電気株式会社 | Memory interface control circuit |
JP2007247774A (en) * | 2006-03-15 | 2007-09-27 | Nec Saitama Ltd | Hinge assembling system |
JP2008186154A (en) * | 2007-01-29 | 2008-08-14 | Kyocera Corp | Data processor and data processing method |
JP2009181667A (en) * | 2008-01-31 | 2009-08-13 | Sony Corp | Semiconductor memory device and operation method thereof |
-
2010
- 2010-02-24 JP JP2010038672A patent/JP5418291B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2011175429A (en) | 2011-09-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100910852B1 (en) | Semiconductor device | |
US10725950B2 (en) | Peripheral interface circuit for serial memory | |
JP2010287304A (en) | Semiconductor memory device and method of generating output enable signal | |
TWI452576B (en) | Memory device including a memory block having a fixed latency data output | |
JP2007048022A (en) | Asynchronous bus interface and its processing method | |
US7774666B2 (en) | Analyzer | |
TWI437411B (en) | Fifo apparatus for the boundary of clock trees and method thereof | |
JP5418291B2 (en) | Memory controller and information processing apparatus | |
KR101747885B1 (en) | Shift circuit | |
WO2018072439A1 (en) | Test data generation method and device, and computer storage medium | |
JP2007087468A (en) | Output control signal generation circuit | |
JP5082954B2 (en) | Signal processing circuit | |
JP6512640B1 (en) | Asynchronous FIFO circuit | |
JP4633334B2 (en) | Information processing apparatus and memory access arbitration method | |
KR100596980B1 (en) | Apparatus, System and Method for Generating Self-generated Strobe Signal of Peripheral Device | |
JP3562416B2 (en) | Inter-LSI data transfer system and source synchronous data transfer method used therefor | |
JP4114749B2 (en) | MEMORY CONTROL DEVICE AND ELECTRONIC DEVICE | |
JP2008134926A (en) | Synchronization circuit | |
JP5126010B2 (en) | Memory access control circuit and image processing apparatus | |
JP4825065B2 (en) | Clock transfer circuit | |
JP2008085519A (en) | Clock control circuit and semiconductor integrated circuit | |
JP2010146352A (en) | Memory access control circuit and memory access control method | |
JP2007336028A (en) | Variable delay control apparatus | |
JP2012122943A (en) | Semiconductor testing device | |
JP3450667B2 (en) | Data processor |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20121031 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20131009 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20131022 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20131104 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313111 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
LAPS | Cancellation because of no payment of annual fees |