(57)【要約】【課題】回路規模を小型化できると共に構成を簡素化することが可能で、回路構造を表現する場合にも、従来に比べてソースコード量を大幅に低減する。【解決手段】複数の異なるラインから到来する本データのそれぞれに、優先順位が高くなるほど大きな数値となる優先順位データを付加して拡張データを作成する拡張手段１３、１４と、拡張データにおける優先順位データを相互に大小比較して、大きな数値の優先順位データが付加された拡張データを選択する比較手段である選択回路１５とを具備する。【選択図】図２
2015023295.tif 000002
【特許請求の範囲】
【請求項１】
複数の異なるラインから到来する本データのそれぞれに、優先順位が高くなるほど大きな数値となる優先順位データを付加して拡張データを作成する拡張手段と、
拡張データにおける優先順位データを相互に大小比較して、大きな数値の優先順位データが付加された拡張データを選択する比較手段と
を具備することを特徴とする優先データ選択装置。
【請求項２】
優先順位データは、本データに対して可変で割当られる第１の優先順位データと、ライン対応に固定で割り当てられる第２の優先順位データとにより構成され、
拡張手段は、第１の優先順位データを上位側に配置し第２の優先順位データを下位側に配置し、ビット連結することを特徴とする請求項１に記載の優先データ選択装置。
【請求項３】
第１の優先順位データは同順位を許容するデータにより構成され、第２の優先順位データは異順位を示すデータにより構成されていることを特徴とする請求項２に記載の優先データ選択装置。
【請求項４】
比較手段は、選択された拡張データについて更に比較と選択をトーナメント形式で行うように配置された複数の比較器を備え、最終的に１つの拡張データを選択すること特徴とする請求項３に記載の優先データ選択装置。
【請求項５】
最終的に選択された１つの拡張データを分解して本データを取り出す分解手段を具備することを特徴とする請求項４に記載の優先データ選択装置。
【請求項６】
拡張手段は、本データの有効／無効を示す有効／無効識別データを優先順位データの上位側に配置し、ビット連結することを特徴とする請求項１乃至５のいずれか１項に記載の優先データ選択装置。
【請求項７】
複数の異なるラインから到来する本データのそれぞれに、優先順位が高くなるほど大きな数値となる優先順位データを付加して拡張データを作成する拡張ステップと、
拡張データにおける優先順位データを相互に大小比較して、大きな数値の優先順位データが付加された拡張データを選択する比較ステップと
を具備することを特徴とする優先データ選択方法。
【請求項８】
優先順位データは、本データに対して可変で割当られる第１の優先順位データと、ライン対応に固定で割り当てられる第２の優先順位データとにより構成され、
拡張ステップでは、第１の優先順位データを上位側に配置し第２の優先順位データを下位側に配置し、ビット連結することを特徴とする請求項７に記載の優先データ選択方法。
【請求項９】
第１の優先順位データは同順位を許容するデータにより構成され、第２の優先順位データは異順位を示すデータにより構成されていることを特徴とする請求項８に記載の優先データ選択方法。
【請求項１０】
比較ステップでは、選択された拡張データについて更に比較と選択をトーナメント形式で行う複数の比較ステップを行い、最終的に１つの拡張データを選択すること特徴とする請求項９に記載の優先データ選択方法。
【請求項１１】
最終的に選択された１つの拡張データを分解して本データを取り出す分解ステップを具備することを特徴とする請求項１０に記載の優先データ選択方法。
【請求項１２】
拡張ステップでは、本データの有効／無効を示す有効／無効識別データを優先順位データの上位側に配置し、ビット連結することを特徴とする請求項７乃至１１のいずれか１項に記載の優先データ選択方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、複数のラインから到来する本データについて優先するデータを選択するための優先データ選択装置及びその方法に関するものであり、特にディジタル信号処理回路に用いられるものである。
【背景技術】
【０００２】
従来、優先データを選択する場合には、ＲＯＭを用いるものや、比較器によって優先レベルを繰り返し比較して、最終的に優先度の最も高いものを残す回路が用いられている（特許文献１参照）。
【０００３】
更に、優先順位が第一優先順位と第二優先順位があり、これに加えてデータの有無（有効／無効）識別情報が選択の条件として設定されると、選択回路はその条件に合わせて設計する必要がある。
【０００４】
例えば、図１に示されるような選択ルールを実現する選択回路を用いるものである。選択ルールI は、「もし、データ（Ａ）が有りで、かつデータ（Ｂ）が無しならば、データ（Ａ）を選択」。選択ルールIIは、「もし、データ（Ｂ）が有りで、かつデータ（Ａ）が無しならば、データ（Ｂ）を選択」。選択ルールIIIは、「もし、データ（Ａ）が有りで、かつデータ（Ｂ）が有りならば、第一優先順位に従う。第一優先順位が（Ａ）＞（Ｂ）であれば、データ（Ａ）を選択。第一優先順位が（Ｂ）＞（Ａ）であれば、データ（Ｂ）を選択」。選択ルールIVは、「もし、第一優先順位が（Ａ）＝（Ｂ）であれば、第二優先順位に従う。第二優先順位が（Ａ）＞（Ｂ）であれば、データ（Ａ）を選択。第二優先順位が（Ｂ）＞（Ａ）であれば、データ（Ｂ）を選択」。
【０００５】
この場合、上記選択ルールI〜IVの全てを実現する回路構成が必要で、選択回路の内部構成が極めて複雑で大掛かりになるという問題点があった。また、ハードウエア記述言語により回路構造を表現する場合には、ソースコード量が多量となるという問題もあった。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開平５−７３３６４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
本発明は上記のような優先データ選択装置とその方法における現状に鑑みてなされたもので、その目的は、回路規模を小型化できると共に構成を簡素化することが可能で、回路構造を表現する場合にも、従来に比べてソースコード量を大幅に低減することができる優先データ選択装置とその方法を提供することである。
【課題を解決するための手段】
【０００８】
本発明に係る優先データ選択装置は、複数の異なるラインから到来する本データのそれぞれに、優先順位が高くなるほど大きな数値となる優先順位データを付加して拡張データを作成する拡張手段と、拡張データにおける優先順位データを相互に大小比較して、大きな数値の優先順位データが付加された拡張データを選択する比較手段とを具備することを特徴とする。
【０００９】
本発明に係る優先データ選択装置では、優先順位データは、本データに対して可変で割当られる第１の優先順位データと、ライン対応に固定で割り当てられる第２の優先順位データとにより構成され、拡張手段は、第１の優先順位データを上位側に配置し第２の優先順位データを下位側に配置し、ビット連結することを特徴とする。
【００１０】
本発明に係る優先データ選択装置は、第１の優先順位データは同順位を許容するデータにより構成され、第２の優先順位データは異順位を示すデータにより構成されていることを特徴とする。
【００１１】
本発明に係る優先データ選択装置では、比較手段は、選択された拡張データについて更に比較と選択をトーナメント形式で行うように配置された複数の比較器を備え、最終的に１つの拡張データを選択すること特徴とする。
【００１２】
本発明に係る優先データ選択装置では、最終的に選択された１つの拡張データを分解して本データを取り出す分解手段を具備することを特徴とする。
【００１３】
本発明に係る優先データ選択装置では、拡張手段は、本データの有効／無効を示す有効／無効識別データを優先順位データの上位側に配置し、ビット連結することを特徴とする。
【００１４】
本発明に係る優先データ選択方法は、複数の異なるラインから到来する本データのそれぞれに、優先順位が高くなるほど大きな数値となる優先順位データを付加して拡張データを作成する拡張ステップと、拡張データにおける優先順位データを相互に大小比較して、大きな数値の優先順位データが付加された拡張データを選択する比較ステップとを具備することを特徴とする。
【００１５】
本発明に係る優先データ選択方法では、優先順位データは、本データに対して可変で割当られる第１の優先順位データと、ライン対応に固定で割り当てられる第２の優先順位データとにより構成され、拡張ステップでは、第１の優先順位データを上位側に配置し第２の優先順位データを下位側に配置し、ビット連結することを特徴とする。
【００１６】
本発明に係る優先データ選択方法では、第１の優先順位データは同順位を許容するデータにより構成され、第２の優先順位データは異順位を示すデータにより構成されていることを特徴とする。
【００１７】
本発明に係る優先データ選択方法は、比較ステップでは、選択された拡張データについて更に比較と選択をトーナメント形式で行う複数の比較ステップを行い、最終的に１つの拡張データを選択すること特徴とする。
【００１８】
本発明に係る優先データ選択方法では、最終的に選択された１つの拡張データを分解して本データを取り出す分解ステップを具備することを特徴とする。
【００１９】
本発明に係る優先データ選択方法は、拡張ステップでは、本データの有効／無効を示す有効／無効識別データを優先順位データの上位側に配置し、ビット連結することを特徴とする。
【発明の効果】
【００２０】
本発明によれば、複数の異なるラインから到来する本データのそれぞれに、優先順位が高くなるほど大きな数値となる優先順位データを付加して拡張データを作成し、拡張データにおける優先順位データを相互に大小比較して、大きな数値の優先順位データが付加された拡張データを選択する構成であるから、条件によって分岐する論理に対応する回路構成を採用することなく、単なる大小比較によって回路を構成することができる。このため、回路規模を小型化できると共に構成を簡素化することが可能で、回路構造を表現する場合にも、従来に比べてソースコード量を大幅に低減することができる。
【図面の簡単な説明】
【００２１】
【図１】従来の優先データ選択装置の構成を示す図。
【図２】本発明の第１実施形態に係る優先データ選択装置の構成を示す図。
【図３】本発明の第２実施形態に係る優先データ選択装置の構成を示す図。
【図４】本発明の第２実施形態に係る優先データ選択装置の構成を、ハードウエア記述言語Verilog HDLにより記述したソースコードを示す図。
【図５】本発明の第２実施形態に係る優先データ選択装置の構成を、ハードウエア記述言語Verilog HDLにより記述したソースコードを示す図。
【図６】本発明の第２実施形態に係る優先データ選択装置の構成を、ハードウエア記述言語Verilog HDLにより記述したソースコードを示す図。
【発明を実施するための形態】
【００２２】
以下添付図面を参照して、本発明に係る優先データ選択装置とその方法の実施形態を説明する。各図において、同一の構成要素には同一の符号を付して重複する説明を省略する。図２は、実施形態に係る優先データ選択装置の構成を示すブロック図である。ライン１１からは本データであるデータＡが到来し、ライン１２からは本データであるデータＢが到来する。ライン１１には拡張手段１３が設けられ、ライン１２には拡張手段１４が設けられている。
【００２３】
拡張手段１３、１４は、本データのそれぞれに、優先順位が高くなるほど大きな数値となる優先順位データを付加して拡張データを作成するものである。また、拡張手段１３、１４は、本データの有効／無効を示す有効／無効識別データを優先順位データの上位側に配置する処理も行う。上記優先順位データは、本データに対して可変で割当られる第１の優先順位データと、ライン対応に固定で割り当てられる第２の優先順位データとにより構成される。拡張手段１３、１４は、第１の優先順位データを上位側に配置し第２の優先順位データを下位側に配置した優先順位データを本データに付加する。
【００２４】
ここでは、データＡに対する第１の優先順位データとして３０が設定され、ライン１１に対する第２の優先順位データとして３が設定されたものとする。また、データＢに対する第１の優先順位データとして２０が設定され、ライン１２に対する第２の優先順位データとして２が設定されたものとする。また、有効／無効識別データは、データＡにあっては有効であり、１００が設定され、一方、データＢにあっては有効であり、０が設定されたものとする。これらの設定は、例えばデータＡ、Ｂの発生源やその他の制御部から行われる。
【００２５】
拡張手段１３、１４の処理により、データＡには１００、３０、３の数値が付加され、データＢには０、２０、２の数値が付加される。上記の付加処理においては、桁をそのまま連結させるとする。すると、データＡに付加された数値は「１００３０３」となり、データＢに付加された数値は「０２０２」となる。
【００２６】
拡張手段１３、１４の出力は、比較手段である選択回路１５へ送出されるように構成されている。比較手段である選択回路１５は、拡張データにおける有効／無効識別データ＋優先順位データを相互に大小比較して、大きな数値の優先順位データが付加された拡張データを選択するものである。上記の例では、データＡに付加された数値「１００３０３」と、データＢに付加された数値「０２０２」との大小比較を行う。この結果、データＡに付加された数値「１００３０３」が大きいことは明白であり、選択回路１５はデータＡの拡張データを出力する。
【００２７】
選択回路１５の出力側には分解手段１６が設けられている。分解手段１６は、最終的に選択された１つの拡張データを分解して本データを取り出すものであり、拡張データからデータＡに付加された数値「１００３０３」を取り去り、データＡのみを取り出す。
【００２８】
次に第２の実施形態に係る優先データ選択装置を説明する。この優先データ選択装置は、図３に示されるように、４ライン２１〜２４から到来する本データとして、データＩＮ＿ＤＡＴＡ＿Ａ、ＩＮ＿ＤＡＴＡ＿Ｂ、ＩＮ＿ＤＡＴＡ＿Ｃ、ＩＮ＿ＤＡＴＡ＿Ｄをそれぞれ取り込む拡張手段３１〜３４を備えている。データＩＮ＿ＤＡＴＡ＿Ａ、ＩＮ＿ＤＡＴＡ＿Ｂ、ＩＮ＿ＤＡＴＡ＿Ｃ、ＩＮ＿ＤＡＴＡ＿Ｄは、それぞれ４ビットである。
【００２９】
拡張手段３１〜３４には、それぞれ上記各データの有効／無効を示す各１ビットの有効／無効識別データＩＮ＿ＤＡＴＡ＿Ａ＿ＩＮＡＢＬＥ、ＩＮ＿ＤＡＴＡ＿Ｂ＿ＩＮＡＢＬＥ、ＩＮ＿ＤＡＴＡ＿Ｃ＿ＩＮＡＢＬＥ、ＩＮ＿ＤＡＴＡ＿Ｄ＿ＩＮＡＢＬＥが与えられる。また、拡張手段３１〜３４には、それぞれ上記各データにおける各４ビットの第１の優先順位データＰＲＩＯＲＩＴＹ＿ＩＮ＿Ａ、ＰＲＩＯＲＩＴＹ＿ＩＮ＿Ｂ、ＰＲＩＯＲＩＴＹ＿ＩＮ＿Ｃ、ＰＲＩＯＲＩＴＹ＿ＩＮ＿Ｄが与えられる。これら有効／無効識別データと第１の優先順位データの入力は、例えば本データの発生源やその他の制御部から行われ、データの有効無効に応じて変更され、データ毎に優先順位が変更される。
【００３０】
拡張手段３１〜３４には、ライン２１〜２４に応じて固定の数値（優先順）である３ビットの第２の優先順位データ（固定優先順位Ａ）、（固定優先順位Ｂ）、（固定優先順位Ｃ）、（固定優先順位Ｄ）が設定されている。固定優先順位Ａ、固定優先順位Ｂ、固定優先順位Ｃ、固定優先順位Ｄは、ユニークであり、いずれかが最大値（優先順位１位）となっている。
【００３１】
第１の優先順位データと第２の優先順位データは、優先順位が高くなるほど大きな数値となるものである。拡張手段３１〜３４は、第１の優先順位データを上位側に配置し第２の優先順位データを下位側に配置し、ビット連結する。拡張手段３１〜３４は、有効／無効識別データを優先順位データの上位側に配置し、ビット連結する。
【００３２】
本実施形態では、第１の優先順位データについては、ＰＲＩＯＲＩＴＹ＿ＩＮ＿Ａが１位、ＰＲＩＯＲＩＴＹ＿ＩＮ＿Ｂが１位、ＰＲＩＯＲＩＴＹ＿ＩＮ＿Ｃが２位、ＰＲＩＯＲＩＴＹ＿ＩＮ＿Ｄが３位とする。また、第２の優先順位データについては、（固定優先順位Ａ）が１位、（固定優先順位Ｂ）が２位、（固定優先順位Ｃ）が３位、（固定優先順位Ｄ）が３位とする。更に、有効／無効識別データＩＮ＿ＤＡＴＡ＿Ａ＿ＩＮＡＢＬＥは有効、ＩＮ＿ＤＡＴＡ＿Ｂ＿ＩＮＡＢＬＥは有効、ＩＮ＿ＤＡＴＡ＿Ｃ＿ＩＮＡＢＬＥは有効、ＩＮ＿ＤＡＴＡ＿Ｄ＿ＩＮＡＢＬＥは有効とする。
【００３３】
拡張手段３１、３２の出力は、比較手段である比較器４１へ送出され、拡張手段３３、３４の出力は、比較手段である比較器４２へ送出される。比較器４１の出力と比較器４２の出力は、比較手段である比較器４３へ送出される。このように、比較手段は、選択された拡張データについて更に比較と選択をトーナメント形式で行うように配置された複数の比較器を備え、最終的に１つの拡張データを選択するように構成されている。
【００３４】
比較器４３には、最終的に選択された１つの拡張データを分解して本データを取り出す分解手段５０が接続されている。ここでは、有効／無効識別データ、第１の優先順位データ、第２の優先順位データが前述の通りに設定したので、最終的にはＩＮ＿ＤＡＴＡ＿Ａが比較器４３から出力される。分解手段５０は、比較器４３の１２ビットの出力（拡張データ）を、ｂｉｔ［１１：８］による４ビットの本データＯＵＴ＿ＤＡＴＡ＿［３：０］と、ｂｉｔ［７］による１ビットのＯＵＴ＿ＤＡＴＡ＿ＩＮＡＢＬＥと、ｂｉｔ［２：０］による３ビットの選択結果ＯＵＴ＿ＰＲＩＯＲＩＴＹ＿ＲＥＳＵＬＴとにラインを分ける構成とする。即ち、本データが出力されるラインと、有効／無効識別データが出力されるラインと、第２の優先データとを区分してデータを取り出すものである。
【００３５】
以上の通り２つの実施形態から明らかな通り、本データに、有効／無効識別データと第１の優先データと第２の優先データを連結して大小比較する構成であるので、構成が簡素であり回路規模を小さく抑えることができる。
【００３６】
図４〜図６には、図３に示した優先データ選択装置の構成を、ハードウエア記述言語Verilog HDLにより記述したソースコードが各図に分割されて示されている。図４においては、（１）により示される範囲には、このタイトルなどのコメント文が記載され、（２）により示される範囲には、入出力信号の宣言文が記載される。入出力信号の宣言文は、この装置において使用する信号の数と名称が示されている。
【００３７】
また、図５の（３）の範囲には、入出力信号の詳細の宣言文が記載される。つまり、図５の（３）の範囲の宣言文は、図４の（２）において宣言した信号が入力信号か出力信号なのか、また、信号線が単線なのか複線なのかが記述される。ここにおいて、「input」は入力信号を意味し、「output」は出力信号を意味する。また、［３：０］は複線の数を表すものであり、具体的には［３］、［２］、［１］、［０］の４本の信号線であることを意味する。また、「；」は文の終わりを意味し、「／／」はコメント文を意味する。
【００３８】
更に、図５の（４）は内部信号（wire）について記述した文である。記述された記号の意味は、図５の（３）について説明したものに等しい。図６の（５）は拡張データの論理計算式（assign）について記述した文である。「｛｝（中括弧）」内をビット連結することを意味する。例えば、最下行の「｛｝（中括弧）」内については、変数のＩＮ＿ＤＡＴＡ＿Ｄ、ＩＮ＿ＤＡＴＡ＿Ｄ＿ＩＮＡＢＬＥ、ＰＲＩＯＲＩＴＹ＿ＩＮ＿Ｄ、定数３’ｈ１を連結することを意味する。なお、「３’ｈ１」は、３ビットのｈｅｘ（１６ビット表記）の定数「１」であることを意味する。
【００３９】
図６の（６）は大小比較の論理計算式（assign）について記述した文である。文の一行中に記述された変数をＡ、Ｂ、Ｘ、Ｙとすると、一行に記載された「（Ａ＞Ｂ）？Ｘ：Ｙ」の内容は、もし（Ａ＞Ｂ）であればＸを採用し、それ以外の場合はＹを採用する、という意味である。
【００４０】
図６の（７）は、大小比較結果の論理計算式（assign）について記述した文である。この文の内容は、図６の（６）についての説明から推測できるものである。最後に記述されている「endmodule」は文の最後を示す。
【００４１】
上記の通り、実施形態に係る優先データ選択装置の構成を、ハードウエア記述言語Verilog HDLにより記述したソースコードにおいて、論理計算式の部分が、図６の（５）（６）、（７）に示すように単純で簡素な記述で済む。このため、従来に比べてソースコード量を大幅に低減することができるという効果を奏するものである。
【符号の説明】
【００４２】
１１、１２、２１-２４  ライン
１３、１４、３１-３４  拡張手段
１５  選択回路
１６、５０  分解手段
４１、４２、４３  比較器
【図１】
2015023295.tif 000003
【図２】
2015023295.tif 000004
【図３】
2015023295.tif 000005
【図４】
2015023295.tif 000006
【図５】
2015023295.tif 000007
【図６】
2015023295.tif 000008