JP3685786B2 - 半導体回路 - Google Patents

半導体回路 Download PDF

Info

Publication number
JP3685786B2
JP3685786B2 JP2003039740A JP2003039740A JP3685786B2 JP 3685786 B2 JP3685786 B2 JP 3685786B2 JP 2003039740 A JP2003039740 A JP 2003039740A JP 2003039740 A JP2003039740 A JP 2003039740A JP 3685786 B2 JP3685786 B2 JP 3685786B2
Authority
JP
Japan
Prior art keywords
signal
input
circuit
path
node
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.)
Expired - Fee Related
Application number
JP2003039740A
Other languages
English (en)
Other versions
JP2004253891A (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.)
Rohm Co Ltd
Original Assignee
Rohm Co Ltd
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 Rohm Co Ltd filed Critical Rohm Co Ltd
Priority to JP2003039740A priority Critical patent/JP3685786B2/ja
Priority to US10/779,802 priority patent/US7382171B2/en
Publication of JP2004253891A publication Critical patent/JP2004253891A/ja
Application granted granted Critical
Publication of JP3685786B2 publication Critical patent/JP3685786B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K5/00Manipulating of pulses not covered by one of the other main groups of this subclass
    • H03K5/13Arrangements having a single output and transforming input signals into pulses delivered at desired time intervals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Artificial Intelligence (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Evolutionary Biology (AREA)
  • Evolutionary Computation (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Nonlinear Science (AREA)
  • Manipulation Of Pulses (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)
  • Pulse Circuits (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、半導体回路に関し、特に信号伝播時間を検出する半導体回路に関する。
【0002】
【従来の技術】
図2(A)は、通常ベクトルマッチングアルゴリズムを示す。マッチングでは、入力パターンINPがテンプレートパターンTEMに対してどの位類似しているかを検出する。例えば、入力パターンINP及びテンプレートパターンTEMは、縦軸が音声データ値であり、横軸が時間である。この通常ベクトルマッチングでは、入力パターンINPとテンプレートパターンTEMとを、対応する横軸値毎に差分DIFを求める。差分DIFは、両者の差分の絶対値で表される。この差分DIFが小さいほど、入力パターンINPがテンプレートパターンTEMに類似していると言える。
【0003】
この際、入力パターンINPは、横軸に対してデータ数が多少増減することはよくあることである。すなわち、ある時間軸のデータが欠落したり、データが挿入されたりすることがある。この場合でも、人間は、入力パターンINPとテンプレートパターンTEMとの全体的パターンが似ているか否かで類似度を判断している。
【0004】
しかし、この通常ベクトルマッチングは、入力パターンINPが横軸に対してデータ数が1つでも増減すると、両者の横軸の対応関係がとれなくなり、両者の類似度が極めて小さくなってしまう。そこで、図2(B)のアルゴリズムが考えられている。
【0005】
図2(B)は、DP(ダイナミックプログラミング)マッチングアルゴリズムを示す。DPマッチングでは、入力パターンINPとテンプレートパターンTEMとを比較する際に、厳密に横軸の対応関係を規定せずに比較を行う。すなわち、入力パターンINP及びテンプレートパターンTEMを横軸方向で移動可能にして、両者を比較する。これにより、両者の差分DIFは小さくなる。すなわち、図2(A)の通常ベクトルマッチングでは差分DIFが大きくなる場合であっても、図2(B)のDPマッチングでは差分DIFが小さくなり、適正なマッチングを行うことができる。
【0006】
【発明が解決しようとする課題】
DPマッチングは、入力パターンINP及びテンプレートTEMの横軸を移動可能にして両者を比較するので、多数の比較組み合わせが存在する。その比較組み合わせのうちで最も類似している組み合わせの差分DIFを求めるものである。これを実現するには、多数の組み合わせの比較を行わなければならないため、処理時間に膨大な時間を要する。
【0007】
本発明の目的は、高速にDPマッチングを行うことができる半導体回路を提供することである。
【0008】
【課題を解決するための手段】
本発明の半導体回路は、少なくとも1つの入力ノードと1つの出力ノードとを含む3つ以上のノードと、前記3つ以上のノード間に接続され、各ノード間の信号伝播方向が規定されている複数のパスと、前記各パスの信号伝播時間を規定するための信号伝播時間規定手段と、前記入力ノードに所定の入力信号を入力する入力手段と、前記入力信号が前記パスを伝播して、前記出力ノードに到達するのに要する時間を検出する検出手段とを有する。
【0009】
本発明によれば、各パスの信号伝播時間を規定し、入力信号がパスを伝播して出力ノードに到達する時間を検出することができる。2つのマッチング対象信号の一致度又は類似度に応じて各パスの信号伝播時間を規定すれば、出力ノード到達時間に応じて両者の一致度又は類似度を検出することができる。また、この際、信号の最短パス又は最長パスを検出すれば、その一致度又は類似度に対応する最短パス又は最長パスの比較組み合わせを検出することができる。
【0010】
【発明の実施の形態】
図1は、本発明の実施形態によるDP(ダイナミックプログラミング)マッチングを行うための最短パス検出方法を示す。入力パターンINPとテンプレートパターンTEMとのDPマッチングを行い、両者が最も類似している比較組み合わせを最短パス112として検出する。入力パターンINPとテンプレートTEMの比較組み合わせを、2次元格子状のパス群111で表現する。各格子は、入力パターンINP内の1要素データとテンプレートパターンTEM内の1要素データとを比較するためのパスである。両者の類似度が大きいときには距離が短く、両者の類似度が小さいときには距離が長い。各格子の接続点をノードとする。スタートノード(入力ノード)STARTに入力信号を入力し、ゴールノード(出力ノード)GOALに出力される信号を検出する。入力信号は、複数のパスの組み合わせを経由してゴールノードGOALに到達する。ゴールノードGOALには、最短パス112を経由した信号が、一番最初に到達する。この最短パス112が最も類似度が大きい比較組み合わせを示す。信号が最短パス112を通ってゴールノードGOALに一番最初に到達した時間が類似度を示す。伝播時間が短いほど、類似度が大きいことになる。以下、より具体的な説明を行う。
【0011】
図3は、より具体的な最短パス検出方法を示す図である。入力パターン301は、例えば「other」の文字列である。テンプレートパターン302は、例えば「mother」の文字列である。両者の文字列のマッチングを行う例を説明する。入力パターン301とテンプレートパターン302の比較組み合わせを、2次元格子状のパス群311で表現する。各格子は、入力パターン301内の1文字とテンプレートパターン302内の1文字とを比較するためのパスである。例えば、両者が一致しているときの距離を「0」とし、両者が一致していないときの距離を「+1」とする。各格子には、右方向矢印の第1のパスと、下方向矢印の第2のパスと、右下方向矢印の第3のパスがある。スタートノードSTARTに入力信号を入力することにより、スタートノードSTARTから信号伝播が開始する。
【0012】
まず、スタートノードSTARTの右下方向のパスについて説明する。右下方向のパスは、入力パターン301とテンプレートパターン302をそれぞれ1文字ずつずらすパスを示す。すなわち、スタートノードSTARTにおいて、まず入力パターン301の「o」とテンプレートパターン302の「m」を比較する。両者は不一致であるので、距離は「+1」になり、右下方向のパスを通り、次の比較対象が入力パターン301の「t」とテンプレートパターン302の「o」になる。
【0013】
次に、スタートノードSTARTの下方向のパスについて説明する。下方向のパスは、テンプレートパターン302をずらさずに入力パターン301のみを1文字ずらすパスを示す。すなわち、スタートノードSTARTにおいて、入力パターン301の「o」とテンプレートパターン302の「m」の比較を行わずに、入力パターン301を1文字ずらす。比較を行わないので、距離は「+1」になり、下方向のパスを通り、次の比較対象が入力パターン301の「t」とテンプレートパターン302の「m」になる。すなわち、テンプレート302については、比較を行わずに同じ文字を次の入力パターン301と比較するためのギャップを設ける。このギャップを「_」で表現すると、このパスは入力パターン301の「ot」とテンプレートパターン302の「_m」とが比較対象になる。
【0014】
次に、スタートノードSTARTの右方向のパスについて説明する。右方向のパスは、入力パターン301をずらさずにテンプレートパターン302のみを1文字ずらすパスを示す。すなわち、スタートノードSTARTにおいて、入力パターン301の「o」とテンプレートパターン302の「m」の比較を行わずに、テンプレートパターン302を1文字ずらす。比較を行わないので、距離は「+1」になり、右方向のパスを通り、次の比較対象が入力パターン301の「o」とテンプレートパターン302の「o」になる。すなわち、入力パターン301についてはギャップを設けるので、このパスは入力パターン301の「_o」とテンプレートパターン302の「mo」とが比較対象になる。以下、これに続く、最短パス312を説明する。
【0015】
その後、入力パターン301の「o」とテンプレートパターン302の「o」とを比較し、両者が一致しているので、距離を「0」にして、右下方向のパスに進む。その後、同様に、入力パターン301の「ther」とテンプレートパターン302の「ther」とを順次比較し、それぞれ両者が一致しているので、距離「0」として右下方向のパスに進む。このパスが最短パス312として、ゴールノードGOALに最短で到達する。最短パス312の合計距離は「+1」になり、これが類似度(非類似度)に相当する。
【0016】
ここで、縦方向のパスは、テンプレートパターン302のギャップに相当するので、縦方向のパスはすべて距離が「+1」になる。また、横方向のパスは、入力パターン301のギャップに相当するので、横方向のパスもすべて距離が「+1」になる。これに対し、右下方向のパスは、両者の文字が一致していれば距離が「0」になり、両者の文字が一致していなければ距離が「+1」になる。すなわち、右下方向のパスは、両者の一致度に応じて距離が変化する。
【0017】
図4は、上記の各格子の半導体回路構成を示す。各パスの接続点のノードには、ノード回路401が設けられる。ノード回路401は、例えば3入力3出力の論理和(OR)回路を含む。この格子回路では、上記の距離を遅延時間として表現する。下方向のパス及び右方向のパスの「+1」の距離は、遅延回路402の遅延時間で表される。右下方向のパスの距離は、可変遅延回路403の遅延時間で表される。可変遅延回路は、両者の文字の一致度に応じて遅延時間が変わる。距離が長いほど、遅延時間が長くなる。
【0018】
図5は、図4のノード回路401の構成例を示す。ノード回路401は、3入力OR回路501及び最短パス記憶回路510を有する。OR回路501は、例えば3つのパスから入力される3つの信号SA,SB,SCを入力し、それらの論理和を他の3つのノードに出力する。
【0019】
最短パス記憶回路510は、3つの3入力否定論理積(NAND)回路511〜513及びpチャネルMOSトランジスタ514〜516を有する。NAND回路511は、信号SAを入力すると共にNAND回路512及び513の出力信号を入力し、それらの否定論理積を出力する。NAND回路512は、信号SBを入力すると共にNAND回路511及び513の出力信号を入力し、それらの否定論理積を出力する。NAND回路513は、信号SCを入力すると共にNAND回路511及び512の出力信号を入力し、それらの否定論理積を出力する。すなわち、各NAND回路は、3つのパスを介して入力される3つの信号SA,SB,SCをそれぞれ1つずつ入力すると共に、他の2つのNAND回路の出力を入力する。
【0020】
最短パス記憶回路510は、3つの信号SA,SB,SCのうちで一番速く到達する信号のパスを特定して記憶する。最短パス検出前には、スタートノードSTARTの入力信号はローレベルになっており、最短パス検出中は入力信号をハイレベルにする。その入力信号がローレベルのときには、信号SA,SB,SCはすべてローレベルである。その結果、3つのNAND回路511〜513は、すべてハイレベルを出力する。
【0021】
次に、スタートノードSTARTにハイレベルの入力信号が入力されると、3つの信号SA,SB,SCが所定の遅延時間を持ってハイレベルになる。最短パス回路510は、3つの信号SA,SB,SCのうちで一番最初にハイレベルになった信号のパスを記憶することができる。
【0022】
例えば、信号SAが一番最初にハイレベルになり、その他の信号SB及びSCが未だローレベルであるとする。その場合、NAND回路511がローレベルを出力し、NAND回路512及び513がハイレベルの出力を維持する。この後、信号SB及びSCがハイレベルに変化しても、最小パス記憶回路510は、この状態を維持して記憶し続ける。すなわち、NAND回路511の出力がローレベルとして他のNAND回路512及び513に入力されるので、信号SB及びSCがその後にハイレベルになったとしても、NAND回路512及び513はハイレベルを出力し続ける。
【0023】
最短パス記憶回路510は、3つのNAND回路511〜513のうちのいずれか1つがローレベルを出力する。どのNAND回路の出力がローレベルであるのかを調べることにより、3つの信号SA,SB,SCのうちのどの信号のパスが一番最初に到達したのかを知ることができる。NAND回路511の出力がローレベルであれば信号SAが一番最初に到達し、NAND回路512の出力がローレベルであれば信号SBが一番最初に到達し、NAND回路513の出力がローレベルであれば信号SCが一番最初に到達したことが分かる。この最短パス記憶回路510を用いることにより、図3において、ゴールノードGOALからパスを遡ることにより、最短パス312を検出することができる。すなわち、最短パス記憶回路510に記憶されているパスをたどることにより、最短パスを知ることができる。
【0024】
トランジスタ514〜516は、ゲートがリセット信号RSに接続され、ソースが電源電位に接続され、ドレインがそれぞれNAND回路511,512,513の出力端子に接続される。最短パス検出を行う前に、スタートノードSTARTの入力信号をローレベルにし(信号SA,SB,SCをローレベルにし)、リセット信号RSをローレベルにして、トランジスタ514〜516をオンさせる。NAND回路511〜513の出力は、電源電位に接続され、ハイレベルにリセットされる。最短パス検出中は、リセット信号をハイレベルにし、トランジスタ514〜516をオフさせる。なお、トランジスタ514〜516を削除し、スタートノードSTARTの入力信号をローレベル(信号SA,SB,SCをローレベル)にすることにより、NAND回路511〜513の出力をハイレベルにリセットさせるようにしてもよい。
【0025】
なお、図5では3入力3出力のノード回路401の構成を説明したが、1入力又は2入力のノード回路も同様に構成することができる。
【0026】
図6(A)は、図4の可変遅延回路403の構成例を示す。可変遅延回路403は、偶数個(例えば4個)のインバータ601を直列に接続し、入力端子INに入力される信号を遅延させて出力端子OUTから出力させる。各インバータ601は、所定の遅延時間を持つ論理否定信号を出力する。スイッチ602は、制御信号CTLに応じて、偶数個(例えば2個)のインバータ601をバイパスしてショートさせる。制御信号CTLは、両者の文字が一致していればスイッチ602を閉じ、一致していなければスイッチ602を開く。すなわち、両者の文字が一致していなければ4個のインバータ601に相当する遅延時間を付与して出力端子OUTから信号を出力する。両者の文字が一致していれば2個のインバータ601に相当する遅延時間を付与して出力端子OUTから信号を出力する。
【0027】
図6(B)は、上記の各インバータ601の構成例を示す。pチャネルMOSトランジスタは、ゲートが入力端子611に接続され、ソースが電源電位に接続され、ドレインが出力端子615に接続される。nチャネルMOSトランジスタ613は、ゲートが入力端子611に接続され、ソースがグランド電位に接続され、ドレインが出力端子615に接続される。容量614は、出力端子615とグランド電位との間に接続される。このインバータは、入力端子611に入力される信号に所定の遅延時間を付与し、その論理否定信号を出力端子615から出力する。
【0028】
図6(C)は、図4の可変遅延回路403の他の構成例を示す。この可変遅延回路403は、図6(B)のインバータに対してnチャネルMOSトランジスタ621を追加したものである。トランジスタ621は、ゲートが制御端子622に接続され、ソースがグランド電位に接続され、ドレインがトランジスタ613のソースに接続される。制御端子622には、両者の文字の一致度に応じて大きくなる制御電圧が入力される。制御端子622の電圧が大きいほど、遅延時間が小さくなる。
【0029】
なお、図4の遅延回路402も上記と同様に遅延時間を固定させたものとして構成することができる。
【0030】
図7は、図4の格子回路のより具体的な構成例を示す。比較選択回路701は、図4のノード回路401に相当する。遅延回路702は、図4の遅延回路402に相当する。遅延回路703及びセレクタ704は、図4の可変遅延回路403に相当する。
【0031】
各格子回路は、上記のように、例えば入力パターンの1文字とテンプレートパターンの1文字とを比較する。アルファベットの1文字は、通常、7ビット又は8ビットの文字コードで表現されるので、その文字コードを比較する。図7では、説明の簡単のため、1文字が2ビットで表現される例を説明する。
【0032】
左上の格子回路は、入力パターンの2ビットコードX1,X0(例えば図3の「o」)とテンプレートパターンの2ビットコードA1,A0(例えば図3の「m」)とを比較する。右上の格子回路は、入力パターンの2ビットコードX1,X0(例えば図3の「o」)とテンプレートパターンの2ビットコードB1,B0(例えば図3の「o」)とを比較する。左下の格子回路は、入力パターンの2ビットコードY1,Y0(例えば図3の「t」)とテンプレートパターンの2ビットコードA1,A0(例えば図3の「m」)とを比較する。右下の格子回路は、入力パターンの2ビットコードY1,Y0(例えば図3の「t」)とテンプレートパターンの2ビットコードB1,B0(例えば図3の「o」)とを比較する。
【0033】
次に、左上の格子回路の動作例を説明する。否定排他的論理和(XNOR)回路705は、1ビット信号X0及び1ビット信号A0のXNORを演算して出力する。XNOR回路706は、1ビット信号X1及び1ビット信号A1のXNORを演算して出力する。XNOR回路705及び706は、2入力信号が同じ信号であればハイレベル(論理値「1」)を出力し、異なる信号であればローレベル(論理値「0」)を出力する。論理積(AND)回路707は、XNOR回路705及び706の出力の論理積を演算して出力する。AND回路707は、2入力信号が共にハイレベルのときにハイレベルを出力する論理回路である。
【0034】
セレクタ704は、AND回路707の出力がハイレベルであれば信号S2を右下の比較選択回路701に出力し、AND回路707の出力がローレベルであれば信号S1を右下の比較選択回路701に出力する。信号S1は、左上の比較選択回路701の出力信号が遅延回路703により遅延させられた信号である。信号S2は、左上の比較選択回路701の出力信号そのものである。すなわち、入力パターンの2ビットコードX1,X0とテンプレートパターンの2ビットコードA1,A0とが一致していなければセレクタ704は遅延した信号S1を出力し、一致していればセレクタ704は遅延していない信号S2を出力する。
【0035】
上記の信号S2のパスのように、ノード間を接続するパスには必ずしも遅延回路を設ける必要がなく、信号伝播時間を調整するための手段があればよい。
【0036】
図8は、本発明の他の実施形態によるDPマッチングを行うための最短パス検出半導体回路を示す。デジタル−パルス変換器802は、入力パターンのデジタル入力を所定のパルスに変換し、格子回路網804の各格子にパルスを供給する。デジタル−パルス変換器803は、テンプレートパターンのデジタル入力を所定のパルスに変換し、格子回路網804の各格子にパルスを供給する。格子回路網804は、相関器及び最短パス検索回路を含む。最短パス検索開始信号入力回路801は、最短パス検索開始信号を格子回路網804のスタートノードに入力する。回路網804は、スタートノードに入力された開始信号を伝播し、ゴールノードから出力する。遅延−デジタル変換器805は、スタートノードに入力された開始信号とゴールノードから出力された出力信号との間の遅延時間を基に、距離デジタル値に変換する。この距離デジタル値は、入力パターン及びテンプレートパターンの非類似度に相当する。
【0037】
図9は、図8の格子回路網804の具体的回路例を示す。比較選択回路901は、図4のノード回路401に相当する。遅延回路902は、図4の遅延回路402に相当する。可変遅延回路903は、図4の可変遅延回路403に相当する。左上のスタートノードの比較選択回路901には、検索開始信号911が入力される。検索開始信号911がローレベルからハイレベルに変化することにより、最短パスの検索が開始される。デジタル−パルス変換回路802及び803は、所定のパルスを出力する。このパルスは、多次元ベクトルデータの各ベクトル要素値によってパルス位置が決まり、それぞれのパルス幅は例えば固定値である。その詳細は、後に説明する。AND回路904は、デジタル−パルス変換回路802が出力する入力パターンのパルスとデジタル−パルス変換回路803が出力するテンプレートパターンのパルスとの論理積を演算して出力する。すなわち、AND回路904は、両者のパルスが共にハイレベルの期間だけハイレベルを出力し、それ以外はローレベルを出力する。AND回路904の出力のパルス幅が類似度(相関値)に相当する。可変遅延回路903は、左上の比較選択回路901の出力信号を遅延させて、右下の比較選択回路901に出力する。具体的には、可変遅延回路903は、AND回路904の出力のパルス幅が大きいほど、遅延時間が短い信号を出力する。
【0038】
図10は、図8及び図9のデジタル−パルス変換回路802及び803の構成例を示し、図11はその回路動作を示すタイミングチャートである。リセット信号RSは、リセット期間1101の間だけハイレベルになる。変換開始信号STは、リセット期間1101の後にハイレベルになり、変換開始を指示する。パルス出力信号OUTでは、変換開始信号STがハイレベル後のパルス位置1102でハイレベルになるパルスが発生する。そのパルスは、パルス幅1103を持つ。例えば、パルス位置1102は図2(B)の縦軸の数値により決まり、パルス幅1103は相関範囲を示す。詳細は、後に図15を参照しながら説明する。
【0039】
デジタル−遅延変換回路1001a及び1001bは、同じ構成を有し、リセット信号RSを入力する。この回路1001a及び1001bの具体的構成は、後に図12を参照しながら説明する。デジタル−遅延変換回路1001bは、デジタル入力端子にパルス位置デジタル値PPを入力し、出力イネーブル端子に変換開始信号STを入力する。パルス位置デジタル値PPは、図11のパルス位置1102に相当する。デジタル−遅延変換回路1001aは、デジタル入力端子にパルス幅デジタル値PWを入力し、出力イネーブル端子にデジタル−遅延変換回路1001bの出力を入力する。パルス幅デジタル値PWは、図11のパルス幅1103に相当する。インバータ1002は、デジタル−遅延変換回路1001aの出力信号の論理否定信号を出力する。AND回路1003は、デジタル−遅延変換回路1101bの出力信号とインバータ1002の出力信号との論理積を演算し、パルス出力信号OUTとして出力する。
【0040】
図12は、図10のデジタル−遅延変換回路1001a及び1001bの構成例を示す。デコーダ1201は、Nビットのデジタル入力信号に対し、2N個の出力信号を生成する。具体的には、デジタル入力値により唯一の出力がハイレベルになり、他の出力がローレベルになる。
【0041】
3状態インバータ1202及び1203は、制御端子がローレベルの時、出力がハイインピーダンス状態となり、ハイインピーダンス状態であれば出力は直前のレベルを保持する。また、3状態インバータ1202及び1203は、制御端子がハイレベルの時、入力を論理否定して出力する。
【0042】
インバータ1204は、リセット信号RSの論理否定信号を出力する。AND回路1205は、インバータ1204の出力信号と出力イネーブル信号との論理積を演算して出力する。3状態インバータ1203の制御端子にはAND回路1205の出力信号が供給され、3状態インバータ1202の制御端子にはリセット信号RSが供給される。
【0043】
デコーダ1201の出力は、リセット用3状態インバータ1202を通して、3状態インバータ1203の出力線に出力される。リセット信号RSがハイレベルになり、デコーダ1201の各出力の論理否定が各3状態インバータ1203の各出力端子の初期値としてリセットされる。すなわち、その初期値は、唯一の出力端子がローレベルになり、残りのすべての出力端子がハイレベルにリセットされる。AND回路1206は、インバータ1208の最終段の出力信号と出力イネーブル信号との論理積を演算して出力端子から出力信号として出力する。
【0044】
図13は、図9の遅延回路902の構成例を示す。遅延回路902は、偶数段のインバータ1301を直列に接続することにより構成することができる。
【0045】
図14は、図9の可変遅延回路903の構成例を示し、図15はその回路動作を示すタイミングチャートである。インバータ1403は、リセット信号の論理否定信号を出力する。複数のpチャネルMOSトランジスタ1404は、ゲートがインバータ1403の出力に接続され、ソースが電源電位に接続され、ドレインが3状態インバータ1405の各出力端子に接続される。AND回路904は、相関器に相当し、図9のAND回路904に対応する。AND回路904において、一方の入力を信号Xとし、他方の入力を信号Yとして表す。論理和(OR)回路1401は、入力信号とAND回路904の出力信号との論理和を演算して出力する。AND回路1402は、インバータ1403の出力信号とOR回路1401の出力信号との論理積を演算して3状態インバータ1405の制御端子に出力する。AND回路1406は、入力信号とインバータ1408の最終段の出力信号との論理積を演算して出力する。
【0046】
図15において、リセット期間1501では、リセット信号がハイレベルになる。次に、相関演算期間1502では、信号X及び信号Yのパルスが発生する。次に、距離評価期間1503では、入力信号及び出力信号が生じる。出力信号は、信号X及び信号Yの相関度に応じて、入力信号に遅延時間が付与された信号である。
【0047】
信号Xのパルスは、例えば音声データ数値が15のパルス位置であって、パルス幅が5であるとする。信号Yのパルスは、例えば音声データ数値が19のパルス位置であって、パルス幅が5であるとする。すると、信号Xと信号Yとのパルスの重なりが1になり、信号X及び信号Yの相関値(類似度)が1になる。例えば、信号X及び信号Yが共に音声データ数値が15のパルス位置であれば、両者のパルスが重なる相関値が5になる。このように、AND回路(相関器)904が信号X及び信号Yの論理積を演算することにより、信号Xの数値と信号Yの数値との差分の絶対値|X−Y|に相当する相関値(非類似度)を求めることができる。
【0048】
リセット期間1501では、リセット信号がハイレベルになると、3状態インバータ1405の出力がハイレベルに設定される。リセット直後は、これが維持される。次に、相関演算期間1502では、信号X及び信号Xのパルスが一致している期間は3状態インバータ1405の制御端子にハイレベルが供給される。次に、距離評価期間1503では、入力信号が伝播した後は、所定の遅延時間で出力信号が出力する。信号X及び信号Yのパルスが一致している期間が長いほど、短い遅延時間を持つ出力信号が出力される。
【0049】
図16は、図8の遅延−デジタル変換器805の構成例を示す。インバータ1604は、リセット信号の論理否定信号を出力する。複数のpチャネルMOSトランジスタ1605は、ゲートがインバータ1604の出力に接続され、ソースが電源電位に接続され、ドレインが3状態インバータ1606の各出力端子に接続される。インバータ1601は、終了信号の論理否定信号を出力する。AND回路1602は、開始信号及びインバータ1601の出力信号の論理積を演算して出力する。AND回路1603は、インバータ1604の出力及びAND回路1602の出力の論理積を演算し、3状態インバータ1606の制御端子に出力する。排他的論理和(XOR)回路1607は、2つの3状態インバータ1606の入力端子の信号の排他的論理和を演算して出力する。XOR回路1607は、2入力信号が同じときにはローレベルを出力し、異なるときにはハイレベルを出力する。エンコーダ1608は、XOR回路1607の出力信号を基にエンコードし、距離デジタル値を出力する。
【0050】
この遅延−デジタル変換回路は、図12のデジタル−遅延変換回路と逆の動作原理である。まず、リセット信号をハイレベルにすることにより、遅延チェーンの3状態インバータ1606の各出力端子がハイレベルにリセットされる。次に、開始信号がハイレベルになった後、終了信号がハイレベルになるまでの遅延時間分だけインバータ1606及び1609のチェーンを伝播し、終了信号がハイレベルになると、伝播が止まる。その後、3状態インバータ1606の出力端子がローレベルになるものとハイレベルになるものとの境目をXOR回路1607で検出する。エンコーダ1608は、その位置をデジタル値に変換し、距離デジタル値として出力する。距離デジタル値は、入力パターンとテンプレートパターンとの間の非類似度に相当する。
【0051】
上記のように、DPマッチングは、図2(A)のように、入力パターンINPとテンプレートTEMとの類似度を求めることができる。その場合、相関器は、入力パターンXiとテンプレートパターンYiとの差分の絶対値|Xi−Yi|を非類似度として演算し、遅延時間を多段階で制御すればよい。例えば、両者が類似しているほど、パルス幅を大きくし、可変遅延回路を制御する。DPマッチングは、文字列及び音声データの他、画像データ等の種々のマッチングを行うことができる。
【0052】
また、最短パス検索回路網内での相関値演算の際にデジタルの論理演算により演算してもよいし、図14の可変遅延回路の代わりに図12のデジタル−遅延変換回路等を用いることも可能である。
【0053】
また、回路網内に演算回路を入れずに相関値のみをメモリに記憶させ、そのメモリ内の相関値に応じて可変遅延回路を制御してもよい。その際、可変遅延回路の代わりにデジタル−遅延変換回路等を用いることも可能である。
【0054】
また、上記では、類似度が大きい場合又は一致している場合には遅延時間を短くするようにしたが、逆に遅延時間を長くするようにしてもよい。その場合は、最短パスではなく、最長パスを検索すればよい。スタートノードに入力信号を入力した後、ゴールノードに一番最後に到達した時間を計測する。その時間が最も類似している比較組み合わせの類似度に相当する。各ノードは、一番最後に到達した信号のパスを記憶するようにすればよい。
【0055】
以上のように、本実施形態によれば、少なくとも1つの入力ノード(スタートノード)と1つの出力ノード(ゴールノード)とを含む3つ以上のノードと、その3つ以上のノード間に接続され、各ノード間の信号伝播方向が規定されている複数のパスと、各パスの信号伝播時間を規定するための信号伝播時間規定手段とを有する。入力ノードに所定の入力信号を入力し、入力信号がパスを伝播して、出力ノードに到達するのに要する時間を検出する。その時間に応じて、2つのマッチング対象信号の一致度又は類似度を検出することができる。
【0056】
ノードは、自己に接続されるパスを介して入力される信号が複数あるときには、自己に接続されるパスを介して入力される信号のうちで一番最初又は一番最後に到達する信号のパスを特定して記憶する。そのパスを特定することにより、上記の一致度又は類似度に対応する最短パス又は最長パスを検出することができる。
【0057】
なお、上記実施形態は、何れも本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、またはその主要な特徴から逸脱することなく、様々な形で実施することができる。
【0058】
【発明の効果】
以上説明したように、本発明によれば、各パスの信号伝播時間を規定し、入力信号がパスを伝播して出力ノードに到達する時間を検出することができる。2つのマッチング対象信号の一致度又は類似度に応じて各パスの信号伝播時間を規定すれば、出力ノード到達時間に応じて両者の一致度又は類似度を検出することができる。また、この際、信号の最短パス又は最長パスを検出すれば、その一致度又は類似度に対応する最短パス又は最長パスの比較組み合わせを検出することができる。
【図面の簡単な説明】
【図1】本発明の実施形態によるDPマッチングを行うための最短パス検出方法を示す図である。
【図2】図2(A)は通常ベクトルマッチングアルゴリズムを示す図であり、図2(B)はDPマッチングアルゴリズムを示す図である。
【図3】具体的な最短パス検出方法を示す図である。
【図4】格子半導体回路構成を示す図である。
【図5】ノード回路の構成例を示す図である。
【図6】図6(A)は可変遅延回路の構成例を示す図であり、図6(B)はインバータの構成例を示す図であり、図6(C)は可変遅延回路の他の構成例を示す図である。
【図7】格子回路のより具体的な構成例を示す図である。
【図8】本発明の他の実施形態によるDPマッチングを行うための最短パス検出半導体回路を示す図である。
【図9】格子回路網の具体的回路例を示す図である。
【図10】デジタル−パルス変換回路の構成例を示す図である。
【図11】図10の回路動作を示すタイミングチャートである。
【図12】デジタル−遅延変換回路の構成例を示す図である。
【図13】遅延回路の構成例を示す図である。
【図14】可変遅延回路の構成例を示す図である。
【図15】図14の回路動作を示すタイミングチャートである。
【図16】遅延−デジタル変換器の構成例を示す図である。
【符号の説明】
INP,301 入力パターン
TEM,302 テンプレートパターン
111,311 2次元格子パス群
112,312 最短パス
401 ノード回路
402 遅延回路
403 可変遅延回路
510 最短パス記憶回路
701 比較選択回路
702 遅延回路
703 遅延回路
704 セレクタ
801 最短パス検索開始信号入力回路
802,803 デジタル−パルス変換器
804 回路網
805 遅延−デジタル変換器

Claims (6)

  1. 少なくとも1つの入力ノードと1つの出力ノードとを含む3つ以上のノードと、
    前記3つ以上のノード間に接続され、各ノード間の信号伝播方向が規定されている複数のパスと、
    前記各パスの信号伝播時間を規定するための信号伝播時間規定手段と、
    前記入力ノードに所定の入力信号を入力する入力手段と、
    前記入力信号が前記パスを伝播して、前記出力ノードに到達するのに要する時間を検出する検出手段と
    を有する半導体回路。
  2. 前記ノードは、自己に接続されるパスを介して入力される信号が複数あるときには、自己に接続されるパスを介して入力される信号のうちで一番最初又は一番最後に到達する信号のパスを特定して記憶する記憶手段を有する請求項1記載の半導体回路。
  3. 前記ノードに3つのパスを介して3つの信号が入力されるときには、該ノードの前記記憶手段は、3つのパスを介して入力される3つの信号をそれぞれ1つずつ入力する3つの3入力否定論理積回路を有し、該各否定論理積回路は、さらに他の2つの否定論理積回路の出力を入力する請求項2記載の半導体回路。
  4. 前記複数のパスのうちの少なくとも1つのパスの信号伝播時間規定手段は、2つのマッチング対象信号の一致度又は類似度に応じて信号伝播時間を変化させる請求項2記載の半導体回路。
  5. 前記ノードは、2次元格子状に配置される請求項4記載の半導体回路。
  6. 前記検出手段は、前記検出する出力ノード到達時間に応じて2つのマッチング対象信号の一致度又は類似度を検出し、前記記憶手段に記憶されるパスを特定することにより前記一致度又は類似度に対応する最短パス又は最長パスを検出してダイナミックプログラミングマッチングを行う請求項5記載の半導体回路。
JP2003039740A 2003-02-18 2003-02-18 半導体回路 Expired - Fee Related JP3685786B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2003039740A JP3685786B2 (ja) 2003-02-18 2003-02-18 半導体回路
US10/779,802 US7382171B2 (en) 2003-02-18 2004-02-18 Semiconductor circuit for detecting a signal propagation time

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003039740A JP3685786B2 (ja) 2003-02-18 2003-02-18 半導体回路

Publications (2)

Publication Number Publication Date
JP2004253891A JP2004253891A (ja) 2004-09-09
JP3685786B2 true JP3685786B2 (ja) 2005-08-24

Family

ID=32844478

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003039740A Expired - Fee Related JP3685786B2 (ja) 2003-02-18 2003-02-18 半導体回路

Country Status (2)

Country Link
US (1) US7382171B2 (ja)
JP (1) JP3685786B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7711055B2 (en) * 2006-03-23 2010-05-04 Ati Technologies, Inc. System and method for signal alignment when communicating signals
US20090033389A1 (en) * 2007-08-03 2009-02-05 Abadeer Wagdi W Micro-phase adjusting and micro-phase adjusting mixer circuits designed with standard field effect transistor structures
JPWO2013027739A1 (ja) * 2011-08-24 2015-03-19 日本電気株式会社 劣化診断回路および劣化診断方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5646568A (en) * 1995-02-28 1997-07-08 Ando Electric Co., Ltd. Delay circuit
US6340901B1 (en) * 1999-02-12 2002-01-22 Sun Microsystems, Inc. Measurement of signal propagation delay using arbiters
JP3386031B2 (ja) * 2000-03-06 2003-03-10 日本電気株式会社 同期遅延回路及び半導体集積回路装置
US7036098B2 (en) * 2003-06-30 2006-04-25 Sun Microsystems, Inc. On-chip signal state duration measurement and adjustment

Also Published As

Publication number Publication date
JP2004253891A (ja) 2004-09-09
US7382171B2 (en) 2008-06-03
US20040160255A1 (en) 2004-08-19

Similar Documents

Publication Publication Date Title
JP6603963B2 (ja) アンチヒューズ差動セルを有するランダムコード生成器および関連する検出方法
US6392910B1 (en) Priority encoder with multiple match function for content addressable memories and methods for implementing the same
JP3993717B2 (ja) 半導体集積回路装置
JP6062578B2 (ja) 3値連想メモリ(tcam)のための静的nandセル
JP2007329963A (ja) 非相補入力構造を有する比較回路
US5789966A (en) Distributed multiplexer
JP5520391B2 (ja) 検索開始点を決定する装置及び方法
Onizawa et al. High-throughput low-energy self-timed CAM based on reordered overlapped search mechanism
JP3685786B2 (ja) 半導体回路
US6496041B2 (en) Logic cell and logic circuit using the same
JP2013101729A (ja) 連想メモリ
KR100518604B1 (ko) 데이터의 독출 간격에 따라 반전 처리 동작을 수행하는반도체 장치의 데이터 반전회로 및 데이터 반전방법
US20040205447A1 (en) Integrated circuit devices having data inversion circuits therein with multi-bit prefetch structures and methods of operating same
JPH11249870A (ja) 二進比較回路
JP3116862B2 (ja) スキューロジック回路装置
KR100573073B1 (ko) 2비트 이진 비교기 및 이를 이용한 이진 비교 장치
EP0663731A2 (en) Method and device for determining hamming distance between two multi-bit digital words
JP4063830B2 (ja) 半導体記憶装置
JP4071873B2 (ja) 半導体集積回路装置
JP2009010921A (ja) 半導体集積回路のドライバー抵抗値調整装置
Maurya et al. Fast and scalable priority encoding using static CMOS
JP3851906B2 (ja) パルス生成回路
CN112651198A (zh) 非因果电路划分的方法及门级电路并行仿真的方法
TWI600284B (zh) 數值尋找器以及數值尋找方法
JP3819005B2 (ja) 半導体集積回路

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20050512

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20050531

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080610

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110610

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110610

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120610

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130610

Year of fee payment: 8

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees