JP3866562B2 - 半導体集積回路の設計方法 - Google Patents
半導体集積回路の設計方法 Download PDFInfo
- Publication number
- JP3866562B2 JP3866562B2 JP2001363879A JP2001363879A JP3866562B2 JP 3866562 B2 JP3866562 B2 JP 3866562B2 JP 2001363879 A JP2001363879 A JP 2001363879A JP 2001363879 A JP2001363879 A JP 2001363879A JP 3866562 B2 JP3866562 B2 JP 3866562B2
- Authority
- JP
- Japan
- Prior art keywords
- synchronous circuit
- clock signal
- semiconductor integrated
- synchronous
- integrated circuit
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Logic Circuits (AREA)
Description
【発明の属する技術分野】
本発明は、同一のクロック信号に同期して動作する複数の同期型回路ブロックを搭載する比較的大規模な半導体集積回路の設計方法に関するものである。
【0002】
【従来の技術】
半導体チップ間の製造ばらつきは、一般にディスクリートの外部素子に比べて大きく、概ね±20%程度であると考えられる。
【0003】
しかし、半導体チップ内部に限ればばらつきはほとんど無く、従来は、半導体チップ内の素子がほぼ同一の特性を示すものとして扱うことができた。従って、半導体集積回路の設計を行う際に、半導体チップ内の全素子が一律に遅くなる(ワースト)、もしくは一律に速くなる(ベスト)と想定して素子遅延を設定し、シミュレーションによりチップが安定動作することを確認するという手法が一般的に用いられていた。
【0004】
すなわち、同一のクロック信号に同期して動作する複数の同期型回路ブロックを搭載する半導体集積回路の設計において、例えば2つの同期型回路ブロックAと同期型回路ブロックBとの間のクロック信号以外の信号の接続を行う際、同期型回路ブロックAと同期型回路ブロックBとの間の信号タイミングは、少なくともワーストおよびベストの条件で半導体チップが安定動作することを確認すれば問題は発生しなかった。
【0005】
【発明が解決しようとする課題】
ところが、製造技術の微細化が進むにつれ、単位面積当たりの製造ばらつきが大きくなり、半導体チップ内でも部分部分の製造状態が異なるため、半導体チップ全体が同じ特性であるとして一律に扱うのが困難になってきた。
【0006】
これに伴い、複数の同期型回路ブロックを搭載する半導体集積回路において、同期型回路ブロック間の接続を行う場合、前述のように、両者の間で製造条件が僅かに異なり、両者を同じ特性のものとして扱えない場合が出てきた。このような場合に、両者の特性を従来と同様一律に扱い、ワーストおよびベストの条件での安定動作のみをシミュレーションで確認した設計を行うと不具合が発生する場合があるという問題がある。
【0007】
例えば、出力側の同期型回路ブロックがベストに近い条件で製造されているにも係わらず、その出力信号を入力とする入力側の同期型回路ブロックの製造条件がワースト側に振れていると、誤動作を起こす場合がある。
【0008】
図3は、従来の半導体集積回路の一例の構成概念図である。
同図に示す半導体集積回路30は、半導体チップ上に配置された2つの同期型回路ブロックA,Bのみを概念的に示したものである。
【0009】
出力側(図中左側)の同期型回路ブロックAは、ルートバッファ20を介して供給されるクロック信号CLKからクロック信号CLK1を生成するクロック生成回路12と、クロック信号CLK1に同期して動作する同期型回路14とを備えている。同様に、入力側(図中右側)の同期型回路ブロックBは、同一のクロック信号CLKからクロック信号CLK2を生成するクロック生成回路16と、クロック信号CLK2に同期して動作する同期型回路18とを備えている。
【0010】
図示例の半導体集積回路30では、図4のタイミングチャートに示すように、出力側の同期型回路であるフリップフロップ14に入力されるデータData_inは、クロック信号CLK1の立ち上がりに対して必要十分なセットアップ時間Tsを持つとする。フリップフロップ14は、クロック信号CLK1の立ち上がりに同期して動作し、その出力信号Data_outは、クロック信号CLK1の立ち上がりから所定の出力遅延時間の後に変化する。
【0011】
ここで、出力側のフリップフロップ14はベストに近い条件で製造されているが、入力側の同期型回路であるフリップフロップ18の製造条件はワースト側に振れているとする。
【0012】
図4のタイミングチャートに示すように、入力側のフリップフロップ18のワースト条件でのホールド時間要求(Thw)はベスト条件でのデータホールド要求(Thb)に比べて大きい。従って、出力側のフリップフロップ14の出力信号Data_outは、ベスト条件であれば、入力側のフリップフロップ18のホールド時間要求Thbに対して十分データが安定して供給されるが、ワースト条件では、ホールド時間要求Thw以前にデータが変わるため、このままでは誤動作を起こす。
【0013】
従来の半導体集積回路の設計方法の場合、出力側のフリップフロップ14と入力側のフリップフロップ18を同一条件と見なしてその動作安定性を確認するだけでよかったので、このような不具合は想定していなかった。また、各々の同期型回路ブロックのでき具合のばらつきをシミュレーションで扱うには無数の組み合わせと製造のでき具合との関係をマトリクス状に処理しなければならず、事実上不可能であると言わざるを得ない。
【0014】
また、各々の同期型回路ブロックA,Bは比較的大規模な回路であるため、図3に示すように、通常、各々独立したクロック生成回路12,16を備えている。これらのクロック生成回路12,16によって生成されたクロック信号CLK1,CLK2の遅延時間も両同期型回路ブロックA,Bと同様の遅延特性を持つので、たとえ同一になるように設計しても両者のクロック信号CLK1,CLK2は遅延時間差を生じる。この場合、クロック信号CLK1,CLK2も単一信号として扱えず、さらに安定動作を保証するのが困難になる。
【0015】
本発明の目的は、前記従来技術に基づく問題点を解消し、同期型回路ブロック間に製造条件の違いによる遅延時間差や、独立したクロック生成回路によって生成されるクロック信号間に遅延時間差があっても、これに係わらず安定動作を保証することができる半導体集積回路の設計方法を提供することにある。
【0018】
【課題を解決するための手段】
上記目的を達成するために、本発明は、同一のクロック信号が供給されて動作する複数の同期型回路ブロックを備える半導体集積回路の設計方法であって、
各々独立に設計された少なくとも第1および第2の同期型回路ブロックを用いて、前記第1の同期型回路ブロックに含まれる第1の同期型回路と前記第2の同期型回路ブロックに含まれる第2の同期型回路との間でデータの受け渡しを行うに際し、
前記第1の同期型回路と前記第2の同期型回路との間に、前記第1の同期型回路ブロックに含まれる第1のクロック生成回路によって前記クロック信号から生成される第1のクロック信号の反転信号、もしくは、前記第2の同期型回路ブロックに含まれる第2のクロック生成回路によって前記クロック信号から生成される第2のクロック信号の反転信号に同期して動作し、前記第1の同期型回路からデータを取り込み、前記第2の同期型回路に引き渡すレジスタ素子を設けることを特徴とする半導体集積回路の設計方法を提供する。
【0019】
【発明の実施の形態】
以下に、添付の図面に示す好適実施例に基づいて、本発明の半導体集積回路の設計方法を詳細に説明する。
【0020】
図1は、本発明に係る半導体集積回路の一実施例の構成概念図である。
同図に示す半導体集積回路10は、図3に示す従来の半導体集積回路30との対比が容易となるように、半導体チップ上に配置された2つの同期型回路ブロックA,Bのみを概念的に表したものである。なお、図1に示す半導体集積回路10と図3に示す従来の半導体集積回路30との違いはレジスタ素子22を備えている点のみである。
【0021】
すなわち、出力側(図中左側)の同期型回路ブロックAは、クロック信号CLKからクロック信号CLK1を生成するクロック生成回路12と、このクロック信号CLK1に同期して動作する同期型回路14とを備えている。同様に、入力側(図中右側)の同期型回路ブロックBは、同一のクロック信号CLKからクロック信号CLK2を生成するクロック生成回路16と、このクロック信号CLK2に同期して動作する同期型回路18とを備えている。
【0022】
同期型回路ブロックAのクロック生成回路12および同期型回路ブロックBのクロック生成回路16には、ルートバッファ20を介して同一のクロック信号CLKが入力されている。また、同期型回路ブロックAの同期型回路14と同期型回路ブロックBの同期型回路18との間にはレジスタ素子22が設けられている。このレジスタ素子22は、本実施例の場合、クロック信号CLK1の反転信号に同期して動作する。
【0023】
なお、クロック生成回路12,16は、例えばクロックバッファやクロックツリー、PLL(位相同期ループ)等のように、クロック信号CLKからそれぞれのクロック信号CLK1,2を生成する従来公知のものがいずれも利用可能である。また、同期型回路14,18およびレジスタ素子22は、例えばフリップフロップ、ラッチ、メモリ等のように、クロック信号に同期して動作する従来公知の記憶手段がいずれも利用可能である。
【0024】
ここで、図3に示す従来例との比較が容易となるように、出力側の同期型回路であるフリップフロップ14はベストに近い条件で製造され、入力側の同期型回路であるフリップフロップ18はワースト側に振れた条件で製造されているとする。また、両者の間に設けられたレジスタ素子であるフリップフロップ22は物理的に出力側の同期型回路ブロックAの近傍に配置され、ベストに近い条件であるとする(なお、ワースト側に近い条件でも特に問題はない)。
【0025】
図1に示す半導体集積回路10では、図2のタイミングチャートに示すように、出力側の同期型回路であるフリップフロップ14は、クロック信号CLK1の立ち上がりに同期して動作し、所定の出力遅延時間の後、その出力信号Data_inが変化する。
【0026】
フリップフロップ14の出力信号Data_inは、出力側の同期型回路ブロックAと入力側の同期型回路ブロックBとの間に設けられているフリップフロップ22に入力される。このフリップフロップ22は、クロック信号CLK1の立ち下がりに同期して動作し、所定の出力遅延時間の後、その出力信号Data_outが変化する。
【0027】
ここで、出力側のフリップフロップ14とフリップフロップ22との間のタイミング関係はクロック信号CLKの半位相分ずれているため、フリップフロップ14の出力信号Data_inは、フリップフロップ22の要求するセットアップ時間Ts1およびホールド時間Th1に対して共に十分な余裕がある。
【0028】
フリップフロップ22の出力信号Data_outは、入力側のフリップフロップ18に入力される。フリップフロップ18は、クロック信号CLK2の立ち上がりに同期して動作する。
【0029】
ここで、フリップフロップ22と入力側のフリップフロップ18との間のタイミング関係は同様にクロック信号CLKの半位相分ずれているため、フリップフロップ22の出力信号Data_outは、フリップフロップ18の要求するセットアップ時間Ts2およびホールド時間Th2に対して共に十分な余裕がある。通常、このようなシフトレジスタ構成の場合、ホールド時間Th2の余裕が厳しくなるが、半位相ずれているため、たとえクロック信号CLK1とクロック信号CLK2との間に遅延時間差がある場合であっても十分な余裕がある。
【0030】
このように、クロック信号CLK1の反転信号を使うことにより、レジスタ素子22は、そのセットアップ時間Ts1およびホールド時間Th1に対して確実に余裕を持って出力側の同期型回路のデータを取り込むことができる。また、受け取ったデータを入力側の同期型回路に渡す際もクロックが半位相ずれているため、フリップフロップ18の要求するセットアップ時間Ts2およびホールド時間Th2に余裕をもって渡すことができる。
【0031】
従って、両者の同期型回路ブロックA,Bの製造状態の違いによる遅延時間差があっても、また、たとえ独立したクロック生成回路12,16によって生成されるクロック信号CLK1,CLK2の間の遅延時間差があっても、データの受け渡し時の動作余裕が拡大するため動作安定に寄与する。また、各同期型回路ブロックA,B内では、その規模が半導体チップ全体に対して比較的小さいため、同一条件として一律に見なしてもよく、確実な設計ができる。
【0032】
半導体集積回路10の設計を行うに際しては、例えば同期型回路ブロックA,Bそれぞれ独立に設計することができる。あるいは、例えばIP(知的財産)のような既存の設計データを使用することも可能である。その後、同期型回路ブロックAの同期型回路14と同期型回路ブロックBの同期型回路18とを接続するに際し、これらの同期型回路14,18の間に、クロック信号CLK1の反転信号に同期して動作するレジスタ素子22を設ける。
【0033】
これにより、各ブロックの製造状態に係わらず、同期型回路ブロックAの同期型回路から同期型回路ブロックBの同期型回路に対して確実にデータを渡すことができる。このため、たとえ同期型回路ブロックAがベストに近い条件で製造され、同期型回路ブロックBがワースト側に振れた条件で製造されている場合であっても、従来と同様、シミュレーションにより、ワーストおよびベスト条件で半導体チップが安定動作することを確認するだけでよい。
【0034】
なお、図1に示す例では、図3に示す従来例との対比が容易となるように、2つの同期型回路ブロックA,Bのみを示しているが、本発明に係る半導体集積回路には、2つ以上いくつの同期型回路ブロックが含まれていてもよい。また、図示例では、同期型回路ブロック内に1つの同期型回路のみを示しているが、これも限定されず、同期型回路ブロック内には1つ以上いくつの同期型回路が含まれていてもよい。
【0035】
また、レジスタ素子22には、クロック信号CLK1またはCLK2のどちらを供給してもよいが、レジスタ素子22によるデータの取り込みを確実に行い、その後、半位相ずらして入力側に確実にデータを引き渡すために、クロック信号CLK1であるのが好ましい。従って、レジスタ素子22は、半導体チップのレイアウト上、同期型回路ブロックAおよびBの間に配置してもよいが、同期型回路ブロックAの内部に配置するのが好ましい。
【0036】
本発明の半導体集積回路の設計方法は、基本的に以上のようなものである。
以上、本発明の半導体集積回路の設計方法について詳細に説明したが、本発明は上記実施例に限定されず、本発明の主旨を逸脱しない範囲において、種々の改良や変更をしてもよいのはもちろんである。
【0037】
【発明の効果】
以上詳細に説明した様に、本発明は、第1の同期型回路ブロックの同期型回路と第2の同期型回路ブロックの同期型回路との間に、第1の同期型回路ブロックのクロック生成回路によってクロック信号から生成される第1のクロック信号の反転信号、もしくは、第2の同期型回路ブロックのクロック生成回路によって同一のクロック信号から生成される第2のクロック信号の反転信号に同期して動作するレジスタ素子を設けるようにしたものである。
これにより、本発明によれば、複数の同期型回路ブロックよりなる大規模半導体チップにおいて、各同期型回路ブロックの製造状態の違いによる遅延時間差があっても、また、各々の同期型回路ブロックにおいて、たとえ各々のクロック生成回路により生成されるクロック信号の間の遅延時間差があっても、データの受け渡し時の動作余裕が拡大するため、半導体集積回路を安定動作させることができるという効果がある。
【図面の簡単な説明】
【図1】 本発明に係る半導体集積回路の一実施例の構成概念図である。
【図2】 本発明に係る半導体集積回路の動作を表す一実施例のタイミングチャートである。
【図3】 従来の半導体集積回路の一例の構成概念図である。
【図4】 従来の半導体集積回路の動作を表す一例のタイミングチャートである。
【符号の説明】
10,30 半導体集積回路
12,16 クロック生成回路
14,18 同期型回路
20 ルートバッファ
22 レジスタ素子
A,B 同期型回路ブロック
CLK,CLK1,CLK2 クロック信号
Data_in,Data_out データ
Ts,Ts1,Ts2 セットアップ時間
Th1,Th2,Thb,Thw ホールド時間
Claims (1)
- 同一のクロック信号が供給されて動作する複数の同期型回路ブロックを備える半導体集積回路の設計方法であって、
各々独立に設計された少なくとも第1および第2の同期型回路ブロックを用いて、前記第1の同期型回路ブロックに含まれる第1の同期型回路と前記第2の同期型回路ブロックに含まれる第2の同期型回路との間でデータの受け渡しを行うに際し、
前記第1の同期型回路と前記第2の同期型回路との間に、前記第1の同期型回路ブロックに含まれる第1のクロック生成回路によって前記クロック信号から生成される第1のクロック信号の反転信号、もしくは、前記第2の同期型回路ブロックに含まれる第2のクロック生成回路によって前記クロック信号から生成される第2のクロック信号の反転信号に同期して動作し、前記第1の同期型回路からデータを取り込み、前記第2の同期型回路に引き渡すレジスタ素子を設けることを特徴とする半導体集積回路の設計方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001363879A JP3866562B2 (ja) | 2001-11-29 | 2001-11-29 | 半導体集積回路の設計方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001363879A JP3866562B2 (ja) | 2001-11-29 | 2001-11-29 | 半導体集積回路の設計方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2003168966A JP2003168966A (ja) | 2003-06-13 |
JP3866562B2 true JP3866562B2 (ja) | 2007-01-10 |
Family
ID=19174144
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001363879A Expired - Fee Related JP3866562B2 (ja) | 2001-11-29 | 2001-11-29 | 半導体集積回路の設計方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3866562B2 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4610423B2 (ja) * | 2005-06-22 | 2011-01-12 | 川崎マイクロエレクトロニクス株式会社 | データ転送回路 |
JP2019049517A (ja) * | 2017-09-12 | 2019-03-28 | 株式会社東芝 | 集積回路、スキャンシフト制御方法、および回路設計方法 |
-
2001
- 2001-11-29 JP JP2001363879A patent/JP3866562B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2003168966A (ja) | 2003-06-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPH05289770A (ja) | 同期装置及び同期方法 | |
US8132036B2 (en) | Reducing latency in data transfer between asynchronous clock domains | |
US7275171B2 (en) | Method and apparatus for programmable sampling clock edge selection | |
US7500132B1 (en) | Method of asynchronously transmitting data between clock domains | |
JP2579237B2 (ja) | フロースルーラッチ回路を有する状態素子回路、該状態素子回路を有するvlsi回路、及びラッチをマスタースレーブフリップフロップの機能的代替物として作動する方法 | |
US7350092B2 (en) | Data synchronization arrangement | |
US7333516B1 (en) | Interface for synchronous data transfer between domains clocked at different frequencies | |
JP3866562B2 (ja) | 半導体集積回路の設計方法 | |
US6640277B1 (en) | Input staging logic for latching source synchronous data | |
US6493407B1 (en) | Synchronous latching bus arrangement for interfacing discrete and/or integrated modules in a digital system and associated method | |
EP1697821B1 (en) | Integrated circuit clock distribution | |
JP3629019B2 (ja) | 半導体集積回路 | |
KR20170030620A (ko) | 클럭 트리 구현 방법, 시스템 온 칩 및 컴퓨터 저장매체 | |
JP2003216271A (ja) | 半導体集積回路 | |
US6552590B2 (en) | Clocking scheme for ASIC | |
KR100651888B1 (ko) | 비동기 인터페이스 장치 및 방법 | |
JP4588435B2 (ja) | 出力信号を安定して生成する同期化回路 | |
JP2004127012A (ja) | 同期式回路およびその設計方法 | |
JP3626343B2 (ja) | 半導体集積回路装置 | |
JP3614758B2 (ja) | クロック位相調整システム及びクロックツリー設計方法 | |
US5649177A (en) | Control logic for very fast clock speeds | |
JPH11150458A (ja) | 半導体装置 | |
JP2004185297A (ja) | 同期式回路およびインタフェース回路 | |
JP2003273852A (ja) | 半導体集積回路装置 | |
JP2004311806A (ja) | 半導体集積回路およびその設計方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20041125 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20060627 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060704 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060901 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20060926 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20061005 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 Ref document number: 3866562 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091013 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101013 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111013 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121013 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131013 Year of fee payment: 7 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313111 |
|
R360 | Written notification for declining of transfer of rights |
Free format text: JAPANESE INTERMEDIATE CODE: R360 |
|
R360 | Written notification for declining of transfer of rights |
Free format text: JAPANESE INTERMEDIATE CODE: R360 |
|
R371 | Transfer withdrawn |
Free format text: JAPANESE INTERMEDIATE CODE: R371 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313111 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |