JP2004227517A - Logic synthesis apparatus and logic synthesis method - Google Patents
Logic synthesis apparatus and logic synthesis method Download PDFInfo
- Publication number
- JP2004227517A JP2004227517A JP2003017899A JP2003017899A JP2004227517A JP 2004227517 A JP2004227517 A JP 2004227517A JP 2003017899 A JP2003017899 A JP 2003017899A JP 2003017899 A JP2003017899 A JP 2003017899A JP 2004227517 A JP2004227517 A JP 2004227517A
- Authority
- JP
- Japan
- Prior art keywords
- logic gate
- logic
- test point
- gate circuits
- logic synthesis
- 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
【課題】テストポイントの挿入が適切であるかどうかの判断を容易に行い得、且つ、論理合成の回数を一回として設計期間の短縮化を図り得る論理合成装置及び論理合成方法を提供することにある。
【解決手段】レジスタトランスファレベルの動作記述に基づいて等価機能の複数の論理ゲート回路を生成する論理ゲート回路生成部1と、論理ゲート回路それぞれに対してテストポイントの挿入が必要かどうか判定し、テストポイントの挿入が必要と判定した場合にテストポイントを挿入するテストポイント挿入判定部2と、テストポイント挿入判定部による処理が終了した論理ゲート回路それぞれについて面積を算出する面積算出部3と、面積が最も小さい論理ゲート回路を選択して論理合成を行う論理合成部4とを少なくとも用いて、論理合成装置を構成する。
【選択図】 図1A logic synthesizing apparatus and a logic synthesizing method capable of easily determining whether or not a test point is properly inserted and shortening a design period by making the number of times of logic synthesis one. It is in.
A logic gate circuit generator for generating a plurality of logic gate circuits having equivalent functions based on a register transfer level operation description, and determining whether or not a test point needs to be inserted into each of the logic gate circuits; A test point insertion determination unit 2 that inserts a test point when it is determined that a test point needs to be inserted; an area calculation unit 3 that calculates an area for each logic gate circuit that has been processed by the test point insertion determination unit; And a logic synthesizing unit 4 that selects a logic gate circuit having the smallest value and performs logic synthesis, to constitute a logic synthesis device.
[Selection diagram] Fig. 1
Description
【0001】
【発明の属する技術分野】
本発明は、半導体集積回路のテスト容易化設計を実行するためのテストポイントの挿入を行いながら論理合成を行う方法に関する。
【0002】
【従来の技術】
近年、半導体集積回路の集積技術の発展に伴い、回路規模が200万〜300万ゲートにもおよぶ論理LSIの設計が行われている。このため、いわゆるテスト容易化設計の重要性が高まっている。テスト容易化設計とは、半導体集積回路のテストの方針を設計の段階で固め、半導体集積回路のなかにテスト回路を作り込んでおく手法をいう。
【0003】
このテスト容易化設計において、テストを行い易いかどうか、即ち、故障検出率を上げることができるかどうかは、可観測性と可制御性とによって判断することができる。可観測性とは、回路のなかのあるノードについて、その論理値を外部から観測しやすいかどうかいい、可制御性とは、あるノードの論理値を外部からの入力によって設定しやすいかどうかをいう。
【0004】
このため、テスト容易設計においては、可観測性及び可制御性を高めるため、例えば、観測や制御の困難な箇所を見つけ出し、この箇所にテストポイントと呼ばれるレジスタを挿入する手法が用いられている。
【0005】
次に、従来のテスト容易化設計について図10を用いて説明する。図10は、従来の論理合成方法を示すフローチャートである。テストポイントの挿入は、通常ゲートレベルに対して行われる。
【0006】
図10に示すように、先ず、HDL(Hardware Description Language)を用いて生成されたRTL(Register Transfer Level)記述に基づいて、論理合成が行われ、ネットリストが生成される(ステップS41)。なお、RTL記述はテストポイントの挿入を特に考慮しないで生成されている。
【0007】
次に、ステップS41で生成されたネットリストに対してテストポイントの挿入判定を行って挿入箇所を検出し、テストポイントの挿入が行われる(ステップS42)。この場合、テストポイントの挿入によって遅延値が変化するため、タイミングの最適化を行う必要がある。よって、その後、再度の論理合成が行われて論理の最適化が行われ、最適化されたネットリストが生成される(ステップS43)。
【0008】
このように図10に示す論理合成方法に従えば、テストポイントの挿入に対応して最適化が図られたネットリストを得ることができるので、テスト容易化設計が達成される。また、論理合成を一回にして設計期間の短縮を計るために、RTL記述に対してテストポイントを挿入する論理合成方法も知られている(例えば、特許文献1参照。)。
【0009】
【特許文献1】
特開平8−16656号公報
【0010】
【発明が解決しようとする課題】
しかしながら、上述した従来の論理合成方法においては、テストポイントの挿入が適切かどうかを判断する基準がない。このため、不必要なテストポイントの挿入によって、チップ面積の増加、処理速度の低下、テスト時間の遅延、更にはコストの上昇等といった問題が生じてしまう場合がある。
【0011】
本発明の目的は、上記問題を解消し、テストポイントの挿入が適切であるかどうかの判断を容易に行い得、且つ、論理合成の回数を一回として設計期間の短縮化を図り得る論理合成装置及び論理合成方法を提供することにある。
【0012】
【課題を解決するための手段】
上記目的を達成するために本発明にかかる第1の論理合成装置は、レジスタトランスファレベルの動作記述に基づいてネットリストを生成する論理合成装置であって、前記動作記述に基づいて、等価機能の複数の論理ゲート回路を生成する論理ゲート回路生成部と、前記複数の論理ゲート回路それぞれに対してテストポイントの挿入が必要かどうか判定し、前記テストポイントの挿入が必要と判定した場合に前記テストポイントを挿入するテストポイント挿入判定部と、前記テストポイント挿入判定部による処理が終了した前記複数の論理ゲート回路それぞれについて面積を算出する面積算出部と、前記面積が最も小さい論理ゲート回路を選択して論理合成を行う論理合成部とを少なくとも有することを特徴とする。
【0013】
上記目的を達成するために本発明にかかる第2の論理合成装置は、レジスタトランスファレベルの動作記述に基づいてネットリストを生成する論理合成装置であって、前記動作記述に基づいて、等価機能の複数の論理ゲート回路を生成する論理ゲート回路生成部と、前記複数の論理ゲート回路それぞれに対してテストポイントの挿入が必要かどうか判定し、前記テストポイントの挿入が必要と判定した場合に前記テストポイントを挿入するテストポイント挿入判定部と、前記テストポイント挿入判定部による処理が終了した前記複数の論理ゲート回路それぞれについてタイミング計算を行って回路速度を算出する回路速度算出部と、前記回路速度が最も速い論理ゲート回路を選択して論理合成を行う論理合成部とを少なくとも有することを特徴とする。
【0014】
上記目的を達成するために本発明にかかる第3の論理合成装置は、レジスタトランスファレベルの動作記述に基づいてネットリストを生成する論理合成装置であって、前記動作記述に基づいて、等価機能の複数の論理ゲート回路を生成する論理ゲート回路生成部と、前記複数の論理ゲート回路それぞれに対してテストポイントの挿入が必要かどうか判定し、前記テストポイントの挿入が必要と判定した場合に前記テストポイントを挿入するテストポイント挿入判定部と、前記テストポイント挿入判定部による処理が終了した前記複数の論理ゲート回路それぞれについてテストパターンの生成を行うテストパターン生成部と、生成された前記テストパターンの数が最も少ない論理ゲート回路を選択して論理合成を行う論理合成部とを少なくとも有することを特徴とする。
【0015】
上記目的を達成するために本発明にかかる第4の論理合成装置は、レジスタトランスファレベルの動作記述に基づいてネットリストを生成する論理合成装置であって、前記動作記述に基づいて、等価機能の複数の論理ゲート回路を生成する論理ゲート回路生成部と、前記複数の論理ゲート回路それぞれに対してテストポイントの挿入が必要かどうか判定し、前記テストポイントの挿入が必要と判定した場合に前記テストポイントを挿入するテストポイント挿入判定部と、前記テストポイント挿入判定部による処理が終了した前記複数の論理ゲート回路それぞれについて、面積を算出し、又タイミング計算を行って回路速度を算出し、更にテストパターンの生成を行い、前記面積、前記回路速度、及び生成された前記テストパターンの数に基づいて、前記テストポイント挿入判定部による処理によって変化するコストを前記論理ゲート回路毎に算出するコスト算出部と、算出した前記コストが最も小さい論理ゲート回路を選択して論理合成を行う論理合成部とを少なくとも有することを特徴とする。
【0016】
次に、上記目的を達成するために本発明にかかる第1の論理合成方法は、レジスタトランスファレベルの動作記述に基づいてネットリストを生成する論理合成方法であって、(a)前記動作記述に基づいて、等価機能の複数の論理ゲート回路を生成する工程と、(b)前記複数の論理ゲート回路それぞれに対してテストポイントの挿入が必要かどうか判定し、前記テストポイントの挿入が必要と判定した場合に前記テストポイントを挿入する工程と、(c)前記(b)の工程が終了した前記複数の論理ゲート回路それぞれについて面積を算出する工程と、(d)前記面積が最も小さい論理ゲート回路を選択して論理合成を行う工程とを少なくとも有することを特徴とする。
【0017】
また、上記目的を達成するために本発明にかかる第2の論理合成方法は、レジスタトランスファレベルの動作記述に基づいてネットリストを生成する論理合成方法であって、(a)前記動作記述に基づいて、等価機能の複数の論理ゲート回路を生成する工程と、(b)前記複数の論理ゲート回路それぞれに対してテストポイントの挿入が必要かどうか判定し、前記テストポイントの挿入が必要と判定した場合に前記テストポイントを挿入する工程と、(c)前記(b)の工程が終了した前記複数の論理ゲート回路それぞれについてタイミング計算を行って回路速度を算出する工程と、(d)前記回路速度が最も速い論理ゲート回路を選択して論理合成を行う工程とを少なくとも有することを特徴とする。
【0018】
また、上記目的を達成するために本発明にかかる第3の論理合成方法は、レジスタトランスファレベルの動作記述に基づいてネットリストを生成する論理合成方法であって、(a)前記動作記述に基づいて、等価機能の複数の論理ゲート回路を生成する工程と、(b)前記複数の論理ゲート回路それぞれに対してテストポイントの挿入が必要かどうか判定し、前記テストポイントの挿入が必要と判定した場合に前記テストポイントを挿入する工程と、(c)前記(b)の工程が終了した前記複数の論理ゲート回路それぞれについてテストパターンの生成を行う工程と、(d)生成された前記テストパターンの数が最も少ない論理ゲート回路を選択して論理合成を行う工程とを少なくとも有することを特徴とする。
【0019】
また、上記目的を達成するために本発明にかかる第4の論理合成方法は、レジスタトランスファレベルの動作記述に基づいてネットリストを生成する論理合成方法であって、(a)前記動作記述に基づいて、等価機能の複数の論理ゲート回路を生成する工程と、(b)前記複数の論理ゲート回路それぞれに対してテストポイントの挿入が必要かどうか判定し、前記テストポイントの挿入が必要と判定した場合に前記テストポイントを挿入する工程と(c)前記(b)の工程が終了した前記複数の論理ゲート回路それぞれについて、面積を算出し、又タイミング計算を行って回路速度を算出し、更にテストパターンの生成を行う工程と、(f)前記面積、前記回路速度、及び生成された前記テストパターンの数に基づいて、前記(b)の工程によって変化するコストを前記論理ゲート回路毎に算出する工程と、(g)算出した前記コストが最も小さい論理ゲート回路を選択して論理合成を行う工程とを少なくとも有することを特徴とする。
【0020】
なお、本発明は、上記の本発明にかかる論理合成方法を具現化するためのプログラムであっても良い。このプログラムをコンピュータにインストールして実行することにより、上記の本発明にかかる論理合成方法を実行できる。
【0021】
【発明の実施の形態】
(実施の形態1)
以下、本発明の実施の形態1にかかる論理合成装置及び論理合成方法について、図1〜図3を参照しながら説明する。最初に、本実施の形態1にかかる論理合成装置の構成について図1及び図2を用いて説明する。図1は、本発明の実施の形態1にかかる論理合成装置の構成を概略的に示す図である。図2は、レジスタトランスファレベルの動作記述から生成された論理ゲート回路を示す図である。なお、図2(a)及び(b)に示す論理ゲート回路は、同じ動作記述に基づいて生成されたものであり、等価機能の回路である。
【0022】
図1に示すように、本実施の形態1にかかる論理合成装置は、論理ゲート回路生成部1と、テストポイント挿入判定部2と、面積算出部3と、論理合成部4とを有しており、この構成により、レジスタトランスファレベルの動作記述(RTL記述)5に基づいてネットリスト6を生成する。
【0023】
論理ゲート回路生成部1は、図2(a)及び(b)に示すように、RTL記述5に基づいて、等価機能の複数の論理ゲート回路を生成する。この生成された複数の論理ゲート回路は、論理合成部4が論理合成を行う際の選択の候補となる。
【0024】
テストポイント挿入判定部2は、論理ゲート回路生成部1が生成した複数の論理ゲート回路それぞれに対して、テストポイントの挿入が必要かどうか判定し、テストポイントの挿入が必要と判定した場合はテストポイントを挿入する。なお、テストポイント挿入判定部2は、可観測性及び可制御性の計算結果に基づいてテストポイントを挿入するかどうかを判定する。
【0025】
図1及び図2の例では、テストポイント挿入判定部2は、図2(a)に示す論理ゲート回路については、テストポイントの挿入が必要ないと判定している。一方、テストポイント挿入判定部2は、図2(b)に示す論理ゲート回路については、テストポイントの挿入が必要であると判定し、テストポイントの挿入を行っている。
【0026】
面積算出部3は、テストポイント挿入判定部2による処理が終了した後、論理ゲート回路生成部1が生成した各論理ゲート回路について面積を算出する。例えば、図2(a)に示す論理ゲート回路にはテストポイントが挿入されないため、テストポイントが挿入されていない状態での面積が算出される。一方、図2(b)に示す論理ゲート回路にはテストポイントが挿入されているため、テストポイントが挿入された状態での面積が算出される。
【0027】
論理合成部4は、等価機能の複数の論理ゲート回路のなかから、面積算出部3で算出された面積が最も小さい論理ゲート回路を選択し、選択された論理ゲート回路を用いて論理合成を行い、ネットリスト6を出力する。
【0028】
次に、本実施の形態1にかかる論理合成方法について図3を用いて説明する。但し、本実施の形態1にかかる論理合成方法は、図1に示した本実施の形態1にかかる論理合成装置を動作させることによって実施される。このため、本実施の形態1にかかる論理合成方法は、適宜図1を参酌しながら、図1に示す論理合成装置の動作と共に説明する。図3は、本発明の実施の形態1にかかる論理合成装置の動作を示すフローチャートである。
【0029】
図3に示すように、最初に、論理ゲート回路生成部1によって、RTL記述5を読み出し、これに基づいて、等価機能の複数の論理ゲート回路(図2参照)を生成する(ステップS1)。
【0030】
次に、テストポイント挿入判定部2によって、ステップS1で生成された各論理ゲート回路について、テストポイントの挿入が必要かどうかの判定を行い、テストポイントの挿入が必要と判定された論理ゲート回路に対してはテストポイントを挿入する(ステップS2)。
【0031】
次に、面積算出部3によって、ステップS2が終了した各論理ゲート回路について面積を算出し(ステップS3)、次いで、論理合成部4によって、ステップS3で算出された面積を比較し、等価機能の複数の論理ゲート回路の中から面積が最も小さい論理ゲート回路を選択する(ステップS4)。
【0032】
その後、論理合成部4により、ステップS4で選択された論理ゲート回路を用いて論理合成を行って、ネットリスト6を出力する(ステップS5)。なお、図3では示していないが、RTL記述5に表現されている機能が複数ある場合は、全ての機能についてステップS1〜S4を実行した後、ステップS5が実行される。
【0033】
以上のように、本実施の形態1にかかる論理合成装置及び論理合成方法によれば、動作記述に表現された機能に対して複数の論理ゲート回路が論理合成の候補として生成され、各論理ゲート回路に必要に応じてテストポイントの挿入が行われた後、そのうち面積が最も小さいものが選択されて論理合成が行われる。このため、本実施の形態1にかかる論理合成装置及び論理合成方法によれば、適切なテストポイントの挿入を容易に行うことができ、論理合成を一回で終了することができる。また、本実施の形態1によれば、テストポイントの挿入を最小限に抑えることができるので、チップ面積が増加するのを抑制することができる。
【0034】
なお、本実施の形態1にかかる論理合成装置は、コンピュータに、図3に示すステップS1〜S5を具現化させるプログラムをインストールし、このプログラムを実行することによっても、実現することができる。この場合、コンピュータのCPU(central processing unit)は、論理ゲート回路生成部1、テストポイント挿入判定部2、面積算出部3、及び論理合成部4として機能し、処理を行う。
【0035】
RTL記述5は、論理合成装置を構成するコンピュータに備えられたハードディスク等の記憶装置に、これを構成するデータファイルを格納することによって、又はこのデータファイルが格納された記録媒体をコンピュータと接続された読取装置に搭載することによって提供される。また、RTL記述5は、論理合成装置を構成しているコンピュータとは別のコンピュータに格納されていても良く、この場合は、通信回線を介して提供される。
【0036】
また、論理合成部4がネットリスト6を出力する先は、論理合成装置を構成しているコンピュータに備えられたハードディスク等の記憶装置であっても良いし、論理合成装置を構成しているコンピュータと接続された別のコンピュータの記憶装置であっても良い。
【0037】
(実施の形態2)
次に本発明の実施の形態2にかかる論理合成装置及び論理合成方法について、図4及び図5を参照しながら説明する。最初に本実施の形態2にかかる論理合成装置の構成について図4を用いて説明する。図4は、本発明の実施の形態2にかかる論理合成装置の構成を概略的に示す図である。
【0038】
図4に示すように、本実施の形態2にかかる論理合成装置は、回路速度算出部13を有しており、この点で実施の形態1にかかる論理合成装置と異なっている。回路速度算出部13は、テストポイント挿入判定部12による処理が終了した後、複数の論理ゲート回路それぞれについてタイミング計算を行って、各論理ゲート回路の回路速度を算出する。なお、本発明でいう「回路速度」とは、論理ゲート回路における信号伝播の遅延時間のことを意味する。
【0039】
また、このため、論理合成部14は、実施の形態1と異なり、等価機能の複数の論理ゲート回路のなかから、回路速度算出部13で算出された回路速度が最も速い論理ゲート回路、即ち遅延時間が最も小さい論理ゲート回路を選択する。
【0040】
本実施の形態2においても、論理合成部14は、選択された論理ゲート回路を用いて論理合成を行い、ネットリスト16を出力する。論理ゲート回路生成部11及びテストポイント挿入判定部12は、実施の形態1で示したものと同様のものである。
【0041】
次に、本実施の形態2にかかる論理合成方法について図5を用いて説明する。本実施の形態2にかかる論理合成方法も、実施の形態1と同様に、論理合成装置を動作させることによって実施される。このため、本実施の形態2にかかる論理合成方法も、図4に示す論理合成装置の動作と共に説明する。図5は、本発明の実施の形態2にかかる論理合成装置の動作を示すフローチャートである。
【0042】
図5に示すように、最初に、論理ゲート回路生成部11によって、等価機能の複数の論理ゲート回路を生成し(ステップS11)、テストポイント挿入判定部12によって、テストポイントの挿入が必要かどうかの判定及びテストポイントの挿入を行う(ステップS12)。なお、ステップS11及びS12は、図3で示したステップS1及びS2と同様のステップである。
【0043】
次に、回路速度算出部13によって、ステップS12が終了した各論理ゲート回路についてタイミング計算を行って、各論理ゲート回路の回路速度を算出する(ステップS13)。次いで、論理合成部14によって、ステップS13で算出された回路速度を比較し、等価機能の複数の論理ゲート回路の中から回路速度が最も速い論理ゲート回路を選択する(ステップS14)。
【0044】
その後、論理合成部14により、ステップS14で選択された論理ゲート回路を用いて論理合成を行って、ネットリスト16を出力する(ステップS15)。なお、ステップS15は、図1で示したS5と同様のステップである。また、図5においても示していないが、RTL記述15に表現されている機能が複数ある場合は、全ての機能についてステップS11〜S14を実行した後、ステップS15が実行される。
【0045】
以上のように、本実施の形態2にかかる論理合成装置及び論理合成方法によれば、等価機能の複数の論理ゲート回路の中から、回路速度が最も速い論理ゲート回路が選択されて論理合成が行なわれる。このため、本実施の形態2おいても、実施の形態1と同様に、適切なテストポイントの挿入を容易に行うことができ、論理合成を一回で終了することができる。また、本実施の形態2によれば、テストポイントの挿入による速度の遅延を最小限に抑えることができる。
【0046】
なお、本実施の形態2にかかる論理合成装置も、コンピュータに、図5に示すステップS11〜S15を具現化させるプログラムをインストールし、このプログラムを実行することによって実現することができる。
【0047】
(実施の形態3)
次に本発明の実施の形態3にかかる論理合成装置及び論理合成方法について、図6及び図7を参照しながら説明する。最初に本実施の形態3にかかる論理合成装置の構成について図6を用いて説明する。図6は、本発明の実施の形態3にかかる論理合成装置の構成を概略的に示す図である。
【0048】
図6に示すように、本実施の形態3にかかる論理合成装置は、テストパターン生成部23を有しており、この点で実施の形態1にかかる論理合成装置と異なっている。テストパターン生成部23は、テストポイント挿入判定部22による処理が終了した後、複数の論理ゲート回路それぞれについてテストパターンの生成を行う。
【0049】
また、論理合成部24は、実施の形態1と異なり、等価機能の複数の論理ゲートのなかから、テストパターン生成部23で生成されたテストパターンの数が最も少ない論理ゲート回路を選択する。
【0050】
本実施の形態3においても、論理合成部24は、選択された論理ゲート回路を用いて論理合成を行い、ネットリスト26を出力する。また、論理ゲート回路生成部21及びテストポイント挿入判定部22は、実施の形態1で示したものと同様のものである。
【0051】
次に、本実施の形態3にかかる論理合成方法について図7を用いて説明する。本実施の形態3にかかる論理合成方法も、実施の形態1と同様に、論理合成装置を動作させることによって実施される。このため、本実施の形態3にかかる論理合成方法も、図6に示す論理合成装置の動作と共に説明する。図7は、本発明の実施の形態3にかかる論理合成装置の動作を示すフローチャートである。
【0052】
図7に示すように、最初に、論理ゲート回路生成部21によって、等価機能の複数の論理ゲート回路を生成し(ステップS21)、テストポイント挿入判定部22によって、テストポイントの挿入が必要かどうかの判定及びテストポイントの挿入を行う(ステップS22)。なお、ステップS21及びS22は、図3で示したステップS1及びS2と同様のステップである。
【0053】
次に、テストパターン生成部23によって、ステップS22が終了した各論理ゲート回路について、テストパターンの生成を行う(ステップS23)。次いで、論理合成部24によって、ステップS23で生成されたテストパターンの数を比較し、等価機能の複数の論理ゲート回路の中からテストパターンの数が最も少ない論理ゲート回路を選択する(ステップS24)。
【0054】
その後、論理合成部24により、ステップS24で選択された論理ゲート回路を用いて論理合成を行って、ネットリスト26を出力する(ステップS25)。なお、ステップS25は、図1で示したS5と同様のステップである。また、図7においても示していないが、RTL記述25に表現されている機能が複数ある場合は、全ての機能についてステップS21〜S24を実行した後、ステップS25が実行される。
【0055】
以上のように、本実施の形態3にかかる論理合成装置及び論理合成方法によれば、等価機能の複数の論理ゲート回路の中から、テストパターンの数が最も少ない論理ゲート回路が選択されて論理合成が行なわれる。このため、本実施の形態3においても、実施の形態1と同様に、適切なテストポイントの挿入を容易に行うことができ、論理合成を一回で終了することができる。また、本実施の形態3によれば、テストに要する時間を減縮でき、半導体集積回路の開発期間の短縮を図ることができる。
【0056】
なお、本実施の形態3にかかる論理合成装置も、コンピュータに、図7に示すステップS21〜S25を具現化させるプログラムをインストールし、このプログラムを実行することによって実現することができる。
【0057】
(実施の形態4)
次に本発明の実施の形態4にかかる論理合成装置及び論理合成方法について、図8及び図9を参照しながら説明する。最初に本実施の形態4にかかる論理合成装置の構成について図8を用いて説明する。図8は、本発明の実施の形態4にかかる論理合成装置の構成を概略的に示す図である。
【0058】
図8に示すように、本実施の形態4にかかる論理合成装置は、コスト算出部33を有しており、この点で実施の形態1にかかる論理合成装置と異なっている。コスト算出部33は、テストポイント挿入判定部32による処理が終了した後、複数の論理ゲート回路それぞれについて、面積及び回路速度の算出とテストパターンの生成とを行う。つまり、コスト算出部33は、面積算出部(図1参照)、回路速度算出部(図4参照)、及びテストパターン生成部(図6参照)と同様の機能を備えている。
【0059】
また、コスト算出部33は、算出された面積及び回路速度と、生成されたテストパターンの数とに基づいて、テストポイント挿入判定部23による処理によって変化するコストを論理ゲート回路毎に算出する。本実施の形態4では、コスト算出部33は、評価関数を用いて、テストポイントの挿入によって生じるコストの増加分やチップ価格の低下額を算出し、これらの和をコストの変化分としてコストを算出する。
【0060】
具体的には、コスト算出部33は、論理ゲート回路の面積と半導体集積回路の製造コストとの関係を示す評価関数を用いて、半導体集積装置の単位面積当たりの製造コストを算出し、算出された製造コストとテストポイントの挿入による面積増分との積を求めることで、面積増分によるコストの増分を算出する。また、コスト算出部33は、回路速度とチップ価格との関係を示す評価関数を用いて、テストポイントの挿入による回路速度の低下量をチップ価格の低下額に換算して、回路速度低下によるチップ価格の低下額を算出する。更に、コスト算出部33は、テストパターンの数とテスト費用との関係を示す評価関数を用いて、テストパターンの数の増加によるテストコストの増加分を算出する。
【0061】
なお、図2(a)で示した論理ゲート回路のように、テストポイントの挿入が必要ないと判定された論理ゲート回路については、テストポイントは挿入されないため、上記したコストの増加やチップ価格の低下は生じないと考えられるので、コストの変化分は0(ゼロ)となる。よって、テストポイントの挿入が必要ないと判定された論理ゲート回路については、面積及び回路速度の算出とテストパターンの生成とを行わないで、コストの変化分を0(ゼロ)とする態様としても良い。
【0062】
また、論理合成部34は、実施の形態1と異なり、等価機能の複数の論理ゲートのなかから、コスト算出部33によって算出されたコストが最も小さい論理ゲート回路を選択する。
【0063】
本実施の形態4においても、論理合成部34は、選択された論理ゲート回路を用いて論理合成を行い、ネットリスト36を出力する。また、論理ゲート回路生成部31及びテストポイント挿入判定部32は、実施の形態1で示したものと同様のものである。
【0064】
次に、本実施の形態4にかかる論理合成方法について図9を用いて説明する。本実施の形態4にかかる論理合成方法も、実施の形態1と同様に、論理合成装置を動作させることによって実施される。このため、本実施の形態4にかかる論理合成方法も、図8に示す論理合成装置の動作と共に説明する。図9は、本発明の実施の形態4にかかる論理合成装置の動作を示すフローチャートである。
【0065】
図9に示すように、最初に、論理ゲート回路生成部31によって、等価機能の複数の論理ゲート回路を生成し(ステップS31)、テストポイント挿入判定部32によって、テストポイントの挿入が必要かどうかの判定及びテストポイントの挿入を行う(ステップS32)。なお、ステップS31及びS32は、図3で示したステップS1及びS2と同様のステップである。
【0066】
次に、コスト算出部33によって、ステップS32が終了した各論理ゲート回路について、面積を算出し、又タイミング計算を行って回路速度を算出し、更にテストパターンの生成を行う(ステップS33)。次いで、ステップS33で算出した面積及び回路速度と、ステップS33で生成したテストパターンの数とを用いて、コストの算出を行う(ステップS34)。
【0067】
次に、論理合成部34により、ステップS34で算出されたコストを比較し、等価機能の複数の論理ゲート回路の中からコストが最も小さい論理ゲート回路を選択する(ステップS35)。
【0068】
その後、論理合成部34により、ステップS35で選択された論理ゲート回路を用いて論理合成を行って、ネットリスト36を出力する(ステップS36)。なお、ステップS36は、図1で示したS5と同様のステップである。また、図9においても示していないが、RTL記述35に表現されている機能が複数ある場合は、全ての機能についてステップS31〜S35を実行した後、ステップS36が実行される。
【0069】
以上のように、本実施の形態4にかかる論理合成装置及び論理合成方法によれば、等価機能の複数の論理ゲート回路の中から、テストポイント挿入による損失額が最も小さい論理ゲート回路が選択されて論理合成が行なわれる。このため、本実施の形態4おいても、実施の形態1と同様に、適切なテストポイントの挿入を容易に行うことができ、論理合成を一回で終了することができる。また、本実施の形態4によれば、半導体集積回路の開発コストの削減を図ることができる。
【0070】
なお、本実施の形態2にかかる論理合成装置も、コンピュータに、図9に示すステップS31〜S35を具現化させるプログラムをインストールし、このプログラムを実行することによって実現することができる。
【0071】
【発明の効果】
以上のように、本発明にかかる論理合成装置及び論理合成方法によれば、挿入されたテストポイントについて適切かどうかの判断が行われることとなるため、適切なテストポイントの挿入を容易に行うことができる。よって、不必要なテストポイントが挿入されるのを抑制することができ、テストポイントの挿入による、例えば、チップ面積のオーバーヘッドの増加、回路速度の低下によるスラックの発生、テストパターン数の増加による開発期間の長期化、コストの増加やチップ価格の低下などを抑制することができる。
【図面の簡単な説明】
【図1】本発明の実施の形態1にかかる論理合成装置の構成を概略的に示す図である。
【図2】レジスタトランスファレベルの動作記述から生成された論理ゲート回路を示す図である。
【図3】本発明の実施の形態1にかかる論理合成装置の動作を示すフローチャートである。
【図4】本発明の実施の形態2にかかる論理合成装置の構成を概略的に示す図である。
【図5】本発明の実施の形態2にかかる論理合成装置の動作を示すフローチャートである。
【図6】本発明の実施の形態3にかかる論理合成装置の構成を概略的に示す図である。
【図7】本発明の実施の形態3にかかる論理合成装置の動作を示すフローチャートである。
【図8】本発明の実施の形態4にかかる論理合成装置の構成を概略的に示す図である。
【図9】本発明の実施の形態4にかかる論理合成装置の動作を示すフローチャートである。
【図10】従来の論理合成方法を示すフローチャートである。
【符号の説明】
1、11、21、31 論理ゲート回路生成部
2、12、22、32 テストピント挿入判定部
3 面積算出部
4、14、24、34 論理合成部
5、15、25、35 RTL記述
6、16、26、36 ネットリスト
13 回路速度算出部
23 テストパターン生成部
33 コスト算出部[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to a method of performing logic synthesis while inserting test points for executing a testability design of a semiconductor integrated circuit.
[0002]
[Prior art]
2. Description of the Related Art In recent years, with the development of semiconductor integrated circuit integration technology, a logic LSI having a circuit scale of 2 to 3 million gates has been designed. For this reason, the so-called testability design has become increasingly important. The design for testability refers to a method of establishing a test policy for a semiconductor integrated circuit at the design stage and building a test circuit in the semiconductor integrated circuit.
[0003]
In the design for testability, whether or not the test is easy, that is, whether or not the failure detection rate can be increased can be determined by observability and controllability. Observability means whether it is easy to observe the logical value of a certain node in a circuit from the outside, and controllability means whether it is easy to set the logical value of a certain node by an external input. Say.
[0004]
For this reason, in the design for easy test, in order to enhance the observability and controllability, for example, a technique of finding a location difficult to observe or control and inserting a register called a test point into this location is used.
[0005]
Next, a conventional design for testability will be described with reference to FIG. FIG. 10 is a flowchart showing a conventional logic synthesis method. Insertion of test points is usually performed at the gate level.
[0006]
As shown in FIG. 10, first, logic synthesis is performed based on an RTL (Register Transfer Level) description generated using an HDL (Hardware Description Language), and a netlist is generated (step S41). The RTL description is generated without particularly considering insertion of a test point.
[0007]
Next, a test point is inserted into the netlist generated in step S41, the insertion point is detected, and a test point is inserted (step S42). In this case, since the delay value changes due to the insertion of the test point, it is necessary to optimize the timing. Therefore, after that, the logic is again performed to optimize the logic, and an optimized net list is generated (step S43).
[0008]
As described above, according to the logic synthesis method shown in FIG. 10, a netlist optimized in response to insertion of a test point can be obtained, thereby achieving a testability design. Also, a logic synthesis method is known in which a test point is inserted into an RTL description in order to reduce the design period by performing a single logic synthesis (for example, see Patent Document 1).
[0009]
[Patent Document 1]
JP-A-8-16656
[0010]
[Problems to be solved by the invention]
However, in the above-described conventional logic synthesis method, there is no criterion for judging whether the insertion of a test point is appropriate. For this reason, unnecessary insertion of test points may cause problems such as an increase in chip area, a reduction in processing speed, a delay in test time, and an increase in cost.
[0011]
SUMMARY OF THE INVENTION It is an object of the present invention to solve the above problems, to easily determine whether or not test point insertion is appropriate, and to shorten the design period by using only one logic synthesis. It is an object to provide an apparatus and a logic synthesis method.
[0012]
[Means for Solving the Problems]
In order to achieve the above object, a first logic synthesis device according to the present invention is a logic synthesis device that generates a netlist based on a register transfer level operation description, and has an equivalent function based on the operation description. A logic gate circuit generating unit for generating a plurality of logic gate circuits, and determining whether a test point needs to be inserted for each of the plurality of logic gate circuits; A test point insertion determination unit for inserting a point, an area calculation unit for calculating an area for each of the plurality of logic gate circuits that have been processed by the test point insertion determination unit, and a logic gate circuit having the smallest area is selected. And a logic synthesis unit that performs logic synthesis by using
[0013]
In order to achieve the above object, a second logic synthesis device according to the present invention is a logic synthesis device that generates a netlist based on a register transfer level operation description, and has an equivalent function based on the operation description. A logic gate circuit generating unit for generating a plurality of logic gate circuits, and determining whether a test point needs to be inserted for each of the plurality of logic gate circuits; A test point insertion determination unit that inserts a point, a circuit speed calculation unit that calculates a circuit speed by performing timing calculation for each of the plurality of logic gate circuits that have been processed by the test point insertion determination unit, It has at least a logic synthesis unit that selects the fastest logic gate circuit and performs logic synthesis. To.
[0014]
To achieve the above object, a third logic synthesizing device according to the present invention is a logic synthesizing device that generates a netlist based on a register transfer level operation description, and has an equivalent function based on the operation description. A logic gate circuit generating unit for generating a plurality of logic gate circuits, and determining whether a test point needs to be inserted for each of the plurality of logic gate circuits; A test point insertion determination unit for inserting a point, a test pattern generation unit for generating a test pattern for each of the plurality of logic gate circuits that have been processed by the test point insertion determination unit, and the number of the generated test patterns At least a logic synthesis unit that selects the logic gate circuit with the least number and performs logic synthesis. Characterized in that it.
[0015]
In order to achieve the above object, a fourth logic synthesis device according to the present invention is a logic synthesis device that generates a netlist based on a register transfer level operation description. A logic gate circuit generating unit for generating a plurality of logic gate circuits, and determining whether a test point needs to be inserted for each of the plurality of logic gate circuits; For each of the plurality of logic gate circuits that have been processed by the test point insertion determination unit that inserts points, and for the plurality of logic gate circuits that have been processed by the test point insertion determination unit, calculate the circuit speed by calculating the timing, and further perform the test. Generating a pattern, based on the area, the circuit speed, and the number of test patterns generated. A cost calculation unit that calculates a cost that changes due to processing by the test point insertion determination unit for each of the logic gate circuits; and a logic synthesis unit that performs logic synthesis by selecting the logic gate circuit with the calculated minimum cost. At least.
[0016]
Next, in order to achieve the above object, a first logic synthesis method according to the present invention is a logic synthesis method for generating a netlist based on an operation description at a register transfer level. Generating a plurality of logic gate circuits having equivalent functions based on the determination of whether the test points need to be inserted into each of the plurality of logic gate circuits, and determining that the test points need to be inserted; (C) calculating an area for each of the plurality of logic gate circuits after the step (b), and (d) a logic gate circuit having the smallest area. And performing logic synthesis by selecting at least one of the following.
[0017]
In order to achieve the above object, a second logic synthesis method according to the present invention is a logic synthesis method for generating a netlist based on an operation description at a register transfer level. Generating a plurality of logic gate circuits having equivalent functions, and (b) determining whether a test point needs to be inserted into each of the plurality of logic gate circuits, and determining that the test point needs to be inserted. (C) calculating a circuit speed by performing a timing calculation for each of the plurality of logic gate circuits after the step (b), and (d) calculating the circuit speed. And a step of selecting the fastest logic gate circuit and performing logic synthesis.
[0018]
In order to achieve the above object, a third logic synthesis method according to the present invention is a logic synthesis method for generating a netlist based on an operation description at a register transfer level. Generating a plurality of logic gate circuits having equivalent functions, and (b) determining whether a test point needs to be inserted into each of the plurality of logic gate circuits, and determining that the test point needs to be inserted. (C) generating a test pattern for each of the plurality of logic gate circuits after the step (b), and (d) generating a test pattern for the test pattern. And selecting a logic gate circuit having the least number to perform logic synthesis.
[0019]
In order to achieve the above object, a fourth logic synthesis method according to the present invention is a logic synthesis method for generating a netlist based on an operation description at a register transfer level. Generating a plurality of logic gate circuits having equivalent functions, and (b) determining whether a test point needs to be inserted into each of the plurality of logic gate circuits, and determining that the test point needs to be inserted. In the case, the step of inserting the test point and (c) calculating the area and calculating the circuit speed for each of the plurality of logic gate circuits after the step (b) are completed, and further performing the test. Generating a pattern; and (f) performing the step (b) based on the area, the circuit speed, and the number of the generated test patterns. Calculating a cost for each of the logic gate circuit for changing I, and having at least a step of performing logic synthesis by selecting the smallest logic gate circuit is the cost calculated (g).
[0020]
Note that the present invention may be a program for realizing the above-described logic synthesis method according to the present invention. By installing and executing this program on a computer, the above-described logic synthesis method according to the present invention can be executed.
[0021]
BEST MODE FOR CARRYING OUT THE INVENTION
(Embodiment 1)
Hereinafter, a logic synthesis device and a logic synthesis method according to the first embodiment of the present invention will be described with reference to FIGS. First, the configuration of the logic synthesis apparatus according to the first embodiment will be described with reference to FIGS. FIG. 1 is a diagram schematically illustrating a configuration of a logic synthesis device according to a first embodiment of the present invention. FIG. 2 is a diagram showing a logic gate circuit generated from the operation description at the register transfer level. Note that the logic gate circuits shown in FIGS. 2A and 2B are circuits based on the same operation description and have equivalent functions.
[0022]
As shown in FIG. 1, the logic synthesis device according to the first embodiment includes a logic gate
[0023]
The logic gate
[0024]
The test point insertion determination unit 2 determines whether a test point needs to be inserted for each of the plurality of logic gate circuits generated by the logic gate
[0025]
In the examples of FIGS. 1 and 2, the test point insertion determination unit 2 determines that the test point insertion is not required for the logic gate circuit shown in FIG. On the other hand, the test point insertion determination unit 2 determines that the test point needs to be inserted for the logic gate circuit shown in FIG. 2B, and inserts the test point.
[0026]
After the processing by the test point insertion determination unit 2 ends, the
[0027]
The logic synthesis unit 4 selects a logic gate circuit having the smallest area calculated by the
[0028]
Next, a logic synthesis method according to the first embodiment will be described with reference to FIG. However, the logic synthesis method according to the first embodiment is performed by operating the logic synthesis device according to the first embodiment illustrated in FIG. Therefore, the logic synthesis method according to the first embodiment will be described together with the operation of the logic synthesis device shown in FIG. 1 while appropriately referring to FIG. FIG. 3 is a flowchart illustrating an operation of the logic synthesis apparatus according to the first exemplary embodiment of the present invention.
[0029]
As shown in FIG. 3, first, the
[0030]
Next, the test point insertion determination unit 2 determines whether or not a test point needs to be inserted for each of the logic gate circuits generated in step S1. On the other hand, a test point is inserted (step S2).
[0031]
Next, the
[0032]
Thereafter, the logic synthesis unit 4 performs logic synthesis using the logic gate circuit selected in step S4, and outputs a netlist 6 (step S5). Although not shown in FIG. 3, when there are a plurality of functions represented in the
[0033]
As described above, according to the logic synthesis device and the logic synthesis method according to the first embodiment, a plurality of logic gate circuits are generated as candidates for logic synthesis for the function expressed in the operation description, and each logic gate is generated. After the test points are inserted into the circuit as necessary, the one with the smallest area is selected and the logic synthesis is performed. Therefore, according to the logic synthesizing apparatus and the logic synthesizing method according to the first embodiment, it is possible to easily insert an appropriate test point, and to finish the logic synthesis at one time. Further, according to the first embodiment, the insertion of test points can be minimized, so that an increase in chip area can be suppressed.
[0034]
Note that the logic synthesis apparatus according to the first embodiment can also be realized by installing a program that embodies steps S1 to S5 shown in FIG. 3 in a computer and executing the program. In this case, a CPU (central processing unit) of the computer functions as the logic gate
[0035]
The
[0036]
The destination to which the logic synthesis unit 4 outputs the netlist 6 may be a storage device such as a hard disk provided in a computer constituting the logic synthesis device, or a computer constituting the logic synthesis device. May be a storage device of another computer connected to the computer.
[0037]
(Embodiment 2)
Next, a logic synthesis device and a logic synthesis method according to a second embodiment of the present invention will be described with reference to FIGS. First, the configuration of the logic synthesis apparatus according to the second embodiment will be described with reference to FIG. FIG. 4 is a diagram schematically illustrating a configuration of a logic synthesis device according to a second embodiment of the present invention.
[0038]
As shown in FIG. 4, the logic synthesis device according to the second embodiment includes a circuit
[0039]
Therefore, unlike the first embodiment, the
[0040]
Also in the second embodiment, the
[0041]
Next, a logic synthesis method according to the second embodiment will be described with reference to FIG. The logic synthesis method according to the second embodiment is also implemented by operating a logic synthesis device, as in the first embodiment. Therefore, the logic synthesis method according to the second embodiment will be described together with the operation of the logic synthesis device shown in FIG. FIG. 5 is a flowchart illustrating the operation of the logic synthesis apparatus according to the second embodiment of the present invention.
[0042]
As shown in FIG. 5, first, a plurality of logic gate circuits having equivalent functions are generated by the logic gate circuit generation unit 11 (step S11), and whether the test point insertion is necessary or not is determined by the test point
[0043]
Next, the circuit
[0044]
Thereafter, the
[0045]
As described above, according to the logic synthesis device and the logic synthesis method according to the second embodiment, the logic gate circuit having the highest circuit speed is selected from the plurality of logic gate circuits having the equivalent function, and the logic synthesis is performed. Done. Therefore, also in the second embodiment, as in the first embodiment, appropriate test points can be easily inserted, and logic synthesis can be completed at once. Further, according to the second embodiment, it is possible to minimize the speed delay due to the insertion of the test points.
[0046]
The logic synthesizing apparatus according to the second embodiment can also be realized by installing a program for realizing steps S11 to S15 shown in FIG. 5 in a computer and executing the program.
[0047]
(Embodiment 3)
Next, a logic synthesis device and a logic synthesis method according to a third embodiment of the present invention will be described with reference to FIGS. First, the configuration of the logic synthesis apparatus according to the third embodiment will be described with reference to FIG. FIG. 6 is a diagram schematically illustrating a configuration of a logic synthesis device according to a third embodiment of the present invention.
[0048]
As shown in FIG. 6, the logic synthesis device according to the third embodiment includes a test
[0049]
Further, unlike the first embodiment, the
[0050]
Also in the third embodiment, the
[0051]
Next, a logic synthesis method according to the third embodiment will be described with reference to FIG. The logic synthesis method according to the third embodiment is also implemented by operating the logic synthesis device, as in the first embodiment. Therefore, the logic synthesis method according to the third embodiment will be described together with the operation of the logic synthesis apparatus shown in FIG. FIG. 7 is a flowchart illustrating the operation of the logic synthesis apparatus according to the third embodiment of the present invention.
[0052]
As shown in FIG. 7, first, a plurality of logic gate circuits having equivalent functions are generated by the logic gate circuit generation unit 21 (step S21), and whether the test point insertion is necessary is determined by the test point
[0053]
Next, the test
[0054]
Thereafter, the
[0055]
As described above, according to the logic synthesis device and the logic synthesis method according to the third embodiment, the logic gate circuit having the smallest number of test patterns is selected from the plurality of logic gate circuits having the equivalent function, and Synthesis is performed. Therefore, also in the third embodiment, as in the first embodiment, appropriate test points can be easily inserted, and logic synthesis can be completed at one time. Further, according to the third embodiment, the time required for the test can be reduced, and the development period of the semiconductor integrated circuit can be shortened.
[0056]
The logic synthesizing apparatus according to the third embodiment can also be realized by installing a program for implementing steps S21 to S25 shown in FIG. 7 in a computer and executing this program.
[0057]
(Embodiment 4)
Next, a logic synthesis device and a logic synthesis method according to a fourth embodiment of the present invention will be described with reference to FIGS. First, the configuration of the logic synthesis apparatus according to the fourth embodiment will be described with reference to FIG. FIG. 8 is a diagram schematically illustrating a configuration of a logic synthesis device according to a fourth embodiment of the present invention.
[0058]
As shown in FIG. 8, the logic synthesis device according to the fourth embodiment includes a
[0059]
Further, the
[0060]
Specifically, the
[0061]
Note that, as in the logic gate circuit shown in FIG. 2A, for a logic gate circuit for which it is determined that it is not necessary to insert a test point, no test point is inserted. Since it is considered that no reduction occurs, the change in cost is 0 (zero). Therefore, for a logic gate circuit that is determined not to require insertion of a test point, calculation of the area and circuit speed and generation of a test pattern are not performed, and the change in cost is set to 0 (zero). good.
[0062]
Further, unlike the first embodiment, the
[0063]
Also in the fourth embodiment, the
[0064]
Next, a logic synthesis method according to the fourth embodiment will be described with reference to FIG. The logic synthesis method according to the fourth embodiment is also implemented by operating a logic synthesis device, as in the first embodiment. Therefore, the logic synthesis method according to the fourth embodiment will be described together with the operation of the logic synthesis apparatus shown in FIG. FIG. 9 is a flowchart illustrating the operation of the logic synthesis apparatus according to the fourth embodiment of the present invention.
[0065]
As shown in FIG. 9, first, a plurality of logic gate circuits having equivalent functions are generated by the logic gate circuit generation unit 31 (step S31), and whether the test point insertion is necessary is determined by the test point
[0066]
Next, the
[0067]
Next, the
[0068]
Thereafter, the
[0069]
As described above, according to the logic synthesis device and the logic synthesis method according to the fourth embodiment, the logic gate circuit with the smallest loss due to test point insertion is selected from the plurality of logic gate circuits having the equivalent functions. Logic synthesis is performed. Therefore, also in the fourth embodiment, as in the first embodiment, appropriate test points can be easily inserted, and logic synthesis can be completed at once. Further, according to the fourth embodiment, the development cost of the semiconductor integrated circuit can be reduced.
[0070]
The logic synthesizing apparatus according to the second embodiment can also be realized by installing a program for implementing steps S31 to S35 shown in FIG. 9 in a computer and executing this program.
[0071]
【The invention's effect】
As described above, according to the logic synthesis apparatus and the logic synthesis method according to the present invention, it is determined whether or not the inserted test point is appropriate. Therefore, it is possible to easily insert an appropriate test point. Can be. Therefore, unnecessary test points can be prevented from being inserted, and the insertion of the test points causes, for example, an increase in chip area overhead, generation of slack due to a decrease in circuit speed, and development due to an increase in the number of test patterns. It is possible to suppress a prolonged period, an increase in cost and a decrease in chip price.
[Brief description of the drawings]
FIG. 1 is a diagram schematically illustrating a configuration of a logic synthesis device according to a first embodiment of the present invention;
FIG. 2 is a diagram showing a logic gate circuit generated from an operation description at a register transfer level.
FIG. 3 is a flowchart illustrating an operation of the logic synthesis device according to the first exemplary embodiment of the present invention;
FIG. 4 is a diagram schematically illustrating a configuration of a logic synthesis device according to a second embodiment of the present invention;
FIG. 5 is a flowchart illustrating an operation of the logic synthesis apparatus according to the second exemplary embodiment of the present invention;
FIG. 6 is a diagram schematically illustrating a configuration of a logic synthesis device according to a third embodiment of the present invention;
FIG. 7 is a flowchart illustrating an operation of the logic synthesis apparatus according to the third exemplary embodiment of the present invention;
FIG. 8 is a diagram schematically showing a configuration of a logic synthesis device according to a fourth exemplary embodiment of the present invention.
FIG. 9 is a flowchart illustrating an operation of the logic synthesis apparatus according to the fourth exemplary embodiment of the present invention;
FIG. 10 is a flowchart showing a conventional logic synthesis method.
[Explanation of symbols]
1, 11, 21, 31 logic gate circuit generator
2, 12, 22, 32 Test focus insertion determination unit
3 area calculator
4, 14, 24, 34 logic synthesis unit
5, 15, 25, 35 RTL description
6, 16, 26, 36 Netlist
13 Circuit speed calculation unit
23 Test pattern generator
33 Cost calculator
Claims (12)
前記動作記述に基づいて、等価機能の複数の論理ゲート回路を生成する論理ゲート回路生成部と、前記複数の論理ゲート回路それぞれに対してテストポイントの挿入が必要かどうか判定し、前記テストポイントの挿入が必要と判定した場合に前記テストポイントを挿入するテストポイント挿入判定部と、前記テストポイント挿入判定部による処理が終了した前記複数の論理ゲート回路それぞれについて面積を算出する面積算出部と、前記面積が最も小さい論理ゲート回路を選択して論理合成を行う論理合成部とを少なくとも有することを特徴とする論理合成装置。A logic synthesizer for generating a netlist based on a register transfer level operation description,
A logic gate circuit generation unit that generates a plurality of logic gate circuits having equivalent functions based on the operation description, and determines whether a test point needs to be inserted into each of the plurality of logic gate circuits; A test point insertion determination unit that inserts the test point when it is determined that insertion is necessary, an area calculation unit that calculates an area for each of the plurality of logic gate circuits that have been processed by the test point insertion determination unit, A logic synthesis device comprising at least a logic synthesis unit that selects a logic gate circuit having the smallest area and performs logic synthesis.
前記動作記述に基づいて、等価機能の複数の論理ゲート回路を生成する論理ゲート回路生成部と、前記複数の論理ゲート回路それぞれに対してテストポイントの挿入が必要かどうか判定し、前記テストポイントの挿入が必要と判定した場合に前記テストポイントを挿入するテストポイント挿入判定部と、前記テストポイント挿入判定部による処理が終了した前記複数の論理ゲート回路それぞれについてタイミング計算を行って回路速度を算出する回路速度算出部と、前記回路速度が最も速い論理ゲート回路を選択して論理合成を行う論理合成部とを少なくとも有することを特徴とする論理合成装置。A logic synthesizer for generating a netlist based on a register transfer level operation description,
A logic gate circuit generation unit that generates a plurality of logic gate circuits having equivalent functions based on the operation description, and determines whether a test point needs to be inserted into each of the plurality of logic gate circuits; A test point insertion determining unit that inserts the test point when it is determined that insertion is necessary, and a timing calculation is performed for each of the plurality of logic gate circuits that have been processed by the test point insertion determining unit to calculate a circuit speed. A logic synthesizing device comprising at least a circuit speed calculating unit and a logic synthesizing unit for selecting a logic gate circuit having the highest circuit speed and performing logic synthesis.
前記動作記述に基づいて、等価機能の複数の論理ゲート回路を生成する論理ゲート回路生成部と、前記複数の論理ゲート回路それぞれに対してテストポイントの挿入が必要かどうか判定し、前記テストポイントの挿入が必要と判定した場合に前記テストポイントを挿入するテストポイント挿入判定部と、前記テストポイント挿入判定部による処理が終了した前記複数の論理ゲート回路それぞれについてテストパターンの生成を行うテストパターン生成部と、生成された前記テストパターンの数が最も少ない論理ゲート回路を選択して論理合成を行う論理合成部とを少なくとも有することを特徴とする論理合成装置。A logic synthesizer for generating a netlist based on a register transfer level operation description,
A logic gate circuit generation unit that generates a plurality of logic gate circuits having equivalent functions based on the operation description; and determines whether a test point needs to be inserted into each of the plurality of logic gate circuits. A test point insertion determining unit that inserts the test point when it is determined that insertion is necessary; and a test pattern generating unit that generates a test pattern for each of the plurality of logic gate circuits that have been processed by the test point insertion determining unit. And a logic synthesis unit for selecting a logic gate circuit with the least number of the generated test patterns and performing logic synthesis.
前記動作記述に基づいて、等価機能の複数の論理ゲート回路を生成する論理ゲート回路生成部と、前記複数の論理ゲート回路それぞれに対してテストポイントの挿入が必要かどうか判定し、前記テストポイントの挿入が必要と判定した場合に前記テストポイントを挿入するテストポイント挿入判定部と、前記テストポイント挿入判定部による処理が終了した前記複数の論理ゲート回路それぞれについて、面積を算出し、又タイミング計算を行って回路速度を算出し、更にテストパターンの生成を行い、前記面積、前記回路速度、及び生成された前記テストパターンの数に基づいて、前記テストポイント挿入判定部による処理によって変化するコストを前記論理ゲート回路毎に算出するコスト算出部と、算出した前記コストが最も小さい論理ゲート回路を選択して論理合成を行う論理合成部とを少なくとも有することを特徴とする論理合成装置。A logic synthesizer for generating a netlist based on a register transfer level operation description,
A logic gate circuit generation unit that generates a plurality of logic gate circuits having equivalent functions based on the operation description; and determines whether a test point needs to be inserted into each of the plurality of logic gate circuits. A test point insertion determination unit that inserts the test point when it is determined that insertion is necessary, and an area is calculated for each of the plurality of logic gate circuits that have been processed by the test point insertion determination unit, and the timing calculation is performed. To calculate a circuit speed, further generate a test pattern, and based on the area, the circuit speed, and the number of the generated test patterns, change the cost that is changed by the processing by the test point insertion determination unit. A cost calculator for calculating each logic gate circuit; and a logic circuit having the smallest calculated cost. Logic synthesis apparatus characterized by having at least a logical combining unit for performing a logic synthesis Select and circuits.
(a)前記動作記述に基づいて、等価機能の複数の論理ゲート回路を生成する工程と、
(b)前記複数の論理ゲート回路それぞれに対してテストポイントの挿入が必要かどうか判定し、前記テストポイントの挿入が必要と判定した場合に前記テストポイントを挿入する工程と、
(c)前記(b)の工程が終了した前記複数の論理ゲート回路それぞれについて面積を算出する工程と、
(d)前記面積が最も小さい論理ゲート回路を選択して論理合成を行う工程とを少なくとも有することを特徴とする論理合成方法。A logic synthesis method for generating a netlist based on a register transfer level operation description,
(A) generating a plurality of logic gate circuits having equivalent functions based on the operation description;
(B) determining whether a test point needs to be inserted for each of the plurality of logic gate circuits, and inserting the test point when determining that the test point needs to be inserted;
(C) calculating an area for each of the plurality of logic gate circuits after the step (b) has been completed;
(D) selecting a logic gate circuit having the smallest area and performing logic synthesis.
(a)前記動作記述に基づいて、等価機能の複数の論理ゲート回路を生成する工程と、
(b)前記複数の論理ゲート回路それぞれに対してテストポイントの挿入が必要かどうか判定し、前記テストポイントの挿入が必要と判定した場合に前記テストポイントを挿入する工程と、
(c)前記(b)の工程が終了した前記複数の論理ゲート回路それぞれについてタイミング計算を行って回路速度を算出する工程と、
(d)前記回路速度が最も速い論理ゲート回路を選択して論理合成を行う工程とを少なくとも有することを特徴とする論理合成方法。A logic synthesis method for generating a netlist based on a register transfer level operation description,
(A) generating a plurality of logic gate circuits having equivalent functions based on the operation description;
(B) determining whether a test point needs to be inserted for each of the plurality of logic gate circuits, and inserting the test point when determining that the test point needs to be inserted;
(C) calculating a circuit speed by performing timing calculation for each of the plurality of logic gate circuits for which the step (b) has been completed;
(D) selecting the logic gate circuit having the fastest circuit speed and performing logic synthesis.
(a)前記動作記述に基づいて、等価機能の複数の論理ゲート回路を生成する工程と、
(b)前記複数の論理ゲート回路それぞれに対してテストポイントの挿入が必要かどうか判定し、前記テストポイントの挿入が必要と判定した場合に前記テストポイントを挿入する工程と、
(c)前記(b)の工程が終了した前記複数の論理ゲート回路それぞれについてテストパターンの生成を行う工程と、
(d)生成された前記テストパターンの数が最も少ない論理ゲート回路を選択して論理合成を行う工程とを少なくとも有することを特徴とする論理合成方法。A logic synthesis method for generating a netlist based on a register transfer level operation description,
(A) generating a plurality of logic gate circuits having equivalent functions based on the operation description;
(B) determining whether a test point needs to be inserted for each of the plurality of logic gate circuits, and inserting the test point when determining that the test point needs to be inserted;
(C) generating a test pattern for each of the plurality of logic gate circuits after the step (b) has been completed;
(D) selecting a logic gate circuit having the least number of the generated test patterns to perform logic synthesis.
(a)前記動作記述に基づいて、等価機能の複数の論理ゲート回路を生成する工程と、
(b)前記複数の論理ゲート回路それぞれに対してテストポイントの挿入が必要かどうか判定し、前記テストポイントの挿入が必要と判定した場合に前記テストポイントを挿入する工程と、
(c)前記(b)の工程が終了した前記複数の論理ゲート回路それぞれについて、面積を算出し、又タイミング計算を行って回路速度を算出し、更にテストパターンの生成を行う工程と、
(f)前記面積、前記回路速度、及び生成された前記テストパターンの数に基づいて、前記(b)の工程によって変化するコストを前記論理ゲート回路毎に算出する工程と、
(g)算出した前記コストが最も小さい論理ゲート回路を選択して論理合成を行う工程とを少なくとも有することを特徴とする論理合成方法。A logic synthesis method for generating a netlist based on a register transfer level operation description,
(A) generating a plurality of logic gate circuits having equivalent functions based on the operation description;
(B) determining whether a test point needs to be inserted for each of the plurality of logic gate circuits, and inserting the test point when determining that the test point needs to be inserted;
(C) calculating an area for each of the plurality of logic gate circuits after the step (b), calculating a circuit speed by performing a timing calculation, and further generating a test pattern;
(F) calculating, for each of the logic gate circuits, a cost that changes in the step (b) based on the area, the circuit speed, and the number of the generated test patterns;
(G) selecting a logic gate circuit having the lowest calculated cost and performing logic synthesis.
(a)前記動作記述に基づいて、等価機能の複数の論理ゲート回路を生成するステップと、
(b)前記複数の論理ゲート回路それぞれに対してテストポイントの挿入が必要かどうか判定し、前記テストポイントの挿入が必要と判定した場合に前記テストポイントを挿入するステップと、
(c)前記(b)の工程が終了した前記複数の論理ゲート回路それぞれについて面積を算出するステップと、
(d)前記面積が最も小さい論理ゲート回路を選択して論理合成を行うステップとを少なくとも有することを特徴とするコンピュータに実行させるプログラム。A program for performing logic synthesis based on a register transfer level operation description by a computer,
(A) generating a plurality of logic gate circuits having equivalent functions based on the operation description;
(B) determining whether a test point needs to be inserted into each of the plurality of logic gate circuits, and inserting the test point when determining that the test point needs to be inserted;
(C) calculating an area for each of the plurality of logic gate circuits after the step (b) has been completed;
(D) selecting a logic gate circuit having the smallest area and performing logic synthesis.
(a)前記動作記述に基づいて、等価機能の複数の論理ゲート回路を生成するステップと、
(b)前記複数の論理ゲート回路それぞれに対してテストポイントの挿入が必要かどうか判定し、前記テストポイントの挿入が必要と判定した場合に前記テストポイントを挿入するステップと、
(c)前記(b)のステップが終了した前記複数の論理ゲート回路それぞれについてタイミング計算を行って回路速度を算出するステップと、
(d)前記回路速度が最も速い論理ゲート回路を選択して論理合成を行うステップとを少なくとも有することを特徴とするコンピュータに実行させるプログラム。A program for performing logic synthesis based on a register transfer level operation description by a computer,
(A) generating a plurality of logic gate circuits having equivalent functions based on the operation description;
(B) determining whether a test point needs to be inserted into each of the plurality of logic gate circuits, and inserting the test point when determining that the test point needs to be inserted;
(C) calculating a circuit speed by performing timing calculation for each of the plurality of logic gate circuits for which the step (b) has been completed;
(D) selecting a logic gate circuit having the fastest circuit speed and performing logic synthesis.
(a)前記動作記述に基づいて、等価機能の複数の論理ゲート回路を生成するステップと、
(b)前記複数の論理ゲート回路それぞれに対してテストポイントの挿入が必要かどうか判定し、前記テストポイントの挿入が必要と判定した場合に前記テストポイントを挿入するステップと、
(c)前記(b)のステップが終了した前記複数の論理ゲート回路それぞれについてテストパターンの生成を行うステップと、
(d)生成された前記テストパターンの数が最も少ない論理ゲート回路を選択して論理合成を行うステップとを少なくとも有することを特徴とするコンピュータに実行させるプログラム。A program for performing logic synthesis based on a register transfer level operation description by a computer,
(A) generating a plurality of logic gate circuits having equivalent functions based on the operation description;
(B) determining whether a test point needs to be inserted into each of the plurality of logic gate circuits, and inserting the test point when determining that the test point needs to be inserted;
(C) generating a test pattern for each of the plurality of logic gate circuits for which the step (b) has been completed;
(D) selecting a logic gate circuit having the least number of the generated test patterns to perform logic synthesis.
(a)前記動作記述に基づいて、等価機能の複数の論理ゲート回路を生成するステップと、
(b)前記複数の論理ゲート回路それぞれに対してテストポイントの挿入が必要かどうか判定し、前記テストポイントの挿入が必要と判定した場合に前記テストポイントを挿入するステップと、
(c)前記(b)のステップが終了した前記複数の論理ゲート回路それぞれについて、面積を算出し、又タイミング計算を行って回路速度を算出し、更にテストパターンの生成を行うステップと、
(f)前記面積、前記回路速度、及び生成された前記テストパターンの数に基づいて、前記(b)の工程によって変化するコストを前記複数の論理ゲート回路毎に算出するステップと、
(g)算出した前記コストが最も小さい論理ゲート回路を選択して論理合成を行うステップとを少なくとも有することを特徴とするコンピュータに実行させるプログラム。A program for performing logic synthesis based on a register transfer level operation description by a computer,
(A) generating a plurality of logic gate circuits having equivalent functions based on the operation description;
(B) determining whether a test point needs to be inserted into each of the plurality of logic gate circuits, and inserting the test point when determining that the test point needs to be inserted;
(C) for each of the plurality of logic gate circuits for which the step (b) has been completed, calculating an area, calculating a circuit speed by performing a timing calculation, and further generating a test pattern;
(F) calculating, for each of the plurality of logic gate circuits, a cost that changes in the step (b) based on the area, the circuit speed, and the number of the generated test patterns;
(G) selecting a logic gate circuit having the lowest calculated cost and performing logic synthesis.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2003017899A JP2004227517A (en) | 2003-01-27 | 2003-01-27 | Logic synthesis apparatus and logic synthesis method |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2003017899A JP2004227517A (en) | 2003-01-27 | 2003-01-27 | Logic synthesis apparatus and logic synthesis method |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JP2004227517A true JP2004227517A (en) | 2004-08-12 |
Family
ID=32904927
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2003017899A Withdrawn JP2004227517A (en) | 2003-01-27 | 2003-01-27 | Logic synthesis apparatus and logic synthesis method |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP2004227517A (en) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2007122422A (en) * | 2005-10-28 | 2007-05-17 | Nec Electronics Corp | Circuit design system and program |
| JP2010205145A (en) * | 2009-03-05 | 2010-09-16 | Renesas Electronics Corp | Circuit design supporting apparatus, circuit design supporting method, and circuit design support program |
-
2003
- 2003-01-27 JP JP2003017899A patent/JP2004227517A/en not_active Withdrawn
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2007122422A (en) * | 2005-10-28 | 2007-05-17 | Nec Electronics Corp | Circuit design system and program |
| JP2010205145A (en) * | 2009-03-05 | 2010-09-16 | Renesas Electronics Corp | Circuit design supporting apparatus, circuit design supporting method, and circuit design support program |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN101482893B (en) | Semiconductor-device manufacturing method | |
| CN110134979B (en) | Chip design method for optimizing circuit performance according to PVT operation condition change | |
| JP2008250721A (en) | Model generation method and model generation apparatus | |
| US8407542B2 (en) | Implementing switching factor reduction in LBIST | |
| JP2004227517A (en) | Logic synthesis apparatus and logic synthesis method | |
| US6505340B2 (en) | Circuit synthesis method | |
| US6532584B1 (en) | Circuit synthesis method | |
| JP2967749B2 (en) | Logic synthesis system for testability | |
| JP4649356B2 (en) | Power consumption calculation program, recording medium, power consumption calculation method, and power consumption calculation device | |
| JP2868009B1 (en) | Delay calculation device, delay calculation method, and recording medium storing delay calculation program | |
| JP5645754B2 (en) | Multi-cycle path detection device and multi-cycle path detection program | |
| JP5338919B2 (en) | Integrated circuit power consumption calculation method, power consumption calculation program, and power consumption calculation device | |
| JP2011150759A (en) | Memory interface circuit, semiconductor device, and memory interface method | |
| US10289786B1 (en) | Circuit design transformation for automatic latency reduction | |
| JP2005011451A (en) | Test device and program | |
| JP2008129914A (en) | Software verification model generation apparatus and software verification model generation method | |
| JP4587754B2 (en) | Clock synthesis method, semiconductor device, and program | |
| JP2006259820A (en) | Failure detection improvement device, failure detection improvement program, failure detection improvement method | |
| JP6303509B2 (en) | Circuit verification method and circuit verification program | |
| JP5347995B2 (en) | Behavioral synthesis apparatus, behavioral synthesis method, and program | |
| JP2010277436A (en) | MEMORY STRUCTURE DETERMINATION SUPPORT DEVICE, MEMORY STRUCTURE DETERMINATION PROGRAM, AND RECORDING MEDIUM | |
| JP2009134500A (en) | Logic simulator and logic simulation method | |
| JP3908192B2 (en) | Logic circuit failure diagnosis apparatus, failure diagnosis method and program thereof | |
| US20200096570A1 (en) | Design method for scan test circuit, design program for scan test circuit and semiconductor integrated circuit | |
| US20060282250A1 (en) | Logic simulation method and system |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A300 | Application deemed to be withdrawn because no request for examination was validly filed |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20060404 |