JP2007233976A - Ipコア間の通信方法及びそれを使用する集積回路 - Google Patents

Ipコア間の通信方法及びそれを使用する集積回路 Download PDF

Info

Publication number
JP2007233976A
JP2007233976A JP2006058431A JP2006058431A JP2007233976A JP 2007233976 A JP2007233976 A JP 2007233976A JP 2006058431 A JP2006058431 A JP 2006058431A JP 2006058431 A JP2006058431 A JP 2006058431A JP 2007233976 A JP2007233976 A JP 2007233976A
Authority
JP
Japan
Prior art keywords
core
communication
cores
acu
bus
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
JP2006058431A
Other languages
English (en)
Inventor
Hiroshi Kasahara
宏 笠原
Tsugio Nakamura
次男 中村
Masafumi Hayakawa
雅文 早川
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.)
Tokyo Denki University
Original Assignee
Tokyo Denki University
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 Tokyo Denki University filed Critical Tokyo Denki University
Priority to JP2006058431A priority Critical patent/JP2007233976A/ja
Publication of JP2007233976A publication Critical patent/JP2007233976A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Multi Processors (AREA)

Abstract

【課題】ACU間のバス制御にコンピュータネットワークで用いられているトークン方式を適用することにより、バス調停を必要としない単純な構成にできるIPコア間の通信方式を提供する。
【解決手段】本発明は、超高集積回路ブロックで成るIPコア11に自立性を持たせたアーキテクチャを組み込み、簡素なフォーマットのメッセージ通信によってオンチップバス16の標準化を容易にし、IPコア11間のバス調停機構も不要で、使用を容易にするIPコア間の通信方式を特徴とする。
【選択図】 図6

Description

本発明は、超高集積回路ブロックで成るIPコア間の通信方式に関する。
超高集積化時代を向かえ、数十から数百という超集積回路ブロックで成るIPコア(Intellectual Property Core)が一つのチップ上に集積可能となってきている。この集積化においては電源電圧と消費電力、IPコア間の同期化とインタフェースの標準化および通信方式などの課題が存在する。各IPコア間の接続は、従来のバス形ネットワークでは性能と電源の障害となることから、各IPコア間を相互に接続するネットワークオンチップ(Network on Chip:NoC)の構想が報告されている(例えば、下記の非特許文献1)。
また、このような大規模なチップに全回路ブロックを一つの機関で設計することは設計に要する時間やコストなどから困難である。そこで、IPコアの再利用とその流通形態が重要性を増す。開発元の異なるIPコアの再利用にはインタフェースの標準化が不可欠であるが、各社それぞれ特定の技術を持って競合している現状を考慮すれば、その標準化は困難な問題である。他方、各IPコア間の同期化に関しては、全体的に非同期式/部分的に同期式で、必然的に多くの異なったクロックを用いることになる(同じく、下記の非特許文献1)。
そこで、近年、本願発明者らによって、IPコアをオブジェクト指向における1オブジェクトとしてとらえ、オブジェクト間で送受信されるメッセージとパラメータという極めて簡素なフォーマットのメッセージ通信を行うことによって、インタフェースの標準化を容易にすることができ、また、IPコアとデータバスとの間に通信の制御を行うユニットACU(Access Control Unit)を配置することによって、IPコアがそのACUとのメッセージ通信によって目的とするIPコアと通信を行うことを可能にする技術が提案されている(下記非特許文献2)。
しかしながら、将来のNoCにおいても部分的に同期式とあるように、機能的に見てバス形で構成した方が都合の良い部分もある。その場合、バスの調停機構が大きな課題となる。
特開2002−117011号公報 Luca Benini, Giovanni De Micheli; "Networks on Chips: A New SoC Paradigm", IEEE, Computer, pp.70-78, Jan 2002 古屋憲吾、中村次男、冬爪成人、笠原宏:「オブジェクト指向技術を導入したIPコアの設計とその連携方式」、電気関係学会関西支部連合大会G10−15、2003年11月 穂苅泰明、「半導体技術のロードマップの最新動向」、情報処理、2002年46巻、55−60ページ、2002年5月 安浦寛人、「新しいSoC設計技術開発と大学・学会・研究機関の役割」、STARCシンポジウム、2003年 唐木信雄、「非同期回路設計の進め」、Design Wave Magazine、64−69ページ、2005年6月
本発明は、上記従来の技術的課題に鑑みてなされたもので、超高集積回路ブロックで成るIPコアに自立性を持たせたアーキテクチャを組み込み、簡素なフォーマットのメッセージ通信によってオンチップバスの標準化を容易にし、IPコア間のバス調停機構も不要で、使用を容易にするIPコア間の通信方式を提供することを目的とする。
本発明は、複数のIPコアと共通のオンチップバスとの間それぞれに接続制御ユニットを配置し、各IPコアと接続された接続制御ユニット間をトークン方式によって連係させたことを特徴とするIPコア間の通信方式を要旨とする。
本発明のIP間の通信方式によれば、IPコアに自立性を持たせたアーキテクチャを組み込み、簡素なフォーマットのメッセージ通信によってオンチップバスの標準化を容易にし、IPコア間のバス調停機構も不要で、使用が容易である。
以下、本発明の実施の形態を図に基づいて詳説する。
[IPコア間のメッセージ通信方式]開発元の異なる多種多様なIPコアの再利用にインタフェースの標準化が不可欠である。そこで、オブジェクト指向技術で用いられているメッセージ(そのVCの機能)とパラメータ(そのVCに与えられた機能を処理するのに必要なデータ〉から成るメッセージ通信とすることにより、IPコアの標準化を容易にする。また、使用者は個々のVCの処理手順を知る必要はなく、メッセージを送るだけという統一した使用法で複数のVCを使えるようにする。
IPコア間の通信フォーマットを図1に示す。簡単のために、1ワード8ビットで設計している。メッセージのIP指定中、上位2ビットは四則演算器のオペランドのタイプ用に用いる。例えば、加算の場合、“00”で被加数のみ、“01”で加数のみ、“10”で被加数と加数(“11”は未使用)。従って、この場合、64個のIPコアまで対応できる(それ以上必要ならIP指定のワード数を2バイトとするなどで対応できる)。精度情報は8ビットのMSBを拡張用ビットとし、“0”で0〜127バイトのデータを指定。それ以上の場合はMSBを“1”とすることにより1バイトの追加を意味し、16383バイトまでデータ長を拡張することができる(それ以上も同様にバイト単位に精度情報を追加可能)。
バス上に図1のメッセージとパラメータを出力する場合はメッセージの開始を示すオール0(1バイト)と通信の終了を意味するオール1(5バイト)を付加する。全てのIPコアは8ビットのバスが全て0のメッセージ開始フラグを検出したら、次の1バイトからIPの指定を判断し、自分宛だったら続けて送られてくる精度情報に従って、パラメータを取り込む。自分宛でなかったら、続いて送られてくるデータを無視し、5バイト分の連続した1を検出して通信の終了を知る。パラメータ中に1が5バイト以上連続するデータがある場合は、連続した4バイトの1の次には必ず1バイトの0を挿入し、受信する場合はその0を取り除く操作を行うことによって、通信終了の誤判定を防ぐ。
IPコアとACU間ではIPコアの論理アドレスとACUの実アドレスの変換が必要となる。ACU間の通信フォーマットを図2に示す。同図(a)に示す送信データでは、IPコア指定にはIPコアからの論理送信アドレスをそのACUのアドレスに送信先アドレスとして付加し、続けて、送信するACUのアドレスを送信元アドレスとして付加して送信する。指定したIPコアで処理された結果は、同図(b)に示すようにIPコア指定の送信元アドレスと送信先アドレスを逆にして、バスに送出する。
[通信制御ユニット(ACU)の説明]
通信制御ユニットACUが開発元の異なるIPコアとのインタフェースをとることでIPコアの再利用を容易にし、課題となっていた各種IPコアの標準化の問題を解決する。さらに、チップ上でのネットワークを形成するにあたり、従来のバス型ネットワークではバス調停機構の問題があるが、ACUがコンピュータネットワークで用いられているトークン方式でバスの使用権を制御することで、バス調停機構は不要とする。
ACUの特徴として、すべて全く同じアーキテクチャであり、接続するIPコアに合わせた設定をする必要は無く、単純にIPコアと接続するだけでIPコア間の通信を行うことができる。さらにゲート数も5Kゲートほどなので数千万ゲート規模のSoCのような超高集積回路内というような現状を考えると問題とならない規模で実現できる。
ACU10の構成を図3に示し、動作シミュレーションを図4に示し、IPコア11の論理アドレスをACU10の実アドレスに変換するテーブル12の例を図5に示してある。
図3において、トークン制御ブロック12はトークン通知線、トークン終了検知線、通信要求の有無によってトークンを保持するかパスするかを管理し、また初期トークンを作る機構部分である。トークン制御ブロック12は、図4(a)に示すように、任意に指定できるACU10で一定時間(任意に指定できる)経過したら初期トークンを出力する。IPコアからの通信要求があり(IP_y=0)、トークン通知線からトークンが入力されたとき(t_in=0)、IPコア11への通信許可(IP_k=0)を出力し、トークンを保持する(keep_t=0)。保持したトークンはデータ通信が終了したら次のACU10ヘトークンをパスする(t_out=0)。IPコア11からの通信要求がなければ次のACU10ヘトークンをパスする。トークンを確実にパスするため、トークン通知線とトークン終了検知線とはハンドシェイク方式を採用している。これによりトークン通知線がアクティブになったら直前のACU10のトークン終了検知線をアクティブにし(f_out=0)、トークン通知を終了する。このトークンに相当するアクティブ信号をループ状にパスしていくことでバスの使用権を決定する。また、なんらかのエラーでトークンが消滅してしまった場合、任意に指定した機構が一定時間経過することで新たなトークンを出力する(初期トークンの出力と同様な状態)。
アドレス変換ブロック13は、IPコア11からデータ(core_data)を送信する場合、図4(b)に示すように、送信先のIPコア11の論理アドレスをACU10の物理アドレスに変換し(01→21)、送信元のACUアドレス(address_a=24)を付加し、オンチップバス16にデータ(bus_data)を送出する。送信後、指定したIPコア11からそのIPコアのADU10に返送された処理結果は、アドレス判別ブロック14で一時保存していた送信元アドレスデータを送信先アドレスとし、元々の送信先アドレスを送信元アドレスとして、オンチップバス16にデータを送出し、送信元のACU10に返送する。
アドレス判別ブロック16はオンチップバス16から送られてくるデータが自宛であるかを判別する。図4(c)に示すように、自宛でなければ続けて送られてくるアドレス以降のデータを無視する。自宛であれば、続けて送られてくるパラメータを取り込み、IPコア11へ通信要求(ACU_req=0)を出力する。IPコア11から通信許可(ACU_ack=0)を得たら、送信元アドレスを取り除いてIPコア11ヘデータ(core_data)を送出する。このとき取り除いた送信元アドレスは、IPコア11で処理されたデータを送信元のIPコア11へ返送するために一時保存される(address_b=24)。
エラー判別ブロック15はオンチップバス16ヘ出力されるデータをその出力と同時に取り込み、オンチップバス16へ出力する前のデータと比較する。そして出力後のデータが出力前のデータと違っていたらオンチップバス16上でデータが衝突していると判断する。これは本来1つであるべきトークンが誤動作で2つ以上存在してしまった結果生じたことであるので、エラー信号を出力して(該当するIPコア11に対しては精度情報を“0”として再送要求を行う)ACU10を初期化する(つまり、トークンを非アクティブにし、トークンが全くない初期状態にする)。
[通信制御機構]バスの使用権はトークン方式によって決定する。この方式を用いることで、バス方式で問題となるバス調停機構を必要とすることなく、極めて単純な構成でバスの使用権を制御することができる。通信機構の通信例として、トークン方式と図6におけるIPコア(2)からIPコア(N)へ通信を行う場合の流れを順序立てて説明する。
IPコア(2)からIPコア(N)へのデータは、IPコア(2)に接続されている自分のACU(2)に通信要求信号が入力されているときにトークンを取得することでACU(2)はIPコア(2)に通信許可信号を出力する。
許可を得たIPコア(2)は接続されているACU(2)ヘデータを送る。ACU(2)はデータの送信先アドレス(IPコア(N)のアドレス)をオンチップバス16側アドレス(ACU(N)のアドレス)に変換し、続けてACU(2)の送信元アドレスを付加したデータをバス16上に送出する。
各ACU(1)〜ACU(N)はメッセージの開始を検知すると、一斉にメッセージを取り込み、送信先アドレスと自分のアドレスを比較し、一致(この場合はIPコア(N))したものだけが続けて送られてくるパラメータを取り込み、接続されているIPコアへ通信要求を出力する。IPコア(N)から通信許可が得られたら、IPコア(N)に接続されているACU(N)は送信元アドレス(IPコア(2)のアドレス)をACU(N)に一時保存し、それを取り除いたデータをIPコア(N)へ送出する。
IPコア(N)で処理されたデータは、接続されているACU(2)へ返送され、一時保存していた送信元アドレス(IPコア(2)のアドレス)を処理後のデータの送信先アドレスとし、バス16上に送出する。ACU(2)の送信時と同様に、すべてのACU(1)〜ACU(N)がアドレス判別を行い、アドレスが一致したIPコア(2)のACU(2)だけが続けて送られてくるIPコア(N)の処理結果を受信し、IPコア(2)に送出する。通信終了後、トークンはトークン通知線によって次のACUであるACU3ヘパスされる。これによって次はIPコア(3)がバスの使用権を得る。
IPコア(N)に接続されているACU(N)からトークンがパスされた場合は、IPコア(1)に接続されているACU(1)ヘパスされるというように通知線をループ状に構成することでトークンを循環させる。
以上のように、本実施の形態のIPコア間の通信方式によれば、供給元の異なるIPコア間のインタフェースの標準化がメッセージとパラメータの通信だけとなり、単純なメッセージ通信によってIPコア間の通信を行うことができる。また、IPコアを1オブジェクトとして捉えることによってソフトウェアのように柔軟性のあるモジュールとして考えることができるため、新たにIPコアを付加しようとした揚合でも容易に対応できる。オブジェクト指向ハードウェア設計法により使用者は内部仕様を知る必要がなく、多くのIPコアを容易に集積化することが可能である。
本発明の1つの実施の形態のIPコア間の通信方式において採用したIPコア間の通信データフォーマットのブロック図。 上記実施の形態におけるACU間の通信データフォーマットのブロック図。 上記実施の形態のIPコア間の通信方式において採用したACUモジュールのブロック図。 上記実施の形態におけるACUモジュールによる通信動作のシミュレーション結果を示す説明図。 上記実施の形態においてACUモジュールとIPコアとのアドレス対照表。 上記実施の形態のIPコア間の通信方式を使用するIPコア間のネットワーク接続を示すブロック図。
符号の説明
10 ACU(接続制御ユニット)
11 IPコア
12 トークン制御ブロック
13 アドレス変換ブロック
14 アドレス判別ブロック
15 エラー判別ブロック
16 オンチップバス

Claims (1)

  1. 複数のIPコアと共通のオンチップバスとの間それぞれに接続制御ユニットを配置し、各IPコアと接続された接続制御ユニット間をトークン方式によって連係させたことを特徴とするIPコア間の通信方式。

JP2006058431A 2006-03-03 2006-03-03 Ipコア間の通信方法及びそれを使用する集積回路 Pending JP2007233976A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006058431A JP2007233976A (ja) 2006-03-03 2006-03-03 Ipコア間の通信方法及びそれを使用する集積回路

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006058431A JP2007233976A (ja) 2006-03-03 2006-03-03 Ipコア間の通信方法及びそれを使用する集積回路

Publications (1)

Publication Number Publication Date
JP2007233976A true JP2007233976A (ja) 2007-09-13

Family

ID=38554465

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006058431A Pending JP2007233976A (ja) 2006-03-03 2006-03-03 Ipコア間の通信方法及びそれを使用する集積回路

Country Status (1)

Country Link
JP (1) JP2007233976A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102606224B1 (ko) * 2023-05-25 2023-11-29 메티스엑스 주식회사 프로세스 간 통신을 지원하기 위한 하드웨어 아키텍처를 포함하는 전자 장치 및 프로세스 간 통신을 수행하는 방법

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06232879A (ja) * 1992-12-08 1994-08-19 Matsushita Electric Ind Co Ltd トークン検出制御ネットワーク
JP2002117011A (ja) * 2000-10-06 2002-04-19 Tokyo Denki Univ 集積回路およびその制御方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06232879A (ja) * 1992-12-08 1994-08-19 Matsushita Electric Ind Co Ltd トークン検出制御ネットワーク
JP2002117011A (ja) * 2000-10-06 2002-04-19 Tokyo Denki Univ 集積回路およびその制御方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102606224B1 (ko) * 2023-05-25 2023-11-29 메티스엑스 주식회사 프로세스 간 통신을 지원하기 위한 하드웨어 아키텍처를 포함하는 전자 장치 및 프로세스 간 통신을 수행하는 방법

Similar Documents

Publication Publication Date Title
US10210120B2 (en) Method, apparatus and system to implement secondary bus functionality via a reconfigurable virtual switch
KR20180050728A (ko) 멀티-노드 네트워크에서의 입력/출력 신호 브릿징 및 가상화
US20070180310A1 (en) Multi-core architecture with hardware messaging
US11372787B2 (en) Unified address space for multiple links
US7254603B2 (en) On-chip inter-network performance optimization using configurable performance parameters
JP2011170868A (ja) 改善された計算アーキテクチャ用パイプライン加速器、関連システム、並びに、方法
KR20090104137A (ko) 통합된 고속 패킷 스위칭 방식 직렬 인터페이스를 갖는 프로세서 칩 아키텍처
CN113094309A (zh) 一种数据位宽转换方法和装置
CN110968352B (zh) 一种pcie设备的复位系统及服务器系统
CN105808476B (zh) 跨时钟域数据的传输方法及装置
US7549009B2 (en) High-speed PCI interface system and a reset method thereof
US7529960B2 (en) Apparatus, system and method for generating self-generated strobe signal for peripheral device
JP2007233976A (ja) Ipコア間の通信方法及びそれを使用する集積回路
JP2008187711A (ja) 2つのエンティティ間の通信ゲートウェイ
CN116541329A (zh) 一种数据传输方法、装置、设备及介质
CN116401065A (zh) 一种服务器、异构设备及其数据处理装置
EP2460278A1 (en) Transaction terminator
Attia et al. Design and implementation of low latency network interface for network on chip
WO2022100148A1 (zh) 一种背板通讯设备及其控制方法、存储介质
US5828872A (en) Implementation of high speed synchronous state machines with short setup and hold time signals
CN106354683B (zh) 微控制装置及应用于微控制装置的输入/输出系统
Hayakawa et al. An interface and communication technique between circuit blocks in system LSI.
Lee et al. A phase-based approach for on-chip bus architecture optimization
JP2008042428A (ja) データ処理装置
TWI242719B (en) RS232 adapter and system for time trigged protocol

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090226

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100906

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101124

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110124

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20110222