トップ :: G 物理学 :: G06 計算;計数




【発明の名称】 PCIマスタデバイス及びこれを含むPCIバスシステム
【発明者】 【氏名】虻川 大樹
【住所又は居所】神奈川県川崎市高津区坂戸3丁目2番1号 富士通エルエスアイテクノロジ株式会社内

【氏名】蓮實 直信
【住所又は居所】神奈川県川崎市高津区坂戸3丁目2番1号 富士通エルエスアイテクノロジ株式会社内

【要約】 【課題】簡単な構成で、PCIマスタデバイスのクロック入力端子からフリップフロップのクロック入力端までのクロック遅延を減少させて出力データ確定時間を短縮しても、通常動作に影響なく該フリップフロップのセットアップタイムの最小条件を容易に満たす。

【解決手段】アドレスフェーズ終了から4クロックサイクル以内のクロック信号の各立ち上がりでデバイスセレクション信号のアサートが検出されなかった場合にトランザクションをアボートするアボート回路20を備え、アボートする場合にトランザクション終了開始のタイミングを1クロック遅延させるようにアボート回路20中のデータ信号線にDフリップフロップ23が介装されている。該介装は通常動作に影響しないので、通常動作時のトランザクション終了処理は1クロックサイクル遅延することなく開始される。
【特許請求の範囲】
【請求項1】 アドレスフェーズ終了から所定クロックサイクル以内のクロック信号の各アクティブエッジでデバイスセレクション信号のアサートが検出されなかった場合にトランザクションをアボートするアボート回路を備えたPCIマスタデバイスにおいて、アボートする場合にトランザクション終了開始のタイミングを1クロック遅延させるように該アボート回路中のデータ信号線にフリップフロップが介装されていることを特徴とするPCIマスタデバイス。
【請求項2】 上記アボート回路は、アドレスフェーズ終了から所定クロックサイクル以内のクロック信号の各アクティブエッジでデバイスセレクション信号のアサートが検出されなかったことを示す信号を、該所定クロックサイクル以内のクロック信号の最後のアクティブエッジに応答してアサートすることを特徴とする請求項1記載のPCIマスタデバイス。
【請求項3】 上記アサートが検出されなかったことを示す信号は、第1のトランザクション終了処理開始信号であることを特徴とする請求項2記載のPCIマスタデバイス。
【請求項4】 通常動作時にPCIバス規格に従って第2のトランザクション終了信号をアサートするノーマル回路と、データ出力端が対応する信号出力端子に結合された複数のフリップフロップと、上記第1又は該第2のトランザクション終了信号のアサートに応答して、トランザクション終了を示す信号を該複数のフリップフロップから出力させるフリップフロップ制御回路と、をさらに有することを特徴とする請求項3記載のPCIマスタデバイス。
【請求項5】 上記データ信号線は、上記アボート回路を第1及び第2の論理回路に分割する境界上に存在することを特徴とする請求項4記載のPCIマスタデバイス。
【請求項6】 請求項1乃至5のいずれか1つに記載のPCIマスタデバイスと、PCIターゲットデバイスと、ホスト/PCIブリッジと、該PCIマスタデバイス、該PCIターゲットデバイス及び該ホスト/PCIブリッジが接続されたPCIバスと、を有することを特徴とするPCIバスシステム。
【発明の詳細な説明】【0001】
【発明の属する技術分野】本発明は、PCIマスタデバイス及びこれを含むPCIバスシステムに係り、特にアボート発生時のタイミング調整が行われたPCIマスタデバイス及びこれを含むPCIバスシステムに関する。
【0002】
【従来の技術】図5は、PCIバス10にホスト/PCIブリッジ11、マスタデバイス12及びターゲットデバイス13が接続されたPCIバスシステムの概略を示す。
【0003】ホスト/PCIブリッジ11は、バスアービタを備え、また、マスタデバイスの1つでもある。マスタデバイス12がリクエスト信号REQ#をアサートすると、ホスト/PCIブリッジ11はこれに応答して、マスタデバイス12に対するグラント信号GNT#をアサートし、マスタデバイス12はこれによりバス権を取得する。ここに、記号#はロウアクティブであることを示す。
【0004】図7(A)は、この後、マスタデバイス12からターゲットデバイス13へ1ワードのデータを転送する場合のタイミングチャートである。図中、点線は出力がハイインピーダンスであることを示している。
【0005】(t0)マスタデバイス12は、フレーム信号FRAME#をアサートしてトランザクション開始を示すと共に、アドレス/データバスADにアドレスを出力し、バスコマンド/バイトイネーブルバスC/BE#にバスコマンドを出力する。
【0006】(t1)ターゲットデバイス13は、フレーム信号FRAME#のアサートに応答して、AD上のアドレスが自分に割り当てられたアドレスであるかどうか及びB/C上のバスコマンドに対応可能であるかどうかを調べる。一方、マスタデバイス12は、アドレス/データバスAD及びバスコマンド/バイトイネーブルバスC/BE#にそれぞれデータ及びバイトイネーブルを出力すると共に、イニシエータレディ信号IRDY#をアサートして、転送データの準備ができていることを示す。
【0007】(t2)ターゲットデバイス13は、自分に割り当てられたアドレスであり、かつ、自分が対応可能なバスコマンドであると判定すると、デバイスセレクション信号DEVSEL#をアサートする。
【0008】(t4)ターゲットデバイス13は、データを受け取る準備ができたことを示すために、ターゲットレディ信号TRDY#をアサートすると共に、アドレス/データバスAD上のデータを受け取る。
【0009】(t5)マスタデバイス12は、ターゲットレディ信号TRDY#がアサートされていることを検出してフレーム信号FRAME#、アドレス/データ信号AD及びバスコマンド/バイトイネーブル信号C/BE#をハイインピーダンスにし、イニシエータレディ信号IRDY#をディアサートする。一方、ターゲットデバイス13は、デバイスセレクション信号DEVSEL#及びターゲットレディ信号TRDY#をディアサートする。
【0010】(t6)マスタデバイス12はイニシエータレディ信号IRDY#をハイインピーダンスにし、ターゲットデバイス13はデバイスセレクション信号DEVSEL#及びターゲットレディ信号TRDY#をハイインピーダンスにする。
【0011】時点t0からt1迄がアドレスフェーズであり、時点t1からt5迄がデータフェーズであり、時点t5及びt6での処理がトランザクション終了処理である。
【0012】図7(B)は、マスタデバイス12からターゲットデバイス13へデータをバースト転送する場合のタイミングチャートである。図7(B)ではアドレス/データ信号AD及びバスコマンド/バイトイネーブル信号C/BE#を図示省略しているが、これらは図7(A)と同様である。図7(B)は、イニシエータレディ信号IRDY#がディアサートされる1クロック前にフレーム信号FRAME#がディアサートされる点で図7(A)と異なる。
【0013】マスタデバイス12は、アドレスフェーズ終了から4クロックサイクル以内にデバイスセレクション信号DEVSEL#のアサートを検出しなかった場合、トランザクションをアボート(強制終了)する。図8(A)及び(B)はアボートする場合のトランザクションを示しており、それぞれ図7(A)及び(B)に対応している。
【0014】図5において、クロック信号CLKの立ち上がりでマスタデバイス12内のDフリップフロップ121にキャプチャされ、その出力信号がマスタデバイス12の出力端子から信号S4として取り出され、PCIバス10を通り信号S5としてターゲットデバイス13に供給され、クロック信号CLKの次の立ち上がりでターゲットデバイス13内のDフリップフロップ131にキャプチャされる場合を考える。
【0015】図9は、クロック信号CLKに対する信号S4及び信号S5を示す。時点t0でのクロック信号CLKの立ち上がりに応答して、信号S4が時点t01でD2に変化する。このD2が時点t1でのクロック信号CLKの立ち上がりでDフリップフロップ131に確実にキャプチャーされるためには、信号S5に対するDフリップフロップ131のセットアップタイムTSU(デバイスの端子から見たデバイス内フリップフロップのセットアップタイムを大文字Tを用いて表す。以下同様。)が所定値以上でなければならない。クロックが66MHzのPCI規格では、セットアップタイムTSUの最小値が3ns、クロック信号CLKの立ち上がりから出力データS4が確定するまでの出力データ確定時間TVALの最大値が6ns、クロックスキューTSKEWが1nsと定められており、これらの値の場合、マスタデバイス12の出力端子からターゲットデバイス13のデータ入力端までの信号伝播遅延時間TPROPは5nsと短い。
【0016】出力データ確定時間TVALが許容最大値より大きい場合にこれを減少させるためマスタデバイス12のクロックCLK入力端子からフリップフロップ121のクロック入力端までの信号伝播遅延時間を減少させると、Dフリップフロップ121のセットアップタイムtSU(フリップフロップの端子から見たこのフリップフロップのセットアップタイムを小文字tを用いて表す。以下同様。)が減少して問題となる。次にこれを説明する。
【0017】図6は、マスタデバイス12の一部の概略ブロック図である。
【0018】出力データ確定時間TVALは、クロック信号CLKの入力端子TM0からDフリップフロップ121のクロック入力端Cまでの遅延時間tCDと、Dフリップフロップ121のデータ入力端Dからデータ出力端Qまでのセル遅延時間tFFDと、このデータ出力端Qから出力端子TM1までの遅延時間tOUTDとの合計である。
【0019】図10は、タイミングチャート中に出力データ確定時間TVALの各成分を示す。
【0020】図10中のセットアップタイムtSUは、Dフリップフロップ121のそれである。クロック遅延時間tCDを減少させることにより出力データ確定時間TVALを減少させることができる。
【0021】そこで、従来では図11に示すように、クロック入力端子TM0とDフリップフロップ121のクロック入力端Cとの間にPLL回路14と遅延回路15とからなるDLL回路を接続して、このクロック入力端Cでのクロック信号CLK1の位相をクロック信号CLKのそれに一致させていた。
【0022】図12は、図11の回路の場合の、図10に対応したタイミングチャートである。
【0023】この場合、Dフリップフロップ121のセットアップタイムtSUが短くなり過ぎて、製造プロセスや温度の変動により誤動作するという問題が生ずる。この問題は、マスタデバイス12のデータ信号入力端子からマスタデバイス12の出力段のフリップフロップのデータ入力端までの遅延時間が長いほど著しくなる。この時間が最も長いのは、論理ゲートの段数が他のそれよりも多い回路であり、図6に示すアボート回路20を含むデータ入力端子から該出力段のフリップフロップのデータ入力端までの回路である。
【0024】従来では該問題を解決するためにハイエンドなプロセス技術を使用しなければならず、コスト高となった。また、該問題を解決するために追加回路が必要になって設計工数が増加し、これによりシミュレーション工数及びLSIのレイアウト工数も増加することがあった。
【0025】タイミング調整においては、フリップフロップを介装することによりセットアップタイムが最小条件を満たすようにすることが行われているが、この場合、単にフリップフロップを介装しても通常動作が1クロックサイクル遅延する。
【0026】
【発明が解決しようとする課題】本発明の目的は、このような問題点に鑑み、簡単な構成で、PCIマスタデバイスのクロック入力端子からフリップフロップのクロック入力端までのクロック遅延を減少させて出力データ確定時間を短縮しても、通常動作に影響なく該フリップフロップのセットアップタイムの最小条件を容易に満たすことができるPCIマスタデバイス及びこれを含むPCIバスシステムを提供することにある。
【0027】
【課題を解決するための手段及びその作用効果】本発明の一態様では、アドレスフェーズ終了から所定クロックサイクル以内のクロック信号の各アクティブエッジでデバイスセレクション信号のアサートが検出されなかった場合にトランザクションをアボートするアボート回路を備えたPCIマスタデバイスにおいて、アボートする場合にトランザクション終了開始のタイミングを1クロック遅延させるように該アボート回路中のデータ信号線にフリップフロップが介装されている。
【0028】この構成によれば、介装された該フリップフロップのセットアップタイムを、このフリップフロップが存在しない場合におけるマスタデバイス出力段のフリップフロップのそれよりも長くすることができるとともに、該出力段のフリップフロップのセットアップタイムを増加させることができる。したがって、PCIマスタデバイスのクロック入力端子からフリップフロップのクロック入力端までのクロック遅延を減少させて出力データ確定時間を短縮しても、該PCIマスタデバイス内のこれらフリップフロップのセットアップタイムを許容最小値より大きくすることが可能となる。
【0029】また、上記介装されたフリップフロップは通常動作に影響しないので、通常動作時のトランザクション終了処理は1クロックサイクル遅延せずに開始される。
【0030】このようなことから、簡単な構成で、ハイエンドなプロセス技術を使用しなければ実現できなかったPCIバスシステムを、本態様を適用することによりローエンドなプロセス技術で実現することが可能になり、また、ローエンドなプロセス技術で実現することできなかったPCIバスシステムを、本態様を適用することにより実現可能となる。
【0031】本発明の他の目的、構成及び効果は以下の説明から明らかになる。
【0032】
【発明の実施の形態】以下、図面を参照して本発明の一実施形態を説明する。
【0033】図1は、図6のマスタデバイス12を改良したマスタデバイス12Aの概略ブロック図である。
【0034】アボート回路20は、アドレスフェーズ終了から4クロックサイクル以内にデバイスセレクション信号DEVSEL#のアサートが検出されるかどうかを判定するものであり、前段の論理回路21と後段の論理回路22とに分けられ、その間のデータ信号線にDフリップフロップ23が介装されている。すなわち、論理回路21の出力端及び論理回路22の入力端はそれぞれDフリップフロップ23のデータ入力端D及びデータ出力端Qに接続されている。
【0035】アボートが行われない場合の信号処理は、ノーマル回路24及びフリップフロップ制御回路25により行われる。
【0036】カウンタ26の計数値Qは、論理回路21に供給される。カウンタ26の計数値は、論理回路21による、アドレスフェーズ終了から4クロックサイクル以内であるかどうかの判定に用いられる。カウンタ26、Dフリップフロップ23及び121〜124のクロック入力端Cは、クロック信号CLKが供給される端子TM0に接続されている。実際には、クロックスキューが許容最大値以下になるように、クロック信号線中にバッファゲートが適当に介装されてクロック信号が分配される。
【0037】フリップフロップ制御回路25は、アボート回路20及びノーマル回路24の出力信号に基づいて、Dフリップフロップ121〜124の各データ入力端D及び出力イネーブル信号入力端OE#に供給する信号を生成する。
【0038】Dフリップフロップ121〜124のデータ出力端Qはそれぞれ出力端子TM1〜TM4に接続され、これらからそれぞれフレーム信号FRAME#,イニシエータレディ信号IRDY#、アドレス/データ信号AD及びバスコマンド/バイトイネーブル信号C/BE#が出力される。アドレス/データバス幅は32ビットであり、バスコマンド/バイトイネーブルバス幅は4ビットであるが、簡単化のために図1ではこれらのいずれも1ビット分のみ記載されている。
【0039】Dフリップフロップ121〜124の出力はトライステートである。フレーム信号FRAME#及びイニシエータレディ信号IRDY#を、ワイヤードロジックが可能なサスティンドトライステートにするために、出力端子TM1及びTM2に接続されたボード上配線にそれぞれ不図示のプルアップ抵抗が接続されている。Dフリップフロップ121〜124はいずれも、出力イネーブル信号入力端OE#がディアサートされるとデータ出力端Qがハイインピーダンスになる。Dフリップフロップ121〜124のリセット入力端Rにはリセット信号RST#が供給され、リセット信号RST#がアサートされるとDフリップフロップ121〜124の出力はいずれもハイインピーダンスになる。
【0040】なお、実際にはマスタデバイス12Aはターゲットデバイスとしても機能するように構成されているため、端子TM1〜TM4は入力端子としても用いられ、デバイスセレクション信号DEVSEL#及びターゲットレディ信号TRDY#の端子は出力端子としても用いられるが、これらの点は本発明と直接関係がないので図示省略されている。
【0041】フリップフロップ制御回路25は、トランザクションを行っていない時、カウンタ26のリセット入力端Rをアサートして、その計数値をゼロクリアすると共に、供給されるクロック信号CLKを無効にしている。フリップフロップ制御回路25は、Dフリップフロップ121に対しフレーム信号FRAME#をアサートした直後、カウンタ26のリセット入力端Rをディアサートしてカウント可能にする。
【0042】アドレスフェーズ終了から4クロックサイクル以内のクロック信号のいずれかの立ち上がりでデバイスセレクション信号DEVSEL#がアサートされていれば、ノーマル回路24及びフリップフロップ制御回路25により従来と同じ処理が行われる。これにより、1ワード転送する場合には例えば図7(A)に示すような動作が行われ、バースト転送する場合には例えば図7(B)に示すような動作が行われる。
【0043】アドレスフェーズ終了から4クロックサイクル以内のクロック信号の各立ち上がりでデバイスセレクション信号DEVSEL#がディアサートされていたとアボート回路20が判定すると、該4クロックサイクル以内のクロック信号の最後の立ち上がりに応答してこれを示す信号がフリップフロップ制御回路25に供給され、これにより、1ワード転送の場合には図3に示すトランザクション終了処理が行われ、バースト転送の場合には図4に示すトランザクション終了処理が行われる。
【0044】アボートが発生した時のトランザクション終了処理は、通常動作時のそれと同一であるので、フリップフロップ制御回路25は、アボート回路20又はノーマル回路24からのトランザクション終了を示す信号のアサートに応答して、Dフリップフロップ121〜124に対しトランザクション終了処理を行う。すなわち、アボート回路20による該信号のアサートに対するフリップフロップ制御回路25の処理部は、ノーマル回路24による該信号のアサートに対するそれと共通である。
【0045】Dフリップフロップ23が該共通処理部に介装されずにアボート回路20に介装されているので、図3及び図4のトランザクション終了処理の開始がそれぞれ図8(A)及び(B)のそれよりも1クロックサイクルだけ遅れるが、通常動作には影響しない。アボート発生は異常時であるので、不図示のCPUにエラー割り込みがかかり、その割り込み処理の応答時間が1クロックサイクルに比し長いので、該開始が1クロックサイクル遅れてもシステムパフォーマンスには影響を与えない。
【0046】図2は、アボート発生時のDフリップフロップ23のデータ入力端D及びデータ出力端Qでの信号S0及びS1、Dフリップフロップ121のデータ入力端D及びデータ出力端Qでの信号S2及びS3、並びに、出力端子TM1での信号S4を、クロック波形と共に示す。次に、この図2の動作を説明する。
【0047】図5中のターゲットデバイス13のDフリップフロップ131がデバイスセレクション信号DEVSEL#を図3又は図4中の時点t1〜t4のいずれのクロック信号CLK立ち上がりでにアサートしない場合を考える。
【0048】時点t4でのデバイスセレクション信号DEVSEL#が図1中の論理回路21に供給され処理されて、Dフリップフロップ23のデータ入力端DにS0=D1として、図2中の時点t41で供給される。時点t5でクロック信号CLKが立ち上がり、これがDフリップフロップ23のクロック入力端Cに時点t51で到達し、クロック信号CLK0として立ち上がる。この立ち上がりでS0=D1がDフリップフロップ23にキャプチャーされ、時点t52でDフリップフロップ23のデータ出力端Qから信号S1=D1として出力される。信号S1が論理回路22で処理され、論理回路22の出力がフリップフロップ制御回路25に供給されて、Dフリップフロップ121のデータ入力端DでのS2=D2が時点t53で変化する。時点t6でクロック信号CLKが立ち上がり、これがDフリップフロップ121のクロック入力端Cに時点t61で到達し、クロック信号CLK1として立ち上がる。この立ち上がりでS2=D2がDフリップフロップ121にキャプチャーされ、Dフリップフロップ121のデータ出力端Qの信号S3が時点t62でD2に変化する。この信号S3=D2が出力端子TM1へ伝播して信号S4となり、時点t63で信号S4がD2に変化する。
【0049】時点t41からt51までがDフリップフロップ23のセットアップタイムtSU0であり、Dフリップフロップ23のデータ入力端Dまでの信号伝播遅延が、Dフリップフロップ23が存在しない場合におけるDフリップフロップ121のデータ入力端Dまでのそれよりも短いので、tSU0を仕様で定められた最小値よりも大きくすることができる。また、時点t53からt61までがDフリップフロップ121のセットアップタイムtSU1であり、Dフリップフロップ23の介装により時点t5からt53までの時間が比較的短いので、セットアップタイムtSU1を仕様で定められた最小値よりも大きくすることができる。
【0050】本実施形態によれば、Dフリップフロップ23がアボート回路20に介装されているので、クロック信号CLKに対するクロック信号CLK1の遅延tCD1を減少させることにより出力データ確定時間TVALを減少させても、セットアップタイムtSU0及びtSU1を許容最小値より大きくすることが可能となる。この効果は、アボート処理対象の全ての出力段フリップフロップ、すなわちDフリップフロップ121〜124に対して得られる。
【0051】また、Dフリップフロップ23の介装は通常動作に影響しないので、通常動作時のトランザクション終了処理は1クロックサイクル遅延することなく開始される。
【0052】このようなことから、ハイエンドなプロセス技術を使用しなければ実現できなかった66MHzPCIバスシステムを、本実施形態を適用することによりローエンドなプロセス技術で実現することが可能になる。また、ローエンドなプロセス技術で実現することできなかった33MHzPCIバスシステムを、本実施形態を適用することにより実現可能となる。
【出願人】 【識別番号】000005223
【氏名又は名称】富士通株式会社
【住所又は居所】神奈川県川崎市中原区上小田中4丁目1番1号
【出願日】 平成14年3月18日(2002.3.18)
【代理人】 【識別番号】100092587
【弁理士】
【氏名又は名称】松本 眞吉
【公開番号】 特開2003−271546(P2003−271546A)
【公開日】 平成15年9月26日(2003.9.26)
【出願番号】 特願2002−74393(P2002−74393)