JP2009145960A - マスタ・スレーブシステム - Google Patents
マスタ・スレーブシステム Download PDFInfo
- Publication number
- JP2009145960A JP2009145960A JP2007319721A JP2007319721A JP2009145960A JP 2009145960 A JP2009145960 A JP 2009145960A JP 2007319721 A JP2007319721 A JP 2007319721A JP 2007319721 A JP2007319721 A JP 2007319721A JP 2009145960 A JP2009145960 A JP 2009145960A
- Authority
- JP
- Japan
- Prior art keywords
- master
- fifo
- input
- slave
- output
- 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.)
- Withdrawn
Links
Images
Abstract
【課題】 マスタとスレーブとでバスのビット幅や動作周波数が異なっている場合であっても、信号が正しく伝達されていることを保証することができるマスタ・スレーブシステムを提供する。
【解決手段】 マスタ12_1からの出力信号を非同期式の第1のFIFO14に入力するとともに、そのマスタ12_1から出力されバス13を経由してきたスレーブ11_1への入力信号を非同期式の第2のFIFO15に入力し、これら第1,第2のFIFO14,15から出力される、互いに対応する出力信号どうしを比較器16で逐次比較し、不一致が検出された場合はエラー信号ERRを出力する。
【選択図】 図1
【解決手段】 マスタ12_1からの出力信号を非同期式の第1のFIFO14に入力するとともに、そのマスタ12_1から出力されバス13を経由してきたスレーブ11_1への入力信号を非同期式の第2のFIFO15に入力し、これら第1,第2のFIFO14,15から出力される、互いに対応する出力信号どうしを比較器16で逐次比較し、不一致が検出された場合はエラー信号ERRを出力する。
【選択図】 図1
Description
本発明は、指示を受けて動作するスレーブとそのスレーブに動作を指示するマスタとがバスを介して接続されてなるマスタ・スレーブシステムに関する。
従来より、マイクロプロセッサやメモリなどの機能が1チップに集積されたSOC(System On Chip:システム オン チップ)が知られている。このようなSOCには、上述したマスタ・スレーブシステムが構築されており、大規模なSOCの開発においては、マスタ・スレーブシステムも複雑化かつ高速化している。例えば、マスタ・スレーブシステムのバスのビット幅がマスタとスレーブとで異なっていたり、マスタとスレーブとで動作周波数が異なっていたりする場合が多い。また、マスタからスレーブに信号が単に正しく伝達されるだけでなく、一定の時間内に伝達されること(以下、レイテンシ制約という)も重要な要件とされ、このレイテンシ制約を満たせなければ不具合とされる。従って、マスタ・スレーブシステムの複雑化かつ高速化に伴って、論理的,物理的な不具合の発生する確率が従来に比べて飛躍的に高くなってきている。
また、近年、半導体集積回路の微細化に伴い、α線などの外的要因等に起因して、その半導体集積回路内に組み込まれたマスタ・スレーブシステムにおいて、信号の伝達を正しく行なうことができないケースが増えてきている。このように様々な要因により、マスタ・スレーブシステムにおいて、マスタからバスを介してスレーブに向けて信号が正しく伝達されていることを保証する何らかの仕組みが必要である。
ここで、特許文献1に、2つのCPUに同じプログラムを与えて同じ動作をさせ、それら出力どうしを比較し、不一致が検出された場合、外部へのデータの出力を停止することにより、データ転送の信頼性が高められた技術が提案されている。
特開2006−338094号公報
ここで、上述した特許文献1に提案された技術を適用して、マスタとスレーブに同じプログラムを与えて動作させ、それらマスタとスレーブから出力される出力信号どうしを比較し、不一致が検出された場合は、マスタ・スレーブシステムにおいて信号が正しく伝達されていないと判定することが考えられる。しかし、マスタとスレーブとでバスのビット幅や動作周波数が異なる場合は、このような技術を適用することは困難である。
本発明は、上記事情に鑑み、マスタとスレーブとでバスのビット幅や動作周波数が異なっている場合であっても、信号が正しく伝達されていることを保証することができるマスタ・スレーブシステムを提供することを目的とする。
上記目的を達成する本発明のマスタ・スレーブシステムは、指示を受けて動作するスレーブとそのスレーブに動作を指示するマスタとがバスを介して接続されてなるマスタ・スレーブシステムであって、
上記マスタからの、上記スレーブに向けた、上記バスに送り込まれる前の出力信号が入力される非同期式の第1のFIFOと、
上記マスタから出力され上記バスを経由してきた上記スレーブへの入力信号が入力される非同期式の第2のFIFOと、
上記第1のFIFOと上記第2のFIFOから出力される、互いに対応する出力信号どうしを比較する比較器とを備えたことを特徴とする。
上記マスタからの、上記スレーブに向けた、上記バスに送り込まれる前の出力信号が入力される非同期式の第1のFIFOと、
上記マスタから出力され上記バスを経由してきた上記スレーブへの入力信号が入力される非同期式の第2のFIFOと、
上記第1のFIFOと上記第2のFIFOから出力される、互いに対応する出力信号どうしを比較する比較器とを備えたことを特徴とする。
本発明のマスタ・スレーブシステムは、マスタからの出力信号を非同期式の第1のFIFOに入力するとともに、そのマスタから出力されバスを経由してきたスレーブへの入力信号を非同期式の第2のFIFOに入力し、これら第1,第2のFIFOから出力される、互いに対応する出力信号どうしを比較するものである。このため、マスタからの出力信号を伝達するバスとスレーブへの入力信号を伝達するバスとで、それらバスのビット幅が異なっている場合や、マスタとスレーブとで動作周波数が異なっている場合であっても、第1,第2のFIFOにより非同期で行なわれる先入れ動作および先出し動作により、互いに異なるビット幅や動作周波数に対応することができる。従って、マスタとスレーブとでバスのビット幅や動作周波数が異なっている場合であっても、信号が正しく伝達されていることを保証することができる。
ここで、上記マスタからの、上記スレーブに向けた、上記バスに送り込まれる前の出力信号が上記第1のFIFOに入力される時刻をその出力信号に対応づけてその第1のFIFOに入力するとともに、上記マスタから出力され上記バスを経由してきた上記スレーブへの入力信号が上記第2のFIFOに入力される時刻をその入力信号に対応づけてその第2のFIFOに入力する第1のタイマをさらに備え、
上記比較器は、上記第1のFIFOと上記第2のFIFOから出力される、互いに対応する出力信号どうしを比較するとともに、その互いに対応する出力信号にそれぞれ対応づけられた時刻どうしの差分を求め、その差分の最大値と最小値を保持するものであることが好ましい。
上記比較器は、上記第1のFIFOと上記第2のFIFOから出力される、互いに対応する出力信号どうしを比較するとともに、その互いに対応する出力信号にそれぞれ対応づけられた時刻どうしの差分を求め、その差分の最大値と最小値を保持するものであることが好ましい。
このようにすると、互いに対応する出力信号どうしを比較した結果、一致していると判定した場合であっても、互いに対応する出力信号にそれぞれ対応づけられた時刻どうしの差分が一定の時間を超えている場合は、マスタからスレーブに信号が一定の時間内に伝達されるというレイテンシ制約を満たしていないと判定することができる。こうすることにより、レイテンシ制約を満たしていることを保証することができる。
また、上記比較器による、上記互いに対応する出力信号どうしの不一致が検出された時点を起点として、その比較器による次の不一致が検出されるまでの時間を計測する第2のタイマを備えたことも好ましい態様である。
このようにすると、比較器で検出される不一致が頻繁に発生しているか否かを知ることができる。
さらに、当該マスタ・スレーブシステムは、上記マスタからの出力信号のデータ幅と上記スレーブへの入力信号のデータ幅が異なるものであって、上記第1のFIFOと上記第2のFIFOのうちの一方のFIFOの前段に、データ幅を変換するデータ幅変換回路を備えたことも好ましい。
このようにすると、マスタとスレーブとの間でビット幅が異なっており、またマスタとスレーブとで動作周波数が異なっている場合であっても、データ幅変換回路でデータ幅が変換され、また第1,第2のFIFOにより非同期で行なわれる先入れ動作および先出し動作により、互いに異なるビット幅や動作周波数に対応することができる。従って、マスタとスレーブとでバスのビット幅や動作周波数が異なっている場合であっても、信号が正しく伝達されていることを保証することができる。
また、当該マスタ・スレーブシステムは、上記マスタが複数存在しこれら複数のマスタが共通のバスに接続されてなるものであって、
上記第1のFIFOの前段に、上記複数のマスタのうちの第1のマスタからの出力信号が入力される非同期式のFIFOと、そのFIFOからの出力信号と第2のマスタからの出力信号とのうちの一方を選択するセレクタと、そのセレクタからの出力信号が入力される非同期式のFIFOとの順に、非同期式のFIFOとセレクタとが交互に配置され、最終のセレクタからの出力信号が上記第1のFIFOに入力されるように接続された第1の信号入力経路を有することも好ましい。
上記第1のFIFOの前段に、上記複数のマスタのうちの第1のマスタからの出力信号が入力される非同期式のFIFOと、そのFIFOからの出力信号と第2のマスタからの出力信号とのうちの一方を選択するセレクタと、そのセレクタからの出力信号が入力される非同期式のFIFOとの順に、非同期式のFIFOとセレクタとが交互に配置され、最終のセレクタからの出力信号が上記第1のFIFOに入力されるように接続された第1の信号入力経路を有することも好ましい。
このように接続された第1の信号入力経路を有すると、複数のマスタのうちのいずれかのマスタからの出力信号を第1のFIFOに格納することができる。このようにすることで、本発明のマスタ・スレーブシステムが組み込まれたLSIの製造後であっても、例えば外部ピンを経由して、検証したいマスタを自在に指定することができる。
さらに、当該マスタ・スレーブシステムは、上記スレーブが複数存在しこれら複数のスレーブが共通のバスに接続されてなるものであって、
上記第2のFIFOの前段に、上記複数のスレーブのうちの第1のスレーブへの入力信号が入力される非同期式のFIFOと、そのFIFOからの出力信号と第2のスレーブへの入力信号とのうちの一方を選択するセレクタと、そのセレクタからの出力信号が入力される非同期式のFIFOとの順に、非同期式のFIFOとセレクタとが交互に配置され、最終のセレクタからの出力信号が上記第2のFIFOに入力されるように接続された第2の信号入力経路を有することも好ましい態様である。
上記第2のFIFOの前段に、上記複数のスレーブのうちの第1のスレーブへの入力信号が入力される非同期式のFIFOと、そのFIFOからの出力信号と第2のスレーブへの入力信号とのうちの一方を選択するセレクタと、そのセレクタからの出力信号が入力される非同期式のFIFOとの順に、非同期式のFIFOとセレクタとが交互に配置され、最終のセレクタからの出力信号が上記第2のFIFOに入力されるように接続された第2の信号入力経路を有することも好ましい態様である。
このように接続された第2の信号入力経路を有すると、複数のスレーブのうちのいずれかのスレーブへの入力信号を第2のFIFOに格納することができる。このようにすることで、本発明のマスタ・スレーブシステムが組み込まれたLSIの製造後であっても、例えば外部ピンを経由して、検証したいスレーブを自在に指定することができる。
本発明のマスタ・スレーブシステムによれば、マスタとスレーブとでバスのビット幅や動作周波数が異なっている場合であっても、信号が正しく伝達されていることを保証することができる。
以下、図面を参照して本発明の実施の形態を説明する。
図1は、本発明の第1実施形態のマスタ・スレーブシステムの構成を示す図である。
図1に示すマスタ・スレーブシステム1には、指示を受けて動作するスレーブ11_1,11_2,11_3が備えられている。また、このマスタ・スレーブシステム1には、スレーブ11_1,11_2,11_3に動作を指示するマスタ12_1,12_2,12_3が備えられている。スレーブ11_1,11_2,11_3とマスタ12_1,12_2,12_3とは、バス13を介して接続されている。
さらに、マスタ・スレーブシステム1には、マスタ12_1からの、スレーブ11_1に向けた、バス13に送り込まれる前の出力信号が入力される非同期式の第1のFIFO(First In First Out)14が備えられている。
また、マスタ・スレーブシステム1には、マスタ12_1から出力されバス13を経由してきたスレーブ11_1への入力信号が入力される非同期式の第2のFIFO15が備えられている。
さらに、マスタ・スレーブシステム1には、第1のFIFO14と第2のFIFO15から出力される、互いに対応する出力信号どうしを比較する比較器16が備えられている。詳細には、この比較器16は、これらの出力信号どうしを逐次比較し、不一致が検出された場合はエラー信号ERRを出力する。
図2は、図1に示す第1のFIFOの書き込み用ポートおよび読み出し用ポートにおける信号を示す図、図3は、図2に示す第1のFIFOの動作を説明するためのタイミング図である。
尚、図1に示す第2のFIFO15の各ポートにおける信号および動作も、以下に説明する第1のFIFO14の各ポートにおける信号および動作と同じである。
図2に示す第1のFIFO14は、非同期で先入れ動作と先出し動作とを行なう8段のデータバッファであり、図2の左側には書き込み用ポートの信号が示されており、また図2の右側には読み出し用ポートの信号が示されている。図2に示す第1のFIFO14には、図3に示す書き込み用のクロックWCLKおよび読み出し用のクロックRCLKが入力される。また、マスタ12_1からの出力信号WD(出力データ)が入力される。最初の時点では、第1のFIFO14には、マスタ12_1からの出力データは格納されておらず、従って出力データがフルの状態にある場合に‘H’レベルとなるフル信号FULLは‘L’レベルにある。また、エンプティ信号EMPTYは、この第1のFIFO14が空の状態であることを示す‘H’レベルにある。また、図3に示すFIFOデータ格納数は0である。
ここで、第1のFIFO14に、書き込み許可信号WEとして‘H’レベルが入力される。次いで、マスタ12_1から出力データWD0,WD1,WD2,WD3が順次に入力される。これにより、第1のFIFO14には4つのデータが格納される。このため、第1のFIFO14のデータ格納数は4になる。また、エンプティ信号EMPTYが‘L’レベルになるとともに、‘H’レベルの読み出し許可信号REが入力される。すると、第1のFIFO14に格納されている出力データWD0,WD1,WD2,WD3が、出力データWD0から順に読み出される。先ず、出力データWD0がデータRD0として読み出され、これにより第1のFIFO14のデータ格納数は3になる。次いで、出力データWD1がデータRD1として読み出され、これにより第1のFIFO14のデータ格納数は2になる。ここで、出力データWD4が入力されるとともに、出力データWD2がデータRD2として読み出される。従って、第1のFIFO14のデータ格納数は2の状態のままである。次いで、出力データWD5が入力される。すると、第1のFIFO14のデータ格納数は3になる。次いで、出力データWD3がデータRD3として読み出され、データ格納数は2になり、さらに出力データWD4がデータRD4として読み出され、データ格納数は1になる。
次いで、出力データWD6が入力される。このため、データ格納数は再び2になり、さらに出力データWD5がデータRD5として読み出されるため、データ格納数は1になる。次いで、出力データWD7が入力されるため、データ格納数は2になる。さらに、出力データWD6がデータRD6として読み出されてデータ格納数は1になり、最後に出力データWD7がデータRD7として読み出されてデータ格納数は0になる。このように、第1のFIFO14では、マスタ12_1からの出力データを格納するための先入れ動作と、格納された出力データを読み出すための先出し動作とが非同期で行なわれる。尚、ここでは、マスタ12_1からの出力データが格納される第1のFIFO14の先入れ動作と先出し動作とが非同期で行なわれる例について説明したが、マスタ12_1から出力されバス13を経由してきたスレーブ11_1への入力信号(入力データ)が入力される第2のFIFO15の先入れ動作と先出し動作も、この第1のFIFO14の動作と同様にして非同期で行なわれる。
第1のFIFO14から出力される出力信号と、その信号に対応して出力される第2のFIFO15から出力される出力信号とは比較器16に入力され、比較器16では、これら出力信号どうしが逐次比較され、不一致が検出された場合はエラー信号ERRが出力される。
第1実施形態のマスタ・スレーブシステム1は、マスタ12_1からの出力信号を非同期式の第1のFIFO14に入力するとともに、そのマスタ12_1から出力されバス13を経由してきたスレーブ11_1への入力信号を非同期式の第2のFIFO15に入力し、これら第1,第2のFIFO14,15から出力される、互いに対応する出力信号どうしを比較器16で逐次比較し、不一致が検出された場合はエラー信号ERRを出力するものである。このため、マスタ12_1からの出力信号を伝達するバスとスレーブ11_1への入力信号を伝達するバスとで、それらバスのビット幅が異なっている場合や、マスタ12_1とスレーブ11_1とで動作周波数が異なっている場合であっても、第1,第2のFIFO14,15により非同期で行なわれる先入れ動作および先出し動作により、互いに異なるビット幅や動作周波数に対応することができる。従って、マスタ12_1とスレーブ11_1とでバスのビット幅や動作周波数が異なっている場合であっても、信号が正しく伝達されていることを保証することができる。
また、第1実施形態のマスタ・スレーブシステム1は、上述した第1,第2のFIFO14,15を備えたことにより、マスタ12_1およびスレーブ11_1の動作周波数の選択幅を広げることができるとともに、マスタ12_1から出力される出力信号とスレーブ11_1に入力される入力信号との間で発生する遅延時間を吸収することができ、従ってマスタ12_1とスレーブ11_1の配置・配線を自在にレイアウトすることができ、回路設計の面でも難易度が下がるという効果を有する。
図4は、本発明の第2実施形態のマスタ・スレーブシステムの構成を示す図である。
尚、前述した図1に示すマスタ・スレーブシステム1における構成要素と同じ構成要素には同一の符号を付し、異なる点について説明する。
図4に示すマスタ・スレーブシステム2には、上述したマスタ12_1,12_2,12_3とスレーブ11_1,11_2,11_3とバス13とに加えて、タイマ21と、第1,第2のFIFO24,25と、比較器26と、レイテンシ_maxレジスタ27と、レイテンシ_minレジスタ28とが備えられている。尚、タイマ21は、本発明の第1のタイマの一例に相当するものである。
タイマ21は、現在時刻をカウントするフリーランカウンタであり、このタイマ21は、マスタ12_1からの、スレーブ11_1に向けた、バス13に送り込まれる前の出力信号が第1のFIFO24に入力される時刻をその出力信号に対応づけて第1のFIFO24に入力する。また、マスタ12_1から出力されバス13を経由してきたスレーブ11_1への入力信号が第2のFIFO25に入力される時刻をその入力信号に対応づけて第2のFIFO25に入力する。
比較器26は、第1のFIFO24と第2のFIFO25から出力される、互いに対応する出力信号どうしを比較するとともに、上記互いに対応する出力信号にそれぞれ対応づけられた時刻どうしの差分を求めるものである。比較器26では、互いに対応する出力信号どうしを比較した結果、一致していると判定した場合であっても、互いに対応する出力信号にそれぞれ対応づけられた時刻どうしの差分が一定の時間を超えている場合は、レイテンシ制約を満たしていないと判定して、エラー信号ERRを出力する。このようにすることにより、レイテンシ制約を満たしていることを保証することができる。
また、比較器26からは、上記差分の値を示すレイテンシ値Lが出力される。このレイテンシ値Lは、レイテンシ_maxレジスタ27およびレイテンシ_minレジスタ28に入力される。ここで、レイテンシ_maxレジスタ27には、現在までのレイテンシ値Lの最大値が格納される。一方、レイテンシ_minレジスタ28には、現在までのレイテンシ値Lの最小値が格納される。これらレイテンシ値Lの最大値,最小値により、実際にどの程度のレイテンシで信号の転送が行なわれているのかを知ることができる。尚、レイテンシ_maxレジスタ27に格納されたレイテンシ値Lの最大値が所定の値を超えていた場合は、このマスタ・スレーブシステム2は不具合であるとされる。
図5は、本発明の第3実施形態のマスタ・スレーブシステムの構成を示す図である。
図5に示すマスタ・スレーブシステム3は、図1に示すマスタ・スレーブシステム1と比較し、タイマ31とエラータイムレジスタ32が追加されている点が異なっている。
タイマ31は、本発明にいう第2のタイマの一例に相当するものであり、このタイマ31は、比較器16による、互いに対応する出力信号どうしの不一致が検出された時点を起点として、比較器16による次の不一致が検出されるまでの時間を計測する役割りを担うものである。具体的には、このタイマ31は、フリーランカウンタであり、最大値までカウントするとそこでストップするカウンタであり、エラータイムレジスタ32に向けて現在計測している時刻を出力する。
エラータイムレジスタ32には、タイマ31からの時刻と比較器16からのエラー信号ERRが入力される。このエラータイムレジスタ32は、比較器16からのエラー信号ERRを受けた時点におけるタイマ31の時刻(エラーが検出された時点の時刻)を格納する。この時点でタイマ31はリセットされ、再び次の不一致が検出されるまでの時間の計測を開始する。ここで、再度比較器16で不一致が検出されてエラー信号ERRが出力されると、その時点におけるタイマ31の時刻がエラータイムレジスタ32に格納される。このようにすることにより、比較器16で検出される不一致が頻繁に発生しているか否かを知ることができる。尚、頻繁に発生している場合は、このマスタ・スレーブシステム3は不具合であるとされる。
図6は、本発明の第4実施形態のマスタ・スレーブシステムの構成を示す図である。
図6に示すマスタ・スレーブシステム4には、バス幅が64ビットで且つ266MHzの周波数で動作するスレーブ41_1,41_2,41_3が備えられている。また、このマスタ・スレーブシステム4には、バス幅が32ビットで且つ200MHzの周波数で動作するマスタ42_1,42_2,42_3が備えられている。
また、マスタ・スレーブシステム4には、マスタ42_1からの、スレーブ41_1に向けた、バス13に送り込まれる前の出力信号が入力される非同期式の第1のFIFO44が備えられている。第1のFIFO44には、200MHzの周波数と266MHzの周波数のクロック信号が入力される。また、第1のFIFO44の前段には、データ幅を32ビットから64ビットに変換するデータ幅変換回路47が備えられている。
さらに、マスタ・スレーブシステム4には、マスタ42_1から出力されバス13を経由してきたスレーブ41_1への入力信号が入力される非同期式の第2のFIFO45が備えられている。また、第1のFIFO44と第2のFIFO45から出力される、互いに対応する出力信号どうしを比較する比較器46が備えられている。さらに、図7、図8を参照して説明を続ける。
図7は、図6に示す第1のFIFOおよびデータ幅変換回路を示す図、図8は、図6に示すデータ幅変換回路の構成を示す図である。
図7に示すデータ幅変換回路47には、クロック信号CLKとして200MHzの周波数のクロック信号が入力される。また、第1のFIFO44には、クロック信号WCLKとして上記200MHzの周波数のクロック信号が入力される。さらに、第1のFIFO44には、クロック信号RCLKとして266MHzの周波数のクロック信号が入力される。
また、データ幅変換回路47には、マスタ42_1からの32ビットの出力データWD[31:0]が入力される。さらに、このデータ幅変換回路47には、書き込みアドレスのうちの2ビット目のアドレスWA[2]が入力される。ここで、アドレスWA[2]が0の場合は、マスタ42_1からの最初の32ビットの出力データWD[31:0]であることを示し、アドレスWA[2]が1の場合は、マスタ42_1からの次の32ビットの出力データWD[31:0]であることを示す。
さらに、データ幅変換回路47には、マスタ42_1からの32ビットの出力データWD[31:0](8ビット×4バイト)のうちどの部分の出力データの書き込みを許可するのかを示すバイトイネーブル信号BE[3:0]が入力される。BE[0]がWD[7:0]、BE[1]がWD[15:8]、BE[2]がWD[23:16]、BE[3]がWD[31:24]に対応する。
また、図8に示すように、データ幅変換回路47には、書き込み制御回路47_1と、8個のバッファ47_20,…,47_27と、読み出し制御回路47_3とが備えられている。バッファ47_20,…,47_27には、それぞれ、バイト[7:0]を格納するバッファ部47_20aおよびエンプティビットempty47_20b,…,バイト[63:56]を格納するバッファ部47_27aおよびエンプティビットempty47_27bが備えられている。書き込み制御回路47_1では、上記アドレスWA[2]およびバイトイネーブル信号BE[3:0]により、8つのバッファ47_20,…,47_27のうちのどのバッファに、マスタ42_1からの出力データを書き込むのかを決定し、決定したバッファのバッファ部に出力データを書き込むとともに、そのバッファのエンプティビットemptyに0を書き込む。ここで、バイトイネーブル信号BE[3:0]の複数のビットが1になっている場合、複数のバッファのバッファ部およびエンプティビットemptyに同時に書き込まれることとなる。
ここで、マスタ42_1からの出力データの終了を示す転送終了信号finishがアサートされるか、8つのバッファ47_20,…,47_27全てのエンプティビットempty47_20b,…,47_27bが0になったとき、読み出し制御回路47_3は、各バッファ47_20,…,47_27の出力データを、読み出しデータRD[63:0]として出力する。また、エンプティビットempty47_20b,…,47_27bを、出力バイトイネーブルデータBE_out[7:0]として出力する。また、読み出し制御回路47_3は、第1のFIFO44への出力データ書き込み許可信号WE_FIFOを出力(アサート)し、読み出しデータRD[63:0]および出力バイトイネーブルデータBE_out[7:0]を第1のFIFO44に出力する。このようにして、データ幅変換回路47で、データ幅を32ビットから64ビットに変換する。
第4実施形態のマスタ・スレーブシステム4では、200MHzの周波数で動作するマスタ42_1からの32ビットの出力信号を伝達するバスと、266MHzの周波数で動作するスレーブ41_1への64ビットの入力信号を伝達するバスとの間でデータ転送が行なわれる。このように、マスタ42_1とスレーブ41_1との間でビット幅が異なっており、またマスタ42_1とスレーブ41_1とで動作周波数が異なっている場合であっても、データ幅変換回路47でデータ幅が32ビットから64ビットに変換され、また第1,第2のFIFO44,45により非同期で行なわれる先入れ動作および先出し動作により、互いに異なるビット幅や動作周波数に対応することができる。従って、マスタ42_1とスレーブ41_1とでバスのビット幅や動作周波数が異なっている場合であっても、信号が正しく伝達されていることを保証することができる。
図9は、本発明の第5実施形態のマスタ・スレーブシステムの構成を示す図である。
図9に示すマスタ・スレーブシステム5は、第1のFIFO14の前段に、3つのマスタ12_1,12_2,12_3のうちのマスタ12_1からの出力信号が入力される非同期式のFIFO51と、そのFIFO51からの出力信号とマスタ12_2からの出力信号とのうちの一方を選択するセレクタ52と、そのセレクタ52からの出力信号が入力される非同期式のFIFO53と、そのFIFO53からの出力信号とマスタ12_3からの出力信号とのうちの一方を選択するセレクタ54との順に、非同期式のFIFOとセレクタとが交互に配置され、最終のセレクタ54からの出力信号が第1のFIFO14に入力されるように接続された第1の信号入力経路を有する。ここで、FIFO51,52は、各マスタ12_1,12_2,12_3間の動作速度調整用および互いにかけ離れた位置にレイアウトされた場合であっても信号のタイミングを調整することができるように設けられている。
また、このマスタ・スレーブシステム5は、第2のFIFO15の前段に、3つのスレーブ11_1,11_2,11_3のうちのスレーブ11_1への入力信号が入力される非同期式のFIFO55と、そのFIFO55からの出力信号とスレーブ11_2への入力信号とのうちの一方を選択するセレクタ56と、そのセレクタ56からの出力信号が入力される非同期式のFIFO57と、そのFIFO57からの出力信号とスレーブ11_3への入力信号とのうちの一方を選択するセレクタ58との順に、非同期式のFIFOとセレクタとが交互に配置され、最終のセレクタ58からの出力信号が第2のFIFO15に入力されるように接続された第2の信号入力経路を有する。ここで、FIFO55,57は、各スレーブ11_1,11_2,11_3間の動作速度調整用および互いにかけ離れた位置にレイアウトされた場合であっても信号のタイミングを調整することができるように設けられている。
第5実施形態のマスタ・スレーブシステム5は、上記第1の信号入力経路を有するため、比較対象マスタ(検証したいマスタ)を選択可能にすることができる。即ち、3つのマスタ12_1,12_2,12_3のうちのいずれか1つのマスタからの出力信号を第1のFIFO14に格納することができる。また、上記第2の信号入力経路を有するため、比較対象スレーブ(検証したいスレーブ)を選択可能にすることができる。即ち、3つのスレーブ11_1,11_2,11_3のうちのいずれか1つのスレーブへの入力信号を第2のFIFO15に格納することができる。このようにすることで、このマスタ・スレーブシステム5が組み込まれたLSIの製造後であっても、例えば外部ピンを経由して、検証したいマスタやスレーブを自在に指定することができる。
1,2,3,4,5 マスタ・スレーブシステム
11_1,11_2,11_3,41_1,41_2,41_3 スレーブ
12_1,12_2,12_3,42_1,42_2,42_3 マスタ
13 バス
14,24,44 第1のFIFO
15,25,45 第2のFIFO
16,26,46 比較器
21,31 タイマ
27 レイテンシ_maxレジスタ
28 レイテンシ_minレジスタ
32 エラータイムレジスタ
47 データ幅変換回路
47_1 書き込み制御回路
47_3 読み出し制御回路
47_20,…,47_27 バッファ
47_20a,…,47_27a バッファ部
47_20b,…,47_27b エンプティビットempty
51,53,55,57 FIFO
52,54,56,58 セレクタ
11_1,11_2,11_3,41_1,41_2,41_3 スレーブ
12_1,12_2,12_3,42_1,42_2,42_3 マスタ
13 バス
14,24,44 第1のFIFO
15,25,45 第2のFIFO
16,26,46 比較器
21,31 タイマ
27 レイテンシ_maxレジスタ
28 レイテンシ_minレジスタ
32 エラータイムレジスタ
47 データ幅変換回路
47_1 書き込み制御回路
47_3 読み出し制御回路
47_20,…,47_27 バッファ
47_20a,…,47_27a バッファ部
47_20b,…,47_27b エンプティビットempty
51,53,55,57 FIFO
52,54,56,58 セレクタ
Claims (6)
- 指示を受けて動作するスレーブと該スレーブに動作を指示するマスタとがバスを介して接続されてなるマスタ・スレーブシステムであって、
前記マスタからの、前記スレーブに向けた、前記バスに送り込まれる前の出力信号が入力される非同期式の第1のFIFOと、
前記マスタから出力され前記バスを経由してきた前記スレーブへの入力信号が入力される非同期式の第2のFIFOと、
前記第1のFIFOと前記第2のFIFOから出力される、互いに対応する出力信号どうしを比較する比較器とを備えたことを特徴とするマスタ・スレーブシステム。 - 前記マスタからの、前記スレーブに向けた、前記バスに送り込まれる前の出力信号が前記第1のFIFOに入力される時刻を該出力信号に対応づけて該第1のFIFOに入力するとともに、前記マスタから出力され前記バスを経由してきた前記スレーブへの入力信号が前記第2のFIFOに入力される時刻を該入力信号に対応づけて該第2のFIFOに入力する第1のタイマをさらに備え、
前記比較器は、前記第1のFIFOと前記第2のFIFOから出力される、互いに対応する出力信号どうしを比較するとともに、該互いに対応する出力信号にそれぞれ対応づけられた時刻どうしの差分を求め、その差分の最大値と最小値を保持するものであることを特徴とする請求項1記載のマスタ・スレーブシステム。 - 前記比較器による、前記互いに対応する出力信号どうしの不一致が検出された時点を起点として、該比較器による次の不一致が検出されるまでの時間を計測する第2のタイマを備えたことを特徴とする請求項1又は2記載のマスタ・スレーブシステム。
- 当該マスタ・スレーブシステムは、前記マスタからの出力信号のデータ幅と前記スレーブへの入力信号のデータ幅が異なるものであって、前記第1のFIFOと前記第2のFIFOのうちの一方のFIFOの前段に、データ幅を変換するデータ幅変換回路を備えたことを特徴とする請求項1から3のうちいずれか1項記載のマスタ・スレーブシステム。
- 当該マスタ・スレーブシステムは、前記マスタが複数存在しこれら複数のマスタが共通のバスに接続されてなるものであって、
前記第1のFIFOの前段に、前記複数のマスタのうちの第1のマスタからの出力信号が入力される非同期式のFIFOと、該FIFOからの出力信号と第2のマスタからの出力信号とのうちの一方を選択するセレクタと、該セレクタからの出力信号が入力される非同期式のFIFOとの順に、非同期式のFIFOとセレクタとが交互に配置され、最終のセレクタからの出力信号が前記第1のFIFOに入力されるように接続された第1の信号入力経路を有することを特徴とする請求項1から4のうちいずれか1項記載のマスタ・スレーブシステム。 - 当該マスタ・スレーブシステムは、前記スレーブが複数存在しこれら複数のスレーブが共通のバスに接続されてなるものであって、
前記第2のFIFOの前段に、前記複数のスレーブのうちの第1のスレーブへの入力信号が入力される非同期式のFIFOと、該FIFOからの出力信号と第2のスレーブへの入力信号とのうちの一方を選択するセレクタと、該セレクタからの出力信号が入力される非同期式のFIFOとの順に、非同期式のFIFOとセレクタとが交互に配置され、最終のセレクタからの出力信号が前記第2のFIFOに入力されるように接続された第2の信号入力経路を有することを特徴とする請求項1から5のうちいずれか1項記載のマスタ・スレーブシステム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007319721A JP2009145960A (ja) | 2007-12-11 | 2007-12-11 | マスタ・スレーブシステム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007319721A JP2009145960A (ja) | 2007-12-11 | 2007-12-11 | マスタ・スレーブシステム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2009145960A true JP2009145960A (ja) | 2009-07-02 |
Family
ID=40916536
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007319721A Withdrawn JP2009145960A (ja) | 2007-12-11 | 2007-12-11 | マスタ・スレーブシステム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2009145960A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120096199A1 (en) * | 2010-10-13 | 2012-04-19 | Beomhak Lee | Bus system including id converter and converting method thereof |
-
2007
- 2007-12-11 JP JP2007319721A patent/JP2009145960A/ja not_active Withdrawn
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120096199A1 (en) * | 2010-10-13 | 2012-04-19 | Beomhak Lee | Bus system including id converter and converting method thereof |
US9021169B2 (en) * | 2010-10-13 | 2015-04-28 | Samsung Electronics Co., Ltd. | Bus system including ID converter and converting method thereof |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI474320B (zh) | 雙倍資料率虛擬靜態隨機存取記憶體及其控制器、存取與操作方法、寫入與讀取方法 | |
JP4936506B2 (ja) | メモリ制御回路及びメモリ制御方法 | |
US8356203B2 (en) | Asynchronous interface circuit and data transfer method | |
WO2009093680A1 (ja) | マルチプロセッサシステムおよびマルチプロセッサシステムの同期方法 | |
US9164951B2 (en) | Multiprocessor system, execution control method and execution control program | |
EP2808801B1 (en) | Multiple data rate memory with read timing information | |
US10860518B2 (en) | Integrated circuit system | |
WO2018217341A1 (en) | Error detection code hold pattern synchronization | |
JP4198376B2 (ja) | バスシステム及びバスシステムを含む情報処理システム | |
JP2007048280A (ja) | バスモニタリングのための集積回路装置及びその方法 | |
JP2004062630A (ja) | Fifoメモリ及び半導体装置 | |
JP2002175687A (ja) | 非同期fifo回路 | |
JP2005196782A (ja) | メモリエミュレーションモジュールを用いて高速でテストできるエンベデッドmcu、及びそのテスト方法 | |
US7953999B2 (en) | Semiconductor integrated circuit device and method of operating the same | |
JP4757582B2 (ja) | データ転送動作終了検知回路及びこれを備える半導体記憶装置 | |
JP2009145960A (ja) | マスタ・スレーブシステム | |
US9378782B1 (en) | Apparatus with write-back buffer and associated methods | |
JP5433156B2 (ja) | メモリ制御回路 | |
US11841782B2 (en) | Semiconductor device and debugging system | |
JP4249741B2 (ja) | バスシステム及びバスシステムを含む情報処理システム | |
KR100532608B1 (ko) | 직/병렬화회로를 구비한 버스시스템 | |
US7409479B2 (en) | Semiconductor integrated circuit | |
JP2007272562A (ja) | Fifoメモリ | |
JP5811544B2 (ja) | 集積装置、情報処理システム、および、処理方法 | |
JP5320312B2 (ja) | バス・コントロールユニットおよびマイクロコンピュータ |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20110301 |