JP5447511B2 - 通信回路および通信方法 - Google Patents

通信回路および通信方法 Download PDF

Info

Publication number
JP5447511B2
JP5447511B2 JP2011514300A JP2011514300A JP5447511B2 JP 5447511 B2 JP5447511 B2 JP 5447511B2 JP 2011514300 A JP2011514300 A JP 2011514300A JP 2011514300 A JP2011514300 A JP 2011514300A JP 5447511 B2 JP5447511 B2 JP 5447511B2
Authority
JP
Japan
Prior art keywords
communication
data
clock
output
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.)
Active
Application number
JP2011514300A
Other languages
English (en)
Other versions
JPWO2010134252A1 (ja
Inventor
充文 柴山
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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP2011514300A priority Critical patent/JP5447511B2/ja
Publication of JPWO2010134252A1 publication Critical patent/JPWO2010134252A1/ja
Application granted granted Critical
Publication of JP5447511B2 publication Critical patent/JP5447511B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/325Power saving in peripheral device
    • G06F1/3253Power saving in bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0038System on Chip
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Systems (AREA)

Description

本発明は、機能ブロックを複数有する半導体集積回路に関し、特に複数の機能ブロック間のデータ通信を実現する通信回路、および通信方法に関する。
半導体プロセスの微細化技術が進展するに従い、半導体集積回路に集積される機能ブロック(コアともいう)の数も増加している。また、各機能ブロックの動作周波数もさらに高速化する傾向にある。しかしながら、このような半導体集積回路では、クロック信号の高速化やばらつきの増大などにより、各機能ブロックの動作周波数と同等の周波数で機能ブロック間の通信を行うことが難しくなってきている。その結果、各機能ブロックのデータ処理性能に比べて、機能ブロック間の通信性能が低下してきている。
この問題に対して、機能ブロック間の通信回路(例えば、オンチップ・バス、オンチップ・インターコネクト、オンチップ・ネットワークなど)の動作周波数を高速化する技術として、パイプライン技術がある(特許文献1参照)。
図12は、パイプライン技術による機能ブロック間通信回路の構成を示す図である。図12において、通信回路100は、機能ブロックAが出力したデータを機能ブロックBに転送する通信回路である。より詳細には、通信回路100は、機能ブロックAが信号113に出力したデータを機能ブロックAの近傍で入力し、該データを機能ブロックBの近傍まで転送した後、信号114に出力する。機能ブロックBは、信号114に出力された該データを入力する。ここで、信号113および信号114は、複数ビットからなる同じデータ幅の信号である。
機能ブロックA、機能ブロックBおよび通信回路100はすべて、同じ高速なクロック信号であるクロックFで動作する。通信回路100は、機能ブロックAや機能ブロックBと同じ動作周波数を実現するために、4段のパイプライン回路で構成されている。すなわち、通信回路100において、データ転送を媒介する信号は、パイプライン・レジスタ110a、110b、110c、110d、110eにより、4つの部分信号112a、112b、112c、112dに分割されている。ここで、各部分信号112a、112b、112c、112dは、信号113および信号114と同じデータ幅の複数ビットからなる信号である。
また、各部分信号112a、112b、112c、112dにはそれぞれ、各部分信号を駆動するための複数のバッファ回路111a、111b、111c、111dが挿入されている。図12には図示していないが、バッファ回路に加えて、通信経路を切り替えるためのセレクタ回路やスイッチ回路等を適宜含んでもよい。
次に、図13を用いて通信回路100の動作例を説明する。図13は、機能ブロックAから機能ブロックBへのデータ転送のタイミングを示す説明図である。
図13において、通信回路100は、機能ブロックAがタイミングT0において信号113に出力したデータD0を、タイミングT1で入力する。具体的には、タイミングT1において、パイプライン・レジスタ110aが該データD0をラッチし、部分信号112aに出力する。同様に、タイミングT2において、パイプライン・レジスタ110bが該データD0をラッチし、部分信号112bに出力する。以降同様にして、該データD0は、タイミングT3からT5にかけて、パイプライン・レジスタ110c、110d、110eを介して、信号112c、112d、114に順次出力される。その結果、タイミングT5で、データD0は機能ブロックBに到着する。
同様に、通信回路100は、機能ブロックAがタイミングT1において信号113に出力したデータD1を、タイミングT2で入力する。具体的には、タイミングT2において、パイプライン・レジスタ110aは該データD1をラッチし、部分信号112aに出力する。同様に、タイミングT3において、パイプライン・レジスタ110bは該データD1をラッチし、部分信号112bに出力する。以降同様にして、該データD1は、タイミングT4からT6にかけて、パイプライン・レジスタ110c、110d、110eを介して、信号112c、112d、114に順次出力される。その結果、タイミングT6で、データD1は機能ブロックBに到着する。
以降も同様に、機能ブロックAがタイミングT2〜T7で出力したデータD2〜D7は、タイミングT7〜T12において機能ブロックBに到着する。図13の例では、機能ブロックAが出力したデータが機能ブロックBに到着するのに、クロックFの5サイクル分の時間がかかる(例えば、データD0は機能ブロックAがタイミングT0で出力し、タイミングT5で機能ブロックBに到着する)。すなわち、機能ブロックAから機能ブロックBへのデータ転送のレイテンシは、クロックFの5サイクルである。
一方、通信回路100は4段のパイプライン回路で構成されており、データ転送がパイプライン動作により実現されている。そのため、レイテンシが5サイクルであるにもかかわらず、クロックFの毎サイクルにおいてデータ転送を行うことができる。すなわち、機能ブロックAから機能ブロックBへのデータ転送のスループットは、1(クロックFの1サイクルあたり1データを転送することを示す)である。
また、通信回路の通信性能を向上する別の手段として、通信回路のデータ幅を拡張する方法がある(特許文献2参照)。例えば、通信回路のデータ幅を機能ブロックのデータ幅のN倍(Nは正の整数)に拡張し、1/Nの周波数のクロックで動作させる方法である。このとき、1サイクルあたりN倍のデータを転送できるので、動作周波数が1/Nであってもスループットを低下させずに通信することができる。
図14は、データ幅を拡張する技術による機能ブロック間通信回路の構成を示す図である。図14において、通信回路150は、機能ブロックAが信号163に出力したデータを機能ブロックAの近傍で入力し、該データを機能ブロックBの近傍まで転送した後、信号164に出力する。機能ブロックBは、信号164に出力された該データを入力する。
通信回路150は、4本の信号162a、162b、162c、162dから構成されている。ここで、各信号162a、162b、162c、162dは、それぞれ信号163および信号164と同じデータ幅の複数ビットからなる信号である。従って、通信回路150全体では、信号163および信号164の4倍のデータ幅の信号を備える。各信号162a、162b、162c、162dには、各信号を駆動するための複数のバッファ回路161a、161b、161c、161dがそれぞれ挿入されている。
更に、通信回路150は、入力データ記憶回路160aおよび160b、入力制御回路166、出力データ記憶回路165、出力制御回路167、を備える。機能ブロックA、および機能ブロックBは高速なクロック信号であるクロックFで動作する。また、通信回路150の入力データ記憶回路160a、160bおよび出力制御回路167もクロックFで動作する。
一方、通信回路150の入力制御回路166および出力データ記憶回路165は、低速なクロック信号であるクロックSで動作する。ここで、クロックSの周波数は、クロックFの周波数の1/4であるとする。
次に、図15を用いて通信回路150の動作例を説明する。図15は、機能ブロックAから機能ブロックBへのデータ転送のタイミングを示す説明図である。図15において、通信回路150は、機能ブロックAがタイミングT0において信号163に出力したデータD0を、タイミングT1で入力する。具体的には、タイミングT1において、入力データ記憶回路160aに該データD0を格納する。同様に、通信回路150は、機能ブロックAがタイミングT1において信号163に出力したデータD1を、タイミングT2で入力データ記憶回路160aに追加して格納する。同様に、通信回路150は、機能ブロックAがタイミングT2において信号163に出力したデータD2を、タイミングT3で入力データ記憶回路160aに追加して格納する。同様に、通信回路150は、機能ブロックAがタイミングT3において信号163に出力したデータD3を、タイミングT4で入力データ記憶回路160aに追加して格納する。その結果、入力データ記憶回路160aには、タイミングT4において、データD0、D1、D2、D3が格納される。
入力制御回路166は、入力データ記憶回路160aに4つのデータD0、D1、D2、D3がすべて格納された後、次のクロックSの立ち上がりのタイミングであるタイミングT6において、格納されているデータD0、D1、D2、D3を、それぞれ信号162a、162b、162c、162dに出力する。
出力データ記憶回路165は、その次のクロックSの立ち上がりのタイミングであるタイミングT10において、入力制御回路166がタイミングT6で出力したデータD0、D1、D2、D3を格納する。
出力制御回路167は、出力データ記憶回路に格納されたデータD0、D1、D2、D3のうち、データD0をタイミングT10において、信号164に出力する。その結果、タイミングT10で、データD0は機能ブロックBに到着する。同様に、出力制御回路167は、データD1をタイミングT11で、データD2をタイミングT12で、データD3をタイミングT13で、信号164にそれぞれ出力する。その結果、データD1、D2、D3はそれぞれ、タイミングT11、T12、T13において、機能ブロックBに到着する。
以上、データD0、D1、D2、D3の通信動作について説明したが、データD4、D5、D6、D7についても同様である。
図15において、通信回路150は、機能ブロックAがタイミングT4において信号163に出力したデータD4を、タイミングT5で入力する。具体的には、タイミングT5において、入力データ記憶回路160bに該データD4を格納する。同様に、通信回路150は、機能ブロックAがタイミングT5において信号163に出力したデータD5を、タイミングT6で入力データ記憶回路160bに追加して格納する。同様に、通信回路150は、機能ブロックAがタイミングT6において信号163に出力したデータD6を、タイミングT7で入力データ記憶回路160bに追加して格納する。同様に、通信回路150は、機能ブロックAがタイミングT7において信号163に出力したデータD7を、タイミングT8で入力データ記憶回路160bに追加して格納する。
その結果、入力データ記憶回路160bには、タイミングT8において、データD4、D5、D6、D7が格納されている。
入力制御回路166は、入力データ記憶回路160bに4つのデータD4、D5、D6、D7がすべて格納された後、次のクロックSの立ち上がりのタイミングであるタイミングT10において、格納されているデータD4、D5、D6、D7を、それぞれ信号162a、162b、162c、162dに出力する。
出力データ記憶回路165は、その次のクロックSの立ち上がりのタイミングであるタイミングT14において、入力制御回路166がタイミングT10で出力したデータD4、D5、D6、D7を格納する。
出力制御回路167は、出力データ記憶回路に格納されたデータD4、D5、D6、D7のうち、データD4をタイミングT14において、信号164に出力する。その結果、タイミングT14で、データD4は機能ブロックBに到着する。
同様に、出力制御回路167は、データD5をタイミングT15で、データD6をタイミングT16で、データD7をタイミングT17で、信号164にそれぞれ出力する。その結果、データD5、D6、D7はそれぞれ、タイミングT15、T16、T17において、機能ブロックBに到着する。
以上説明したように、通信回路150のデータ幅は、機能ブロックAが出力する信号163のデータ幅の4倍であるので、1サイクルあたり4倍のデータを転送できる。言い換えると、クロックSの毎サイクルにおいてデータを転送できるのであれば、クロックSの周波数がクロックFの周波数の1/4であっても、機能ブロックAから機能ブロックBへのデータ転送のスループットは1(クロックFの1サイクルあたり1データを転送することを示す)を達成することができる。
より一般化すると、図14に示す通信回路では、通信回路のデータ幅を機能ブロックのデータ幅のN倍(Nは正の整数)にしたので、図12に示す通信回路と比較してN倍の信号線を必要とする。一方、図14に示す通信回路では、パイプライン・レジスタが不要であり、また周波数も低いため、電力が小さいという利点がある。
特開2007−220046号公報 特開2005−242658号公報
しかしながら、図12に示すパイプライン技術による通信回路100において、動作周波数の高速化を達成するためには、パイプラインの段数を増加させる必要がある。その結果、多くのパイプライン・レジスタが必要となるため、回路面積や消費電力が大きくなるという問題がある。また、動作周波数が高いため、タイミング設計が難しいという問題がある。
一方、図14に示す通信回路150において、クロックSの毎サイクルでデータを転送可能とするためには、一度に通信するデータ単位であるN倍のデータを一度バッファリングする必要がある。このため、図14の通信回路150では、図15のP1で図示したように、N倍のデータがすべて揃うまで転送ができないため、レイテンシがN−1サイクル分だけ伸びてしまうという問題がある。
さらに、図15のP2で図示したように、高速な機能ブロックのクロック(クロックF)と低速な通信クロック(クロックS)とで位相(立ち上がり遷移のタイミング)が合わなければ、位相が合うまで(N−1〜1サイクル)レイテンシが伸びてしまうという問題がある。そのため、クロックSの毎サイクルにおいてデータを転送可能とするためには、入力データ記憶回路を2重化(ダブルバッファ化)する必要がある。図14に示す通信回路150では、入力データ記憶回路160aおよび160bとで2重化している。そのため、必要なハードウェア量が増えてしまうという問題がある
よって、本発明の目的は必要なハードウェア量や消費電力が小さく、タイミング設計が容易で、かつ、通信レイテンシが小さい、機能ブロック間の通信回路及び通信方法を提供することである。
本発明にかかる通信回路は、第1のクロック信号に基づいて処理を行う複数の機能ブロックと接続され、当該機能ブロック間の通信を媒介する通信回路であって、Nを正整数としたとき、前記機能ブロックが出力する通信データのデータ幅と同一のデータ幅の通信手段をN個備え、前記N個の通信手段のそれぞれは、前記第1のクロック信号の周波数の1/Nで規定され、かつ前記N個の通信手段のそれぞれに対応した互いに360/N°ずつ位相が異なるN本の第2のクロック信号に基づいて通信処理を行う。
また、本発明にかかる、第1の機能ブロックと第2の機能ブロックと接続され、前記第1の機能ブロックから前記第2の機能ブロックへ通信データを転送すると共に、Nを正整数としたとき、前記第1の機能ブロックが出力する前記通信データのデータ幅と同一のデータ幅を有する第1乃至第Nの通信手段を備える通信回路を用いた通信方法は次のステップを有する。前記第1の機能ブロックから第1のクロック信号に応じて出力された前記通信データを、前記第1のクロック信号の周波数の1/Nで規定され、かつ互いに360/N°ずつ位相が異なる第1乃至第Nの位相を有する第2のクロック信号に基づき前記第1乃至第Nの通信手段に入力する第1のステップ。前記第1乃至第Nの位相を有する第2のクロック信号に基づき、前記第1乃至第Nの通信手段に入力された通信データを前記第2の機能ブロックへ出力する第2のステップ。
本発明により、必要なハードウェア量や消費電力が小さく、タイミング設計が容易で、かつ、通信レイテンシが小さい、機能ブロック間の通信回路及び通信方法を提供することが可能となる。
実施の形態1にかかる機能ブロック間通信回路を示すブロック図である。 実施の形態1にかかる機能ブロック間通信回路の動作を示すタイミングチャートである。 実施の形態2にかかる機能ブロック間通信回路を示すブロック図である。 実施の形態2にかかる機能ブロック間通信回路の位相検出回路を示すブロック図である。 実施の形態2にかかる機能ブロック間通信回路の動作を示すタイミングチャートである。 実施の形態3にかかる機能ブロック間通信回路を示すブロック図である。 実施の形態3にかかる機能ブロック間通信回路のクロック信号生成回路を示すブロック図である。 実施の形態3にかかる機能ブロック間通信回路の動作を示すタイミングチャートである。 実施の形態4にかかる機能ブロック間通信回路を示すブロック図である。 実施の形態4にかかる機能ブロック間通信回路のクロック信号生成回路を示すブロック図である。 実施の形態4にかかる機能ブロック間通信回路の動作を示すタイミングチャートである。 背景技術にかかる機能ブロック間通信回路を示すブロック図である。 背景技術にかかる機能ブロック間通信回路の動作を示すタイミングチャートである。 背景技術にかかる機能ブロック間通信回路を示すブロック図である。 背景技術にかかる機能ブロック間通信回路の動作を示すタイミングチャートである。
実施の形態1
以下、図面を参照して本発明の実施の形態について説明する。
図1は、本発明の実施の形態1にかかる機能ブロック間通信回路の構成を示すブロック図である。図1において、通信回路10は、機能ブロックAが出力したデータを機能ブロックBに転送する通信回路である。より詳細には、通信回路10は、機能ブロックAが信号13に出力したデータを機能ブロックAの近傍で入力し、該データを機能ブロックBの近傍まで転送した後、信号14に出力する。機能ブロックBは、信号14に出力された該データを入力する。ここで、信号13および信号14は、複数ビットからなる同じデータ幅の信号である。
通信回路10は、4本の信号12a、12b、12c、12dから構成されている。ここで、各信号12a、12b、12c、12dは、それぞれ信号13および信号14と同じデータ幅の複数ビットからなる信号である。したがって、通信回路10全体では、信号13および信号14の4倍のデータ幅の信号を備える。
通信回路10はさらに、入力データ記憶回路(入力データ記憶手段)16a、16b、16c、16dを備え、信号12a、12b、12c、12dの入力側にそれぞれ接続されている。通信回路10はさらに、出力データ記憶回路(出力データ記憶手段)15a、15b、15c、15dを備え、信号12a、12b、12c、12dの出力側にそれぞれ接続されている。
すなわち、通信回路10は、信号12a、入力データ記憶回路16aおよび出力データ記憶回路15aから構成される通信手段と、信号12b、入力データ記憶回路16bおよび出力データ記憶回路15bから構成される通信手段と、信号12c、入力データ記憶回路16cおよび出力データ記憶回路15cから構成される通信手段と、信号12d、入力データ記憶回路16dおよび出力データ記憶回路15dから構成される通信手段との、4つの通信手段から構成される。それぞれの通信手段は、機能ブロックの入出力のデータ幅と同じデータ幅であるので、通信回路10全体では、機能ブロックの入出力のデータ幅の4倍のデータ幅を有する。
また、各信号12a、12b、12c、12dには、各信号を駆動するための複数のバッファ回路(データ転送手段)11a、11b、11c、11dがそれぞれ挿入されている。
通信回路10はさらに、出力制御回路(出力制御手段)17を備える。出力制御回路17は、クロックS0〜S3の位相関係の情報を示す位相信号20を参照して、出力データ記憶回路15a、15b、15c、15dの出力のうち、いずれかの出力を選択して信号14に出力する。
機能ブロックAおよび機能ブロックBは高速なクロック信号であるクロックFで動作する。通信回路10の出力制御回路17も同様にクロックFで動作する。一方、通信回路10の入力データ記憶回路および出力データ記憶回路は、4つの低速なクロック信号であるクロックS0、クロックS1、クロックS2、クロックS3で動作する。より詳細には、入力データ記憶回路16aおよび出力データ記憶回路15aは、クロックS0で動作する。入力データ記憶回路16bおよび出力データ記憶回路15bは、クロックS1で動作する。入力データ記憶回路16cおよび出力データ記憶回路15cは、クロックS2で動作する。入力データ記憶回路16dおよび出力データ記憶回路15dは、クロックS3で動作する。
ここで、クロックS0、クロックS1、クロックS2、クロックS3の周波数は、クロックFの周波数の1/4であるとする。また、クロックS0、クロックS1、クロックS2、クロックS3の位相は、それぞれ互いに360/4°ずつ異なっているとする。なお、クロックS0、クロックS1、クロックS2、クロックS3などの低速クロック信号は、一般的なクロック生成回路を用いて容易に生成することができる。例えば、PLL回路などの発信回路で直接生成してもよいし、クロックFを分周回路で分周して生成してもよい。
次に図2を用いて、本実施の形態にかかる通信回路10の動作例を説明する。図2は、機能ブロックAから機能ブロックBへのデータ転送のタイミングを示す説明図である。
図2において、クロックS0は、例えばタイミングT2、T6、T10で立ち上がりの遷移を行う。入力データ記憶回路16aはこれらのタイミングT2、T6、T10で、信号13に出力されたデータを格納する。さらに、出力データ記憶回路15aはこれらのタイミングT2、T6、T10で、信号12aに転送されたデータを格納する。
同様に、クロックS1は、例えばタイミングT3、T7、T11で立ち上がりの遷移を行う。入力データ記憶回路16bはこれらのタイミングT3、T7、T11で、信号13に出力されたデータを格納する。さらに、出力データ記憶回路15bはこれらのタイミングT3、T7、T11で、信号12bに転送されたデータを格納する。
同様に、クロックS2は、例えばタイミングT0、T4、T8、T12で立ち上がりの遷移を行う。入力データ記憶回路16cはこれらのタイミングT0、T4、T8、T12で、信号13に出力されたデータを格納する。さらに、出力データ記憶回路15cはこれらのタイミングT0、T4、T8、T12で、信号12cに転送されたデータを格納する。
同様に、クロックS3は、例えばタイミングT1、T5、T9、T13で立ち上がりの遷移を行う。入力データ記憶回路16dはこれらのタイミングT1、T5、T9、T13で、信号13に出力されたデータを格納する。さらに、出力データ記憶回路15dはこれらのタイミングT1、T5、T9、T13で、信号12dに転送されたデータを格納する。
よって、以上からも明らかのように、クロックFのすべての立ち上がり遷移のタイミングにおいて、クロックS0、クロックS1、クロックS2、クロックS3のいずれかが必ず立ち上がり遷移することになる。例えば、クロックFの立ち上がり遷移のタイミングであるタイミングT0〜14において、クロックS0、クロックS1、クロックS2、クロックS3のいずれかが必ず立ち上がり遷移している。
このように、クロックS0、クロックS1、クロックS2、クロックS3の周波数がクロックFの周波数の1/4であるのにもかかわらず、クロックFのすべての立ち上がり遷移のタイミングにおいて、クロックS0、クロックS1、クロックS2、クロックS3のいずれかが必ず立ち上がり遷移することができる。これは、クロックS0、クロックS1、クロックS2、クロックS3の4つのクロック信号が提供され、かつ、それぞれの位相が互いに360/4°ずつ異なっているからである。
より一般化すると、Nを任意の正の整数としたとき、周波数がクロックFの周波数の1/Nで、かつ、位相が互いに360/N°ずつ異なるN本の低速クロック信号を使用した場合、クロックFのすべての立ち上がり遷移のタイミングにおいて、前記N本の低速クロック信号のいずれかが必ず立ち上がり遷移することができる。
次に、再び図2を参照して、本実施の形態による通信回路10の通信動作の具体例を説明する。図2において、機能ブロックAがタイミングT0において信号13に出力したデータD0は、タイミングT1において通信回路10に到着する。タイミングT1で動作する入力データ記憶回路16dは、該データD0を格納する。同時に該データD0は、信号12dに転送されて、タイミングT5において出力データ記憶回路15dに到着する。出力データ記憶回路15dは、到着した該データD0をタイミングT5において格納する。次に、出力制御回路17は、位相信号20を参照することで、タイミングT5において、該データD0が出力データ記憶回路15dに格納されたと判断する。出力制御回路17は、そのタイミングT5において、出力データ記憶回路15dが格納した該データD0を選択して信号14に出力する。
同様に、機能ブロックAがタイミングT1において信号13に出力したデータD1は、タイミングT2において通信回路10に到着する。タイミングT2で動作する入力データ記憶回路16aは、該データD1を格納する。同時に該データD1は、信号12aに転送されて、タイミングT6において出力データ記憶回路15aに到着する。出力データ記憶回路15aは、到着した該データD1をタイミングT6において格納する。次に、出力制御回路17は、位相信号20を参照することで、タイミングT6において、該データD1が出力データ記憶回路15aに格納されたと判断する。出力制御回路17は、そのタイミングT6において、出力データ記憶回路15aが格納した該データD1を選択して信号14に出力する。
同様に、機能ブロックAがタイミングT2において信号13に出力したデータD2は、タイミングT3において通信回路10に到着する。タイミングT3で動作する入力データ記憶回路16bは、該データD2を格納する。同時に該データD2は、信号12bに転送されて、タイミングT7において出力データ記憶回路15bに到着する。出力データ記憶回路15bは、到着した該データD2をタイミングT7において格納する。次に、出力制御回路17は、位相信号20を参照することで、タイミングT7において、該データD2が出力データ記憶回路15bに格納されたと判断する。出力制御回路17は、そのタイミングT7において、出力データ記憶回路15bが格納した該データD2を選択して信号14に出力する。
同様に、機能ブロックAがタイミングT3において信号13に出力したデータD3は、タイミングT4において通信回路10に到着する。タイミングT4で動作する入力データ記憶回路16cは、該データD3を格納する。同時に該データD3は、信号12cに転送されて、タイミングT8において出力データ記憶回路15cに到着する。出力データ記憶回路15cは、到着した該データD3をタイミングT8において格納する。次に、出力制御回路17は、位相信号20を参照することで、タイミングT8において、該データD3が出力データ記憶回路15cに格納されたと判断する。出力制御回路17は、そのタイミングT8において、出力データ記憶回路15cが格納した該データD3を選択して信号14に出力する。
以上で説明したように、機能ブロックAがタイミングT0からT3にかけて出力したデータD0からD3は、タイミングT5からT8にかけて信号14に出力されて、機能ブロックBに到着することになる。したがって、機能ブロックAから機能ブロックBへのデータ転送のレイテンシは、クロックFの5サイクルである。また、機能ブロックAから機能ブロックBへのデータ転送のスループットは、1(クロックFの1サイクルあたり1データを転送することを示す)である。以降も同様に、機能ブロックAがタイミングT4からT7にかけて出力したデータD4からD7は、タイミングT9からT12にかけて信号14に出力されて、機能ブロックBに到着することになる。
以上、機能ブロックのクロック信号であるクロックFに対して周波数が1/4であり、かつ、それぞれ互いに360/4°ずつ位相が異なる4本の低速クロック信号、クロックS0、クロックS1、クロックS2、クロックS3を使用する場合を例として説明した。しかし、本実施の形態は、これに限らず、任意の正の整数Nについても同様に適用することができる。具体的には、機能ブロックのクロック信号であるクロックFに対して周波数が1/Nであり、かつ、それぞれ互いに360/N°ずつ位相が異なるN本の低速クロック信号を使用すればよい。
このように、本実施の形態では、機能ブロックが入出力するデータ幅ごとに、かつ、機能ブロックのクロック信号であるクロックFの毎サイクルごとに、クロックFの1/4の周波数で、順次データを通信することができる。この理由は、通信に用いる4本の低速クロック信号であるクロックS0、クロックS1、クロックS2、クロックS3は、360/4°ずつ位相が異なるので、いずれかのクロック信号は、クロックFと立ち上がりの位相が一致するからである。さらに、出力制御回路17は、出力データ記憶回路が格納したデータを、格納した順序で、信号14に出力するからである。さらに、出力制御回路17は、出力データ記憶回路のいずれかが格納したデータを、その格納したサイクルにおいて、信号14に出力するからである。
より一般的には、任意の正の整数Nに対して、本実施の形態では、通信に周波数が機能ブロックのクロック信号の1/NであるN本の低速クロック信号を使用する。さらに、それらのクロック信号は360/N°ずつ位相が異なるので、いずれかのクロック信号は、クロックFと立ち上がりの位相が一致する。したがって、本実施の形態では、機能ブロックが入出力するデータ幅ごとに、かつ、機能ブロックのクロック信号であるクロックFの毎サイクルごとに、機能ブロックのクロック信号の1/Nの周波数で、順次データを通信することができる。
本実施の形態にかかる通信回路では、通信に使用するクロック信号の周波数を低くすることができるので、タイミング設計を容易にすることができる。さらに、パイプライン化が不要となり、または、パイプライン化したとしてもパイプライン段数を少なくすることができるため、回路面積や消費電力を小さくすることができる。
さらに、本実施の形態にかかる通信回路では、機能ブロックが入出力するデータ幅ごとに通信を行うので、通信するデータを一旦バッファリングする必要がなく、通信するデータがすべて揃うまで待つ必要もないので、レイテンシの増加を抑えることができる。
さらに、本実施の形態にかかる通信回路では、機能ブロックのクロック信号の毎サイクルごとに通信を行えるので、機能ブロックのクロック信号と通信に使用するクロック信号との位相が合うまで通信を待つ必要がなく、レイテンシの増加を抑えることができる。さらに、入力データ記憶回路を2重化(ダブルバッファ化)する必要がないので、回路面積や消費電力を小さくすることができる。
次に本実施の形態にかかる通信方法について説明する。
通信回路10は、第1の機能ブロック(機能ブロックA)と第2の機能ブロック(機能ブロックB)と接続され、第1の機能ブロックから第2の機能ブロックへ通信データを転送する。このとき、通信回路10は、Nを正整数としたとき、第1の機能ブロックが出力する通信データのデータ幅と同一のデータ幅を有する第1乃至第Nの通信手段を備える。
そして、本実施の形態にかかる通信方法は、第1の機能ブロックから第1のクロック信号に応じて出力された通信データを、第1のクロック信号の周波数の1/Nで規定され、かつ互いに360/N°ずつ位相が異なる第1乃至第Nの位相を有する第2のクロック信号に基づき第1乃至第Nの通信手段に入力する第1のステップを有する。また、第1乃至第Nの位相を有する第2のクロック信号に基づき、第1乃至第Nの通信手段に入力された通信データを第2の機能ブロックへ出力する第2のステップを有する。
ここで、第2のステップは、第1乃至第Nの位相を有する第2のクロック信号のうち、通信データを入力した際の第2のクロック信号の位相と対応する位相を有する第2のクロック信号に基づき、第1乃至第Nの通信手段に入力された通信データを第2の機能ブロックへ出力するステップであってもよい。
本実施の形態にかかる通信方法を用いることで、必要なハードウェア量や消費電力が小さく、タイミング設計が容易で、かつ、通信レイテンシが小さい、機能ブロック間の通信方法を提供することが可能となる。
実施の形態2
次に、図3を用いて、本発明の実施の形態2にかかる機能ブロック間通信回路について説明する。実施の形態1で説明した機能ブロック間通信回路では、出力制御回路17は、出力データ記憶回路のいずれかが格納したデータを、格納した順序で、信号14に出力していた。さらに、出力制御回路17は、出力データ記憶回路のいずれかが格納したデータを、その格納したサイクルにおいて、信号14に出力していた。これにより、機能ブロックが入出力するデータ幅ごと、かつ、機能ブロックのクロック信号の毎サイクルに低レイテンシの機能ブロック間通信を実現していた。出力制御回路17は、位相関係の情報を示す位相信号20を参照してデータ選択を行うことで、データ到着と同サイクルのデータ出力を実現していた。
これに対して、図3に示す本実施の形態にかかる機能ブロック間通信回路では、実施の形態1で説明した機能ブロック間通信回路の構成において、位相信号20を生成する位相検出回路(位相検出手段)60を追加した構成となっている。本実施の形態にかかる機能ブロック間通信回路のうち実施の形態1と共通の構成部分については、重複した説明を省略する。
位相検出回路60は、クロックS0を入力して、クロックS0の立ち上がり遷移のタイミングを検出することで、クロックS0〜S3の位相を検出し、位相信号20として出力する。出力選択回路17は、セレクタ回路18とカウンタ回路19とから構成される。セレクタ回路18は、カウンタ回路19が出力するデータ選択信号21に応じて、出力データ記憶回路15a、15b、15c、15dの各出力からいずれか1つを選択して、信号14に出力する。
具体的には、データ選択信号21の値が「0」の場合、出力データ記憶回路15aの出力を選択して信号14に出力する。データ選択信号21の値が「1」の場合、出力データ記憶回路15bの出力を選択して信号14に出力する。データ選択信号21の値が「2」の場合、出力データ記憶回路15cの出力を選択して信号14に出力する。データ選択信号21の値が「3」の場合、出力データ記憶回路15dの出力を選択して信号14に出力する。
カウンタ回路19は、クロックFによってカウント動作を行い、そのカウント値をデータ選択信号21として出力する。また、カウンタ回路19は、位相信号20を参照してリセット動作を行う。
図4は位相検出回路60の具体例である。位相検出回路60は、トグル回路65とトグル検出回路70から構成される。トグル回路65は、クロックS0で動作し、クロックS0の各立ち上がりタイミングで値がトグルするトグル信号67を生成する。トグル検出回路70は、クロックFで動作し、トグル信号67を入力して、トグル信号67のトグルタイミングである立ち上がりおよび立下りタイミングを検出する。次に、そのトグルタイミングより、クロックS0の立ち上がり遷移のタイミングの2サイクル後に「1」、それ以外のタイミングで「0」となる位相信号20を生成する。
次に図5を参照して、本実施の形態にかかる通信回路10の動作例を説明する。図5は、実施の形態1の動作タイミングを説明した図2に対して、位相信号20およびデータ選択信号21の動作波形を追加している。本実施の形態にかかる機能ブロック間通信回路の動作うち実施の形態1と共通の動作については、重複した説明を省略する。
図5において、クロックS0は、タイミングT2、T6、T10で立ち上がり遷移している。位相検出回路60は、このクロックS0の立ち上がりタイミングを検出することで、クロックS0の立ち上がり遷移のタイミングの2サイクル後に「1」、それ以外のタイミングで「0」となる位相信号20を生成する。
このとき、位相信号20はクロックS0の立ち上がりタイミングの2サイクル後で「1」となる。また、位相信号20はクロックS1の立ち上がりタイミングの1サイクル後で「1」となる。また、位相信号20はクロックS2の立ち上がりタイミングで「1」となる。また、位相信号20はクロックS3の立ち上がりタイミングの1サイクル前で「1」となる。このタイミング情報に基づいて、位相信号20はクロックS0〜S3の位相関係を示すことができる。具体的には、位相信号20は、タイミングT4、T8、T12などにおいて、「1」、それ以外のタイミングで「0」となる。
出力制御回路17が備えるカウンタ回路19は、位相信号20が「1」となったサイクルの次のサイクルでリセット動作を行う。具体的には、カウンタ回路19は、タイミングT5、T9、T13などにおいて、リセット動作を行う。リセット動作におけるリセット値は、カウンタ回路19がカウントするカウント値がそのまま適切なデータ選択信号21となるように決定する。
図5の場合、カウンタ回路19がリセット動作を行うタイミングT5、T9、T13などでは、クロックS3が立ち上がり遷移し、出力データ記憶回路15dにデータが記憶される。したがって、タイミングT5、T9、T13などにおいて、セレクタ回路18が、出力データ記憶回路15dの出力を選択するように、リセット値は「3」としている。
カウンタ回路19は、カウント値をタイミングT5、T9、T13などで「3」にリセットした後、「0」〜「3」の間でカウント動作を行い、そのカウント値をそのままデータ選択信号21として出力する。したがって、出力制御回路17は、例えばタイミングT5において、出力データ記憶回路15dが格納した該データD0を選択して信号14に出力する。同様に、出力制御回路17は、タイミングT6において、出力データ記憶回路15aが格納した該データD1を選択して信号14に出力する。同様に、出力制御回路17は、タイミングT7において、出力データ記憶回路15bが格納した該データD2を選択して信号14に出力する。同様に、出力制御回路17は、タイミングT8において、出力データ記憶回路15cが格納した該データD3を選択して信号14に出力する。
以上説明したように、本実施の形態によれば、出力制御回路17は、出力データ記憶回路のいずれかが格納したデータを、格納した順序で、信号14に出力する。さらに出力制御回路17は、出力データ記憶回路のいずれかが格納したデータを、その格納したサイクルにおいて、信号14に出力する。その結果、本実施の形態によれば、機能ブロックが入出力するデータ幅ごと、かつ、機能ブロックのクロック信号の毎サイクルごとに低レイテンシの機能ブロック間通信を実現することができる。
実施の形態3
次に、図6を用いて、本発明の実施の形態3にかかる機能ブロック間通信回路について説明する。図6に示す本実施の形態にかかる機能ブロック間通信回路は、実施の形態1で説明した機能ブロック間通信回路に、クロックFを分周してクロックS0〜S3を生成するクロック生成回路(クロック生成手段)40を追加した構成となっている。本実施の形態にかかる機能ブロック間通信回路のうち実施の形態1と共通の構成部分については、重複した説明を省略する。
出力選択回路17は、実施の形態1と同様にセレクタ回路18とカウンタ回路19とから構成される。セレクタ回路18は、カウンタ回路19が出力するデータ選択信号21に応じて、出力データ記憶回路15a、15b、15c、15dの各出力から一つを選択して、信号14に出力する。
具体的には、データ選択信号21の値が「0」の場合、出力データ記憶回路15aの出力を選択して信号14に出力する。データ選択信号21の値が「1」の場合、出力データ記憶回路15bの出力を選択して信号14に出力する。データ選択信号21の値が「2」の場合、出力データ記憶回路15cの出力を選択して信号14に出力する。データ選択信号21の値が「3」の場合、出力データ記憶回路15dの出力を選択して信号14に出力する。
クロック生成回路40は、上位の回路から与えられる位相信号20を参照して、クロックS0〜S3を生成する。したがって、クロックS0〜S3の位相は位相信号20を基準に決定される。
図7はクロック生成回路40の具体例である。クロック生成回路40は、カウンタ回路43、4つのデコーダ回路31a、31b、31c、31d、4つのフリップフロップ回路32a、32b、32c、32dから構成される。カウンタ回路43は、クロックFによってカウント動作を行い、そのカウント値をカウント値35として出力する。また、カウンタ回路43は、位相信号20を参照してリセット動作を行う。
デコーダ回路31a、31b、31c、31dは、カウント値35を入力して、各クロックS0〜S3を生成するためのクロック値34a、34b、34c、34dをそれぞれ生成する。具体的には、デコーダ回路31aは、カウント値35が「0」のときに、「1」に遷移するクロック値34aを生成する。デコーダ回路31bは、カウント値35が「1」のときに、「1」に遷移するクロック値34bを生成する。デコーダ回路31cは、カウント値35が「2」のときに、「1」に遷移するクロック値34cを生成する。デコーダ回路31dは、カウント値35が「3」のときに、「1」に遷移するクロック値34dを生成する。
各フリップフロップ回路32a、32b、32c、32dは、クロックFのタイミングで、クロック値34a、34b、34c、34dをそれぞれラッチして、クロックS0〜S3としてそれぞれ出力する。
次に図8を参照して、本実施の形態にかかる通信回路10の動作例を説明する。図8は、実施の形態1の動作タイミングを説明した図2に対して、カウント値35、位相信号20およびデータ選択信号21の動作波形を追加している。本実施の形態にかかる機能ブロック間通信回路の動作うち実施の形態1と共通の動作については、重複した説明を省略する。
図8において、上位の回路から与えられる位相信号20は、タイミングT0、T4、T8、T12において「1」になる。クロック生成回路40が備えるカウンタ回路43は、位相信号20が「1」となったサイクルの次のサイクルで、カウント値を「0」にリセットするようにリセット動作を行う。具体的には、カウンタ回路43は、タイミングT1、T5、T9、T13において、リセット動作を行う。その後、カウンタ回路43は、「0」〜「3」の間でカウント動作を行い、そのカウント値をカウント値35として出力する。このカウント値35を参照して、各デコーダ回路31a、31b、31c、31dは、クロック値34a、34b、34c、34dを生成する。
その結果、クロック値34aから生成されるクロックS0は、タイミングT2、T6、T10で立ち上がり遷移する。同様に、クロック値34bから生成されるクロックS1は、タイミングT3、T7、T11で立ち上がり遷移する。同様に、クロック値34cから生成されるクロックS2は、タイミングT0、T4、T8、T12で立ち上がり遷移する。同様に、クロック値34dから生成されるクロックS3は、タイミングT1、T5、T9、T13で立ち上がり遷移する。
一方、出力制御回路17が備えるカウンタ回路19は、位相信号20が「1」となったサイクルの次のサイクルでリセット動作を行う。具体的には、カウンタ回路19は、タイミングT5、T9、T13などにおいて、リセット動作を行う。リセット動作におけるリセット値は、カウンタ回路19がカウントするカウント値がそのまま適切なデータ選択信号21となるように決定する。図8の場合、カウンタ回路19がリセット動作を行うタイミングT5、T9、T13などでは、クロックS3が立ち上がり遷移し、出力データ記憶回路15dにデータが記憶される。したがって、タイミングT5、T9、T13などにおいて、セレクタ回路18が、出力データ記憶回路15dの出力を選択するように、リセット値は「3」としている。
カウンタ回路19は、カウント値をタイミングT5、T9、T13などで「3」にリセットした後、「0」〜「3」の間でカウント動作を行い、そのカウント値をそのままデータ選択信号21として出力する。したがって、出力制御回路17は、例えばタイミングT5において、出力データ記憶回路15dが格納した該データD0を選択して信号14に出力する。同様に、出力制御回路17は、タイミングT6において、出力データ記憶回路15aが格納した該データD1を選択して信号14に出力する。同様に、出力制御回路17は、タイミングT7において、出力データ記憶回路15bが格納した該データD2を選択して信号14に出力する。同様に、出力制御回路17は、タイミングT8において、出力データ記憶回路15cが格納した該データD3を選択して信号14に出力する。
以上説明したように、本実施の形態によれば、出力制御回路17は、出力データ記憶回路のいずれかが格納したデータを、格納した順序で、信号14に出力する。さらに出力制御回路17は、出力データ記憶回路のいずれかが格納したデータを、その格納したサイクルにおいて、信号14に出力する。その結果、本実施の形態によれば、機能ブロックが入出力するデータ幅ごと、かつ、機能ブロックのクロック信号の毎サイクルごとに低レイテンシの機能ブロック間通信を実現することができる。
実施の形態4
次に、図9を用いて、本発明の実施の形態4にかかる機能ブロック間通信回路について説明する。図9に示す本実施の形態にかかる機能ブロック間通信回路は、実施の形態1で説明した機能ブロック間通信回路の構成において、クロックFを分周してクロックS0〜S3を生成するクロック生成回路(クロック生成手段)50を追加した構成となっている。本実施の形態にかかる機能ブロック間通信回路のうち実施の形態1と共通の構成部分については、重複した説明を省略する。
出力選択回路17は、実施の形態1と同様にセレクタ回路18とカウンタ回路19とから構成される。セレクタ回路18は、カウンタ回路19が出力するデータ選択信号21に応じて、出力データ記憶回路15a、15b、15c、15dの各出力から一つを選択して、信号14に出力する。
具体的には、データ選択信号21の値が「0」の場合、出力データ記憶回路15aの出力を選択して信号14に出力する。データ選択信号21の値が「1」の場合、出力データ記憶回路15bの出力を選択して信号14に出力する。データ選択信号21の値が「2」の場合、出力データ記憶回路15cの出力を選択して信号14に出力する。データ選択信号21の値が「3」の場合、出力データ記憶回路15dの出力を選択して信号14に出力する。
クロック生成回路50は、クロックS0〜S3を生成すると同時に、クロックS0〜S3の位相関係の情報を示す位相情報20をも生成して出力する。図10はクロック生成回路50の具体例である。クロック生成回路50は、カウンタ回路33、4つのデコーダ回路31a、31b、31c、31d、4つのフリップフロップ回路32a、32b、32c、32d、デコーダ回路54から構成される。カウンタ回路33は、クロックFによってカウント動作を行い、そのカウント値をカウント値35として出力する。デコーダ回路31a、31b、31c、31dは、カウント値35を入力して、各クロックS0〜S3を生成するためのクロック値34a、34b、34c、34dをそれぞれ生成する。
具体的には、デコーダ回路31aは、カウント値35が「0」のときに、「1」に遷移するクロック値34aを生成する。デコーダ回路31bは、カウント値35が「1」のときに、「1」に遷移するクロック値34bを生成する。デコーダ回路31cは、カウント値35が「2」のときに、「1」に遷移するクロック値34cを生成する。デコーダ回路31dは、カウント値35が「3」のときに、「1」に遷移するクロック値34dを生成する。
各フリップフロップ回路32a、32b、32c、32dは、クロックFのタイミングで、クロック値34a、34b、34c、34dをそれぞれラッチして、クロックS0〜S3としてそれぞれ出力する。
デコーダ回路54は、入力するカウント値35から位相信号20を生成して出力する。具体的には、デコーダ回路54は、カウント値35が「0」のときに「1」、その以外のときは「0」を、位相信号20として出力する。
次に図11を参照して、本実施の形態にかかる通信回路10の動作例を説明する。図11は、実施の形態1の動作タイミングを説明した図2に対して、カウント値35、位相信号20およびデータ選択信号21の動作波形を追加している。本実施の形態にかかる機能ブロック間通信回路の動作うち実施の形態1と共通の動作については、重複した説明を省略する。
クロック生成回路50が備えるカウンタ回路33は、「0」〜「3」の間でカウント動作を行い、そのカウント値をカウント値35として出力する。図11では、タイミングT1、T5、T9、T13などにおいて、そのカウント値が「0」になる。このカウント値35を参照して、各デコーダ回路31a、31b、31c、31dは、クロック値34a、34b、34c、34dを生成する。
その結果、クロック値34aから生成されるクロックS0は、タイミングT2、T6、T10などで立ち上がり遷移する。同様に、クロック値34bから生成されるクロックS1は、タイミングT3、T7、T11などで立ち上がり遷移する。同様に、クロック値34cから生成されるクロックS2は、タイミングT0、T4、T8、T12などで立ち上がり遷移する。同様に、クロック値34dから生成されるクロックS3は、タイミングT1、T5、T9、T13などで立ち上がり遷移する。
また、クロック生成回路50は、カウント値35に応じて、位相信号20を生成して出力する。図11では、カウント値35が「0」になるタイミングT1、T5、T9、T13などにおいて「1」になる。
一方、出力制御回路17が備えるカウンタ回路19は、位相信号20が「1」となったサイクルの次のサイクルでリセット動作を行う。具体的には、カウンタ回路19は、タイミングT2、T6、T10などにおいて、リセット動作を行う。リセット動作におけるリセット値は、カウンタ回路19がカウントするカウント値がそのまま適切なデータ選択信号21となるように決定する。図11の場合、カウンタ回路19がリセット動作を行うタイミングT2、T6、T10などでは、クロックS0が立ち上がり遷移し、出力データ記憶回路15aにデータが記憶される。したがって、タイミングT2、T6、T10などにおいて、セレクタ回路18が、出力データ記憶回路15aの出力を選択するように、リセット値は「0」としている。
カウンタ回路19は、カウント値をタイミングT2、T6、T10などで「0」にリセットした後、「0」〜「3」の間でカウント動作を行い、そのカウント値をそのままデータ選択信号21として出力する。したがって、出力制御回路17は、例えばタイミングT5において、出力データ記憶回路15dが格納した該データD0を選択して信号14に出力する。同様に、出力制御回路17は、タイミングT6において、出力データ記憶回路15aが格納した該データD1を選択して信号14に出力する。同様に、出力制御回路17は、タイミングT7において、出力データ記憶回路15bが格納した該データD2を選択して信号14に出力する。同様に、出力制御回路17は、タイミングT8において、出力データ記憶回路15cが格納した該データD3を選択して信号14に出力する。
以上説明したように、本実施の形態によれば、出力制御回路17は、出力データ記憶回路のいずれかが格納したデータを、格納した順序で、信号14に出力する。さらに出力制御回路17は、出力データ記憶回路のいずれかが格納したデータを、その格納したサイクルにおいて、信号14に出力する。その結果、本実施の形態によれば、機能ブロックが入出力するデータ幅ごと、かつ、機能ブロックのクロック信号の毎サイクルごとに低レイテンシの機能ブロック間通信を実現することができる。
以上、本発明を上記実施の形態に即して説明したが、上記実施の形態の構成にのみ限定されるものではなく、本願特許請求の範囲の請求項の発明の範囲内で当業者であればなし得るであろう各種変形、修正、組み合わせを含むことは勿論である。
この出願は、2009年5月18日に出願された日本出願特願2009−120126を基礎とする優先権を主張し、その開示の全てをここに取り込む。
10 通信回路
11a、11b、11c、11d バッファ回路
12a、12b、12c、12d、13、14 信号
15a、15b、15c、15d 出力データ記憶回路
16a、16b、16c、16d 入力データ記憶回路
17 出力制御回路
18 セレクタ回路
19 カウンタ回路
20 位相信号
21 データ選択信号
31a、31b、31c、31d デコーダ回路
32a、32b、32c、32d フリップフロップ回路
33 カウンタ回路
35 カウント値
40 クロック信号生成回路
43 カウンタ回路
50 クロック信号生成回路
54 デコーダ回路
60 位相検出回路
65 トグル回路
70 トグル検出回路
100 通信回路
110a、110b、110c、110d、110e パイプライン・レジスタ
111a、111b、111c、111d バッファ回路
112a、112b、112c、112d 部分信号
113、114 信号
150 通信回路
160a、160b 入力データ記憶回路
161a、161b、161c、161d バッファ回路
162a、162b、162c、162d、163、164 信号
165 出力データ記憶回路
166 入力制御回路
167 出力制御回路

Claims (10)

  1. 第1のクロック信号に基づいて処理を行う複数の機能ブロックと接続され、当該機能ブロック間の通信を媒介する通信回路であって、
    Nを2以上の正整数としたとき、前記機能ブロックが出力する通信データのデータ幅と同一のデータ幅の通信手段をN個備え、
    前記通信手段は、少なくとも前記機能ブロックが出力する通信データを入力して記憶する入力データ記憶手段と、前記入力データ記憶手段が記憶したデータを転送するデータ転送手段と、前記データ転送手段が転送したデータを記憶する出力データ記憶手段と、を有し、
    前記N個の通信手段のそれぞれは、前記第1のクロック信号の周波数の1/Nで規定され、かつ前記N個の通信手段のそれぞれに対応した互いに360/N°ずつ位相が異なるN本の第2のクロック信号に基づいて通信処理を行う、通信回路。
  2. 前記通信回路は、前記N本の第2のクロック信号の互いの位相関係を示す位相信号を参照して、前記N個の通信手段が転送して出力するデータのいずれかひとつを、前記出力データ記憶手段が記憶した順に選択して出力する出力制御手段を含む、請求項に記載の通信回路。
  3. 前記通信回路は、前記N本の第2のクロック信号のいずれかのクロック信号の位相を検出して前記位相信号を生成する位相検出手段をさらに含む、請求項に記載の通信回路。
  4. 前記通信回路は、前記N本の第2のクロック信号を生成するクロック生成手段をさらに含み、前記クロック生成手段は、前記位相信号を参照して、前記N本の第2のクロック信号の位相関係を制御する、請求項に記載の通信回路。
  5. 前記通信回路は、前記N本の第2のクロック信号を生成すると共に、前記位相信号をも生成して出力するクロック生成手段をさらに含む、請求項に記載の通信回路。
  6. 第1の機能ブロックと第2の機能ブロックと接続され、前記第1の機能ブロックから前記第2の機能ブロックへ通信データを転送する通信回路を用いた通信方法であって、
    前記通信回路は、Nを2以上の正整数としたとき、前記第1の機能ブロックが出力する前記通信データのデータ幅と同一のデータ幅を有する第1乃至第Nの通信手段を備え、
    前記通信手段は、少なくとも前記機能ブロックが出力する通信データを入力して記憶する入力データ記憶手段と、前記入力データ記憶手段が記憶したデータを転送するデータ転送手段と、前記データ転送手段が転送したデータを記憶する出力データ記憶手段と、を有し、
    前記第1の機能ブロックから第1のクロック信号に応じて出力された前記通信データを、前記第1のクロック信号の周波数の1/Nで規定され、かつ互いに360/N°ずつ位相が異なる第1乃至第Nの位相を有する第2のクロック信号に基づき前記第1乃至第Nの通信手段に入力し、
    前記第1乃至第Nの位相を有する第2のクロック信号に基づき、前記第1乃至第Nの通信手段に入力された通信データを前記第2の機能ブロックへ出力する、
    通信方法。
  7. 前記第1乃至第Nの位相を有する第2のクロック信号に基づき、前記第1乃至第Nの通信手段に入力された通信データを前記第2の機能ブロックへ出力する際に、
    前記第1乃至第Nの位相を有する第2のクロック信号のうち、前記通信データを入力した際の第2のクロック信号の位相と対応する位相を有する第2のクロック信号に基づき、前記第1乃至第Nの通信手段に入力された通信データを前記第2の機能ブロックへ出力する、請求項に記載の通信方法。
  8. 前記第1乃至第Nの位相を有する第2のクロック信号に基づき、前記第1乃至第Nの通信手段に入力された通信データを前記第2の機能ブロックへ出力する際に、
    前記第1乃至第Nの位相を有する第2のクロック信号の互いの位相関係を示す位相信号を参照して、前記第1乃至第Nの通信手段に入力された通信データを当該通信手段に入力された順に前記第2の機能ブロックへ出力する、請求項またはに記載の通信方法。
  9. 前記第1乃至第Nの位相のうちのいずれかの位相を有する第2のクロック信号を検出して前記位相信号を生成する、請求項に記載の通信方法。
  10. 前記第1乃至第Nの位相を有する第2のクロック信号を生成すると共に、前記位相信号を参照して前記第2のクロック信号の位相関係を制御する、請求項に記載の通信方法。
JP2011514300A 2009-05-18 2010-03-26 通信回路および通信方法 Active JP5447511B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011514300A JP5447511B2 (ja) 2009-05-18 2010-03-26 通信回路および通信方法

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2009120126 2009-05-18
JP2009120126 2009-05-18
PCT/JP2010/002189 WO2010134252A1 (ja) 2009-05-18 2010-03-26 通信回路および通信方法
JP2011514300A JP5447511B2 (ja) 2009-05-18 2010-03-26 通信回路および通信方法

Publications (2)

Publication Number Publication Date
JPWO2010134252A1 JPWO2010134252A1 (ja) 2012-11-08
JP5447511B2 true JP5447511B2 (ja) 2014-03-19

Family

ID=43125945

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011514300A Active JP5447511B2 (ja) 2009-05-18 2010-03-26 通信回路および通信方法

Country Status (3)

Country Link
US (1) US8850256B2 (ja)
JP (1) JP5447511B2 (ja)
WO (1) WO2010134252A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI744581B (zh) * 2018-12-18 2021-11-01 新唐科技股份有限公司 電子裝置以及供電方法

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05283523A (ja) * 1992-03-31 1993-10-29 Sony Corp 集積回路
JPH11145298A (ja) * 1997-11-13 1999-05-28 Fujitsu Ltd Lsiの機能ブロック間におけるデータ送受信システム
JP2000347993A (ja) * 1999-06-03 2000-12-15 Nec Corp ソースシンクロナス転送方式
JP2005242658A (ja) * 2004-02-26 2005-09-08 Denso Corp バスブリッジ
JP2007220046A (ja) * 2006-02-20 2007-08-30 Toshiba Corp バス装置、バスシステムおよび情報転送方法
JP2008059134A (ja) * 2006-08-30 2008-03-13 Nec Computertechno Ltd データ転送方式およびデータ転送方法
JP2009105877A (ja) * 2007-10-02 2009-05-14 Panasonic Corp 半導体集積回路、通信装置、情報再生装置、画像表示装置、電子装置、電子制御装置、及び移動体装置
JP2010056649A (ja) * 2008-08-26 2010-03-11 Kyocera Mita Corp データ伝送回路、画像形成装置

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3241033A (en) * 1961-07-28 1966-03-15 Gen Electric Multiphase wave generator utilizing bistable circuits and logic means
US4368514A (en) * 1980-04-25 1983-01-11 Timeplex, Inc. Multi-processor system
US4803617A (en) * 1986-02-10 1989-02-07 Eastman Kodak Company Multi-processor using shared buses
US5826067A (en) * 1996-09-06 1998-10-20 Intel Corporation Method and apparatus for preventing logic glitches in a 2/n clocking scheme
US6247138B1 (en) * 1997-06-12 2001-06-12 Fujitsu Limited Timing signal generating circuit, semiconductor integrated circuit device and semiconductor integrated circuit system to which the timing signal generating circuit is applied, and signal transmission system
US6643787B1 (en) * 1999-10-19 2003-11-04 Rambus Inc. Bus system optimization
JP3495311B2 (ja) * 2000-03-24 2004-02-09 Necエレクトロニクス株式会社 クロック制御回路
US8842766B2 (en) * 2010-03-31 2014-09-23 Texas Instruments Incorporated Apparatus and method for reducing interference signals in an integrated circuit using multiphase clocks

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05283523A (ja) * 1992-03-31 1993-10-29 Sony Corp 集積回路
JPH11145298A (ja) * 1997-11-13 1999-05-28 Fujitsu Ltd Lsiの機能ブロック間におけるデータ送受信システム
JP2000347993A (ja) * 1999-06-03 2000-12-15 Nec Corp ソースシンクロナス転送方式
JP2005242658A (ja) * 2004-02-26 2005-09-08 Denso Corp バスブリッジ
JP2007220046A (ja) * 2006-02-20 2007-08-30 Toshiba Corp バス装置、バスシステムおよび情報転送方法
JP2008059134A (ja) * 2006-08-30 2008-03-13 Nec Computertechno Ltd データ転送方式およびデータ転送方法
JP2009105877A (ja) * 2007-10-02 2009-05-14 Panasonic Corp 半導体集積回路、通信装置、情報再生装置、画像表示装置、電子装置、電子制御装置、及び移動体装置
JP2010056649A (ja) * 2008-08-26 2010-03-11 Kyocera Mita Corp データ伝送回路、画像形成装置

Also Published As

Publication number Publication date
WO2010134252A1 (ja) 2010-11-25
US8850256B2 (en) 2014-09-30
JPWO2010134252A1 (ja) 2012-11-08
US20120096300A1 (en) 2012-04-19

Similar Documents

Publication Publication Date Title
US8281113B2 (en) Processor having ALU with dynamically transparent pipeline stages
JP3604323B2 (ja) クロック切替回路
JP2007257549A (ja) 半導体装置
JP5717196B2 (ja) パイプライン回路、半導体装置およびパイプライン制御方法
JP5231949B2 (ja) 半導体装置、および、半導体装置によるデータ処理方法
JP5447511B2 (ja) 通信回路および通信方法
JP2006011825A (ja) 再構成可能演算装置および半導体装置
US20070260805A1 (en) Computer with a Reconfigurable Architecture for Integrating a Global Cellular Automaton
US20100318767A1 (en) Multiplexing auxiliary processing element and semiconductor integrated circuit
EP1624380B1 (en) Vector processing apparatus, information processing apparatus, and vector processing method for reducing simultaneous switching noise
JPH10188566A (ja) バーストカウンター回路
JP4612139B2 (ja) 入力回路及びその入力回路を利用する半導体装置
CN113841134A (zh) 具有向量变换执行的处理装置
JP2008198003A (ja) アレイ型プロセッサ
JP2003216268A (ja) クロック選択回路およびクロック選択方法
JP4941470B2 (ja) 半導体集積装置及び半導体集積装置の消費電力平準化方法
WO2008026273A1 (fr) Contrôleur dma
WO2012070152A1 (ja) 半導体装置、及び情報処理装置
JP2000341256A (ja) エラスティック回路および集積回路
JP2008219728A (ja) 再構成可能な演算処理回路
JP4254557B2 (ja) データ選択回路及び方法
JP5701930B2 (ja) 半導体装置
KR100437833B1 (ko) 클럭신호 스위치 회로
JPH11264854A (ja) 半導体集積回路および半導体集積回路の試験方法
JP2002005997A (ja) テスト回路を有する自己同期型論理回路

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130702

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130829

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: 20131203

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20131216

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 5447511

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150