JP2011170771A - Semiconductor integrated circuit and timing adjusting method thereof - Google Patents

Semiconductor integrated circuit and timing adjusting method thereof Download PDF

Info

Publication number
JP2011170771A
JP2011170771A JP2010036201A JP2010036201A JP2011170771A JP 2011170771 A JP2011170771 A JP 2011170771A JP 2010036201 A JP2010036201 A JP 2010036201A JP 2010036201 A JP2010036201 A JP 2010036201A JP 2011170771 A JP2011170771 A JP 2011170771A
Authority
JP
Japan
Prior art keywords
buffer
signal
data
logic cell
delay
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
JP2010036201A
Other languages
Japanese (ja)
Inventor
Keiichi Kuwabara
恵一 桑原
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.)
Renesas Electronics Corp
Original Assignee
Renesas Electronics 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 Renesas Electronics Corp filed Critical Renesas Electronics Corp
Priority to JP2010036201A priority Critical patent/JP2011170771A/en
Publication of JP2011170771A publication Critical patent/JP2011170771A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Design And Manufacture Of Integrated Circuits (AREA)
  • Memory System (AREA)
  • Semiconductor Integrated Circuits (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To solve such a problem that it takes much man-hours to adjust timing in a semiconductor integrated circuit of a conventional technology. <P>SOLUTION: The semiconductor integrated circuit includes: logic cell groups 11 to 15 in which circuit blocks which are individually arranged correspondingly to a plurality of signal lines connected to an external memory to determine the timing of the corresponding signal lines are magnified; and IO buffers 21 to 26 which are provided correspondingly to the logic cell groups 11 to 15. Pieces of wiring connecting the logic cell groups 11 to 15 to the corresponding IO buffers 21 to 26 has the approximately same lengths. <P>COPYRIGHT: (C)2011,JPO&INPIT

Description

本発明は、半導体集積回路及びそのタイミング調整方法に関する。   The present invention relates to a semiconductor integrated circuit and a timing adjustment method thereof.

DRAM(Synchronous Dynamic Random Access Memory)を含む半導体メモリでは、データの大容量化が求められるとともに、データ転送速度の向上が求められている。データ転送速度の高速化が図られたDRAMの一つに、DDR−SDRAM(Double Data Rate − Synchronous Dynamic Random Access Memory)が挙げられる。DDR−SDRAMでは、クロックの立ち上がりと立ち下がりの両方に同期してデータ転送が可能であるため、従来のSDRAMの2倍以上のデータスループットを実現することが可能となる。   In a semiconductor memory including a DRAM (Synchronous Dynamic Random Access Memory), there is a demand for an increase in data capacity and an improvement in data transfer speed. As one of DRAMs whose data transfer speed has been increased, DDR-SDRAM (Double Data Rate-Synchronous Dynamic Random Access Memory) can be cited. In the DDR-SDRAM, data transfer is possible in synchronization with both rising and falling of the clock, so that it is possible to realize a data throughput more than twice that of the conventional SDRAM.

DDR−SDRAMとのインターフェースを行うインターフェース回路の動作が、特許文献1に開示されている。特許文献1に開示されたDDR−SDRAMインターフェース回路(以下、単にインターフェース回路と称す)は、クロック発生回路と、出力バッファと、入力バッファと、DLL(Delay Locked Loop)回路と、第1遅延回路と、タイミング制御回路と、を備える。また、第1遅延回路は、第1遅延バッファと、第2遅延バッファと、を有する。タイミング調整回路は、2つのFF(Flip Flop)を有する。   The operation of an interface circuit that interfaces with a DDR-SDRAM is disclosed in Patent Document 1. A DDR-SDRAM interface circuit (hereinafter simply referred to as an interface circuit) disclosed in Patent Document 1 includes a clock generation circuit, an output buffer, an input buffer, a DLL (Delay Locked Loop) circuit, and a first delay circuit. And a timing control circuit. The first delay circuit includes a first delay buffer and a second delay buffer. The timing adjustment circuit has two FFs (Flip Flops).

クロック発生回路は、内部クロック信号を生成し、第1遅延回路に対して出力する。同時に、クロック発生回路は、メモリクロック信号を生成し、出力バッファを介して、DDR−SDRAMに対して出力する。DDR−SDRAMは、インターフェース回路によって生成されたメモリクロック信号に基づいて、データストローブ信号及びデータ信号を生成し、インターフェース回路に対して出力する。   The clock generation circuit generates an internal clock signal and outputs it to the first delay circuit. At the same time, the clock generation circuit generates a memory clock signal and outputs it to the DDR-SDRAM via the output buffer. The DDR-SDRAM generates a data strobe signal and a data signal based on the memory clock signal generated by the interface circuit, and outputs it to the interface circuit.

インターフェース回路において、データストローブ信号は、入力バッファを介してDLL回路に入力される。そして、DLL回路は、データストローブ信号の位相を90°遅らせた遅延データストローブ信号を生成する。また、インターフェース回路において、データ信号は、別の入力バッファを介して一方のFFに入力される。一方のFFは、遅延データストローブ信号に同期してデータ信号を取り込み、他方のFFに対して出力する。つまり、一方のFFは、遅延データストローブ信号によってデータ信号をサンプリングする。   In the interface circuit, the data strobe signal is input to the DLL circuit via the input buffer. Then, the DLL circuit generates a delayed data strobe signal obtained by delaying the phase of the data strobe signal by 90 °. In the interface circuit, the data signal is input to one FF via another input buffer. One FF takes in the data signal in synchronization with the delayed data strobe signal and outputs it to the other FF. That is, one FF samples the data signal with the delayed data strobe signal.

第1遅延回路は、内部クロック信号に遅延時間を付与して、遅延内部クロック信号を出力する。他方のFFは、一方のFFによってサンプリングされたデータ信号を、遅延内部クロック信号に同期して取り込み、後段の内部回路に対して出力する。このようにして、インターフェース回路は、DDR−SDRAMによって生成されたデータ信号のクロックの乗せ換えを行う。   The first delay circuit gives a delay time to the internal clock signal and outputs a delayed internal clock signal. The other FF takes in the data signal sampled by one FF in synchronization with the delayed internal clock signal and outputs it to the internal circuit at the subsequent stage. In this way, the interface circuit changes the clock of the data signal generated by the DDR-SDRAM.

ここで、第1遅延回路内に設けられた第1及び第2遅延バッファは、出力バッファ及びデータストローブ信号の増幅に用いられる入力バッファと同一構成を有している。したがって、インターフェース回路は、遅延データストローブ信号と遅延内部クロック信号との間の遅延時間のばらつきを抑制し、安定したデータの取り込みを行うことができる。   Here, the first and second delay buffers provided in the first delay circuit have the same configuration as the output buffer and the input buffer used for amplification of the data strobe signal. Therefore, the interface circuit can suppress a variation in delay time between the delayed data strobe signal and the delayed internal clock signal, and can stably capture data.

特開2008−210307号公報JP 2008-210307 A

高速処理が要求されるインターフェース回路(半導体装置)とメモリとの間の通信において、ACタイミングを調整するためには、当該インターフェース回路に用いられている論理セルを、対応するIOバッファ(入力バッファ及び出力バッファ)の近傍に配置することにより、配線遅延の誤差を抑制する等の対策をする必要がある。しかし、インターフェース回路は、RTL設計、論理合成、レイアウト設計及びSTA(Static timing analysis)の工程を経て設計されるのが一般的である。したがって、従来技術においてACタイミングを調整する場合、論理合成後に生成されるネットリストから対象となる論理セルを選択し、対応するIOバッファの近傍に配置する等の工数がかかってしまうという問題があった。   In communication between an interface circuit (semiconductor device) that requires high-speed processing and a memory, in order to adjust the AC timing, a logic cell used in the interface circuit is associated with a corresponding IO buffer (input buffer and It is necessary to take measures such as suppressing wiring delay errors by arranging them in the vicinity of the output buffer. However, the interface circuit is generally designed through RTL design, logic synthesis, layout design, and STA (Static Timing Analysis) processes. Therefore, when the AC timing is adjusted in the prior art, there is a problem that it takes man-hours such as selecting a target logic cell from a net list generated after logic synthesis and arranging it in the vicinity of the corresponding IO buffer. It was.

本発明にかかる半導体集積回路は、外部メモリと接続される複数の信号線に対応して個別に設けられ前記対応する信号線のタイミングを決定する回路ブロックをマクロ化したハードマクロと、前記ハードマクロのそれぞれに対応して設けられたIOバッファと、を有し、前記ハードマクロと前記対応する前記IOバッファとを結合する配線のそれぞれが略同じ長さを有することを特徴とする。   The semiconductor integrated circuit according to the present invention includes a hard macro in which a circuit block that is individually provided corresponding to a plurality of signal lines connected to an external memory and determines the timing of the corresponding signal line is made into a macro, and the hard macro Each of the wirings that connect the hard macro and the corresponding IO buffer have substantially the same length.

本発明にかかる半導体集積回路の別の態様は、第1のIOバッファの近傍に配置されると共に前記第1のIOバッファに第1の配線を介して結合され、第1のクロック信号に基づいて生成した基準クロックを前記第1のIOバッファを介して出力する第1のハードマクロと、第2のIOバッファの近傍に配置されると共に前記第2のIOバッファに第2の配線を介して結合され、入力された制御信号を前記第1のクロック信号に同期して前記第2のIOバッファを介して出力する第2のハードマクロと、第3のIOバッファの近傍に配置されると共に前記第3のIOバッファに第3の配線を介して結合され、前記第3のIOバッファを介して入力されたストローブ信号に所定の遅延を付加する第3のハードマクロと、第4のIOバッファの近傍に配置されると共に前記第4のIOバッファに第4の配線を介して結合され、前記第4のIOバッファを介してデータ信号の送受信を行う第4のハードマクロと、を有し、前記第1乃至第4配線の長さが略同じ長さであることを特徴とする。   Another aspect of the semiconductor integrated circuit according to the present invention is arranged in the vicinity of the first IO buffer, coupled to the first IO buffer via a first wiring, and based on the first clock signal. A first hard macro that outputs the generated reference clock via the first IO buffer and a second hard buffer arranged near the second IO buffer and coupled to the second IO buffer via a second wiring A second hard macro that outputs the input control signal via the second IO buffer in synchronization with the first clock signal; and a second hard macro that is disposed in the vicinity of the third IO buffer and the second IO macro. A third hard macro coupled to the third IO buffer via the third wiring and adding a predetermined delay to the strobe signal input via the third IO buffer; And a fourth hard macro that is coupled to the fourth IO buffer via a fourth wiring and transmits / receives a data signal via the fourth IO buffer. The first to fourth wirings have substantially the same length.

本発明にかかる半導体集積回路のタイミング調整方法は、第1のIOバッファに第1の配線を介して結合され、第1のクロック信号に基づいて生成した基準クロックを前記第1のIOバッファを介して出力する第1のハードマクロと、第2のIOバッファに第2の配線を介して結合され、入力された制御信号を前記第1のクロック信号に同期して前記第2のIOバッファを介して出力する第2のハードマクロと、第3のIOバッファに第3の配線を介して結合され、前記第3のIOバッファを介して入力されたストローブ信号に所定の遅延を付加する第3のハードマクロと、第4のIOバッファに第4の配線を介して結合され、前記第4のIOバッファを介してデータ信号の送受信を行う第4のハードマクロと、を備えた半導体集積回路のタイミング調整方法であって、前記第1乃至第4の配線の長さが同じとなるよう前記第1乃至第4のハードマクロを配置することを特徴とする。   A method of adjusting a timing of a semiconductor integrated circuit according to the present invention is coupled to a first IO buffer via a first wiring, and generates a reference clock generated based on a first clock signal via the first IO buffer. The first hard macro to be output and the second IO buffer are coupled to the second IO buffer via the second wiring, and the input control signal is synchronized with the first clock signal via the second IO buffer. And a second hard macro that outputs the third strobe signal coupled to the third IO buffer via a third wiring, and adds a predetermined delay to the strobe signal input via the third IO buffer. A semiconductor integrated circuit comprising: a hard macro; and a fourth hard macro coupled to the fourth IO buffer via a fourth wiring and transmitting / receiving a data signal via the fourth IO buffer. A timing adjustment method, characterized in that the length of the first to fourth wiring disposing the first through fourth hard macro to be the same.

上述のような回路構成及びそのタイミング調整方法により、高速処理が要求される場合でも容易にタイミング調整することができる。   With the circuit configuration and timing adjustment method as described above, timing adjustment can be easily performed even when high-speed processing is required.

本発明により、高速処理が要求される場合でも容易にタイミング調整することが可能な半導体集積回路及びそのタイミング調整方法を提供することができる。   According to the present invention, it is possible to provide a semiconductor integrated circuit capable of easily adjusting timing even when high-speed processing is required, and a timing adjusting method thereof.

本発明の実施の形態1にかかる半導体集積回路を示す図である。1 is a diagram showing a semiconductor integrated circuit according to a first exemplary embodiment of the present invention. 本発明の実施の形態1にかかるIOバッファを示す図である。It is a figure which shows IO buffer concerning Embodiment 1 of this invention. 本発明の実施の形態1にかかる論理セル群11を示す図である。1 is a diagram showing a logic cell group 11 according to a first exemplary embodiment of the present invention. 本発明の実施の形態1にかかる論理セル群12を示す図である。It is a figure which shows the logic cell group 12 concerning Embodiment 1 of this invention. 本発明の実施の形態1にかかる論理セル群13を示す図である。It is a figure which shows the logic cell group 13 concerning Embodiment 1 of this invention. 本発明の実施の形態1にかかる論理セル群14を示す図である。It is a figure which shows the logic cell group 14 concerning Embodiment 1 of this invention. 本発明の実施の形態1にかかる論理セル群15を示す図である。3 is a diagram showing a logic cell group 15 according to the first exemplary embodiment of the present invention. FIG. 本発明の実施の形態1にかかる半導体集積回路の動作を示すタイミングチャートである。3 is a timing chart showing an operation of the semiconductor integrated circuit according to the first exemplary embodiment of the present invention. 本発明の実施の形態1にかかる半導体集積回路の動作を示すタイミングチャートである。3 is a timing chart showing an operation of the semiconductor integrated circuit according to the first exemplary embodiment of the present invention. 本発明の実施の形態1にかかる半導体集積回路のレイアウト構成を示す図である。1 is a diagram showing a layout configuration of a semiconductor integrated circuit according to a first exemplary embodiment of the present invention; 本発明の実施の形態2にかかる半導体集積回路の動作を示すタイミングチャートである。7 is a timing chart showing an operation of the semiconductor integrated circuit according to the second exemplary embodiment of the present invention. 本発明の実施の形態2にかかる半導体集積回路の動作を示すタイミングチャートである。7 is a timing chart showing an operation of the semiconductor integrated circuit according to the second exemplary embodiment of the present invention. 内部遅延時間及び外部遅延時間の合計値と、クロック信号CK1の周波数と、CLKモードと、の関係を示す図である。It is a figure which shows the relationship between the total value of internal delay time and external delay time, the frequency of the clock signal CK1, and CLK mode. 内部遅延時間及び外部遅延時間の合計値と、クロック信号CK1の周波数と、CLKモードと、の関係を示す図である。It is a figure which shows the relationship between the total value of internal delay time and external delay time, the frequency of the clock signal CK1, and CLK mode.

以下では、本発明を適用した具体的な実施の形態について、図面を参照しながら詳細に説明する。説明の明確化のため、必要に応じて重複説明は省略される。   Hereinafter, specific embodiments to which the present invention is applied will be described in detail with reference to the drawings. For clarity of explanation, duplicate explanation is omitted as necessary.

実施の形態1
図1に、本発明の実施の形態にかかる半導体装置(半導体集積回路)100を示す。半導体装置100は、メモリ200との間でデータの送受信を行う。なお、本実施の形態では、メモリ200がDDR−SDRAMである場合を例に説明する。
Embodiment 1
FIG. 1 shows a semiconductor device (semiconductor integrated circuit) 100 according to an embodiment of the present invention. The semiconductor device 100 transmits / receives data to / from the memory 200. In the present embodiment, a case where the memory 200 is a DDR-SDRAM will be described as an example.

半導体装置100は、演算処理回路1と、メモリコントローラ2と、PLL(Phase Locked Loop)3と、分周回路4と、論理セル群(第2のハードマクロ)11と、論理セル群(第1のハードマクロ)12と、論理セル群(第4のハードマクロ)13と、論理セル群(第3のハードマクロ)14と、論理セル群15と、遅延調整回路16と、IOバッファ(第2のIOバッファ)21と、IOバッファ(第1のIOバッファ)22,23と、IOバッファ(第4のIOバッファ)24と、IOバッファ(第3のIOバッファ)25と、IOバッファ26と、を備える。また、メモリコントローラ2は、タイミング調整回路5を有する。   The semiconductor device 100 includes an arithmetic processing circuit 1, a memory controller 2, a PLL (Phase Locked Loop) 3, a frequency dividing circuit 4, a logic cell group (second hard macro) 11, and a logic cell group (first Hard macro) 12, logic cell group (fourth hard macro) 13, logic cell group (third hard macro) 14, logic cell group 15, delay adjustment circuit 16, and IO buffer (second buffer). , An IO buffer (first IO buffer) 22, 23, an IO buffer (fourth IO buffer) 24, an IO buffer (third IO buffer) 25, an IO buffer 26, Is provided. Further, the memory controller 2 has a timing adjustment circuit 5.

図2に、IOバッファ21の回路構成を示す。なお、IOバッファ21〜26は同じ回路構成である。図3〜図7に、それぞれ論理セル群11〜15の回路構成を示す。論理セル群11は、FF(Flip Flop)101,102を有する。論理セル群12は、遅延調整回路201と、インバータ202と、を有する。論理セル群13は、FF301〜309と、セレクタ310〜312と、AND論理ゲート(以下、単にANDと称す)313と、を有する。論理セル群14は、FF401〜404と、AND405と、遅延調整回路406と、遅延調整回路407と、を有する。論理セル群15は、FF501〜503と、セレクタ504と、を有する。   FIG. 2 shows a circuit configuration of the IO buffer 21. The IO buffers 21 to 26 have the same circuit configuration. 3 to 7 show circuit configurations of the logic cell groups 11 to 15, respectively. The logic cell group 11 includes FFs (Flip Flops) 101 and 102. The logic cell group 12 includes a delay adjustment circuit 201 and an inverter 202. The logic cell group 13 includes FFs 301 to 309, selectors 310 to 312, and an AND logic gate (hereinafter simply referred to as AND) 313. The logic cell group 14 includes FFs 401 to 404, an AND 405, a delay adjustment circuit 406, and a delay adjustment circuit 407. The logic cell group 15 includes FFs 501 to 503 and a selector 504.

なお、本実施の形態では、半導体装置100が、それぞれ1ビット幅のクロック信号CK,CKBと、17ビット幅の制御信号CMと、32ビット幅の書き込みデータDQ1と、4ビット幅の書き込み用ストローブ信号DQS1と、4ビット幅の許可信号DQMと、をメモリ200に対して出力する場合を例に説明する。また、本実施の形態では、メモリ200が、32ビット幅の読み出しデータDQ2と、4ビット幅の読み出し用ストローブ信号DQS2と、を半導体装置100に対して出力する場合を例に説明する。また、本実施の形態では、データのバースト長が8バーストである場合を例に説明する。   In this embodiment, the semiconductor device 100 includes a 1-bit clock signal CK and CKB, a 17-bit control signal CM, a 32-bit write data DQ1, and a 4-bit write strobe. A case where the signal DQS1 and the 4-bit width permission signal DQM are output to the memory 200 will be described as an example. In the present embodiment, a case where the memory 200 outputs the read data DQ2 having a 32-bit width and the read strobe signal DQS2 having a 4-bit width to the semiconductor device 100 will be described as an example. In this embodiment, a case where the burst length of data is 8 bursts will be described as an example.

まず、半導体装置100の回路構成について説明する。演算処理回路1とメモリコントローラ2とは送受信線を介して互いに接続される。PLL3の出力端子は、分周回路4の入力端子に接続される。分周回路4の一方の出力端子は、メモリコントローラ2のクロック入力端子と、論理セル群11〜14と、に接続される。分周回路4の他方の出力端子は、遅延調整回路16を介して、論理セル群13,15に接続される。   First, the circuit configuration of the semiconductor device 100 will be described. The arithmetic processing circuit 1 and the memory controller 2 are connected to each other via a transmission / reception line. The output terminal of the PLL 3 is connected to the input terminal of the frequency dividing circuit 4. One output terminal of the frequency dividing circuit 4 is connected to the clock input terminal of the memory controller 2 and the logic cell groups 11 to 14. The other output terminal of the frequency dividing circuit 4 is connected to the logic cell groups 13 and 15 via the delay adjusting circuit 16.

メモリコントローラ2の制御信号出力端子は、論理セル群11に接続される。メモリコントローラ2のデータ出力端子及びデータ入力端子は、論理セル群13に接続される。メモリコントローラ2の有効信号出力端子は、論理セル群13に接続される。メモリコントローラ2のマスク信号出力端子は、論理セル群14に接続される。メモリコントローラ2の許可信号出力端子は、論理セル群15に接続される。   A control signal output terminal of the memory controller 2 is connected to the logic cell group 11. A data output terminal and a data input terminal of the memory controller 2 are connected to the logic cell group 13. The valid signal output terminal of the memory controller 2 is connected to the logic cell group 13. The mask signal output terminal of the memory controller 2 is connected to the logic cell group 14. The permission signal output terminal of the memory controller 2 is connected to the logic cell group 15.

論理セル群11は、I/Oバッファ21にさらに接続される。論理セル群12は、I/Oバッファ22,23にさらに接続される。論理セル群13は、IOバッファ24にさらに接続される。論理セル群14は、IOバッファ25にさらに接続される。論理セル群15は、IOバッファ26にさらに接続される。   The logic cell group 11 is further connected to the I / O buffer 21. The logic cell group 12 is further connected to the I / O buffers 22 and 23. Logic cell group 13 is further connected to IO buffer 24. Logic cell group 14 is further connected to IO buffer 25. Logic cell group 15 is further connected to IO buffer 26.

IOバッファ21〜26は、それぞれ入力バッファ,出力バッファ及び入出力バッファのいずれかとして用いられる。IOバッファ21〜26は、図2に示すように、出力バッファ用のスリーステートバッファ701と、入力バッファ用のバッファ702と、を有する。IOバッファ21〜26において、スリーステートバッファ701の出力端子は、外部接続端子に接続されるとともに、バッファ702の入力端子に接続される。IOバッファ21〜26を出力バッファとして用いる場合、スリーステートバッファ701は入力信号をそのまま出力するように制御される。   The IO buffers 21 to 26 are used as any of an input buffer, an output buffer, and an input / output buffer, respectively. As illustrated in FIG. 2, the IO buffers 21 to 26 include a three-state buffer 701 for an output buffer and a buffer 702 for an input buffer. In the IO buffers 21 to 26, the output terminal of the three-state buffer 701 is connected to the external connection terminal and to the input terminal of the buffer 702. When the IO buffers 21 to 26 are used as output buffers, the three-state buffer 701 is controlled to output the input signal as it is.

論理セル群11〜16の回路構成について説明する。図3に、論理セル群11のブロック図を示す。論理セル群11は、メモリコントローラ2から出力された基準制御信号PCMを、クロック信号CK1に同期して検出し、制御信号CMとして出力する回路ブロックである。論理セル群11において、FF101のデータ入力端子は、メモリコントローラ2の制御信号出力端子に接続される。FF101のクロック入力端子は、分周回路4の一方の出力端子に接続される。FF101のデータ出力端子は、FF102のデータ入力端子に接続される。FF102のクロック入力端子は、分周回路4の一方の出力端子に接続される。FF102のデータ出力端子は、IOバッファ21内に設けられたスリーステートバッファ701の入力端子に接続される。このように、FF101,102はシフトレジスタを構成する。   The circuit configuration of the logic cell groups 11 to 16 will be described. FIG. 3 shows a block diagram of the logic cell group 11. The logic cell group 11 is a circuit block that detects the reference control signal PCM output from the memory controller 2 in synchronization with the clock signal CK1 and outputs it as a control signal CM. In the logic cell group 11, the data input terminal of the FF 101 is connected to the control signal output terminal of the memory controller 2. The clock input terminal of the FF 101 is connected to one output terminal of the frequency dividing circuit 4. The data output terminal of the FF 101 is connected to the data input terminal of the FF 102. The clock input terminal of the FF 102 is connected to one output terminal of the frequency dividing circuit 4. A data output terminal of the FF 102 is connected to an input terminal of a three-state buffer 701 provided in the IO buffer 21. Thus, the FFs 101 and 102 constitute a shift register.

図4に、論理セル群12のブロック図を示す。論理セル群12は、クロック信号CK1に基づいて、2相の差動クロック(クロック信号CK,CKB)を生成する回路ブロックである。なお、図1には示していないが、半導体装置100には、制御信号CMのビット幅に対応する数の論理セル群11及びIOバッファ21が設けられる。本実施の形態では、制御信号CMのビット幅は17ビットであるため、17個の論理セル群11及び17個のIOバッファ21が設けられる。   FIG. 4 shows a block diagram of the logic cell group 12. The logic cell group 12 is a circuit block that generates a two-phase differential clock (clock signals CK and CKB) based on the clock signal CK1. Although not shown in FIG. 1, the semiconductor device 100 is provided with a number of logic cell groups 11 and IO buffers 21 corresponding to the bit width of the control signal CM. In this embodiment, since the bit width of the control signal CM is 17 bits, 17 logic cell groups 11 and 17 IO buffers 21 are provided.

論理セル群12において、遅延調整回路201の入力端子は、分周回路4の一方の出力端子に接続される。遅延調整回路201の出力端子は、IOバッファ22内に設けられたスリーステートバッファ701の入力端子に接続される。さらに、遅延調整回路201の出力端子は、インバータ202を介して、IOバッファ23内に設けられたスリーステートバッファ701の入力端子に接続される。   In the logic cell group 12, the input terminal of the delay adjustment circuit 201 is connected to one output terminal of the frequency divider circuit 4. The output terminal of the delay adjustment circuit 201 is connected to the input terminal of a three-state buffer 701 provided in the IO buffer 22. Further, the output terminal of the delay adjustment circuit 201 is connected to the input terminal of a three-state buffer 701 provided in the IO buffer 23 via the inverter 202.

図5に、論理セル群13のブロック図を示す。論理セル群13は、IOバッファ24を介してメモリ200等のデータバスに結合され、データ(書き込みデータDQ1、読み出しデータDQ2)の送受信を行う回路ブロックである。論理セル群13において、FF301のデータ入力端子は、メモリコントローラ2の上位ビット側のデータ出力端子に接続される。FF301のクロック入力端子は、遅延調整回路16を介して、分周回路4の他方の出力端子に接続される。FF301のデータ出力端子は、FF302のデータ入力端子に接続される。FF302のクロック入力端子は、遅延調整回路16を介して、分周回路4の他方の出力端子に接続される。FF302のデータ出力端子は、セレクタ310の一方の入力端子に接続される。このように、FF301,302はシフトレジスタを構成する。   FIG. 5 shows a block diagram of the logic cell group 13. The logic cell group 13 is a circuit block that is coupled to a data bus such as the memory 200 via the IO buffer 24 and transmits / receives data (write data DQ1, read data DQ2). In the logic cell group 13, the data input terminal of the FF 301 is connected to the data output terminal on the upper bit side of the memory controller 2. The clock input terminal of the FF 301 is connected to the other output terminal of the frequency divider circuit 4 through the delay adjustment circuit 16. The data output terminal of the FF 301 is connected to the data input terminal of the FF 302. The clock input terminal of the FF 302 is connected to the other output terminal of the frequency divider circuit 4 through the delay adjustment circuit 16. The data output terminal of the FF 302 is connected to one input terminal of the selector 310. In this way, the FFs 301 and 302 constitute a shift register.

論理セル群13において、FF303のデータ入力端子は、メモリコントローラ2の下位ビット側のデータ出力端子に接続される。FF303のクロック入力端子は、遅延調整回路16を介して、分周回路4の他方の出力端子に接続される。FF303のデータ出力端子は、セレクタ310の他方の入力端子に接続される。セレクタ310の制御端子は、遅延調整回路16を介して、分周回路4の他方の出力端子に接続される。セレクタ310の出力端子は、IOバッファ23内に設けられたスリーステートバッファ701の入力端子に接続される。   In the logic cell group 13, the data input terminal of the FF 303 is connected to the data output terminal on the lower bit side of the memory controller 2. The clock input terminal of the FF 303 is connected to the other output terminal of the frequency divider circuit 4 through the delay adjustment circuit 16. The data output terminal of the FF 303 is connected to the other input terminal of the selector 310. The control terminal of the selector 310 is connected to the other output terminal of the frequency divider circuit 4 through the delay adjustment circuit 16. The output terminal of the selector 310 is connected to the input terminal of a three-state buffer 701 provided in the IO buffer 23.

論理セル群13において、AND313の一方の入力端子は、メモリコントローラ2の有効信号出力端子に接続される。AND313の他方の入力端子は、FF309のデータ出力端子に接続される。AND313の出力端子は、FF309のデータ入力端子に接続される。FF309のクロック入力端子は、分周回路4の一方の出力端子に接続される。FF309の出力端子は、セレクタ311の制御端子と、セレクタ312の制御端子と、にさらに接続される。   In the logic cell group 13, one input terminal of the AND 313 is connected to the valid signal output terminal of the memory controller 2. The other input terminal of the AND 313 is connected to the data output terminal of the FF 309. The output terminal of the AND 313 is connected to the data input terminal of the FF 309. The clock input terminal of the FF 309 is connected to one output terminal of the frequency dividing circuit 4. The output terminal of the FF 309 is further connected to the control terminal of the selector 311 and the control terminal of the selector 312.

論理セル群13において、FF305のデータ入力端子は、IOバッファ24内に設けられたバッファ702の出力端子に接続される。FF305のクロック入力端子は、ノードN14に接続される。FF305のデータ出力端子は、FF304のデータ入力端子及びFF306のデータ入力端子に接続される。FF304のクロック入力端子は、ノードN15に接続される。FF304のデータ出力端子は、セレクタ311の一方の入力端子に接続される。FF306のクロック入力端子は、ノードN15に接続される。FF306のデータ出力端子は、セレクタ311の他方の入力端子に接続される。セレクタ311の出力端子は、メモリコントローラ2の下位ビット側のデータ入力端子に接続される。   In the logic cell group 13, the data input terminal of the FF 305 is connected to the output terminal of the buffer 702 provided in the IO buffer 24. The clock input terminal of the FF 305 is connected to the node N14. The data output terminal of the FF 305 is connected to the data input terminal of the FF 304 and the data input terminal of the FF 306. The clock input terminal of the FF 304 is connected to the node N15. The data output terminal of the FF 304 is connected to one input terminal of the selector 311. The clock input terminal of the FF 306 is connected to the node N15. The data output terminal of the FF 306 is connected to the other input terminal of the selector 311. The output terminal of the selector 311 is connected to the data input terminal on the lower bit side of the memory controller 2.

論理セル群13において、FF307のデータ入力端子は、IOバッファ24内に設けられたバッファ702の出力端子に接続される。FF307のクロック入力端子は、ノードN15に接続される。FF307のデータ出力端子は、セレクタ312の一方の入力端子に接続される。FF308のデータ入力端子は、IOバッファ24内に設けられたバッファ702の出力端子に接続される。FF308のクロック入力端子は、ノードN15に接続される。FF308のデータ出力端子は、セレクタ312の他方の入力端子に接続される。セレクタ312の出力端子は、メモリコントローラ2の上位ビット側のデータ入力端子に接続される。   In the logic cell group 13, the data input terminal of the FF 307 is connected to the output terminal of the buffer 702 provided in the IO buffer 24. The clock input terminal of the FF 307 is connected to the node N15. The data output terminal of the FF 307 is connected to one input terminal of the selector 312. A data input terminal of the FF 308 is connected to an output terminal of a buffer 702 provided in the IO buffer 24. The clock input terminal of the FF 308 is connected to the node N15. The data output terminal of the FF 308 is connected to the other input terminal of the selector 312. The output terminal of the selector 312 is connected to the data input terminal on the upper bit side of the memory controller 2.

なお、図1には示していないが、半導体装置100には、書き込みデータDQ1又は読み出しデータDQ2のビット幅に応じた数の論理セル群13及びIOバッファ24が設けられる。本実施の形態では、書き込みデータDQ1のビット幅は32ビットであるため、32個の論理セル群13及び32個のIOバッファ24が設けられる。   Although not shown in FIG. 1, the semiconductor device 100 is provided with a number of logic cell groups 13 and IO buffers 24 corresponding to the bit width of the write data DQ1 or the read data DQ2. In the present embodiment, since the bit width of the write data DQ1 is 32 bits, 32 logic cell groups 13 and 32 IO buffers 24 are provided.

図6に、論理セル群14のブロック図を示す。論理セル群14は、IOバッファ25を介して入力された読み出し用ストローブ信号DQS2に対し、遅延調整回路407にて所定の遅延を付加する回路ブロックである。さらに、論理セル群14は、遅延調整回路406にて所定の遅延を付加した書き込み用ストローブ信号DQS1を、IOバッファ25を介して出力する回路ブロックである。論理セル群14において、FF401のデータ入力端子は、メモリコントローラ2のマスク信号出力端子に接続される。FF401のクロック入力端子は、分周回路4の一方の出力端子に接続される。FF401のデータ出力端子は、FF402のデータ入力端子に接続される。FF402のクロック入力端子は、分周回路4の一方の出力端子に接続される。FF402のデータ出力端子は、AND405の一方の入力端子に接続される。AND405の他方の入力端子は、分周回路4の一方の出力端子に接続される。AND405の出力端子は、遅延調整回路406の入力端子に接続される。遅延調整回路406の出力端子は、IOバッファ25内に設けられたスリーステートバッファ701の入力端子に接続される。   FIG. 6 shows a block diagram of the logic cell group 14. The logic cell group 14 is a circuit block in which a delay adjustment circuit 407 adds a predetermined delay to the read strobe signal DQS2 input via the IO buffer 25. Further, the logic cell group 14 is a circuit block that outputs the write strobe signal DQS 1 to which a predetermined delay is added by the delay adjustment circuit 406 via the IO buffer 25. In the logic cell group 14, the data input terminal of the FF 401 is connected to the mask signal output terminal of the memory controller 2. The clock input terminal of the FF 401 is connected to one output terminal of the frequency dividing circuit 4. The data output terminal of the FF 401 is connected to the data input terminal of the FF 402. The clock input terminal of the FF 402 is connected to one output terminal of the frequency dividing circuit 4. The data output terminal of the FF 402 is connected to one input terminal of the AND 405. The other input terminal of the AND 405 is connected to one output terminal of the frequency dividing circuit 4. The output terminal of the AND 405 is connected to the input terminal of the delay adjustment circuit 406. An output terminal of the delay adjustment circuit 406 is connected to an input terminal of a three-state buffer 701 provided in the IO buffer 25.

論理セル群14において、遅延調整回路407の入力端子は、IOバッファ25内に設けられたバッファ702の出力端子に接続される。遅延調整回路407の出力端子は、FF404のクロック入力端子と、FF403のクロック入力端子と、ノードN14と、に接続される。FF404のデータ入力端子は、ノードN15と、FF403のデータ出力端子と、に接続される。FF404のデータ出力端子は、FF403のデータ入力端子に接続される。   In the logic cell group 14, the input terminal of the delay adjustment circuit 407 is connected to the output terminal of the buffer 702 provided in the IO buffer 25. The output terminal of the delay adjustment circuit 407 is connected to the clock input terminal of the FF 404, the clock input terminal of the FF 403, and the node N14. The data input terminal of the FF 404 is connected to the node N15 and the data output terminal of the FF 403. The data output terminal of the FF 404 is connected to the data input terminal of the FF 403.

なお、図1には示していないが、半導体装置100には、書き込み用ストローブ信号DQS1又は読み出し用ストローブ信号DQS2のビット幅に応じた数の論理セル群14及びIOバッファ25が設けられる。本実施の形態では、書き込み用ストローブ信号DQS1及び読み出し用ストローブ信号DQS2のビット幅はそれぞれ4ビットであるため、4個の論理セル群14及び4個のIOバッファ25が設けられる。   Although not shown in FIG. 1, the semiconductor device 100 is provided with a number of logic cell groups 14 and IO buffers 25 corresponding to the bit width of the write strobe signal DQS1 or the read strobe signal DQS2. In this embodiment, since the write strobe signal DQS1 and the read strobe signal DQS2 each have a bit width of four bits, four logic cell groups 14 and four IO buffers 25 are provided.

なお、本実施の形態では、4個の論理セル群14のうち、0ビット目の読み出し用ストローブ信号DQS2[0]に対応する1個の論理セル群14と、0〜7ビット目の読み出しデータDQ2[7:0]に対応する8個の論理セル群13と、が接続される。また、1ビット目の読み出し用ストローブ信号DQS2[1]に対応する1個の論理セル群14と、8〜15ビット目の読み出しデータDQ2[15:8]に対応する8個の論理セル群13と、が接続される。また、2ビット目の読み出し用ストローブ信号DQS2[2]に対応する1個の論理セル群14と、16〜23ビット目の読み出しデータDQ2[23:16]に対応する8個の論理セル群13と、が接続される。3ビット目の読み出し用ストローブ信号DQS2[3]に対応する1個の論理セル群14と、24〜31ビット目の読み出しデータDQ2[31:24]に対応する8個の論理セル群13と、が接続される。   In the present embodiment, of the four logic cell groups 14, one logic cell group 14 corresponding to the 0th bit read strobe signal DQS2 [0] and the 0th to 7th bit read data. Eight logic cell groups 13 corresponding to DQ2 [7: 0] are connected. Also, one logic cell group 14 corresponding to the first bit read strobe signal DQS2 [1] and eight logic cell groups 13 corresponding to the 8th to 15th bit read data DQ2 [15: 8]. And are connected. In addition, one logic cell group 14 corresponding to the second bit read strobe signal DQS2 [2] and eight logic cell groups 13 corresponding to the 16th to 23th bit read data DQ2 [23:16]. And are connected. One logic cell group 14 corresponding to the third bit read strobe signal DQS2 [3], eight logic cell groups 13 corresponding to the 24th to 31st bit read data DQ2 [31:24], Is connected.

図7に、論理セル群15のブロック図を示す。論理セル群15は、基準許可信号PDQMを、クロック信号DCK2に同期して検出し、許可信号DQMとして出力する回路ブロックである。なお、許可信号DQMは、メモリ200に対して書き込みデータDQ1の書き込みを許可するための信号である。論理セル群15において、FF501のデータ入力端子は、メモリコントローラ2の上位ビット側の許可信号出力端子に接続される。FF501のクロック入力端子は、遅延調整回路16を介して、分周回路4の他方の出力端子に接続される。FF501のデータ出力端子は、FF502のデータ入力端子に接続される。FF502のクロック入力端子は、遅延調整回路16を介して、分周回路4の他方の出力端子に接続される。FF502のデータ出力端子は、セレクタ504の一方の入力端子に接続される。このように、FF501,502はシフトレジスタを構成する。   FIG. 7 shows a block diagram of the logic cell group 15. The logic cell group 15 is a circuit block that detects the reference permission signal PDQM in synchronization with the clock signal DCK2 and outputs it as the permission signal DQM. The permission signal DQM is a signal for permitting the memory 200 to write the write data DQ1. In the logic cell group 15, the data input terminal of the FF 501 is connected to the permission signal output terminal on the upper bit side of the memory controller 2. The clock input terminal of the FF 501 is connected to the other output terminal of the frequency divider circuit 4 through the delay adjustment circuit 16. The data output terminal of the FF 501 is connected to the data input terminal of the FF 502. The clock input terminal of the FF 502 is connected to the other output terminal of the frequency divider circuit 4 through the delay adjustment circuit 16. The data output terminal of the FF 502 is connected to one input terminal of the selector 504. Thus, the FFs 501 and 502 constitute a shift register.

論理セル群15において、FF503のデータ入力端子は、メモリコントローラ2の下位ビット側の許可信号出力端子に接続される。FF503のクロック入力端子は、遅延調整回路16を介して、分周回路4の他方の出力端子に接続される。FF503のデータ出力端子は、セレクタ504の他方の入力端子に接続される。セレクタ504の制御端子は、遅延調整回路16を介して、分周回路4の他方の出力端子に接続される。セレクタ504の出力端子は、IOバッファ26内に設けられたスリーステートバッファ701の入力端子に接続される。   In the logic cell group 15, the data input terminal of the FF 503 is connected to the permission signal output terminal on the lower bit side of the memory controller 2. The clock input terminal of the FF 503 is connected to the other output terminal of the frequency divider circuit 4 through the delay adjustment circuit 16. The data output terminal of the FF 503 is connected to the other input terminal of the selector 504. The control terminal of the selector 504 is connected to the other output terminal of the frequency divider circuit 4 through the delay adjustment circuit 16. An output terminal of the selector 504 is connected to an input terminal of a three-state buffer 701 provided in the IO buffer 26.

次に、半導体装置100の動作について説明する。   Next, the operation of the semiconductor device 100 will be described.

演算処理回路1は、メモリコントローラ2に対してコマンドを与えるとともに、各遅延調整回路の遅延量を調整する機能を有する。メモリコントローラ2は、演算処理回路1から与えられたコマンドに基づいて、メモリ200に書き込むデータの生成、メモリ200から読み出されたデータの受信及び関連する制御信号の生成等を行う。   The arithmetic processing circuit 1 has a function of giving a command to the memory controller 2 and adjusting the delay amount of each delay adjustment circuit. The memory controller 2 generates data to be written into the memory 200, receives data read from the memory 200, generates related control signals, and the like based on the command given from the arithmetic processing circuit 1.

PLL3は、内部クロックを生成し、分周回路4に対して出力する。分周回路4は、内部クロックを4分周したクロック信号(第1のクロック信号)CK1を生成し、一方の出力端子から出力する。さらに分周回路4は、内部クロックを4分周し、クロック信号CK1と位相が270°異なるクロック信号CK2を生成し、他方の出力端子から出力する。論理セル群12は、クロック信号CK1に遅延を付加したクロック信号(基準クロック)CK,CKBを生成し、IOバッファ22を介して、メモリ200に対して出力する。なお、クロック信号CKBは、クロック信号CKの反転信号である。また、遅延調整回路16は、クロック信号CK2に遅延を付加したクロック信号DCK2を生成する。   The PLL 3 generates an internal clock and outputs it to the frequency dividing circuit 4. The frequency dividing circuit 4 generates a clock signal (first clock signal) CK1 obtained by dividing the internal clock by four, and outputs it from one output terminal. Further, the frequency dividing circuit 4 divides the internal clock by four, generates a clock signal CK2 that is 270 ° out of phase with the clock signal CK1, and outputs it from the other output terminal. The logic cell group 12 generates clock signals (reference clocks) CK and CKB obtained by adding a delay to the clock signal CK 1, and outputs them to the memory 200 via the IO buffer 22. The clock signal CKB is an inverted signal of the clock signal CK. The delay adjustment circuit 16 generates a clock signal DCK2 obtained by adding a delay to the clock signal CK2.

メモリコントローラ2は、制御信号出力端子から基準制御信号PCMを出力する。そして、論理セル群11は、基準制御信号PCMに基づいて制御信号CMを生成し、IOバッファ21を介して、メモリ200に対して出力する。より具体的には、論理セル群11において、FF101は、基準制御信号PCMをクロック信号CK1に同期して検出し、FF102に対して出力する。FF102は、FF101によって検出された基準制御信号PCMをクロック信号CK1の立ち下がりに同期して検出し、制御信号CMとして、IOバッファ21を介して、メモリ200に対して出力する。   The memory controller 2 outputs the reference control signal PCM from the control signal output terminal. The logic cell group 11 generates a control signal CM based on the reference control signal PCM, and outputs the control signal CM to the memory 200 via the IO buffer 21. More specifically, in the logic cell group 11, the FF 101 detects the reference control signal PCM in synchronization with the clock signal CK1, and outputs it to the FF 102. The FF 102 detects the reference control signal PCM detected by the FF 101 in synchronization with the falling edge of the clock signal CK1, and outputs it to the memory 200 via the IO buffer 21 as the control signal CM.

なお、制御信号CMには、例えば、アドレス信号ADD、チップセレクト信号CSB、ロウアドレスストローブ信号RASB、カラムアドレスストローブ信号CASB、ライトイネーブル信号WE及びクロックイネーブル信号CKEが含まれる。メモリ200は、クロック信号CK,CKBに同期して、データの書き込み(ライトモード)又は読み出し(リードモード)のモード切り替え、データの書き込み又は読み出し対象となるアドレスの指定等を行う。   The control signal CM includes, for example, an address signal ADD, a chip select signal CSB, a row address strobe signal RASB, a column address strobe signal CASB, a write enable signal WE, and a clock enable signal CKE. The memory 200 performs mode switching of data writing (write mode) or reading (read mode), designation of data writing or reading target addresses, and the like in synchronization with the clock signals CK and CKB.

また、メモリコントローラ2は、データ出力端子から基準書き込みデータPDQ1を出力する。そして、論理セル群13は、基準書き込みデータPDQ1に基づいて書き込み対象となる書き込みデータDQ1を生成し、IOバッファ24を介して、メモリ200に対して出力する。なお、基準書き込みデータPDQ1は64ビット幅を有する。   Further, the memory controller 2 outputs the reference write data PDQ1 from the data output terminal. The logic cell group 13 generates write data DQ1 to be written based on the reference write data PDQ1 and outputs the write data DQ1 to the memory 200 via the IO buffer 24. The reference write data PDQ1 has a 64-bit width.

より具体的には、論理セル群13において、FF301は、上位ビット側(例えば、第31ビット目)の基準書き込みデータPDQ1をクロック信号DCKの立ち上がりに同期して検出し、FF302に対して出力する。FF302は、FF301によって検出された基準書き込みデータPDQ1をクロック信号DCKの立ち下がりに同期して検出し、セレクタ310に対して出力する。一方、FF303は、下位ビット側(例えば、第0ビット目)の基準書き込みデータPDQ1をクロック信号DCKの立ち上がりに同期して検出し、セレクタ310に対して出力する。セレクタ310は、上位ビット側の基準書き込みデータPDQ1及び下位ビット側の基準書き込みデータPDQ1を、クロック信号DCKによって交互に選択して出力する。このように、32個の各論理セル群13は、対応する1組の上位ビット側及び下位ビット側の基準書き込みデータPDQ1に基づいて、対応するビットの書き込みデータDQ1を出力する。つまり、32個の論理セル群13は、クロック信号DCKの両エッジに同期して、上位32ビット側及び下位32ビット側の基準書き込みデータPDQ1を交互に書き込みデータDQ1として出力する。   More specifically, in the logic cell group 13, the FF 301 detects the upper bit side (for example, the 31st bit) reference write data PDQ1 in synchronization with the rising edge of the clock signal DCK, and outputs it to the FF 302. . The FF 302 detects the reference write data PDQ1 detected by the FF 301 in synchronization with the falling edge of the clock signal DCK, and outputs it to the selector 310. On the other hand, the FF 303 detects the reference write data PDQ1 on the lower bit side (for example, the 0th bit) in synchronization with the rising edge of the clock signal DCK, and outputs it to the selector 310. The selector 310 alternately selects and outputs the upper-bit-side reference write data PDQ1 and the lower-bit-side reference write data PDQ1 according to the clock signal DCK. In this way, each of the 32 logic cell groups 13 outputs the corresponding bit write data DQ1 based on the corresponding upper bit side and lower bit side reference write data PDQ1. That is, the 32 logic cell groups 13 alternately output the reference write data PDQ1 on the upper 32 bits side and the lower 32 bits side as the write data DQ1 in synchronization with both edges of the clock signal DCK.

メモリコントローラ2は、マスク信号出力端子からマスク信号MSを出力する。論理セル群14は、マスク信号MSがオン(例えば、ハイレベル)の期間中、クロック信号CK1をマスクして、IOバッファ25を介して、書き込み用ストローブ信号DQS1としてメモリ200に対して出力する。   The memory controller 2 outputs a mask signal MS from the mask signal output terminal. The logic cell group 14 masks the clock signal CK1 and outputs the write strobe signal DQS1 to the memory 200 via the IO buffer 25 while the mask signal MS is on (for example, high level).

より具体的には、論理セル群14において、FF401は、マスク信号MSをクロック信号CK1の立ち上がりに同期して検出し、FF402に対して出力する。FF402は、FF401によって検出されたマスク信号MSをクロック信号CK1の立ち下がりに同期して検出し、AND405の一方の入力端子に出力する。AND405は、FF402によって検出されたマスク信号MSがオンの期間中、クロック信号CK1をそのまま出力する。遅延調整回路406は、マスクされたクロック信号CK1に遅延を付加して、書き込み用ストローブ信号DQS1として出力する。なお、4個の論理セル群14は、それぞれ8個の異なる論理セル群13を制御する。そして、メモリ200は、書き込み用ストローブ信号DQS1に同期して、書き込みデータDQ1の書き込みを行う。   More specifically, in the logic cell group 14, the FF 401 detects the mask signal MS in synchronization with the rising edge of the clock signal CK1, and outputs it to the FF 402. The FF 402 detects the mask signal MS detected by the FF 401 in synchronization with the falling edge of the clock signal CK1, and outputs it to one input terminal of the AND 405. The AND 405 outputs the clock signal CK1 as it is while the mask signal MS detected by the FF 402 is on. The delay adjustment circuit 406 adds a delay to the masked clock signal CK1 and outputs it as a write strobe signal DQS1. Each of the four logic cell groups 14 controls eight different logic cell groups 13. Then, the memory 200 writes the write data DQ1 in synchronization with the write strobe signal DQS1.

また、論理セル群14には、メモリ200から出力された読み出し用ストローブ信号DQS2が、IOバッファ24を介して入力される。論理セル群14は、読み出し用ストローブ信号DQS2に遅延を付加した遅延ストローブ信号DQS2Aを生成し、論理セル群13に対して出力する。   The read strobe signal DQS 2 output from the memory 200 is input to the logic cell group 14 via the IO buffer 24. The logic cell group 14 generates a delay strobe signal DQS2A obtained by adding a delay to the read strobe signal DQS2, and outputs the delayed strobe signal DQS2A to the logic cell group 13.

より具体的には、論理セル群14において、遅延調整回路407は、読み出し用ストローブ信号DQS2に遅延を付加して、遅延ストローブ信号DQS2AとしてFF403,404に対して出力する。FF404は、遅延ストローブ信号DQS2Aの立ち上がりに同期して、FF403の出力値を検出し、FF403に対して出力する。FF403は、遅延ストローブ信号DQS2Aの立ち下がりに同期して、FF404の出力値を検出し、ノードN15に向けて出力する。つまり、FF403,404は、遅延ストローブ信号DQS2Aを2分周して、遅延ストローブ信号DQS2Bとして、ノードN15に向けて出力する。また、ノードN14には、遅延ストローブ信号DQS2Aが供給される。   More specifically, in the logic cell group 14, the delay adjustment circuit 407 adds a delay to the read strobe signal DQS2 and outputs the delayed strobe signal DQS2A to the FFs 403 and 404. The FF 404 detects the output value of the FF 403 in synchronization with the rising edge of the delay strobe signal DQS2A and outputs it to the FF 403. The FF 403 detects the output value of the FF 404 in synchronization with the falling edge of the delay strobe signal DQS2A, and outputs it to the node N15. That is, the FFs 403 and 404 divide the delayed strobe signal DQS2A by two and output the resultant signal to the node N15 as the delayed strobe signal DQS2B. Further, the delayed strobe signal DQS2A is supplied to the node N14.

メモリコントローラ2内に設けられたタイミング調整回路5は、有効信号出力端子から有効信号ENを出力する。論理セル群13は、有効信号ENがオン(例えば、ハイレベル)の期間中の読み出しデータDQ2を検出可能である。つまり、論理セル群13は、有効信号ENがオンの期間中の読み出しデータDQ2を、遅延ストローブ信号DQS2Aの両エッジに同期して検出する。論理セル群13は、遅延ストローブ信号DQS2Aの両エッジに同期して検出された読み出しデータDQ2を、さらに、クロック信号CK1に同期して検出し、基準読み出しデータPDQ2として、メモリコントローラ2に対して出力する。つまり、クロックの乗せ換えが行われる。   The timing adjustment circuit 5 provided in the memory controller 2 outputs the valid signal EN from the valid signal output terminal. The logic cell group 13 can detect the read data DQ2 during the period when the valid signal EN is on (for example, high level). That is, the logic cell group 13 detects the read data DQ2 while the valid signal EN is on in synchronization with both edges of the delayed strobe signal DQS2A. The logic cell group 13 further detects the read data DQ2 detected in synchronization with both edges of the delayed strobe signal DQS2A in synchronization with the clock signal CK1, and outputs it to the memory controller 2 as reference read data PDQ2. To do. That is, the clock is changed.

論理セル群13についてさらに説明する。論理セル群13には、メモリ200から読み出された読み出しデータDQ2が、IOバッファ24を介して入力される。論理セル群13は、読み出しデータDQ2に基づいて基準読み出しデータPDQ2を生成し、メモリコントローラ2に対して出力する。なお、基準読み出しデータPDQ2は、64ビット幅を有する。   The logic cell group 13 will be further described. Read data DQ <b> 2 read from the memory 200 is input to the logic cell group 13 via the IO buffer 24. The logic cell group 13 generates reference read data PDQ2 based on the read data DQ2, and outputs it to the memory controller 2. The reference read data PDQ2 has a 64-bit width.

より具体的には、FF305は、読み出しデータDQ2を、遅延ストローブ信号DQS2Aの立ち上がりに同期して検出し、FF304,306に対して出力する。FF304は、FF305によって検出された読み出しデータDQ2を、遅延ストローブ信号DQS2Bの立ち上がりに同期して検出し、セレクタ311に対して出力する。FF306は、FF305によって検出された読み出しデータDQ2を、遅延ストローブ信号DQS2Bの立ち下がりに同期して検出し、セレクタ311に対して出力する。FF307は、読み出しデータDQ2を、遅延ストローブ信号DQS2Bの立ち上がりに同期して検出し、セレクタ312に対して出力する。FF308は、読み出しデータDQ2を、遅延ストローブ信号DQS2Bの立ち下がりに同期して検出し、セレクタ312に対して出力する。ここで、有効信号ENがオフの場合、FF309は、ロウレベルの信号を出力し続ける。有効信号ENがオンの場合、FF309は、クロック信号CK1を2分周して、セレクタ311,312に対して出力する。   More specifically, the FF 305 detects the read data DQ2 in synchronization with the rising edge of the delay strobe signal DQS2A, and outputs it to the FFs 304 and 306. The FF 304 detects the read data DQ2 detected by the FF 305 in synchronization with the rising edge of the delay strobe signal DQS2B, and outputs it to the selector 311. The FF 306 detects the read data DQ2 detected by the FF 305 in synchronization with the falling edge of the delay strobe signal DQS2B, and outputs it to the selector 311. The FF 307 detects the read data DQ2 in synchronization with the rising edge of the delay strobe signal DQS2B and outputs it to the selector 312. The FF 308 detects the read data DQ2 in synchronization with the falling edge of the delay strobe signal DQS2B and outputs it to the selector 312. When the valid signal EN is off, the FF 309 continues to output a low level signal. When the valid signal EN is on, the FF 309 divides the clock signal CK1 by 2 and outputs it to the selectors 311 and 312.

したがって、有効信号ENがオンの場合、セレクタ311は、クロック信号CK1の立ち上がりに同期して、FF304の出力及びFF306の出力を交互に選択して出力する。同様に、有効信号ENがオンの場合、セレクタ312は、クロック信号CK1の立ち上がりに同期して、FF307の出力及びFF308の出力を交互に選択して出力する。このように、32個の各論理セル群13は、対応するビットの読み出しデータDQ2に基づいて、対応する1組の上位ビット側及び下位ビット側の基準読み出しデータPDQ2を出力する。つまり、32個の論理セル群13は、クロック信号CK1の立ち上がりに同期して、8バーストの読み出しデータDQ2を、上位32ビット側及び下位32ビット側に分けて交互に基準読み出しデータPDQ2として出力する。   Therefore, when the valid signal EN is on, the selector 311 alternately selects and outputs the output of the FF 304 and the output of the FF 306 in synchronization with the rising edge of the clock signal CK1. Similarly, when the valid signal EN is on, the selector 312 alternately selects and outputs the output of the FF 307 and the output of the FF 308 in synchronization with the rising edge of the clock signal CK1. In this way, each of the 32 logic cell groups 13 outputs a corresponding set of reference read data PDQ2 on the upper bit side and lower bit side based on the read data DQ2 of the corresponding bit. In other words, the 32 logic cell groups 13 divide the 8-burst read data DQ2 into the upper 32 bits and the lower 32 bits and output them alternately as the reference read data PDQ2 in synchronization with the rising edge of the clock signal CK1. .

メモリコントローラ2は、許可信号出力端子から基準許可信号PDQMを出力する。論理セル群15は、基準許可信号PDQMに基づいて許可信号DQMを生成し、IOバッファ26を介して、メモリ200に対して出力する。なお、基準許可信号PDQMは、8ビット幅を有する。   The memory controller 2 outputs the reference permission signal PDQM from the permission signal output terminal. The logic cell group 15 generates a permission signal DQM based on the reference permission signal PDQM and outputs the permission signal DQM to the memory 200 via the IO buffer 26. Reference permission signal PDQM has an 8-bit width.

より具体的には、論理セル群15において、FF501は、上位ビット側(例えば、第4ビット目)の基準許可信号PDQMをクロック信号DCKの立ち上がりに同期して検出し、FF502に対して出力する。FF502は、FF501によって検出された基準許可信号PDQMをクロック信号DCKの立ち下がりに同期して検出し、セレクタ504に対して出力する。一方、FF503は、下位ビット側(例えば、第0ビット目)の基準許可信号PDQMをクロック信号DCKの立ち上がりに同期して検出し、セレクタ504に対して出力する。セレクタ504は、上位ビット側の基準許可信号PDQM及び下位ビット側の基準許可信号PDQMを、クロック信号DCKによって交互に選択して、許可信号DQMとして出力する。   More specifically, in the logic cell group 15, the FF 501 detects the upper-bit side (for example, the fourth bit) reference permission signal PDQM in synchronization with the rising edge of the clock signal DCK, and outputs the detected signal to the FF 502. . The FF 502 detects the reference permission signal PDQM detected by the FF 501 in synchronization with the falling edge of the clock signal DCK and outputs it to the selector 504. On the other hand, the FF 503 detects the reference permission signal PDQM on the lower bit side (for example, the 0th bit) in synchronization with the rising edge of the clock signal DCK and outputs it to the selector 504. The selector 504 alternately selects the upper-bit-side reference permission signal PDQM and the lower-bit-side reference permission signal PDQM by the clock signal DCK, and outputs it as the permission signal DQM.

このように、4個の各論理セル群15は、対応する1組の上位ビット側及び下位ビット側の基準許可信号PDQMに基づいて、対応するビットの許可信号DQMを出力する。つまり、4個の論理セル群15は、クロック信号DCKの両エッジに同期して、上位4ビット側及び下位4ビット側の基準許可信号PDQMを交互に選択して、許可信号DQMとして出力する。なお、メモリ200は、許可信号DQMがオンの期間中、書き込みデータDQ1の書き込みを行うことができる。   Thus, each of the four logic cell groups 15 outputs the corresponding bit permission signal DQM based on the corresponding one set of upper bit side and lower bit side reference permission signals PDQM. That is, the four logic cell groups 15 alternately select the upper 4 bit side and lower 4 bit side reference permission signals PDQM in synchronization with both edges of the clock signal DCK and output them as the permission signals DQM. Note that the memory 200 can write the write data DQ1 while the permission signal DQM is on.

次に、図1に示す半導体装置100の動作を、図8及び図9のタイミングチャートを用いて説明する。図8は、リードモードの場合における半導体装置100の動作を示すタイミングチャートである。図9は、ライトモードの場合における半導体装置100の動作を示すタイミングチャートである。なお、図8及び図9に示す波形に付された括弧付きの番号と、図1〜図7に示す回路に付された括弧付きの番号と、は対応している。   Next, operation of the semiconductor device 100 illustrated in FIG. 1 will be described with reference to timing charts of FIGS. FIG. 8 is a timing chart showing the operation of the semiconductor device 100 in the read mode. FIG. 9 is a timing chart showing the operation of the semiconductor device 100 in the write mode. The numbers in parentheses attached to the waveforms shown in FIGS. 8 and 9 correspond to the numbers in parentheses attached to the circuits shown in FIGS.

まず、ライトモードの場合における半導体装置100の動作を、図8を用いて説明する。まず、メモリコントローラ2は、ライトモードの基準制御信号PCMを生成する(S3)。次に、メモリコントローラ2は、64ビット幅を有する基準書き込みデータPDQ1を生成する(S4)。図8の例では、メモリコントローラ2は、基準書き込みデータPDQ1の上位32ビット側から、データD0,D2,D4,D6を、クロック信号CK1の立ち上がりに同期して順に出力する。同様に、メモリコントローラ2は、基準書き込みデータPDQ1の下位32ビット側から、データD1,D3,D5,D7を、クロック信号CK1の立ち上がりに同期して順に出力する。メモリコントローラ2は、データD0〜D7を出力している期間中、基準許可信号PDQMをオンに制御する(S5)。さらに、メモリコントローラ2は、クロック信号CK1をマスクして書き込み用ストローブ信号DQS1を生成するために、マスク信号MSをオンにする(S6)。   First, the operation of the semiconductor device 100 in the write mode will be described with reference to FIG. First, the memory controller 2 generates a reference control signal PCM for the write mode (S3). Next, the memory controller 2 generates reference write data PDQ1 having a 64-bit width (S4). In the example of FIG. 8, the memory controller 2 sequentially outputs data D0, D2, D4, and D6 from the upper 32 bits of the reference write data PDQ1 in synchronization with the rising edge of the clock signal CK1. Similarly, the memory controller 2 sequentially outputs data D1, D3, D5, and D7 from the lower 32 bits of the reference write data PDQ1 in synchronization with the rising edge of the clock signal CK1. The memory controller 2 controls the reference permission signal PDQM to be on during the period of outputting the data D0 to D7 (S5). Further, the memory controller 2 turns on the mask signal MS to mask the clock signal CK1 and generate the write strobe signal DQS1 (S6).

論理セル群11は、ライトモードの基準制御信号PCMに基づいて、ライトモードの制御信号CMを出力する(S10)。論理セル群12は、クロック信号CK1(S1)に基づいてクロック信号CK,CKBを出力する(S8,S9)。論理セル群13は、クロック信号DCKの両エッジに同期して、上位32ビット側及び下位32ビット側の基準書き込みデータPDQ1を交互に選択して、書き込みデータDQ1として出力する(S11)。つまり、論理セル群13は、クロック信号DCKの両エッジに同期して、データD0〜D7を順に出力する。   The logic cell group 11 outputs the write mode control signal CM based on the write mode reference control signal PCM (S10). The logic cell group 12 outputs clock signals CK and CKB based on the clock signal CK1 (S1) (S8 and S9). The logic cell group 13 alternately selects the reference write data PDQ1 on the upper 32 bits side and the lower 32 bits side in synchronization with both edges of the clock signal DCK and outputs it as the write data DQ1 (S11). That is, the logic cell group 13 sequentially outputs data D0 to D7 in synchronization with both edges of the clock signal DCK.

論理セル群15は、データD0〜D7を出力している期間中、基準許可信号PDQMに基づいて許可信号DQMをオンに制御する(S13)。さらに、論理セル群14は、データD0〜D7を出力している期間中、マスクされたクロック信号CK1を書き込み用ストローブ信号DQS1として出力する(S12)。このように、書き込みデータDQ1及び書き込み用ストローブ信号DQS1は、それぞれ位相の異なるクロック信号CK1及びクロック信号DCKに同期して生成される。メモリ200は、書き込み用ストローブ信号DQS1に同期して、指定されたアドレスの記憶領域に書き込みデータDQ1を書き込む。   The logic cell group 15 controls the permission signal DQM to be on based on the reference permission signal PDQM during the period of outputting the data D0 to D7 (S13). Further, the logic cell group 14 outputs the masked clock signal CK1 as the write strobe signal DQS1 during the period of outputting the data D0 to D7 (S12). Thus, the write data DQ1 and the write strobe signal DQS1 are generated in synchronization with the clock signal CK1 and the clock signal DCK having different phases, respectively. The memory 200 writes the write data DQ1 in the storage area of the designated address in synchronization with the write strobe signal DQS1.

次に、リードモードの場合における半導体装置100の動作を、図9を用いて説明する。まず、メモリコントローラ2は、リードモードの基準制御信号PCMを生成する。論理セル群11は、リードモードの基準制御信号PCMに基づいて、リードモードの制御信号CMを出力する(S10)。その後、3クロック分のレイテンシ及び外部遅延(tAC)の期間を経て、メモリ200は、クロック信号CK,CKBに同期して読み出しデータDQ2を出力し始める(S11)。図9の例では、読み出しデータDQ2は、8バーストのデータD0〜D7によって構成される。また、メモリ200は、データD0〜D7を出力している期間中、読み出し用ストローブ信号DQS2出力する(S12)。   Next, the operation of the semiconductor device 100 in the read mode will be described with reference to FIG. First, the memory controller 2 generates a read mode reference control signal PCM. The logic cell group 11 outputs a read mode control signal CM based on the read mode reference control signal PCM (S10). Thereafter, after a period of three clocks of latency and an external delay (tAC), the memory 200 starts to output the read data DQ2 in synchronization with the clock signals CK and CKB (S11). In the example of FIG. 9, the read data DQ2 is composed of 8-burst data D0 to D7. Further, the memory 200 outputs the read strobe signal DQS2 during the period of outputting the data D0 to D7 (S12).

論理セル群14において、遅延調整回路407は、読み出し用ストローブ信号DQS2に遅延を付加し、遅延ストローブ信号DQS2Aとして出力する(S14)。論理セル群14は、さらに、遅延ストローブ信号DQS2Aを2分周して、遅延ストローブ信号DQS2Bとして出力する(S15)。   In the logic cell group 14, the delay adjustment circuit 407 adds a delay to the read strobe signal DQS2 and outputs the delayed strobe signal DQS2A (S14). The logic cell group 14 further divides the delayed strobe signal DQS2A by two and outputs it as a delayed strobe signal DQS2B (S15).

論理セル群13において、FF305は、読み出しデータDQ2を、遅延ストローブ信号DQS2Aの立ち上がりに同期して検出し、FF304,306に対して出力する。図9の例では、FF305は、遅延ストローブ信号DQS2Aの立ち上がりに同期して、データD0,D2,D4,D6を順に出力する(S16)。   In the logic cell group 13, the FF 305 detects the read data DQ2 in synchronization with the rising edge of the delay strobe signal DQS2A and outputs it to the FFs 304 and 306. In the example of FIG. 9, the FF 305 sequentially outputs data D0, D2, D4, and D6 in synchronization with the rising edge of the delay strobe signal DQS2A (S16).

FF304は、FF305によって検出された読み出しデータDQ2を、遅延ストローブ信号DQS2Bの立ち上がりに同期して検出し、セレクタ311に対して出力する。図9の例では、FF304は、遅延ストローブ信号DQS2Bの立ち上がりに同期して、データD0,D4を順に出力する(S17)。FF306は、FF305によって検出された読み出しデータDQ2を、遅延ストローブ信号DQS2Bの立ち下がりに同期して検出し、セレクタ311に対して出力する。図9の例では、FF306は、遅延ストローブ信号DQS2Bの立ち下がりに同期して、データD2,D6を順に出力する。(S18)。   The FF 304 detects the read data DQ2 detected by the FF 305 in synchronization with the rising edge of the delay strobe signal DQS2B, and outputs it to the selector 311. In the example of FIG. 9, the FF 304 sequentially outputs the data D0 and D4 in synchronization with the rising edge of the delay strobe signal DQS2B (S17). The FF 306 detects the read data DQ2 detected by the FF 305 in synchronization with the falling edge of the delay strobe signal DQS2B, and outputs it to the selector 311. In the example of FIG. 9, the FF 306 sequentially outputs data D2 and D6 in synchronization with the falling edge of the delay strobe signal DQS2B. (S18).

FF307は、読み出しデータDQ2(S11)を、遅延ストローブ信号DQS2Bの立ち上がりに同期して検出し、セレクタ312に対して出力する。図9の例では、FF307は、遅延ストローブ信号DQS2Bの立ち上がりに同期して、データD1,D5を順に出力する(S19)。   The FF 307 detects the read data DQ2 (S11) in synchronization with the rising edge of the delay strobe signal DQS2B and outputs it to the selector 312. In the example of FIG. 9, the FF 307 sequentially outputs data D1 and D5 in synchronization with the rising edge of the delayed strobe signal DQS2B (S19).

FF308は、読み出しデータDQ2(S11)を、遅延ストローブ信号DQS2Bの立ち下がりに同期して検出し、セレクタ312に対して出力する。図9の例では、FF308は、遅延ストローブ信号DQS2Bの立ち下がりに同期して、データD3,D7を順に出力する(S20)。   The FF 308 detects the read data DQ2 (S11) in synchronization with the falling edge of the delay strobe signal DQS2B and outputs it to the selector 312. In the example of FIG. 9, the FF 308 sequentially outputs data D3 and D7 in synchronization with the falling edge of the delayed strobe signal DQS2B (S20).

メモリコントローラ2内に設けられたタイミング調整回路5は、有効信号ENをオンに制御する(S21)。有効信号ENがオンの期間中、セレクタ311は、クロック信号CK1(S1)の立ち上がりに同期して、FF304の出力及びFF306の出力を交互に選択して出力する。図9の例では、セレクタ311は、クロック信号CK1の立ち上がりに同期して、データD0,D2,D4,D6を順に出力する(S22の上段)。同様に、有効信号ENがオンの期間中、セレクタ312は、クロック信号CK1の立ち上がりに同期して、FF307の出力及びFF308の出力を交互に選択して出力する。図9の例では、セレクタ312は、クロック信号CK1の立ち上がりに同期して、データD1,D3,D5,D7を順に出力する(S22の下段)。このように、32個の論理セル群13は、クロック信号CK1の立ち上がりに同期して、8バーストの読み出しデータDQ2を、上位32ビット側及び下位32ビット側に分けて交互に基準読み出しデータPDQ2として出力する。   The timing adjustment circuit 5 provided in the memory controller 2 controls the effective signal EN to be on (S21). While the valid signal EN is on, the selector 311 alternately selects and outputs the output of the FF 304 and the output of the FF 306 in synchronization with the rising edge of the clock signal CK1 (S1). In the example of FIG. 9, the selector 311 sequentially outputs data D0, D2, D4, and D6 in synchronization with the rising edge of the clock signal CK1 (upper stage of S22). Similarly, during the period when the valid signal EN is on, the selector 312 alternately selects and outputs the output of the FF 307 and the output of the FF 308 in synchronization with the rising edge of the clock signal CK1. In the example of FIG. 9, the selector 312 sequentially outputs data D1, D3, D5, and D7 in synchronization with the rising edge of the clock signal CK1 (lower stage of S22). Thus, the 32 logic cell groups 13 divide the 8-burst read data DQ2 into the upper 32 bits and the lower 32 bits alternately as the reference read data PDQ2 in synchronization with the rising edge of the clock signal CK1. Output.

このように、半導体装置100とメモリ200とは、複数の信号線を介して高速にデータの送受信が行われる。また、半導体装置100において、メモリコントローラ2とIOバッファ21〜26との間には、それぞれ複数の論理セルが設けられている。このような場合において、半導体装置100とメモリ200との間のACタイミングを調整するためには、半導体装置100に設けられた論理セルを、対応するIOバッファ21〜26の近傍に配置することにより、配線遅延の誤差を抑制する等の対策をする必要がある。しかし、半導体装置100は、RTL設計、論理合成及びレイアウト設計の工程を経て設計されるのが一般的である。したがって、従来技術においてACタイミングを調整する場合、論理合成後に生成されるネットリストから対象となる論理セルを選択し、対応するIOバッファの近傍に配置する等の工数がかかってしまうという問題があった。   As described above, the semiconductor device 100 and the memory 200 transmit and receive data at high speed via the plurality of signal lines. In the semiconductor device 100, a plurality of logic cells are provided between the memory controller 2 and the IO buffers 21 to 26, respectively. In such a case, in order to adjust the AC timing between the semiconductor device 100 and the memory 200, the logic cells provided in the semiconductor device 100 are arranged in the vicinity of the corresponding IO buffers 21 to 26. Therefore, it is necessary to take measures such as suppressing wiring delay errors. However, the semiconductor device 100 is generally designed through RTL design, logic synthesis, and layout design processes. Therefore, when the AC timing is adjusted in the prior art, there is a problem that it takes man-hours such as selecting a target logic cell from a net list generated after logic synthesis and arranging it in the vicinity of the corresponding IO buffer. It was.

そこで、本実施の形態では、メモリコントローラ2と各IOバッファ21〜26との間に設けられたそれぞれの論理セル群11〜15を予めハードマクロ化して、他の論理セルと同様にライブラリに登録しておく。ここで、ハードマクロとは、特定用途向けの回路ブロックであって、予めトランジスタの配置及び配線が決定された状態のものをいう。なお、ハードマクロ内は予めタイミング調整されている。そして、レイアウト設計において、ハードマクロ化された論理セル群11〜15を、対応するIOバッファ21〜26の近傍に配置する。このとき、IOバッファ21〜26のうちいずれかのIOバッファと、対応するハードマクロと、を接続する信号線が、他のIOバッファと、対応するハードマクロとを接続する信号線の遅延量に応じた遅延量を有する。また、IOバッファ21〜26のうちいずれかのIOバッファと、対応するハードマクロと、を接続する信号線が、他のIOバッファと、対応するハードマクロとを接続する信号線の配線長に応じた配線長を有する。   Therefore, in the present embodiment, each of the logic cell groups 11 to 15 provided between the memory controller 2 and each of the IO buffers 21 to 26 is converted into a hard macro and registered in the library in the same manner as other logic cells. Keep it. Here, the hard macro refers to a circuit block for a specific application in which the arrangement and wiring of transistors are determined in advance. In the hard macro, timing is adjusted in advance. Then, in the layout design, the logic cell groups 11 to 15 that are made into a hard macro are arranged in the vicinity of the corresponding IO buffers 21 to 26. At this time, the signal line connecting any one of the IO buffers 21 to 26 and the corresponding hard macro has a delay amount of the signal line connecting the other IO buffer and the corresponding hard macro. It has a corresponding delay amount. In addition, the signal line connecting any one of the IO buffers 21 to 26 and the corresponding hard macro depends on the wiring length of the signal line connecting the other IO buffer and the corresponding hard macro. Have a long wiring length.

好ましくは、ハードマクロ化された論理セル群11〜15と、対応するIOバッファ21〜26と、を接続する各信号線の遅延量が、略同一になるように配置される。また、ハードマクロ化された論理セル群11〜15と、対応するIOバッファ21〜26と、を接続する各信号線の配線長が、略同一になるように配置される。   Preferably, they are arranged so that the delay amount of each signal line connecting the logic cell groups 11 to 15 and the corresponding IO buffers 21 to 26 made into a hard macro becomes substantially the same. Further, the wiring lengths of the signal lines connecting the logic cell groups 11 to 15 and the corresponding IO buffers 21 to 26 made into a hard macro are arranged to be substantially the same.

なお、ハードマクロ化された論理セル群11〜15と、対応するIOバッファ21〜26と、を接続する各信号線の遅延量が、完全に同一になるように配置される必要はない。ACタイミングの調整が容易になる範囲内の遅延量に収まっていれば良い。また、ハードマクロ化された論理セル群11〜15と、対応するIOバッファ21〜26と、を接続する各信号線の配線長が、完全に同一になるように配置される必要はない。ACタイミングの調整が容易になる範囲内の配線長に収まっていれば良い。   Note that it is not necessary that the delay amounts of the signal lines connecting the hard macro logic cell groups 11 to 15 and the corresponding IO buffers 21 to 26 are completely the same. It suffices if the delay amount is within a range in which the AC timing can be easily adjusted. Further, it is not necessary that the wiring lengths of the signal lines that connect the hard macro logic cell groups 11 to 15 and the corresponding IO buffers 21 to 26 are completely the same. It suffices if the wiring length is within a range in which the AC timing can be easily adjusted.

図10に、半導体装置100のレイアウトを簡略化した図を示す。図10に示すように、紙面の中央から右寄りにメモリコントローラ2が配置されている。半導体装置100の外枠に沿って複数のIOバッファが配置されている。具体的には、クロック信号CK,CKB用のIOバッファ22,23と、制御信号CM用の17ビット分のIOバッファ21と、が半導体装置100の外枠(紙面の縦方向)に沿って順に配置されている。また、許可信号DQM用の4ビット分のIOバッファ26と、ストローブ信号DQS1,DQS2用の4ビット分のIOバッファ25と、データDQ1,DQ2用の32ビット分のIOバッファ24と、が半導体装置100の外枠(紙面の横方向)に沿って順に配置されている。ここで、図10に示すように、ハードマクロ化された論理セル群11〜15は、対応するIOバッファ21〜26の近傍に配置されている。   FIG. 10 shows a simplified diagram of the layout of the semiconductor device 100. As shown in FIG. 10, the memory controller 2 is arranged on the right side from the center of the drawing. A plurality of IO buffers are arranged along the outer frame of the semiconductor device 100. Specifically, the IO buffers 22 and 23 for the clock signals CK and CKB and the IO buffer 21 for 17 bits for the control signal CM are sequentially arranged along the outer frame (vertical direction of the paper surface) of the semiconductor device 100. Has been placed. The 4-bit IO buffer 26 for the enable signal DQM, the 4-bit IO buffer 25 for the strobe signals DQS1 and DQS2, and the 32-bit IO buffer 24 for the data DQ1 and DQ2 are provided in the semiconductor device. They are arranged in order along 100 outer frames (lateral direction of the paper). Here, as shown in FIG. 10, the hard-macro logic cell groups 11 to 15 are arranged in the vicinity of the corresponding IO buffers 21 to 26.

その後の工程では、クロックラインのタイミング調整が行われる。このとき、PLL3から各ハードマクロ(論理セル群11〜15)に設けられたクロック入力端子までの遅延ばらつき(スキュー)が調整される。その後、STA(Static timing analysis)により、PLL3から各ハードマクロ(論理セル群11〜15)内に設けられた各フリップフロップのクロック入力端子までの絶対遅延が測定され、ばらつきの微調整が行われる。ここで、各ハードマクロ内部は、予めタイミング調整されている。つまり、半導体装置100の設計において、各ハードマクロ内部のタイミング調整を行う必要がないため、全体のタイミング調整が容易になる。また、本実施の形態では、各ハードマクロを対応するIOバッファの近傍に配置することにより、容易にACタイミングの調整を行うことができる。つまり、本実施の形態では、従来技術と異なり、レイアウト設計時において、多数存在する論理セルの中から対象となる論理セルを選び出し、対応するIOバッファの近傍に配置する必要がなくなる。したがって、本実施の形態では、設計にかかる工数を削減することができる。   In the subsequent process, the timing of the clock line is adjusted. At this time, the delay variation (skew) from the PLL 3 to the clock input terminals provided in the respective hard macros (logic cell groups 11 to 15) is adjusted. Thereafter, the STA (Static Timing Analysis) measures the absolute delay from the PLL 3 to the clock input terminals of the flip-flops provided in the hard macros (logic cell groups 11 to 15), and fine adjustment of the variation is performed. . Here, the timing of each hard macro is adjusted in advance. That is, in the design of the semiconductor device 100, it is not necessary to adjust the timing inside each hard macro, so that the overall timing adjustment is facilitated. In the present embodiment, the AC timing can be easily adjusted by arranging each hard macro in the vicinity of the corresponding IO buffer. That is, in the present embodiment, unlike the prior art, it is not necessary to select a target logic cell from among a large number of existing logic cells and place it in the vicinity of the corresponding IO buffer at the time of layout design. Therefore, in the present embodiment, the number of man-hours for designing can be reduced.

実施の形態2
実施の形態1に示したように、半導体装置100は、RTL設計、論理合成、レイアウト設計及びSTA(Static timing analysis)の工程を経て設計されるのが一般的である。レイアウト設計等では、クロックラインのタイミング調整が行われる。このとき、PLL3から各ハードマクロ(論理セル群11〜15)に設けられたクロック入力端子までの遅延ばらつき(スキュー)が調整される。しかし、一度タイミング調整した後でも、メモリ200等の外部負荷の影響を受けて、IOバッファ21〜26の遅延量が変化してしまう可能性がある。このような外部負荷の影響を排除するために、本実施の形態にかかる半導体装置100は、遅延調整回路16と、遅延調整回路201(図4参照)と、遅延調整回路406(図6参照)を用いることにより、対応する信号に対して付加する遅延量を調整する。遅延調整回路16,201,406は、例えば、複数の遅延バッファと、セレクタと、により構成される。各遅延バッファは並列に設けられ、入力信号に対してそれぞれ異なる遅延量を付加して出力する。セレクタは、CPU1からの制御信号に基づいて、複数の遅延バッファからの出力信号のうち、いずれかを選択して出力する。このように、本実施の形態では、遅延調整回路16,201,406を用いることにより、外部負荷による影響を受けることなく、データの送受信を行うことができる。
Embodiment 2
As shown in the first embodiment, the semiconductor device 100 is generally designed through RTL design, logic synthesis, layout design, and STA (Static Timing Analysis) processes. In layout design or the like, timing adjustment of the clock line is performed. At this time, the delay variation (skew) from the PLL 3 to the clock input terminals provided in the respective hard macros (logic cell groups 11 to 15) is adjusted. However, even after the timing is adjusted once, the delay amount of the IO buffers 21 to 26 may change due to the influence of an external load such as the memory 200. In order to eliminate the influence of such an external load, the semiconductor device 100 according to the present embodiment includes a delay adjustment circuit 16, a delay adjustment circuit 201 (see FIG. 4), and a delay adjustment circuit 406 (see FIG. 6). Is used to adjust the amount of delay added to the corresponding signal. The delay adjustment circuits 16, 201, and 406 are composed of, for example, a plurality of delay buffers and a selector. Each delay buffer is provided in parallel, and outputs a different delay amount to the input signal. The selector selects and outputs one of the output signals from the plurality of delay buffers based on the control signal from the CPU 1. As described above, in this embodiment, by using the delay adjustment circuits 16, 201, and 406, data can be transmitted and received without being affected by the external load.

また、本実施の形態にかかる半導体装置100は、LSI設計完了後においても、タイミング調整を行うことができる。つまり、半導体装置100は、例えば、LSI評価時において、実際に用いるDDR−SDRAM等のメモリ200を接続した場合に、正確にデータの読み出し及び書き込みができるようにタイミング調整を行う。   Further, the semiconductor device 100 according to the present embodiment can perform timing adjustment even after the LSI design is completed. That is, the semiconductor device 100 adjusts the timing so that data can be read and written accurately when the memory 200 such as a DDR-SDRAM actually used is connected, for example, at the time of LSI evaluation.

より具体的には、まず、CPU1は、論理セル群14に設けられた遅延調整回路407の遅延量を最小値に設定する。例えば、設定値が0〜16である場合、遅延調整回路407は、読み出し用ストローブ信号DQS2に対して設定値0に応じた遅延量を付加して、遅延ストローブ信号DQS2Aを出力する。この条件において、まず、半導体装置100は、テスト用データをメモリ200に書き込む。次に、半導体装置100は、メモリ200に書き込まれたテスト用データを読み出し、遅延ストローブ信号DQS2Aの両エッジに同期して検出する。CPU1は、書き込みに使用したテスト用データ(期待値)と、読み出したテスト用データと、を比較して比較結果を記憶する。例えば、CPU1は、期待値と、読み出したテスト用データと、が一致する場合には"1"を記憶し、不一致の場合には、"0"を記憶する。   More specifically, first, the CPU 1 sets the delay amount of the delay adjustment circuit 407 provided in the logic cell group 14 to the minimum value. For example, when the set value is 0 to 16, the delay adjustment circuit 407 adds a delay amount corresponding to the set value 0 to the read strobe signal DQS2, and outputs the delay strobe signal DQS2A. Under these conditions, first, the semiconductor device 100 writes test data into the memory 200. Next, the semiconductor device 100 reads the test data written in the memory 200 and detects it in synchronization with both edges of the delay strobe signal DQS2A. The CPU 1 compares the test data (expected value) used for writing with the read test data and stores the comparison result. For example, the CPU 1 stores “1” if the expected value matches the read test data, and stores “0” if they do not match.

次に、CPU1は、設定値を0から1に切り替える。つまり、遅延調整回路407は、読み出し用ストローブ信号DQS2に対して設定値1に応じた遅延量を付加して、遅延ストローブ信号DQS2Aを出力する。その後、設定値0の場合と同様の動作を経て、CPU1は、期待値と、読み出したテスト用データと、を比較して比較結果を記憶する。このように、CPU1は、設定値0〜16のそれぞれの場合において、期待値と、読み出したテスト用データと、を比較して比較結果を記憶する。これにより、16個の比較結果が得られる。   Next, the CPU 1 switches the setting value from 0 to 1. That is, the delay adjustment circuit 407 adds a delay amount corresponding to the setting value 1 to the read strobe signal DQS2, and outputs the delay strobe signal DQS2A. Thereafter, through the same operation as in the case of the set value 0, the CPU 1 compares the expected value with the read test data and stores the comparison result. As described above, the CPU 1 compares the expected value with the read test data in each of the setting values 0 to 16, and stores the comparison result. Thereby, 16 comparison results are obtained.

そして、CPU1は、最終的に、比較結果が"1"を示す設定値を遅延調整回路407に対して設定する。ここで、比較結果の一致している設定値が連続して存在する場合、それらの中間値を選択する。例えば、設定値0〜16の比較結果が、順に"0000111111100000"である場合、設定値4〜10で比較結果が一致しているため、中間値である設定値7を選択する。つまり、設定値7を遅延調整回路407に対して設定する。それにより、遅延誤差が生じた場合でも、精度の高いデータの送受信が可能である。なお、このような遅延量の設定は、4個の論理セル群14のそれぞれに対して実施される。   Then, the CPU 1 finally sets a setting value indicating that the comparison result is “1” in the delay adjustment circuit 407. Here, when there are consecutive set values with the same comparison result, an intermediate value between them is selected. For example, when the comparison results of the setting values 0 to 16 are “000011111110000” in order, since the comparison results are the same between the setting values 4 to 10, the setting value 7 that is an intermediate value is selected. That is, the set value 7 is set for the delay adjustment circuit 407. Thereby, even when a delay error occurs, data can be transmitted and received with high accuracy. Such a delay amount setting is performed for each of the four logic cell groups 14.

このように、本実施の形態では、LSI設計完了後においても、タイミング調整を行うことができる。それにより、本実施の形態では、精度良くデータの送受信を行うことができる。   Thus, in the present embodiment, timing adjustment can be performed even after the LSI design is completed. Thereby, in this embodiment, data can be transmitted and received with high accuracy.

なお、特許文献1に示すインターフェース回路(半導体装置)の場合、DDR−SDRAMから読み出されたデータを取り込むためにDLL回路を備える必要がある。しかし、DLL回路は実装面積が大きいため、インターフェース回路全体として回路規模が増大するという問題があった。また、それに伴い、消費電力が増大するという問題があった。一方、本実施の形態では、従来技術の場合と異なり、DLL回路等の大規模回路を備える代わりに、単純な論理構成の遅延調整回路を備え、CPU等の演算処理回路によってそれらの遅延調整を行う。そのため、本実施の形態では、回路規模の増大及び消費電力の増大を抑制することができる。   In the case of the interface circuit (semiconductor device) disclosed in Patent Document 1, it is necessary to include a DLL circuit in order to capture data read from the DDR-SDRAM. However, since the DLL circuit has a large mounting area, there is a problem that the circuit scale of the entire interface circuit increases. Along with this, there is a problem that power consumption increases. On the other hand, in this embodiment, unlike the case of the prior art, instead of providing a large-scale circuit such as a DLL circuit, a delay adjustment circuit having a simple logical configuration is provided, and the delay adjustment is performed by an arithmetic processing circuit such as a CPU. Do. Therefore, in this embodiment, an increase in circuit scale and an increase in power consumption can be suppressed.

次に、タイミング調整回路5について説明する。タイミング調整回路5は、半導体装置100内の内部遅延時間と、制御信号CMがメモリ200に対して出力されてから対応する読み出しデータDQ2が受信されるまでの外部遅延時間と、クロック信号CK1の周波数と、に基づいて、有効信号ENのオン期間を制御する。ここで、内部遅延時間とは、例えば、分周回路4がクロック信号CK1を生成してからクロック信号CKとしてIOバッファ22に到達するまでの時間を示す。   Next, the timing adjustment circuit 5 will be described. The timing adjustment circuit 5 includes an internal delay time in the semiconductor device 100, an external delay time from when the control signal CM is output to the memory 200 until the corresponding read data DQ2 is received, and the frequency of the clock signal CK1. Based on the above, the ON period of the valid signal EN is controlled. Here, the internal delay time indicates, for example, the time from when the frequency dividing circuit 4 generates the clock signal CK1 to when it reaches the IO buffer 22 as the clock signal CK.

図11及び図12は、半導体装置100の動作を示すタイミングチャートである。なお、図11は、クロック信号CKの周波数が30MHz、内部遅延時間及び外部遅延時間(tAC)の合計時間が15nsである場合の例である。一方、図12は、クロック信号CKの周波数が125MHz、内部遅延時間及び外部遅延時間(tAC)の合計時間が15nsである場合の例である。   11 and 12 are timing charts showing the operation of the semiconductor device 100. FIG. FIG. 11 shows an example in which the frequency of the clock signal CK is 30 MHz and the total time of the internal delay time and the external delay time (tAC) is 15 ns. On the other hand, FIG. 12 shows an example in which the frequency of the clock signal CK is 125 MHz and the total time of the internal delay time and the external delay time (tAC) is 15 ns.

図11及び図12に示すように、内部遅延時間及び外部遅延時間の合計時間がともに15nsと同じであっても、クロック信号CK1の周波数によって、データの送受信に与える影響度合いが異なる。   As shown in FIGS. 11 and 12, even when the total time of the internal delay time and the external delay time is both equal to 15 ns, the degree of influence on data transmission / reception differs depending on the frequency of the clock signal CK1.

図11に示すタイミングチャートの場合、内部遅延時間及び外部遅延時間の合計値は、クロック信号CK1の周期と比較して、相対的に小さい。したがって、メモリコントローラ2がリードモードの基準制御信号PCMを出力してから(時刻X)、対応する読み出しデータDQ2が論理セル群13に到達するまで(時刻Y)に要するクロック信号CK1のクロックサイクル数は少なくてすむ。なお、図11の例では、当該クロックサイクル数は"3"である。   In the case of the timing chart shown in FIG. 11, the total value of the internal delay time and the external delay time is relatively small compared to the cycle of the clock signal CK1. Therefore, the number of clock cycles of the clock signal CK1 required from when the memory controller 2 outputs the read mode reference control signal PCM (time X) until the corresponding read data DQ2 reaches the logic cell group 13 (time Y). Is less. In the example of FIG. 11, the number of clock cycles is “3”.

ここで、メモリコントローラ2がリードモードの制御信号PCMを出力してから(時刻X)、2クロックサイクル後のクロック信号CK1の立ち上がりを基準エッジ(時刻Z)と称す。図11の例では、基準エッジから1クロックサイクル後に、対応する読み出しデータDQ2が論理セル群13に到達する。このとき、タイミング調整回路5は、基準エッジから1クロックサイクル経過後に有効信号ENをオンする(1CLKモード)。それにより、メモリコントローラ2は、読み出しデータDQ2を正しく受信することができる。   Here, the rising edge of the clock signal CK1 after two clock cycles after the memory controller 2 outputs the read mode control signal PCM (time X) is referred to as a reference edge (time Z). In the example of FIG. 11, the corresponding read data DQ2 reaches the logic cell group 13 one clock cycle after the reference edge. At this time, the timing adjustment circuit 5 turns on the valid signal EN after 1 clock cycle from the reference edge (1 CLK mode). Thereby, the memory controller 2 can correctly receive the read data DQ2.

一方、図12に示すタイミングチャートの場合、内部遅延時間及び外部遅延時間の合計値は、クロック信号CK1の周期と比較して、相対的に大きい。したがって、メモリコントローラ2がリードモードの制御信号PCMを出力してから(時刻X)、対応する読み出しデータDQ2が論理セル群13に到達するまで(時刻Y)に要するクロック信号CK1のクロックサイクル数は多くなる。図12の例では、当該クロックサイクル数は"4"である。   On the other hand, in the timing chart shown in FIG. 12, the total value of the internal delay time and the external delay time is relatively large compared to the cycle of the clock signal CK1. Therefore, after the memory controller 2 outputs the read mode control signal PCM (time X), the number of clock cycles of the clock signal CK1 required until the corresponding read data DQ2 reaches the logic cell group 13 (time Y) is Become more. In the example of FIG. 12, the number of clock cycles is “4”.

ここで、図12の例では、基準エッジ(時刻Z)から2クロックサイクル後に、対応する読み出しデータDQ2が論理セル群13に到達する。このとき、タイミング調整回路5は、基準エッジから2クロックサイクル経過後に有効信号ENをオンする(2CLKモード)。それにより、メモリコントローラ2は、読み出しデータDQ2を正しく受信することができる。   Here, in the example of FIG. 12, the corresponding read data DQ2 reaches the logic cell group 13 two clock cycles after the reference edge (time Z). At this time, the timing adjustment circuit 5 turns on the valid signal EN after 2 clock cycles have elapsed from the reference edge (2CLK mode). Thereby, the memory controller 2 can correctly receive the read data DQ2.

このように、タイミング調整回路5は、内部遅延時間及び外部遅延時間の合計値と、クロック信号CK1の周波数と、に基づいて、CLKモードを切り替える。それにより、メモリコントローラ2は、読み出しデータDQ2を正しく受信することができる。   Thus, the timing adjustment circuit 5 switches the CLK mode based on the total value of the internal delay time and the external delay time and the frequency of the clock signal CK1. Thereby, the memory controller 2 can correctly receive the read data DQ2.

図13及び図14は、内部遅延時間及び外部遅延時間の合計値(合計遅延時間T)と、クロック信号CK1の周波数と、CLKモードと、の関係を示す図である。例えば、クロック信号CK1の周波数が30MHz、内部遅延時間及び外部遅延時間の合計値が40nsである場合、タイミング調整回路5は、2CLKモードに設定される。より具体的には、内部遅延時間及び外部遅延時間の合計値が、クロック信号CK1の1クロックサイクルより小さい場合、タイミング調整回路5は、1CLKモードに設定される。内部遅延時間及び外部遅延時間の合計値が、クロック信号CK1の1クロックサイクル以上、2クロックサイクル未満の場合、タイミング調整回路5は、2CLKモードに設定される。内部遅延時間及び外部遅延時間の合計値が、クロック信号CK1の2クロックサイクル以上、3クロックサイクル未満の場合、タイミング調整回路5は、3CLKモードに設定される。   13 and 14 are diagrams showing the relationship between the total value of the internal delay time and the external delay time (total delay time T), the frequency of the clock signal CK1, and the CLK mode. For example, when the frequency of the clock signal CK1 is 30 MHz and the total value of the internal delay time and the external delay time is 40 ns, the timing adjustment circuit 5 is set to the 2CLK mode. More specifically, when the total value of the internal delay time and the external delay time is smaller than one clock cycle of the clock signal CK1, the timing adjustment circuit 5 is set to the 1CLK mode. When the total value of the internal delay time and the external delay time is not less than one clock cycle and less than two clock cycles of the clock signal CK1, the timing adjustment circuit 5 is set to the 2CLK mode. When the total value of the internal delay time and the external delay time is 2 clock cycles or more and less than 3 clock cycles of the clock signal CK1, the timing adjustment circuit 5 is set to the 3CLK mode.

なお、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。上記実施の形態では、分周回路4が、クロック信号CK1と、クロック信号CK1と位相が270°異なるクロック信号CK2と、を出力する場合を例に説明したが、これに限られない。クロック信号CK1とクロック信号CK2との位相差は任意に設定可能である。   Note that the present invention is not limited to the above-described embodiment, and can be changed as appropriate without departing from the spirit of the present invention. In the above embodiment, the case where the frequency dividing circuit 4 outputs the clock signal CK1 and the clock signal CK2 whose phase is 270 ° different from that of the clock signal CK1 has been described as an example. The phase difference between the clock signal CK1 and the clock signal CK2 can be arbitrarily set.

また、本実施の形態では、CPU1及びメモリコントローラ2が、半導体装置100の内部に設けられた場合を例に説明したが、これに限られない。CPU1及びメモリコントローラ2が、半導体装置100の外部に設けられた回路構成にも適宜変更可能である。   In this embodiment, the case where the CPU 1 and the memory controller 2 are provided inside the semiconductor device 100 has been described as an example, but the present invention is not limited thereto. The CPU 1 and the memory controller 2 can be appropriately changed to a circuit configuration provided outside the semiconductor device 100.

11〜15 論理セル群
1 CPU
2 メモリコントローラ
3 PLL
4 分周回路
5 タイミング調整回路
16,201,406,407 遅延調整回路
21〜26 IOバッファ
100 半導体装置
200 メモリ
101,102,301〜309,401〜404,501〜503 FF
202 インバータ
310〜312,504 セレクタ
313,405 AND
701 スリーステートバッファ
702 バッファ
11-15 logic cell group 1 CPU
2 Memory controller 3 PLL
4 Dividing Circuit 5 Timing Adjustment Circuit 16, 201, 406, 407 Delay Adjustment Circuit 21-26 IO Buffer 100 Semiconductor Device 200 Memory 101, 102, 301-309, 401-404, 501-503 FF
202 Inverter 310-312,504 Selector 313,405 AND
701 Three-state buffer 702 Buffer

Claims (7)

外部メモリと接続される複数の信号線に対応して個別に設けられ前記対応する信号線のタイミングを決定する回路ブロックをマクロ化したハードマクロと、
前記ハードマクロのそれぞれに対応して設けられたIOバッファと、を有し、
前記ハードマクロと前記対応する前記IOバッファとを結合する配線のそれぞれが略同じ長さを有することを特徴とする半導体集積回路。
A hard macro that is a circuit block that is individually provided corresponding to a plurality of signal lines connected to an external memory and that determines the timing of the corresponding signal lines, and
An IO buffer provided corresponding to each of the hard macros,
2. A semiconductor integrated circuit according to claim 1, wherein each of the wirings connecting the hard macro and the corresponding IO buffer has substantially the same length.
前記ハードマクロのそれぞれが前記対応するIOバッファの近傍に配置されていることを特徴とする請求項1に記載の半導体集積回路。   2. The semiconductor integrated circuit according to claim 1, wherein each of the hard macros is disposed in the vicinity of the corresponding IO buffer. 第1のIOバッファの近傍に配置されると共に前記第1のIOバッファに第1の配線を介して結合され、第1のクロック信号に基づいて生成した基準クロックを前記第1のIOバッファを介して出力する第1のハードマクロと、
第2のIOバッファの近傍に配置されると共に前記第2のIOバッファに第2の配線を介して結合され、入力された制御信号を前記第1のクロック信号に同期して前記第2のIOバッファを介して出力する第2のハードマクロと、
第3のIOバッファの近傍に配置されると共に前記第3のIOバッファに第3の配線を介して結合され、前記第3のIOバッファを介して入力されたストローブ信号に所定の遅延を付加する第3のハードマクロと、
第4のIOバッファの近傍に配置されると共に前記第4のIOバッファに第4の配線を介して結合され、前記第4のIOバッファを介してデータ信号の送受信を行う第4のハードマクロと、を有し、
前記第1乃至第4配線の長さが略同じ長さであることを特徴とする半導体集積回路。
A reference clock which is arranged in the vicinity of the first IO buffer and is coupled to the first IO buffer via a first wiring and generated based on the first clock signal is passed through the first IO buffer. A first hard macro that outputs
The second IO buffer is disposed in the vicinity of the second IO buffer and coupled to the second IO buffer via a second wiring, and the input control signal is synchronized with the first clock signal to the second IO buffer. A second hard macro that outputs through a buffer;
Arranged in the vicinity of the third IO buffer and coupled to the third IO buffer via a third wiring to add a predetermined delay to the strobe signal input via the third IO buffer A third hard macro,
A fourth hard macro which is arranged in the vicinity of the fourth IO buffer and coupled to the fourth IO buffer via a fourth wiring and transmits / receives a data signal via the fourth IO buffer; Have
The semiconductor integrated circuit, wherein the first to fourth wirings have substantially the same length.
前記第1乃至第4のIOバッファに接続された外部メモリのアクセスを制御する制御回路をさらに有し、
前記制御回路は、前記第3のハードマクロの前記所定の遅延の値を変化させて、前記外部メモリの読み出しデータを検出した値と、期待値とを比較した複数の比較結果を取得し、前記比較結果に基づいて前記所定の遅延の値を決定することを特徴とする請求項3に記載の半導体集積回路。
A control circuit for controlling access to an external memory connected to the first to fourth IO buffers;
The control circuit changes a value of the predetermined delay of the third hard macro, obtains a plurality of comparison results comparing the value of the read data of the external memory with the expected value, 4. The semiconductor integrated circuit according to claim 3, wherein the predetermined delay value is determined based on a comparison result.
前記第4のハードマクロは、
前記データ信号を、遅延が付加された前記ストローブ信号に同期して検出した後に、さらに前記第1のクロック信号に同期して検出することを特徴とする請求項3又は4に記載の半導体集積回路。
The fourth hard macro is
5. The semiconductor integrated circuit according to claim 3, wherein the data signal is detected in synchronization with the first clock signal after being detected in synchronization with the strobe signal to which a delay is added. .
第1のIOバッファに第1の配線を介して結合され、第1のクロック信号に基づいて生成した基準クロックを前記第1のIOバッファを介して出力する第1のハードマクロと、
第2のIOバッファに第2の配線を介して結合され、入力された制御信号を前記第1のクロック信号に同期して前記第2のIOバッファを介して出力する第2のハードマクロと、
第3のIOバッファに第3の配線を介して結合され、前記第3のIOバッファを介して入力されたストローブ信号に所定の遅延を付加する第3のハードマクロと、
第4のIOバッファに第4の配線を介して結合され、前記第4のIOバッファを介してデータ信号の送受信を行う第4のハードマクロと、を備えた半導体集積回路のタイミング調整方法であって、
前記第1乃至第4の配線の長さが同じとなるよう前記第1乃至第4のハードマクロを配置することを特徴とする半導体集積回路のタイミング調整方法。
A first hard macro coupled to a first IO buffer via a first wiring and outputting a reference clock generated based on a first clock signal via the first IO buffer;
A second hard macro coupled to the second IO buffer via a second wiring and outputting the input control signal via the second IO buffer in synchronization with the first clock signal;
A third hard macro coupled to the third IO buffer via a third wiring and adding a predetermined delay to the strobe signal input via the third IO buffer;
And a fourth hard macro coupled to a fourth IO buffer via a fourth wiring and transmitting / receiving a data signal via the fourth IO buffer. And
A timing adjustment method for a semiconductor integrated circuit, wherein the first to fourth hard macros are arranged so that the lengths of the first to fourth wirings are the same.
前記第1乃至第4の配線の遅延量が同じとなるよう前記第1乃至第4のハードマクロを配置することを特徴とする請求項6に記載の半導体集積回路のタイミング調整方法。   7. The timing adjustment method for a semiconductor integrated circuit according to claim 6, wherein the first to fourth hard macros are arranged so that the delay amounts of the first to fourth wirings are the same.
JP2010036201A 2010-02-22 2010-02-22 Semiconductor integrated circuit and timing adjusting method thereof Pending JP2011170771A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010036201A JP2011170771A (en) 2010-02-22 2010-02-22 Semiconductor integrated circuit and timing adjusting method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010036201A JP2011170771A (en) 2010-02-22 2010-02-22 Semiconductor integrated circuit and timing adjusting method thereof

Publications (1)

Publication Number Publication Date
JP2011170771A true JP2011170771A (en) 2011-09-01

Family

ID=44684803

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010036201A Pending JP2011170771A (en) 2010-02-22 2010-02-22 Semiconductor integrated circuit and timing adjusting method thereof

Country Status (1)

Country Link
JP (1) JP2011170771A (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004192569A (en) * 2002-12-13 2004-07-08 Matsushita Electric Ind Co Ltd Device and method for designing semiconductor integrated circuit
JP2005150201A (en) * 2003-11-12 2005-06-09 Oki Electric Ind Co Ltd Semiconductor integrated circuit device
JP2008210307A (en) * 2007-02-28 2008-09-11 Fujitsu Ltd Ddr-sdram interface circuit
JP2009164263A (en) * 2007-12-28 2009-07-23 Nec Electronics Corp Wiring module and semiconductor integrated circuit
JP2009237904A (en) * 2008-03-27 2009-10-15 Fujitsu Microelectronics Ltd Method for creating design data for semiconductor integrated circuit

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004192569A (en) * 2002-12-13 2004-07-08 Matsushita Electric Ind Co Ltd Device and method for designing semiconductor integrated circuit
JP2005150201A (en) * 2003-11-12 2005-06-09 Oki Electric Ind Co Ltd Semiconductor integrated circuit device
JP2008210307A (en) * 2007-02-28 2008-09-11 Fujitsu Ltd Ddr-sdram interface circuit
JP2009164263A (en) * 2007-12-28 2009-07-23 Nec Electronics Corp Wiring module and semiconductor integrated circuit
JP2009237904A (en) * 2008-03-27 2009-10-15 Fujitsu Microelectronics Ltd Method for creating design data for semiconductor integrated circuit

Similar Documents

Publication Publication Date Title
KR102261670B1 (en) Apparatus and methods for providing internal clock signals of different clock frequencies in a memory device
US6333893B1 (en) Method and apparatus for crossing clock domain boundaries
US7751261B2 (en) Method and apparatus for controlling read latency of high-speed DRAM
US8780653B2 (en) Semiconductor device having skew detection circuit measuring skew between clock signal and data strobe signal
US9135981B2 (en) Memory system having memory ranks and related tuning method
US7385861B1 (en) Synchronization circuit for DDR IO interface
US20050248997A1 (en) Semiconductor memory device for controlling output timing of data depending on frequency variation
US7965568B2 (en) Semiconductor integrated circuit device and method of testing same
US20100052739A1 (en) Device and control method of device
JP5665263B2 (en) Semiconductor memory device and method for testing semiconductor memory device
KR100654125B1 (en) Data output device of semiconductor memory device
JP4959264B2 (en) Memory control device
US20070234165A1 (en) Input circuit of semiconductor memory device and test system having the same
WO2011077574A1 (en) Signal decoding circuit, latency adjustment circuit, memory controller, processor, computer, signal decoding method, and latency adjustment method
KR100745402B1 (en) Input circuit of a semiconductor memory device and method of controlling the same
US8754656B2 (en) High speed test circuit and method
JP5005928B2 (en) Interface circuit and storage control device including the interface circuit
US7181638B2 (en) Method and apparatus for skewing data with respect to command on a DDR interface
US7848178B2 (en) Semiconductor memory device and method for operating the same
JP2002150796A (en) Always enabled test method for monolithic integrated circuit device, and integrated circuit device
US7995406B2 (en) Data writing apparatus and method for semiconductor integrated circuit
JP5673842B2 (en) Semiconductor device
US7948912B2 (en) Semiconductor integrated circuit with test mode
JP2011170771A (en) Semiconductor integrated circuit and timing adjusting method thereof
JP4661134B2 (en) Memory control method and apparatus

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120808

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20131015