JP2017523518A - クロックツリーの実現方法、システムオンチップ及びコンピュータ記憶媒体 - Google Patents
クロックツリーの実現方法、システムオンチップ及びコンピュータ記憶媒体 Download PDFInfo
- Publication number
- JP2017523518A JP2017523518A JP2017503136A JP2017503136A JP2017523518A JP 2017523518 A JP2017523518 A JP 2017523518A JP 2017503136 A JP2017503136 A JP 2017503136A JP 2017503136 A JP2017503136 A JP 2017503136A JP 2017523518 A JP2017523518 A JP 2017523518A
- Authority
- JP
- Japan
- Prior art keywords
- bus
- bridge
- configuration
- frequency
- protocol
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 26
- 238000006243 chemical reaction Methods 0.000 claims abstract description 42
- 239000011159 matrix material Substances 0.000 claims abstract description 18
- 230000009467 reduction Effects 0.000 claims abstract description 17
- 230000001360 synchronised effect Effects 0.000 claims description 15
- 230000002093 peripheral effect Effects 0.000 claims description 4
- 239000000470 constituent Substances 0.000 abstract description 6
- 238000013461 design Methods 0.000 description 20
- 238000010586 diagram Methods 0.000 description 18
- 238000004590 computer program Methods 0.000 description 8
- 229920003366 poly(p-phenylene terephthalamide) Polymers 0.000 description 6
- 230000008569 process Effects 0.000 description 5
- 238000012545 processing Methods 0.000 description 5
- 239000000872 buffer Substances 0.000 description 4
- 230000015572 biosynthetic process Effects 0.000 description 3
- 238000003786 synthesis reaction Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 230000015556 catabolic process Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4204—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
- G06F13/4208—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a system bus, e.g. VME bus, Futurebus, Multibus
- G06F13/4213—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a system bus, e.g. VME bus, Futurebus, Multibus with asynchronous protocol
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/04—Generating or distributing clock signals or signals derived directly therefrom
- G06F1/12—Synchronisation of different clock signals provided by a plurality of clock generators
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/04—Generating or distributing clock signals or signals derived directly therefrom
- G06F1/08—Clock generators with changeable or programmable clock frequency
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/04—Generating or distributing clock signals or signals derived directly therefrom
- G06F1/10—Distribution of clock signals, e.g. skew
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/78—Architectures of general purpose stored program computers comprising a single central processing unit
- G06F15/7807—System on chip, i.e. computer system on a single chip; System in package, i.e. computer system on one or more chips in a single package
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Bus Control (AREA)
- Information Transfer Systems (AREA)
Abstract
本発明はクロックツリーの実現方法、システムオンチップ及びコンピュータ記憶媒体を提供する。前記方法は、コアモジュール(10)と外部接続モジュール(20)を含むシステムオンチップに応用され、前記コアモジュール(10)における相互接続行列(12)は、プロトコルブリッジ(111)と周波数低下ブリッジ(112)を含むバス変換ブリッジ(11)を介して、前記外部接続モジュール(20)に接続し、プロトコルブリッジ(111)を使用してデータバスを第一構成バスに変換する(S100)ことと、周波数低下ブリッジ(112)を使用して第一構成バスを第二構成バスに変換する(S101)こととを含み、前記第一構成バスの周波数は前記プロトコルブリッジの周波数であり、前記第二構成バスの周波数は、前記外部接続モジュールの構成バスの周波数である。【選択図】図6
Description
本発明はシステムオンチップ(SoC:System−on−Chip)設計分野に関し、特にクロックツリーの実現方法、システムオンチップ及びコンピュータ記憶媒体に関する。
現在、システムオンチップ設計は、通信産業発展に関するコア技術となった。システムオンチップ設計は、性能(Performance)、電力消費(Power)、設計周期(Time−to−Market)及び面積(Area)等の要因を同時に考える必要があり、即ちPPTA基準を考える必要がある。システムオンチップ設計において、クロックツリー(Clock Tree)の生成は、上記の要因に重要な影響を与え、特に、システムオンチップの周波数が高く面積が大きい場合、これらの影響は決定的な要因となる可能性がある。
従来の技術において、物理的な容易な実現可能性に基づいてモジュールを分割される。SoCに高度なマイクロコントローラバスアーキテクチャ3.0(AMBA3.0:Advanced Microcontroller Bus Architecture3.0)が採用され、即ち、データバスが高度な拡張可能インターフェイス(AXI:Advanced eXtensible Interface)バスであり、構成バス(configuration bus)が高度な高性能バス(AHB:Advanced High performance Bus)又は高度なペリフェラルバス(APB:Advanced Peripheral Bus)である。
具体的には、システムオンチップにおいて、1つのコアモジュールを独立に設け、当該コアモジュールは、相互接続行列(Matrix)、バス変換ブリッジ(Bridge)及び分周器(即ち、クロック生成ユニット(Top CRM Unit))などを含む。相互接続行列において、データバスにAXIバスが採用され、その周波数が高く、構成バスにAHB/APBバスが採用され、その周波数が低い。さらに、AHB/APBバスは、AXIバスによってAXI−to−AHB又はAXI−to−APB変換ブリッジで実現される。コアモジュールの内部において、複数の類似の変換ブリッジにより複数の構成バスを生成し、システムオンチップの他の外部接続モジュールの構成バスにそれぞれ同期に接続する。また、コアモジュールの複数のデータバスは、他の外部接続モジュールのデータバスにそれぞれ接続する。
図1に示すように、コアモジュールの相互接続行列は、2つのAXI−to−APB変換ブリッジを介して、2つの外部接続モジュールにそれぞれ接続する。さらに、論理設計を簡略化するために、バス変換ブリッジが同期ブリッジであっても良く、即ち、AXIバス周波数により同期に周波数割り当てされてAPBバス周波数を得る。図2に示すように、コアモジュールの相互接続行列は、1つの1−to−2のAXI−to−APB変換ブリッジを介して、外部接続モジュールに接続する。このように、相互接続行列の点から、接続されたすべてのバスは同期であり、即ち、コアモジュールと接続された各知的財産(IP:Intellectual Property)機能モジュールのデータバスと構成バスは同期であり、各IP機能モジュールのデータバスと構成バスの間には同期である。図3に示すように、論理設計の点から、システムオンチップ全体のうちのすべてのバスは同期である。このように、物理的な実現の点から、クロックツリーの全チップ同期が要求される。
しかしながら、システムオンチップの周波数が大きくなり、面積が大きくなる場合、このような設計において、物理的な実現に大きい挑戦があり、クロックツリー全体が要する面積及び電力消費が大きくなるとともに、設計周期も長くなる。図1又は図2に示すシステムオンチップアーキテクチャにおける主なタイミング経路を例として、図4に示すように、インタフェース回路は、同一クロックドメインであっても良いし、クロスクロックドメインであっても良い。一方面において、同一クロックドメインのインタフェース回路(p3)について、各IP機能モジュールの構成バスが必要であり、区別しないと、これらは同じAPBクロックにおいて動作する。別の方面において、クロスクロックドメインのインタフェース回路(p2)について、バックエンド物理設計が依然として同期方式であり、即ち、同一のAXIクロックにおいて収束される。そのため、システムオンチップ全体のシステムバスは、高周波AXIクロックにおいてタイミング収束を行う。ここでいうシステムバスは、データバスと構成バス(configuration bus)を含む。
レジスタ数が多すぎて物理的な位置が分散した場合、クロックツリー遅延(latency)が非常に大きい。従って、チップ内のばらつき(OCV:On Chip Variation)が大きくなり、電力消費が大きくなり、混雑(congestion)も大きくなる。また、ツールでインタフェース回路を自由に置く場合、タイミング収束による問題をさらに引き起こす。
以上問題を解決するために、図5に示すように、同期ブリッジに代わりに非同期ブリッジを採用して、異なるプロトコルバスの間の変換を行うことができる。しかしながら、非同期ブリッジを使用する場合、異なる側面の論理及び物理的な設計問題、例えば複雑な総合(Synthesis)と静的タイミング解析(Static Timing Analysis)による問題を引き起こし、さらに、変換ブリッジの面積と電力消費も増加させる。
本発明の実施例は、データバスのグローバル同期を維持するとともに、構成バスの全体非同期とローカル同期を実現することで、システムオンチップ設計のPPTAを最適化することができるクロックツリーの実現方法、システムオンチップ及びコンピュータ記憶媒体を提供する。
本発明の実施例に係る技術案は、以下のように実現される。
本発明の実施例はクロックツリーの実現方法を提供し、コアモジュールと外部接続モジュールを含むシステムオンチップに応用され、前記コアモジュールの相互接続行列は、プロトコルブリッジと周波数低下ブリッジ(Frequency dropping bridge)を含むバス変換ブリッジを介して、前記外部接続モジュールに接続し、
前記方法は、
プロトコルブリッジを使用して、データバスを第一構成バスに変換することと、
周波数低下ブリッジを使用して、第一構成バスを第二構成バスに変換することとを含み、
前記第一構成バスの周波数は、前記プロトコルブリッジの周波数であり、前記第二構成バスの周波数は、前記外部接続モジュールの構成バスの周波数である。
前記方法は、
プロトコルブリッジを使用して、データバスを第一構成バスに変換することと、
周波数低下ブリッジを使用して、第一構成バスを第二構成バスに変換することとを含み、
前記第一構成バスの周波数は、前記プロトコルブリッジの周波数であり、前記第二構成バスの周波数は、前記外部接続モジュールの構成バスの周波数である。
1つの実施例において、前記プロトコルブリッジは、シングルステージプロトコルブリッジであり、外部接続モジュールがN個である場合、前記プロトコルブリッジは、同一周波数であるN個のシングルステージプロトコルブリッジを含み、
前記プロトコルブリッジを使用して、データバスを第一構成バスに変換することは、
同一周波数であるN個のシングルステージプロトコルブリッジを使用して、N個のデータバスをN個の第一構成バスに変換することを含み、
ここで、Nは2以上の正の整数である。
前記プロトコルブリッジを使用して、データバスを第一構成バスに変換することは、
同一周波数であるN個のシングルステージプロトコルブリッジを使用して、N個のデータバスをN個の第一構成バスに変換することを含み、
ここで、Nは2以上の正の整数である。
1つの実施例において、前記プロトコルブリッジは、Nステージプロトコルブリッジであり、外部接続モジュールがN個である場合、前記Nステージプロトコルブリッジは、1つのシングルステージプロトコルブリッジと1つの1−to−Nの変換ブリッジからなり、
プロトコルブリッジを使用して、データバスを第一構成バスに変換することは、
シングルステージプロトコルブリッジを使用して、1つのデータバスを1つの第一構成バスに変換してから、1−to−Nの変換ブリッジを使用して、1つの第一構成バスをN個の第一構成バスに同期に分けることを含む。
プロトコルブリッジを使用して、データバスを第一構成バスに変換することは、
シングルステージプロトコルブリッジを使用して、1つのデータバスを1つの第一構成バスに変換してから、1−to−Nの変換ブリッジを使用して、1つの第一構成バスをN個の第一構成バスに同期に分けることを含む。
1つの実施例において、前記プロトコルブリッジは、同期ブリッジである。
1つの実施例において、前記データバスはAXIバスであり、前記第一構成バスと第二構成バスのいずれもAHBバス又はAPBバスである。
本発明の実施例はまたシステムオンチップを提供し、前記システムオンチップはコアモジュールと外部接続モジュールを含み、前記コアモジュールは、分周器、相互接続行列、バス変換ブリッジを含み、前記相互接続行列は、前記バス変換ブリッジを介して、前記外部接続モジュールに接続し、前記バス変換ブリッジはプロトコルブリッジと周波数低下ブリッジからなり、
ここで、前記プロトコルブリッジは、データバスを第一構成バスに変換するように構成され、前記第一構成バスの周波数は、前記プロトコルブリッジの周波数であり、
前記周波数低下ブリッジは、第一構成バスを第二構成バスに変換するように構成され、前記第二構成バスの周波数は、前記外部接続モジュールの構成バスの周波数である。
ここで、前記プロトコルブリッジは、データバスを第一構成バスに変換するように構成され、前記第一構成バスの周波数は、前記プロトコルブリッジの周波数であり、
前記周波数低下ブリッジは、第一構成バスを第二構成バスに変換するように構成され、前記第二構成バスの周波数は、前記外部接続モジュールの構成バスの周波数である。
1つの実施例において、前記プロトコルブリッジは、シングルステージプロトコルブリッジであり、外部接続モジュールがN個である場合、前記プロトコルブリッジは、同一周波数であるN個のシングルステージプロトコルブリッジを含み、
前記同一周波数であるN個のシングルステージプロトコルブリッジは、N個のデータバスをN個の第一構成バスにそれぞれ変換するように構成される。
前記同一周波数であるN個のシングルステージプロトコルブリッジは、N個のデータバスをN個の第一構成バスにそれぞれ変換するように構成される。
1つの実施例において、前記プロトコルブリッジは、Nステージプロトコルブリッジであり、外部接続モジュールがN個である場合、前記Nステージプロトコルブリッジは、1つのシングルステージプロトコルブリッジと1つの1−to−Nの変換ブリッジからなり、
ここで、前記シングルステージプロトコルブリッジは、1つのデータバスを1つの第一構成バスに変換するように構成され、
前記1−to−Nの変換ブリッジは、1つの第一構成バスをN個の第一構成バスに同期に分けるように構成される。
ここで、前記シングルステージプロトコルブリッジは、1つのデータバスを1つの第一構成バスに変換するように構成され、
前記1−to−Nの変換ブリッジは、1つの第一構成バスをN個の第一構成バスに同期に分けるように構成される。
本発明の実施例はまたコンピュータ記憶媒体を提供し、前記コンピュータ記憶媒体にはコンピュータ実行可能な命令が記憶され、前記コンピュータ実行可能な命令は、本発明の実施例に係るクロックツリーの実現方法を実行するように構成される。
本発明の実施例が提供したクロックツリーの実現方法、システムオンチップ及びコンピュータ記憶媒体によれば、プロトコルブリッジを使用して、データバスを第一構成バスに変換し、前記第一構成バスの周波数は前記プロトコルブリッジの周波数であり、周波数低下ブリッジを使用して、第一構成バスを第二構成バスに変換し、前記第二構成バスの周波数は、前記外部接続モジュールの構成バスの周波数である。このように、データバスの全体の同期を維持するとともに、構成バスのグローバル非同期(global asynchronous)とローカル同期(locally synchronous)を実現し、システムオンチップ設計のPPTAを最適化することができ、システムオンチップの設計の柔軟性と競争力を向上させる。
本発明の実施例において、システムオンチップは、コアモジュールと外部接続モジュールを含み、前記コアモジュールの相互接続行列は、バス変換ブリッジを介して外部接続モジュールに連続し、前記バス変換ブリッジはプロトコルブリッジと周波数低下ブリッジ(Frequency dropping bridge)からなり、バス変換ブリッジがバス周波数の変換を行う場合、まず、プロトコルブリッジを使用して、データバスを第一構成バスに変換し、次に、周波数低下ブリッジを使用して、第一構成バスを第二構成バスに変換し、前記第一構成バスの周波数は、前記プロトコルブリッジの周波数であり、前記第二構成バスの周波数は、前記外部接続モジュールの構成バスの周波数である。
ここで、前記プロトコルブリッジは、同期ブリッジである。
なお、システムオンチップに高度なマイクロコントローラバスアーキテクチャ(AMBA:Advanced Microcontroller Bus Architecture)3.0が採用されても良く、即ち、前記データバスが高度な拡張可能インターフェイス(AXI:Advanced eXtensible Interface)バスであり、第一構成バスと第二構成バスのいずれも高度な高性能バス(AHB:Advanced High performance Bus)又は高度なペリフェラルバス(APB:Advanced Peripheral Bus)である。
以下、図面と実施例を参照して、本発明を詳しく説明する。
図6は本発明の実施例におけるクロックツリーの実現方法のフローチャートであり、コアモジュールと外部接続モジュールを含むシステムオンチップに応用され、前記コアモジュールの相互接続行列は、プロトコルブリッジと周波数低下ブリッジを含むバス変換ブリッジを介して、前記外部接続モジュールに接続し、図6に示すように、本発明の実施例におけるクロックツリーの実現方法は、以下のステップを含む。
ステップS100において、プロトコルブリッジを使用して、データバスを第一構成バスに変換し、前記第一構成バスの周波数は前記プロトコルブリッジの周波数である。
ここで、前記プロトコルブリッジは、シングルステージ(single−stage)プロトコルブリッジであっても良いし、Nステージ(N−stage)プロトコルブリッジであっても良く、ここで、Nは2以上の正の整数である。
前記プロトコルブリッジがシングルステージプロトコルブリッジであり、且つ外部接続モジュールがN個である場合、前記プロトコルブリッジは、同一周波数であるN個のシングルステージプロトコルブリッジを含み、図8に示すように、Nが2であり、前記プロトコルブリッジは、同一周波数である2つのシングルステージプロトコルブリッジを含む。前記プロトコルブリッジを使用してデータバスを第一構成バスに変換することは、同一周波数であるN個のシングルステージプロトコルブリッジを使用してN個のデータバスをN個の第一構成バスにそれぞれ変換することを含む。
前記プロトコルブリッジがNステージプロトコルブリッジであり、外部接続モジュールがN個である場合、前記Nステージプロトコルブリッジは、1つのシングルステージプロトコルブリッジと1つの1−to−N変換ブリッジからなり、図9に示すように、Nが2であり、前記Nステージプロトコルブリッジは、1つのシングルステージプロトコルブリッジと1つの1−to−2の変換ブリッジを含む。前記プロトコルブリッジを使用してデータバスを第一構成バスに変換することは、シングルステージプロトコルブリッジを使用して1つのデータバスを1つの第一構成バスに変換してから、1−to−Nの変換ブリッジを使用して1つの第一構成バスをN個の第一構成バスに同期に分けることを含む。
ステップS101において、周波数低下ブリッジを使用して第一構成バスを第二構成バスに変換し、前記第二構成バスの周波数は、前記外部接続モジュールの構成バスの周波数である。
本発明の実施例はまたコンピュータ記憶媒体を提供し、前記コンピュータ記憶媒体にはコンピュータ実行可能な命令が含まれ、前記コンピュータ実行可能な命令は、本発明の実施例におけるクロックツリーの実現方法を実行するように構成される。
図7は本発明の実施例におけるシステムオンチップの構成図であり、図7に示すように、本発明の実施例システムオンチップは、コアモジュール10と外部接続モジュール20を含み、前記コアモジュール10は、分周器13、相互接続行列12、バス変換ブリッジ11を含み、前記相互接続行列12は、前記バス変換ブリッジ11を介して各外部接続モジュール20に接続し、前記バス変換ブリッジ11は、プロトコルブリッジ111と1つ以上の周波数低下ブリッジ112からなる。
前記プロトコルブリッジ111は、データバスを第一構成バスに変換するように構成され、前記第一構成バスの周波数は前記プロトコルブリッジの周波数である。
実際の応用において、前記プロトコルブリッジ111は、1つ以上のシングルステージプロトコルブリッジからなっても良く、シングルステージプロトコルブリッジと周波数低下ブリッジ112とは、1対1で対応し、前記プロトコルブリッジは、1つのシングルステージプロトコルブリッジと1つの1−to−N変換ブリッジからなっても良く、変換ブリッジの出力ポートと周波数低下ブリッジ112とは、1対1で対応する。
前記周波数低下ブリッジ112は、第一構成バスを第二構成バスに変換するように構成され、前記第二構成バスの周波数は前記外部接続モジュールの構成バスの周波数である。
ここで、前記プロトコルブリッジ111がシングルステージプロトコルブリッジであり、外部接続モジュールがN個である場合、前記プロトコルブリッジ111は、同一周波数であるN個のシングルステージプロトコルブリッジを含み、前記同一周波数であるN個のシングルステージプロトコルブリッジは、N個のデータバスをN個の第一構成バスにそれぞれ変換し、ここで、Nは2以上の正の整数である。
例えば、図8に示す本発明の実施例に係るシステムオンチップアーキテクチャにおいて、前記プロトコルブリッジ111がシングルステージプロトコルブリッジであり、外部接続モジュールが2個である。前記データバスがAXIバスであり、前記第一構成バスと第二構成バスのいずれもAPBバスである。図8に示すように、相互接続行列において、同じ周波数である2つのシングルステージプロトコルブリッジを使用して、2つのAXIバスを2つの第一APBバスにそれぞれ変換し、2つの第一APBバスの周波数がいずれもプロトコルブリッジの周波数である。次に、周波数低下ブリッジを使用して、第一APBバスを第二APBバスに変換し、前記第二APBバスの周波数が前記外部接続モジュールの構成バスの周波数である。このように、システムオンチップの点から、データバスのグローバル同期を維持するとともに、構成バスの全体非同期とローカル同期を実現することができ、システムオンチップ設計においてPPTAの最適化を実現する。
ここで、前記プロトコルブリッジ111がNステージプロトコルブリッジであり、外部接続モジュールがN個である場合、前記Nステージプロトコルブリッジは、1つのシングルステージプロトコルブリッジと1つの1−to−N変換ブリッジからなる。
前記シングルステージプロトコルブリッジは、1つのデータバスを1つの第一構成バスに変換するように構成される。
前記1−to−N変換ブリッジは、1つの第一構成バスをN個の第一構成バスに同期に分けるように構成され、ここで、Nは2以上の正の整数である。
例えば、図9に示す本発明の実施例に係るシステムオンチップアーキテクチャにおいて、前記プロトコルブリッジ111が2ステージプロトコルブリッジであり、外部接続モジュールが2つであり、前記データバスがAXIバスであり、前記第一構成バスと第二構成バスのいずれもAPBバスである。図9に示すように、前記プロトコルブリッジ111は、1つのシングルステージプロトコルブリッジと1つの1−to−2の変換ブリッジからなる。相互接続行列において、1つのシングルステージプロトコルブリッジを使用して、1つのAXIバスを1つの第一APBバスに変換してから、1つの1−to−2変換ブリッジを使用して、1つの第一APBバスを2つの第一APBバスに同期に分け、2つの第一APBバスの周波数が共にプロトコルブリッジの周波数である。さらに、周波数低下ブリッジを使用して、第一APBバスを第二APBバスに変換し、前記第二APBバスの周波数は前記外部接続モジュールの構成バスの周波数である。このように、システムオンチップの点から、データバスのグローバル同期を維持するとともに、構成バスの全体非同期とローカル同期を実現することができ、システムオンチップ設計においてPPTAの最適化を実現する。
なお、物理的実現を容易にするために、レジスタ伝送レベル(RTL:Register Transfer Level)のコーディングする場合、コアモジュールの分周器(即ち、クロック生成ユニット)において、識別するために、各構成バスのクロックに特定に命名されたバッファをつけ、例えば、図8と図9に示すバッファTapb、Tapb1及びTapb2である。そして、周波数低下ブリッジにおいて、各構成バス(APBバス)のAPBクロックドメイン側のレジスタ情報を示す必要がある。
以下、図8又は図9に示すシステムオンチップアーキテクチャの物理的な実現プロセスを説明する。
図10は本発明の実施例に係る図8又は図9に示すシステムオンチップアーキテクチャの主なタイミング経路図であり、図10に示すように、システムオンチップ全体のデータバス(AXIバス)は依然としてグローバル同期(global synchronization)であるため、グローバル同期の必要があるレジスタ(FF)が多く、且つ位置が全チップ範囲に分散され、この場合、AXIクロックの遅延Laxiが大きく、コアモジュールにおいて、各周波数低下ブリッジは、外部接続モジュールの構成バス(例えば、APBバス)との同期関係を維持して、複数のローカル同期(Local synchronization)のAPBバスを形成する。
具体的には、構成バス(例えば、APBバス)において、各バッファTapbNに1つの独立的なAPB同期バスをそれぞれ形成する。あるローカル同期バスapbNについて、ローカル同期の必要があるレジスタの数が少なく、且つ位置が局所的に集中され、AXIバスに対して、ローカル同期バスapbNの遅延LapbNが小さく、即ち、Laxi>Lapb1であり、ここで、Nは1から使用したapbクロックドメインの数までである。
以下、ローカル同期クロックドメインapb1を例として、コアモジュールのタイミング経路においてどのようにタイミングを調節するのかについて説明する。
まず、コアモジュールのバス書き操作(bus write operation)を検討し、プロトコルの変換とクロックの周波数低減を含む。図10に示すタイミング経路p1について、前記タイミング経路p1は、AXIからAPBへの1つのクロスクロック経路である。タイミング経路p1について、マルチサイクル経路を使用して関連するタイミング制約を緩和することができるが、バスプロトコルにおいてこの部分は論理的に簡単であり、物理の位置がバックエンド実装時に比較的集中されてそのタイミングを満足しやすく、そのため依然として単一サイクル(AXIクロック周期)経路に従って制約する。
具体的には、タイミング経路p1のタイミング制約条件は以下の通りである。
時間を確立(setup)するタイミングについて、Laxi+Dck−q+Dp1+Dsetup<Paxi+Lapb1が要求される。時間を保持(hold)するタイミングについて、Laxi+Dck−q+Dp1>Lapb1+Dholdが要求される。ここで、Laxiは、AXIクロック遅延(latency of AXI clock)を示し、Lapb1は、APB1クロック遅延(latency of APB1 clock)を示し、Dck−qは、レジスタクロック側から出力側への遅延(delay of pin CK to pin Q of Flip Flop)を示し、Dp1は、経路1の組合せ論理遅延(delay of combination of Path1)を示し、Dsetupは、レジスタ確立時間(setup time of Flip Flop)を示し、Dholdは、レジスタ確立時間(hold time of Flip Flop)を示し、Paxiは、AXIクロック周期(period of AXI clock)を示す。そのため、タイミング違例が発生した場合、図10に示すポイント1の位置において、apb1クロック側に対応するクロックを遅くし、具体的には、ポイント1のレジスタクロック側の遅延を増大させ、即ちバッファT1を増加させることでタイミング調節を行う。1レベルを調整してもタイミングを満たさない場合、図11に示す主なタイミング経路を使用して、書き操作のすべてのタイミング経路が要求を満たすまで、さらに、ポイント3においてこのような調整を行う。
次に、図10に示すローカルクロックドメイン(local clock domain)apb1のタイミング経路p2とp3を検討する。前記タイミング経路p2とp3経路が同一クロックドメインに位置し、且つローカルクロックドメインapb1のクロック周波数がAXIクロック周波数より低いため、即ち、AXIクロック周波数の2分周以下であるため、クロックツリーが均衡である場合、前記タイミング経路p2とp3のタイミングを収束しやすい。
最後に、コアモジュール内のバス読み操作を検討し、図10に示すタイミング経路p4である。タイミング経路p4のタイミング制約条件が以下の通りである。
時間を確立(setup)するタイミングについて、Lapb1+Dck−q+Dp4+Dsetup<Paxi+Laxiが要求される。時間を保持(hold)するタイミングについて、Lapb1+Dck−q+Dp4>Laxi+Dholdが要求される。そのため、タイミング違例が発生する場合、ポイント2の位置において動的調整を行っても良く、具体的には、ポイント2のレジスタクロック側の遅延を減少させ、即ちapb1クロック側のクロックを適当に短縮させ、即ちバッファT2を減少させ、1レベルを調整してもタイミングを満たさない場合、図11に示す主なタイミング経路を使用して、書き操作のすべてのタイミング経路が要求を満たすまで、さらに、ポイント4とポイント5においてこのような調整を行う。
以上のように、本発明の実施例のクロックツリーの実現方法と装置を採用すると、従来の方法と比べて、同期論理設計を保持するとともに、各構成バスがクロックツリーの総合を独立に行うことができる。また、各構成バスがクロックツリーの総合を独立に行うため、比較的少ないレジスタの数および物理的な配置領域の局在化によって、クロックツリー遅延を有効に減少することができ、電力消費と面積を減少させ、混雑を低減させ、構成バスの全体非同期という効果を実現し、バスクロックツリーの面積と電力消費を有効に節約し、バックエンド物理実施の制御性を向上するとともに、設計周期を短縮させることできる。
当業者であれば、本発明の実施例は、方法、システム又はコンピュータプログラム製品を提供することができると理解すべきである。このため、本発明は、ハードウェアの実施例、ソフトウェアの実施例又はソフトウェアとハードウェア結合された実施例形態を採用することができる。さらに、本発明は、コンピュータ用プログラムコードが含まれる1つ以上のコンピュータ用記憶媒体(磁気記憶デバイス、光データ記憶デバイスを含むが、これらに限定されない)で実施されるコンピュータプログラム製品形態を採用することができる。
本発明は、本発明の実施例における方法、デバイス(システム)及びコンピュータプログラム製品のフローチャート及び/又はブロック図により記述されるものである。コンピュータプログラム命令により、フローチャート及び/又はブロック図のうちの各プロセス及び/又はブロック、フローチャート及び/又はブロック図におけるプロセス及び/又はブロックの結合を実現することができると理解すべきである。これらのコンピュータプログラム命令を汎用コンピュータ、専用コンピュータ、埋込まれた処理機又は他のプログラマブルデータ処理デバイスのプロセッサに提供して1つの機器を生成して、コンピュータ又は他のプログラマブルデータ処理デバイスのプロセッサで命令を実行して、フローチャートにおける1つ以上のプロセス及び/又はブロック図における1つ以上のブロックで指定される機能装置を生成する。
これらのコンピュータプログラム命令は、コンピュータ又は他のプログラマブルデータ処理デバイスを特定形態で動作させるコンピュータ読取可能メモリに記憶されて、当該コンピュータ読取可能メモリに記憶された命令は、命令装置を含む製品を生成する。当該命令装置は、フローチャートにおける1つ以上のプロセス及び/又はブロック図における1つ以上のブロックで指定される機能を実現する。
これらのコンピュータプログラム命令は、コンピュータ又は他のプログラマブルデータ処理デバイスにロードされて、コンピュータ又は他のプログラマブルデバイスは、一連の操作ステップを実行してコンピュータでの処理を実現し、コンピュータは他のプログラマブルデバイスにより実行される命令は、フローチャートにおける1つ以上のプロセス及び/又はブロック図における1つ以上のブロックで指定される機能のステップを実現する。
以上は、本発明の最適的な実施例に過ぎなく、本発明を制限せず、本分野の当業者に対して、本発明が各種類の変更と変化がある。本発明の主旨精神と原則以内に、いかなる改修、同等入れ替わり、改良等が、本発明の保護範囲以内に含まれるべきである。
本発明の実施例は、プロトコルブリッジを使用して、データバスを第一構成バスに変換し、前記第一構成バスの周波数は前記プロトコルブリッジの周波数であり、周波数低下ブリッジを使用して、第一構成バスを第二構成バスに変換し、前記第二構成バスの周波数は、前記外部接続モジュールの構成バスの周波数である。このように、データバスのグローバル同期を維持するとともに、構成バスのグローバル非同期とローカル同期を実現し、システムオンチップ設計のPPTAを最適化することができ、システムオンチップの設計の柔軟性と競争力を向上させる。
Claims (11)
- クロックツリーの実現方法であって、コアモジュールと外部接続モジュールを含むシステムオンチップに応用され、前記コアモジュールにおける相互接続行列は、プロトコルブリッジと周波数低下ブリッジを含むバス変換ブリッジを介して、前記外部接続モジュールに接続し、
前記方法は、
プロトコルブリッジを使用して、データバスを第一構成バスに変換することと、
周波数低下ブリッジを使用して、第一構成バスを第二構成バスに変換することとを含み、
前記第一構成バスの周波数は、前記プロトコルブリッジの周波数であり、前記第二構成バスの周波数は、前記外部接続モジュールの構成バスの周波数である、方法。 - 前記プロトコルブリッジは、シングルステージプロトコルブリッジであり、外部接続モジュールがN個である場合、前記プロトコルブリッジは、同一周波数であるN個のシングルステージプロトコルブリッジを含み、
前記プロトコルブリッジを使用してデータバスを第一構成バスに変換することは、
同一周波数であるN個のシングルステージプロトコルブリッジを使用して、N個のデータバスをN個の第一構成バスにそれぞれ変換することを含み、
ここで、Nは2以上の正の整数である
請求項1に記載の方法。 - 前記プロトコルブリッジは、Nステージプロトコルブリッジであり、外部接続モジュールがN個である場合、前記Nステージプロトコルブリッジは、1つのシングルステージプロトコルブリッジと1つの1−to−Nの変換ブリッジからなり、
前記プロトコルブリッジを使用して、データバスを第一構成バスに変換することは、
シングルステージプロトコルブリッジを使用して、1つのデータバスを1つの第一構成バスに変換してから、1−to−Nの変換ブリッジを使用して、1つの第一構成バスをN個の第一構成バスに同期に分けることを含み、
ここで、Nは2以上の正の整数である
請求項1に記載の方法。 - 前記プロトコルブリッジは、同期ブリッジである
請求項1〜3のいずれか1項に記載の方法。 - 前記データバスは、高度な拡張可能インターフェイス(AXI:Advanced eXtensible Interface)バスであり、
前記第一構成バスと第二構成バスのいずれも高度な高性能バス(AHB:Advanced High−performance Bus)又は高度なペリフェラルバス(APB:Advanced Peripheral Bus)である
請求項1〜3のいずれか1項に記載の方法。 - システムオンチップであって、前記システムオンチップはコアモジュールと外部接続モジュールを含み、前記コアモジュールは分周器、相互接続行列、バス変換ブリッジを含み、前記相互接続行列は、前記バス変換ブリッジを介して、前記外部接続モジュールに接続し、前記バス変換ブリッジは、プロトコルブリッジと周波数低下ブリッジからなり、
前記プロトコルブリッジは、データバスを第一構成バスに変換するように構成され、前記第一構成バスの周波数は、前記プロトコルブリッジの周波数であり、
前記周波数低下ブリッジは、第一構成バスを第二構成バスに変換するように構成され、前記第二構成バスの周波数は、前記外部接続モジュールの構成バスの周波数である、システムオンチップ。 - 前記プロトコルブリッジは、シングルステージプロトコルブリッジであり、外部接続モジュールがN個である場合、前記プロトコルブリッジは、同一周波数であるN個のシングルステージプロトコルブリッジを含み、
前記同一周波数であるN個のシングルステージプロトコルブリッジは、N個のデータバスをN個の第一構成バスにそれぞれ変換するように構成され、
ここで、Nは2以上の正の整数である
請求項6に記載のシステムオンチップ。 - 前記プロトコルブリッジは、Nステージプロトコルブリッジであり、外部接続モジュールがN個である場合、前記Nステージプロトコルブリッジは、1つのシングルステージプロトコルブリッジと1つの1−to−Nの変換ブリッジからなり、
前記シングルステージプロトコルブリッジは、1つのデータバスを1つの第一構成バスに変換するように構成され、
前記1−to−Nの変換ブリッジは、1つの第一構成バスをN個の第一構成バスに同期に分けるように構成され、
ここで、Nは2以上の正の整数である
請求項6に記載のシステムオンチップ。 - 前記プロトコルブリッジは、同期ブリッジである
請求項6〜8のいずれか1項に記載のシステムオンチップ。 - 前記データバスはAXIバスであり、
前記第一構成バスと第二構成バスのいずれもAHB又はAPBである
請求項6〜8のいずれか1項に記載のシステムオンチップ。 - コンピュータ記憶媒体であって、
請求項1〜5のいずれか1項に記載のクロックツリーの実現方法を実行するためのコンピュータ実行可能な命令が記憶されている、コンピュータ記憶媒体。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410353167.6 | 2014-07-23 | ||
CN201410353167 | 2014-07-23 | ||
PCT/CN2014/095001 WO2015117524A1 (zh) | 2014-07-23 | 2014-12-25 | 一种时钟树实现方法、系统芯片及计算机存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2017523518A true JP2017523518A (ja) | 2017-08-17 |
Family
ID=53777325
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017503136A Pending JP2017523518A (ja) | 2014-07-23 | 2014-12-25 | クロックツリーの実現方法、システムオンチップ及びコンピュータ記憶媒体 |
Country Status (5)
Country | Link |
---|---|
US (1) | US20170212861A1 (ja) |
EP (1) | EP3173895B1 (ja) |
JP (1) | JP2017523518A (ja) |
KR (1) | KR20170030620A (ja) |
WO (1) | WO2015117524A1 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108153699A (zh) * | 2017-12-21 | 2018-06-12 | 郑州云海信息技术有限公司 | 一种ahb转axi协议转换控制器设计方法 |
US10860761B1 (en) * | 2018-06-11 | 2020-12-08 | Ansys, Inc. | Systems and methods for enhanced clock tree power estimation at register transfer level |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10161973A (ja) * | 1996-11-29 | 1998-06-19 | Hitachi Ltd | バス制御装置およびバスユニット |
JP2001051748A (ja) * | 1999-08-12 | 2001-02-23 | Hitachi Ltd | 情報処理装置 |
JP2002318782A (ja) * | 2001-04-20 | 2002-10-31 | Nec Corp | バスシステム |
JP2005078146A (ja) * | 2003-08-28 | 2005-03-24 | Matsushita Electric Ind Co Ltd | バスブリッジ回路 |
US20060080492A1 (en) * | 2004-06-02 | 2006-04-13 | Samsung Electronics Co., Ltd. | Method of and apparatus for interfacing buses operating at different speeds |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7430624B2 (en) * | 2005-10-04 | 2008-09-30 | International Business Machines Corporation | High speed on-chip serial link apparatus and method |
US7496779B2 (en) * | 2006-06-13 | 2009-02-24 | Via Technologies, Inc. | Dynamically synchronizing a processor clock with the leading edge of a bus clock |
CN101183347A (zh) * | 2006-11-14 | 2008-05-21 | 智多微电子(上海)有限公司 | 一种自适应速率匹配总线的桥接电路 |
CN102207920B (zh) * | 2010-03-30 | 2013-12-04 | 比亚迪股份有限公司 | 一种bvci总线到ahb总线的转换桥 |
-
2014
- 2014-12-25 WO PCT/CN2014/095001 patent/WO2015117524A1/zh active Application Filing
- 2014-12-25 KR KR1020177003932A patent/KR20170030620A/ko not_active Application Discontinuation
- 2014-12-25 JP JP2017503136A patent/JP2017523518A/ja active Pending
- 2014-12-25 US US15/328,219 patent/US20170212861A1/en not_active Abandoned
- 2014-12-25 EP EP14881692.9A patent/EP3173895B1/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10161973A (ja) * | 1996-11-29 | 1998-06-19 | Hitachi Ltd | バス制御装置およびバスユニット |
JP2001051748A (ja) * | 1999-08-12 | 2001-02-23 | Hitachi Ltd | 情報処理装置 |
JP2002318782A (ja) * | 2001-04-20 | 2002-10-31 | Nec Corp | バスシステム |
JP2005078146A (ja) * | 2003-08-28 | 2005-03-24 | Matsushita Electric Ind Co Ltd | バスブリッジ回路 |
US20060080492A1 (en) * | 2004-06-02 | 2006-04-13 | Samsung Electronics Co., Ltd. | Method of and apparatus for interfacing buses operating at different speeds |
Non-Patent Citations (2)
Title |
---|
NAM-JOON KIM, HYUK-JAE LEE: "Design of AMBA Wrappers for Multiple-Clock Operations", COMMUNICATIONS, CIRCUITS AND SYSTEMS, 2004. ICCCAS 2004. 2004 INTERNATIONAL CONFERENCE ON CHENGDU, C, JPN6018011750, 2004, US, pages 1438 - 1442 * |
五月女哲夫: "AMBA3.0に追加された高性能バス用のAXI仕様−チャネル方式を導入し従来のAMBAバスから大きく変更", TECH VILLAGE, JPN6018011748, 7 August 2007 (2007-08-07), pages ●○●Column●○● AHB仕様とA * |
Also Published As
Publication number | Publication date |
---|---|
WO2015117524A1 (zh) | 2015-08-13 |
KR20170030620A (ko) | 2017-03-17 |
EP3173895A1 (en) | 2017-05-31 |
US20170212861A1 (en) | 2017-07-27 |
EP3173895A4 (en) | 2017-08-30 |
EP3173895B1 (en) | 2018-11-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10027433B2 (en) | Multiple clock domains in NoC | |
CN107408032B (zh) | 互连中的伪随机比特序列 | |
Yakovlev et al. | Advances in asynchronous logic: From principles to GALS & NoC, recent industry applications, and commercial CAD tools | |
US9429981B2 (en) | CPU current ripple and OCV effect mitigation | |
US20130021072A1 (en) | Dynamic Frequency Control Using Coarse Clock Gating | |
PD et al. | A scalable network-on-chip microprocessor with 2.5 D integrated memory and accelerator | |
EP3283971B1 (en) | Control circuits for generating output enable signals, and related systems and methods | |
CN104915303A (zh) | 基于PXIe总线的高速数字I/O系统 | |
CN118227527A (zh) | Sdram控制器子系统的源同步分区 | |
CN104050140B (zh) | 用于混合通道停转或无锁总线架构的方法、设备、系统 | |
JP2017523518A (ja) | クロックツリーの実現方法、システムオンチップ及びコンピュータ記憶媒体 | |
Chen et al. | A 3-D CPU-FPGA-DRAM hybrid architecture for low-power computation | |
CN117811539A (zh) | Fpga时钟无毛刺切换电路 | |
CN104008076A (zh) | 一种支持dvfs的总线数据信号传输的方法及装置 | |
JP6256067B2 (ja) | 半導体装置 | |
US10481203B2 (en) | Granular dynamic test systems and methods | |
TWI794949B (zh) | 用於組態及狀態暫存器之獨立時脈之單晶片系統及方法 | |
Kumar B et al. | A novel utilization-aware and power-delay-aware intelligent DMA controller for video streaming used in AI applications | |
KR20140070041A (ko) | 반도체 집적회로와 그 동작 방법 | |
Villiger | Multi-point interconnects for globally-asynchronous locally-synchronous systems | |
Kamal et al. | A Multi-Synchronous Bi-Directional NoC (MBiNoC) architecture with dynamic self-reconfigurable channel for the GALS infrastructure | |
Rahmani et al. | An efficient VFI-based NoC architecture using Johnson-encoded Reconfigurable FIFOs | |
US20130251007A1 (en) | Phase Alignment Between Phase-Skewed Clock Domains | |
Abdelhadi et al. | Two-phase asynchronous to synchronous interfaces for an open-source bundled-data flow | |
Herlev et al. | Open core protocol (OCP) clock domain crossing interfaces |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20170926 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20171226 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20180403 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20181030 |