JP4182279B2 - 論理検証方法及びプログラム - Google Patents
論理検証方法及びプログラム Download PDFInfo
- Publication number
- JP4182279B2 JP4182279B2 JP2002155654A JP2002155654A JP4182279B2 JP 4182279 B2 JP4182279 B2 JP 4182279B2 JP 2002155654 A JP2002155654 A JP 2002155654A JP 2002155654 A JP2002155654 A JP 2002155654A JP 4182279 B2 JP4182279 B2 JP 4182279B2
- Authority
- JP
- Japan
- Prior art keywords
- logic
- output
- verification
- input
- input terminal
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/32—Circuit design at the digital level
- G06F30/33—Design verification, e.g. functional simulation or model checking
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Tests Of Electronic Circuits (AREA)
Description
【発明の属する技術分野】
本発明は論理検証手法及びプログラムに係り、詳しくは階層的に論理記述される半導体装置の論理検証方法及びプログラムに関する。
【0002】
近年、半導体装置は高性能化及び多機能化が進み、論理記述された半導体装置の動作検証にかかる時間が増大してきている。このため、論理シミュレータによる論理検証を効率良く行うことが要求されている。
【0003】
【従来の技術】
半導体装置(LSI)の設計に際しては、論理記述された回路の動作検証(論理シミュレーション)が行われる。一般に、LSIの論理はハードウェア記述言語(HDL)により階層構造を有して記述される。特に、近年のLSIは1チップ上でシステムレベルの機能を実現するシステムLSIが主流であり、こうしたシステムLSIでは、各種機能マクロ単位毎に階層的に論理が記述され、それらの上位階層にて各機能マクロ間の接続関係を示す論理が記述される。従来、このようなLSIの論理検証は論理シミュレータを用いて行われる。論理シミュレータは、検証対象となるLSIの論理に対して各種の入力値を与え、そのとき出力される出力値が該LSIの正常な論理動作として期待される値と等しいかどうかを比較することにより論理検証を行う。
【0004】
【発明が解決しようとする課題】
ところで、従来、階層構造を持つLSIの論理を検証する際には、それら階層毎に記述された論理をあらかじめ作成しておく必要がある。具体的には、検証対象の論理に対して、それに論理合成される(接続関係にある)下位階層の論理が存在する場合には、それら該当する下位階層の論理が全て必要である。即ち、上位階層の論理(各機能マクロ間の配線論理)のみを検証対象とする場合にも、それに含まれる下位階層の論理が全て存在しなければ、検証を行うことはできない。従って、検証対象の論理に対して下位階層の論理がまだ作成されていない場合は、その下位階層の論理動作を擬似的に置き換えた動作モデルを作成する必要がある。
【0005】
その結果、上位階層の論理のみを検証する際にも、検証対象外である下位階層の論理を含む状態で全ての論理検証が実施されるため、検証時間(論理シミュレーションの実行時間)が必要以上に長くなり、論理検証を効率的に行うことができなかった。また、この場合、論理シミュレータは、検証対象外である下位階層の論理をメモリに格納するため、論理検証時におけるメモリの消費量が大きくなる。このことは、論理シミュレーションの実行速度を低下させ、検証効率を低下させる。さらに、こうした検証対象外の下位階層の論理を含む状態で論理検証を行う場合は、その下位階層の論理から任意の出力値を得るために、さまざまな信号を組み合わせて入力値を作成する必要があり、結果として論理検証を効率的に行うことができなかった。
【0006】
本発明は上記問題点を解決するためになされたものであって、その目的は半導体装置の論理検証を効率良く行うことのできる論理検証方法及びプログラムを提供することにある。
【0007】
【課題を解決するための手段】
上記目的を達成するため、請求項1,5に記載の発明によれば、階層論理構造を有する半導体装置の上位階層論理の動作検証時には、前記下位階層論理の第1入力端子の情報が与えられる第2出力端子と、該下位階層論理の第1出力端子へ情報を与える第2入力端子と、前記上位階層論理の第3入力端子へ情報を与える第4入力端子と、該上位階層論理の第3出力端子の情報が与えられる第4出力端子との論理を有する第1の検証用論理と、下位階層論理内に含まれる入力端子及び出力端子以外の論理を削除した第2の検証用論理とが作成される。また、前記第1及び第2の検証用論理を用いて、前記第4入力端子に与えられる入力値を前記第2出力端子からの出力値に基づいて検証し、前記第2入力端子に与えられる入力値を前記第4出力端子からの出力値に基づいて検証し、前記上位階層論理の動作検証が行われる。なお、この動作検証では、前記上位階層論理に与える入力値及び該入力値に対する前記上位階層論理からの出力されるべき期待値が定義されたテストベンチが読み出され、その読み出されたテストベンチに基づいて前記第2入力端子及び前記第4入力端子に与えられる入力値に対して、前記第4出力端子及び前記第2出力端子から出力される出力値が期待値と等しいか否かが判定される。これにより、検証対象外の下位階層論理をその入出力端子以外の論理を含むことなく上位階層論理の動作検証を実施することができる。その結果、検証対象外の論理は論理シミュレータのメモリに読み込まれず、論理シミュレーションの実行時間及び該論理シミュレーション実行時におけるメモリの消費量が抑えられる。従って、論理検証を効率良く行うことが可能である。
【0009】
請求項2に記載の発明のように、前記下位階層論理の前記第1出力端子から出力される信号値を前記第1の検証用論理の前記第2入力端子から与える信号値により任意に設定可能であるため、論理検証時の処理を簡易化させることが可能である。
【0011】
請求項3,6に記載の発明によれば、階層論理構造を有する半導体装置の上位階層論理の動作検証時には、下位階層論理内に含まれる入力端子及び出力端子以外の論理を削除し、該下位階層論理の第1入力端子の情報が与えられる第2出力端子及び該下位階層論理の第1出力端子へ情報を与える第2入力端子の論理を追加した検証用論理と、第3入力端子と、第3出力端子と、前記検証用論理に新たに追加される前記第2入力端子へ情報を与える第4入力端子と、前記第2出力端子の情報が与えられる第4出力端子との論理を有する前記上位階層論理と、が作成される。また、前記検証用論理を用いて、前記第3入力端子に与えられる入力値を前記第4出力端子からの出力値に基づいて検証し、前記第4入力端子に与えられる入力値を前記第3出力端子からの出力値に基づいて検証し、前記上位階層論理の動作検証が行われる。なお、この動作検証では、前記上位階層論理に与える入力値及び該入力値に対する前記上位階層論理からの出力されるべき期待値が定義されたテストベンチが読み出され、その読み出されたテストベンチに基づいて前記第3入力端子及び前記第4入力端子に与えられる入力値に対して、前記第4出力端子及び前記第3出力端子から出力される出力値が期待値と等しいか否かが判定される。これにより、検証対象外の下位階層論理をその入出力端子以外の論理を含むことなく上位階層論理の動作検証を実施することができる。その結果、検証対象外の論理は論理シミュレータのメモリに読み込まれず、論理シミュレーションの実行時間及び該論理シミュレーション実行時におけるメモリの消費量が抑えられる。従って、論理検証を効率良く行うことが可能である。
【0012】
請求項4に記載の発明のように、前記下位階層論理の前記第1出力端子から出力される信号値を前記上位階層論理の前記第4入力端子から与える信号値により任意に設定可能であるため、論理検証時の処理を簡易化させることが可能である。
【0014】
【発明の実施の形態】
(第一実施形態)
以下、本発明を具体化した第一実施形態を図1〜図5に従って説明する。
【0015】
図1は、半導体装置(LSI)の論理検証を行う論理シミュレータの概略構成を示すブロック図である。
論理シミュレータ11は、処理装置12、入力装置13、出力装置14、記憶装置15、メモリ16、ドライブ装置17を備え、処理装置12と各装置13〜17とは相互に接続されている。
【0016】
入力装置13は、キーボード、マウス装置等を含み、プログラムの起動、パラメータの入力等のユーザからの要求や指示に用いられる。出力装置14は、CRT,LCD,PDP等の表示装置、プリンタ等を含み、回路図形の表示、データ入力画面の表示等に用いられる。
【0017】
記憶装置15は、通常、磁気ディスク装置、光ディスク装置、光磁気ディスク装置を含み、該記憶装置15には、論理検証プログラム、論理マクロデータ及びテストベンチとしての入出力データ等が格納されている。
【0018】
論理マクロデータには、LSIに含まれる各種機能マクロを例えばハードウェア記述言語(HDL)にて論理記述した論理マクロがネットリストとして記録されている。入出力データには、論理シミュレーションの実行時に各種論理マクロに与える入力値及びそのときの出力値(期待値)等が記録されている。論理検証プログラムは、論理シミュレータ11が論理シミュレーションを実行するためのプログラムデータである。
【0019】
処理装置12は、論理検証プログラムに従って論理シミュレーションを実行する。具体的には、処理装置12は、論理マクロデータや入出力データ等を読み出してメモリ16に格納し、そのメモリ16のデータを利用して論理検証のために必要な処理を実現する。尚、メモリ16は、通常、キャッシュ・メモリ、システム・メモリおよびディスプレイ・メモリを含む。
【0020】
ドライブ装置17は、記録媒体18を駆動し、その記憶内容にアクセスする。記録媒体18としては、磁気テープ(MT)、メモリカード、光ディスク(CD-ROM,DVD-ROM,…)、光磁気ディスク(MO,MD,… )等、任意のコンピュータ読み取り可能な記録媒体を使用することができる。この記録媒体18に、上述の論理マクロデータや入出力データ等を格納しておき、必要に応じて、メモリ16にロードして使用することもできる。
【0021】
次に、本実施形態の論理検証方法について図2〜図5に従って詳述する。
図2は、論理記述されたシステムLSIの階層構造を示す概念図である。このシステムLSI21は、例えば上位階層の論理マクロ(以下、上位論理)22と下位階層の論理マクロ(以下、下位論理)23とから構成されている。ここで、上位論理22は、システムLSI21のチップレベルを記述した最上位階層の論理データであり、下位論理23は、その上位論理22に論理合成される(接続関係にある)論理データである。上位論理22は入力端子22a及び出力端子22b(図ではそれぞれ2つずつ)を記述した論理データと下位論理23を呼び出すための記述及び下位論理23との接続の記述とを含み、同様に下位論理23は入力端子23a及び出力端子23bを記述した論理データを含む。
【0022】
以下、図2の論理構造を持つシステムLSI21の上位論理22の検証(論理シミュレーション)を行う場合について説明する。
図3は、論理シミュレーション実行時の論理構造(ネットリスト)を示す概念図である。同図に示すように、本実施形態では、論理シミュレータ11は、検証対象の上位論理22に対し、該上位論理22と下位論理23との接続関係を示す入出力端子の論理データを記述した第1及び第2の検証用論理25,26を作成する。
【0023】
詳述すると、第1の検証用論理25は、検証対象である上位論理22を含むさらに上位の階層論理として作成される論理データである。この第1の検証用論理25は、上位論理22の入力端子22a及び出力端子22bとそれぞれ等価な入力端子25a及び出力端子25bと、下位論理23の出力端子23bと等価な入力端子25cと、同下位論理23の入力端子23aと等価な出力端子25dとを記述した論理データを含む。尚、等価な端子とは、それに入出力される信号値が同じになるように同一の論理データにて記述される端子である。
【0024】
第2の検証用論理26は、上位論理22と接続される端子のみが記述された論理データである。即ち、第2の検証用論理26は、下位論理23の入力端子23a及び出力端子23bの記述を含み、それら入力端子23a及び出力端子23b以外の記述を含まない。
【0025】
図4は、図3を用いた論理シミュレーションの概念図である。
論理シミュレータ11は、検証対象の上位論理22に対して、第1及び第2の検証用論理25,26を作成した後、テストパターンデータが記述されたテストベンチ27を用いて上位論理22の論理シミュレーションを行う。上記したようにテストベンチ27には、該シミュレーション時にシステムLSI21の外部から与える入力値及びシステムLSI21から出力される期待値等の入出力データが記述されている。
【0026】
図5は、論理シミュレータ11による上位階層の論理検証時(上位論理22のシミュレーション時)の処理を示すフローチャートである。
論理シミュレータ11は、まずシステムLSI21にて検証対象となる論理のネットリストを作成する(ステップ31)。即ち、論理シミュレータ11は、検証対象の上位論理22の論理データを記憶装置15から読み出し、それをメモリ16に格納する。
【0027】
次いで、論理シミュレータ11は、検証対象の上位論理22に対して検証用の論理階層、即ち、図3に示す第1及び第2の検証用論理25,26を作成し、それをメモリ16に格納する(ステップ32)。
【0028】
その後、論理シミュレータ11は、テストベンチ27を用いて上位論理22のシミュレーションを実行し(ステップ33)、その実行結果に基づいて上位論理22の論理動作が正常であるか否かを判断する(ステップ34)。具体的には、テストベンチ27を介して第1の検証用論理25の入力端子25a,25cから入力した入力値に対して、該検証用論理25の出力端子25b,25dから出力される出力値が期待値と等しいか否かを判定することにより、シミュレーション結果が正しいか否かを判定する。その結果、シミュレーション結果が期待値と異なる場合には、上記ステップ31〜ステップ33を再度実行し、論理シミュレーションを繰り返し実施する。
【0029】
尚、図6には、従来の論理検証方法にて上位階層の論理シミュレーションを行う際の処理フローチャートを示す。ここでは、説明の便宜上、図2のシステムLSI21の論理を用いて同様に上位論理22の検証を行うものとする。
【0030】
まず、論理シミュレータは、システムLSI21の論理ネットリストを作成する。具体的には、論理シミュレータは、システムLSI21にて検証対象となる上位階層の論理に含まれる全ての下位階層の論理を記憶装置から読み出し、それらをメモリに格納する(ステップ41)。その後、論理シミュレータは、検証対象の上位階層の論理に対して下位階層の論理が全て揃っているか否かを判断する。即ち、図2に示す検証対象の上位論理22とともに下位論理23が存在するか否かを判定する(ステップ42)。その結果、論理シミュレータは、下位階層の論理が全て存在している場合にシミュレーションを実行し(ステップ43)、その実行結果に基づいて論理動作が正常か否かを判断する(ステップ44)。
【0031】
こうした検証方法では、検証対象となる上位階層の論理に対して下位階層の論理が全て必要であり、下位階層の論理が存在しない場合には、その論理を疑似的に置き換えた動作モデル等を作成して、検証対象外であるそれら下位階層の論理を全てメモリに格納する必要がある。このため、メモリの消費量が増大して論理シミュレータの実行速度が低下する。また、検証対象としない下位階層の論理検証等が全て行われるために、論理検証時間が長くなる。
【0032】
図7〜図9は、本実施形態の論理検証方法を別のシステムLSIの論理に適用した例を示す説明図である。
図7に示すシステムLSI51は、例えば論理52と論理53とを備え、論理52は論理54,55を含む。論理54,55は同一階層の論理データであり、論理53は各論理54,55(即ち論理52)に対して下位階層の論理データである(以下では、上位論理52、下位論理53と記述する)。上位論理52は、入力端子52a及び出力端子52bの論理データを含み、下位論理53は、入力端子53a及び出力端子53bの論理データを含む。
【0033】
このようなシステムLSI51に対して、上位論理52(論理54,55)の検証を行う際には、図8に示すように、前記と同様(図3参照)にして検証用論理56,57が作成される。
【0034】
即ち、検証用論理56は、上位論理52を含むさらに上位階層の論理として作成され、該上位論理52の入力端子52a及び出力端子52bと等価な入力端子56a及び出力端子56bを記述した論理データを含む。また、検証用論理56は、下位論理53の出力端子53bと等価な入力端子56cと、同下位論理53の入力端子53aと等価な出力端子56dとを記述した論理データを含む。
【0035】
検証用論理57は、下位論理53の入力端子53a及び出力端子53bが記述され、それら入力端子53a及び出力端子53b以外の論理を除いて作成される論理データである。
【0036】
図9は、図8を用いた論理シミュレーションの概念図であり、論理シミュレータ11は、前記と同様(図4参照)に、上位論理52の論理シミュレーションを検証用論理56,57を用いて行う。即ち、論理シミュレータ11は、テストベンチ58を介して最上位階層の検証用論理56の入力端子56a,56cから入力値を与え、該検証用論理56の出力端子56b,56dから出力される出力値と期待値とを比較することにより、上位論理52(論理54,55)の動作を検証する。
【0037】
以上記述したように、本実施形態によれば、以下の効果を奏する。
(1)システムLSI21の上位論理22のシミュレーション実行時には、該上位論理22と下位論理23との接続関係を示す入出力端子の論理を記述した第1及び第2の検証用論理25,26が作成される。これにより、論理シミュレータ11は、検証対象外である下位論理23の入力端子23a及び出力端子23b以外の論理を不要としながら上位論理22の動作検証を行うことができる。従って、上位論理22の検証時において、検証対象外の下位論理23の検証が行われないため、必要以上に論理シミュレーションの実行時間が長くなることが防止され、論理検証を効率的に行うことが可能である。
【0038】
(2)上位論理22の検証時において、上位論理22と共に端子25a〜25dを含む第1の検証用論理25及び端子23a,23bを含む第2の検証用論理26が論理シミュレータ11のメモリ16に読み込まれる。第1及び第2の検証用論理25,26のデータ量は、下位論理23のそれよりも遙かに少ないため、論理シミュレーションの実行時におけるメモリの消費量を低減することができる。これにより、論理シミュレーションの実行速度の低下が防止され、その結果、検証効率の低下を防止することができる。
【0039】
(3)第1の検証用論理25は、下位論理23の出力端子23bと等価な入力端子25cが記述された論理データを含む。これにより、第1の検証用論理25の入力端子25cを介して入力するさまざまな入力値によって、下位論理23からの出力値を任意に得ることが可能である。
【0040】
(4)第1の検証用論理25は、上位論理22の入力端子22a及び出力端子22bにそれぞれ対応する等価な入力端子25a及び出力端子25bが記述された論理データを含む。これにより、論理シミュレーションの実行時には、テストベンチ27等の既存のシミュレーション環境を利用することが可能であるため、論理検証時の工数が増大することもない。
【0041】
(第二実施形態)
以下、本発明を具体化した第二実施形態を図10、図11に従って説明する。尚、本実施形態は、図2に示すシステムLSI21の上位論理22の検証方法を一部変更したものであり、第一実施形態と同様の構成部分については同一符号を付して説明する。
【0042】
図10は、本実施形態におけるシミュレーション実行時の論理構造(ネットリスト)を示す概念図である。同図に示すように、本実施形態では、論理シミュレータ11は、検証用に上位論理22を一部変更して作成した論理(以下、検証用上位論理)61と、下位論理23と同階層の検証用論理62を作成する。
【0043】
詳述すると、検証用上位論理61は、上位論理22に新たに入力端子61a及び出力端子61bの記述を追加して作成される論理データである。また、検証用論理62は、その検証用上位論理61と接続される端子のみが記述された論理データである。即ち、検証用論理62は、下位論理23の入力端子23a及び出力端子23bの記述と共に、新規に追加した入力端子62a及び出力端子62bの記述を含む論理データであり、それら端子23a,23b,62a,62b以外の記述を含まない。ここで、検証用上位論理61の入力端子61aと検証用論理62の入力端子62aとは互いに等価な端子である。同様に、それらの各論理61,62の出力端子61b,62bは互いに等価な端子である。
【0044】
図11は、図10を用いた論理シミュレーションの概念図である。
論理シミュレータ11は、検証対象の上位論理22に対して、上述の検証用上位論理61及び検証用論理62を作成した後、第一実施形態と同様にして、テストパターンデータが記述されたテストベンチ63を用いて論理シミュレーションを行う。
【0045】
以上記述したように、本実施形態の論理検証方法を用いても、既存のシミュレーション環境を用いて論理検証を行うことが可能であり、そのシミュレーション実行時には論理シミュレータ11のメモリ16に格納される論理量が検証時に必要とする最小限の論理に抑えられる。従って、第一実施形態と同様の効果を奏することができる。
【0046】
(第三実施形態)
以下、本発明を具体化した第三実施形態を図12に従って説明する。
図12は、第三実施形態の論理検証方法を示す説明図である。
【0047】
本実施形態は、上記の検証用上位論理61及び検証用論理62を含む(論理合成した)階層論理(図10参照)の機能を持つLSI71及び下位論理23(図2参照)の機能を持つLSI72をプログラミング可能な半導体装置を用いて作成し、それらのLSI71,72を用いて上位論理22の検証を行う。例えば、本実施形態において、各LSI71,72は、FPGA(Field Programmable Gate Array )を用いて作成されている。尚、説明の便宜上、図12に示すLSI71,72において、図2及び図10に示す論理に対応する機能を持つ箇所には同一符号を付している。
【0048】
各LSI71,72は図示しない基板上に搭載され、LSI71の入力端子61aは、LSI72の出力端子23bと接続され、LSI71の出力端子61bは、LSI72の入力端子23aと接続されている。そして、LSI71の入力端子22aに所定の入力値を持つテスト信号を入力し、該LSI71の出力端子22bから出力される出力信号の値を期待値と比較することにより、システムLSI21の上位論理22の検証を行う。このような実動作するLSI71,72を用いて上位論理22の検証を行う方法では、上位論理22に対し下位論理23が実際に組み込まれた場合における動作検証を実質的に行うことができるため、より精度の高い動作検証を行うことが可能である。
【0049】
尚、上記各実施形態は、以下の態様で実施してもよい。
・第一実施形態のように作成される第1及び第2の検証用論理25,26を用いれば、第1の検証用論理25の上位階層における論理検証を行うことも可能である。同様に、第二実施形態のように作成される検証用論理62を用いることにより、上位論理22(検証用上位論理61)の上位階層における論理検証を行うことも可能である。
【0050】
・上記各実施形態における論理検証方法を用いれば、システムLSI21の設計段階において、検証対象外である下位論理23がまだ存在していない場合においても、該下位論理23の入力端子23a及び出力端子23bの論理さえ存在すれば、上位論理22の動作検証を実行することは可能である。
【0051】
・第三実施形態では、第二実施形態で説明した論理の機能を持つ実動作可能なLSI71,72を用いて上位論理22の動作検証を行うようにしたが、それのみに限定されるものではない。即ち、第一実施形態で説明した論理の機能を持つLSI、具体的には図3に示す論理の機能を持つLSIと下位論理23の機能を持つLSIとを作成し、それら実動作可能な2つのLSIを互いに接続して上位論理22の動作検証を同様に行ってもよい。
【0052】
上記各実施形態の特徴をまとめると以下のようになる。
(付記1) 階層構造を有して記述される半導体装置の各階層論理のうち少なくとも1つの下位階層論理を含む上位階層論理の動作を検証するための論理検証方法であって、
前記下位階層論理の入力端子に対応する等価な出力端子及び該下位階層論理の出力端子に対応する等価な入力端子の論理を有する第1の検証用論理と、
前記下位階層論理内に含まれる入力端子及び出力端子以外の論理を削除した第2の検証用論理と、を作成し、
前記第1及び第2の検証用論理を用いて前記上位階層論理の動作検証を行うようにしたことを特徴とする論理検証方法。
(付記2) 前記第1の検証用論理は、前記上位階層論理の入出力端子にそれぞれ対応する等価な入出力端子の論理を含むことを特徴とする付記1記載の論理検証方法。
(付記3) 前記第1の検証用論理は前記上位階層論理の上位階層に作成される論理であることを特徴とする付記1又は2記載の論理検証方法。
(付記4) 前記下位階層論理の出力端子から出力される信号値を前記第1の検証用論理の入力端子から与える信号値により設定可能としたことを特徴とする付記1乃至3の何れか一記載の論理検証方法。
(付記5) 前記上位階層論理及び前記第1及び第2の検証用論理を含む階層論理の機能を持つ第1の半導体装置と、
前記下位階層論理の機能を持つ第2の半導体装置と、をプログラミング可能な半導体装置を用いて作成し、
前記第1及び第2の半導体装置を用いて前記上位階層論理の動作検証を行うようにしたことを特徴とする付記1乃至4の何れか一記載の論理検証方法。
(付記6) 階層構造を有して記述される半導体装置の各階層論理のうち少なくとも1つの下位階層論理を含む上位階層論理の動作を検証するための論理検証方法であって、
前記下位階層論理内に含まれる入力端子及び出力端子以外の論理を削除し、該下位階層論理の入力端子に対応する等価な出力端子及び該下位階層論理の出力端子に対応する等価な入力端子の論理を追加して作成した検証用論理を用いて前記上位階層論理の動作検証を行うようにしたことを特徴とする論理検証方法。
(付記7) 前記上位階層論理には、前記検証用論理に新たに追加される入出力端子にそれぞれ対応する等価な入出力端子が作成されることを特徴とする付記6記載の論理検証方法。
(付記8) 前記検証用論理は前記下位階層論理と同階層に作成される論理であることを特徴とする付記6又は7記載の論理検証方法。
(付記9) 前記下位階層論理の出力端子から出力される信号値を前記上位階層論理の入力端子から与える信号値により設定可能としたことを特徴とする付記6乃至8の何れか一記載の論理検証方法。
(付記10) 前記上位階層論理及び検証用論理を含む階層論理の機能を持つ第1の半導体装置と、
前記下位階層論理の機能を持つ第2の半導体装置と、をプログラミング可能な半導体装置を用いて作成し、
前記第1及び第2の半導体装置を用いて前記上位階層論理の動作検証を行うようにしたことを特徴とする付記6乃至9の何れか一記載の論理検証方法。
(付記11) 前記上位階層論理に与える入力値及び該入力値に対する前記上位階層論理からの出力されるべき期待値が定義された汎用のテストベンチを用いて動作検証を行うことを特徴とする付記1乃至4,6乃至9の何れか一記載の論理検証方法。
(付記12) 階層構造を有して記述される半導体装置の各階層論理のうち少なくとも1つの下位階層論理を含む上位階層論理の動作を検証する際に用いられる論理検証プログラムであって、
前記プログラムは、
前記下位階層論理の入力端子に対応する等価な出力端子及び該下位階層論理の出力端子に対応する等価な入力端子の論理を有する第1の検証用論理と、
前記下位階層論理内に含まれる入力端子及び出力端子以外の論理を削除した第2の検証用論理と、を作成するステップを含むことを特徴とするプログラム。
(付記13) 階層構造を有して記述される半導体装置の各階層論理のうち少なくとも1つの下位階層論理を含む上位階層論理の動作を検証する際に用いられる論理検証プログラムであって、
前記プログラムは、
前記下位階層論理内に含まれる入力端子及び出力端子以外の論理を削除し、該下位階層論理の入力端子に対応する等価な出力端子及び該下位階層論理の出力端子に対応する等価な入力端子の論理を含む検証用論理を作成するステップを含むことを特徴とするプログラム。
【0053】
【発明の効果】
以上詳述したように、本発明によれば、半導体装置の論理検証を効率良く行うことのできる論理検証方法及びプログラムを提供することができる。
【図面の簡単な説明】
【図1】 論理シミュレータの概略構成図である。
【図2】 システムLSIの論理構造を示す概念図である。
【図3】 第一実施形態の論理検証方法を示す説明図である。
【図4】 図3を用いた論理シミュレーションの概念図である。
【図5】 上位階層の論理検証時の処理フローチャートである。
【図6】 従来の上位階層の論理検証時の処理フローチャートである。
【図7】 別のシステムLSIの論理構造を示す概念図である。
【図8】 図7の上位階層の論理検証方法を示す説明図である。
【図9】 図8を用いた論理シミュレーションの概念図である。
【図10】 第二実施形態の論理検証方法を示す説明図である。
【図11】 図10を用いた論理シミュレーションの概念図である。
【図12】 第三実施形態の論理検証方法を示す説明図である。
【符号の説明】
21,51 半導体装置としてのシステムLSI
22,52,54,55 上位階層論理としての上位論理
23,53 下位階層論理としての下位論理
25,56 第1の検証用論理
26,57 第2の検証用論理
62 検証用論理
25c,56c,62a 下位階層論理の出力端子に対応する等価な入力端子25d,56d,62b 下位階層論理の入力端子に対応する等価な出力端子
Claims (6)
- 階層構造を有して記述される半導体装置の各階層論理のうち少なくとも1つの下位階層論理を含む上位階層論理の動作を検証するための論理シミュレータによる論理検証方法であって、
前記論理シミュレータの実行するステップは、
前記論理シミュレータの備える処理装置が、
前記下位階層論理の第1入力端子の情報が与えられる第2出力端子と、該下位階層論理の第1出力端子へ情報を与える第2入力端子と、前記上位階層論理の第3入力端子へ情報を与える第4入力端子と、該上位階層論理の第3出力端子の情報が与えられる第4出力端子との論理を有する第1の検証用論理と、
前記下位階層論理内に含まれる入力端子及び出力端子以外の論理を削除した第2の検証用論理と、を作成し、それら第1の検証用論理及び第2の検証用論理を記憶装置に格納するステップと、
前記処理装置が、前記第1及び第2の検証用論理を用いて、前記第4入力端子に与えられる入力値を前記第2出力端子からの出力値に基づいて検証し、前記第2入力端子に与えられる入力値を前記第4出力端子からの出力値に基づいて検証し、前記上位階層論理の動作検証を行うステップと、を含み、
前記動作検証は、
前記処理装置が、記憶装置に格納されている、前記上位階層論理に与える入力値及び該入力値に対する前記上位階層論理からの出力されるべき期待値が定義されたテストベンチを読み出すステップと、
前記処理装置が、前記テストベンチに基づいて前記第2入力端子及び前記第4入力端子に与えられる入力値に対して、前記第4出力端子及び前記第2出力端子から出力される出力値が期待値と等しいか否かを判定するステップと、を含むことを特徴とする論理検証方法。 - 前記下位階層論理の前記第1出力端子から出力される信号値を前記第1の検証用論理の前記第2入力端子から与える信号値により設定可能としたことを特徴とする請求項1記載の論理検証方法。
- 階層構造を有して記述される半導体装置の各階層論理のうち少なくとも1つの下位階層論理を含む上位階層論理の動作を検証するための論理シミュレータによる論理検証方法であって、
前記論理シミュレータの実行するステップは、
前記論理シミュレータの備える処理装置が、
前記下位階層論理内に含まれる入力端子及び出力端子以外の論理を削除し、該下位階層論理の第1入力端子の情報が与えられる第2出力端子及び該下位階層論理の第1出力端子へ情報を与える第2入力端子の論理を追加した検証用論理と、
第3入力端子と、第3出力端子と、前記検証用論理に新たに追加される前記第2入力端子へ情報を与える第4入力端子と、前記第2出力端子の情報が与えられる第4出力端子との論理を有する前記上位階層論理と、を作成し、前記検証用論理を記憶装置に格納するステップと、
前記処理装置が、前記検証用論理を用いて、前記第3入力端子に与えられる入力値を前記第4出力端子からの出力値に基づいて検証し、前記第4入力端子に与えられる入力値を前記第3出力端子からの出力値に基づいて検証し、前記上位階層論理の動作検証を行うステップと、を含み、
前記動作検証は、
前記処理装置が、記憶装置に格納されている、前記上位階層論理に与える入力値及び該入力値に対する前記上位階層論理からの出力されるべき期待値が定義されたテストベンチ を読み出すステップと、
前記処理装置が、前記テストベンチに基づいて前記第3入力端子及び前記第4入力端子に与えられる入力値に対して、前記第4出力端子及び前記第3出力端子から出力される出力値が期待値と等しいか否かを判定するステップと、を含むことを特徴とする論理検証方法。 - 前記下位階層論理の第1出力端子から出力される信号値を前記上位階層論理の第4入力端子から与える信号値により設定可能としたことを特徴とする請求項3記載の論理検証方法。
- 階層構造を有して記述される半導体装置の各階層論理のうち少なくとも1つの下位階層論理を含む上位階層論理の動作検証をコンピュータに実行させるためのプログラムであって、
前記プログラムは、
前記下位階層論理の第1入力端子の情報が与えられる第2出力端子と、該下位階層論理の第1出力端子へ情報を与える第2入力端子と、前記上位階層論理の第3入力端子へ情報を与える第4入力端子と、該上位階層論理の第3出力端子の情報が与えられる第4出力端子との論理を有する第1の検証用論理と、
前記下位階層論理内に含まれる入力端子及び出力端子以外の論理を削除した第2の検証用論理と、を作成するステップと、
前記上位階層論理に与える入力値及び該入力値に対する前記上位階層論理からの出力されるべき期待値が定義されたテストベンチを読み出すステップと、
前記テストベンチに基づいて前記第4入力端子に与えられる入力値に対して、前記第2出力端子から出力される出力値が期待値と等しいか否かを判定するとともに、前記テストベンチに基づいて前記第2入力端子に与えられる入力値に対して、前記第4出力端子から出力される出力値が期待値と等しいか否かを判定することにより、前記上位階層論理の動作検証を行うステップと、
を前記コンピュータに実行させるためのプログラム。 - 階層構造を有して記述される半導体装置の各階層論理のうち少なくとも1つの下位階層論理を含む上位階層論理の動作検証をコンピュータに実行させるためのプログラムであって、
前記プログラムは、
前記下位階層論理内に含まれる入力端子及び出力端子以外の論理を削除し、該下位階層論理の第1入力端子の情報が与えられる第2出力端子及び該下位階層論理の第1出力端子へ情報を与える第2入力端子の論理を追加した検証用論理と、
第3入力端子と、第3出力端子と、前記検証用論理に新たに追加される前記第2入力端子へ情報を与える第4入力端子と、前記第2出力端子の情報が与えられる第4出力端子との論理を有する前記上位階層論理と、を作成するステップと、
前記上位階層論理に与える入力値及び該入力値に対する前記上位階層論理からの出力されるべき期待値が定義されたテストベンチを読み出すステップと、
前記テストベンチに基づいて前記第3入力端子に与えられる入力値に対して、前記第4出力端子から出力される出力値が期待値と等しいか否かを判定するとともに、前記テストベンチに基づいて前記第4入力端子に与えられる入力値に対して、前記第3出力端子から出力される出力値が期待値と等しいか否かを判定することにより、前記上位階層論理の動作検証を行うステップと、
を前記コンピュータに実行させるためのプログラム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002155654A JP4182279B2 (ja) | 2002-05-29 | 2002-05-29 | 論理検証方法及びプログラム |
US10/353,003 US6886144B2 (en) | 2002-05-29 | 2003-01-29 | Logic verification method for semiconductor device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002155654A JP4182279B2 (ja) | 2002-05-29 | 2002-05-29 | 論理検証方法及びプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2003345851A JP2003345851A (ja) | 2003-12-05 |
JP4182279B2 true JP4182279B2 (ja) | 2008-11-19 |
Family
ID=29561431
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002155654A Expired - Fee Related JP4182279B2 (ja) | 2002-05-29 | 2002-05-29 | 論理検証方法及びプログラム |
Country Status (2)
Country | Link |
---|---|
US (1) | US6886144B2 (ja) |
JP (1) | JP4182279B2 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5226620B2 (ja) * | 2009-07-06 | 2013-07-03 | 旭化成エレクトロニクス株式会社 | ネットリスト作成方法およびネットリスト作成装置 |
US8566765B1 (en) * | 2010-08-30 | 2013-10-22 | Atoptech, Inc. | In-hierarchy circuit analysis and modification |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH065541B2 (ja) * | 1983-12-30 | 1994-01-19 | 株式会社日立製作所 | 論理回路の自動設計方法 |
JPH0225980A (ja) * | 1988-07-14 | 1990-01-29 | Fujitsu Ltd | 回路図エデイタ |
JPH0237474A (ja) * | 1988-07-27 | 1990-02-07 | Hitachi Ltd | 論理一致検証方法 |
US5473546A (en) * | 1991-06-12 | 1995-12-05 | Lsi Logic Corporation | Method for flattening hierarchical design descriptions |
US6421815B1 (en) * | 1998-01-09 | 2002-07-16 | Synopsys, Inc. | Method and apparatus for optimized partitioning of finite state machines synthesized from hierarchical high-level descriptions |
US7181705B2 (en) * | 2000-01-18 | 2007-02-20 | Cadence Design Systems, Inc. | Hierarchical test circuit structure for chips with multiple circuit blocks |
US7103863B2 (en) * | 2001-06-08 | 2006-09-05 | Magma Design Automation, Inc. | Representing the design of a sub-module in a hierarchical integrated circuit design and analysis system |
US6493864B1 (en) * | 2001-06-20 | 2002-12-10 | Ammocore Technology, Inc. | Integrated circuit block model representation hierarchical handling of timing exceptions |
US6662349B2 (en) * | 2002-02-27 | 2003-12-09 | Lsi Logic Corporation | Method of repeater insertion for hierarchical integrated circuit design |
-
2002
- 2002-05-29 JP JP2002155654A patent/JP4182279B2/ja not_active Expired - Fee Related
-
2003
- 2003-01-29 US US10/353,003 patent/US6886144B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US20030226125A1 (en) | 2003-12-04 |
JP2003345851A (ja) | 2003-12-05 |
US6886144B2 (en) | 2005-04-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
USRE44479E1 (en) | Method and mechanism for implementing electronic designs having power information specifications background | |
US8468475B2 (en) | Conversion of circuit description to an abstract model of the circuit | |
US7992125B2 (en) | Method and system for simulating state retention of an RTL design | |
US20070061124A1 (en) | Method for the creation of a hybrid cycle simulation model | |
US7886245B2 (en) | Structure for optimizing the signal time behavior of an electronic circuit design | |
US10671785B1 (en) | Framework for reusing cores in simulation | |
US8397190B2 (en) | Method for manipulating and repartitioning a hierarchical integrated circuit design | |
JP2006277668A (ja) | レイアウト設計方法及びレイアウト設計装置 | |
US7398505B2 (en) | Automatic back annotation of a functional definition of an integrated circuit design based upon physical layout | |
JP2008250721A (ja) | モデル生成方法及びモデル生成装置 | |
US8245166B2 (en) | Optimal correlated array abstraction | |
US7076754B2 (en) | Functional block design method and apparatus | |
JP4182279B2 (ja) | 論理検証方法及びプログラム | |
US10152566B1 (en) | Constraint based bit-stream compression in hardware for programmable devices | |
US6732343B2 (en) | System and methods for placing clock buffers in a datapath stack | |
JP4053767B2 (ja) | 電源配線設計方法、電源配線設計装置、記録媒体、及びプログラム | |
US7584437B2 (en) | Assuring correct data entry to generate shells for a semiconductor platform | |
US11429773B1 (en) | Methods, systems, and computer program product for implementing an electronic design using connect modules with dynamic and interactive control | |
CN117907812B (zh) | 电路检测方法及装置、电子设备、存储介质、程序产品 | |
US20230342528A1 (en) | Mixed signal feedback design for verification | |
JP2011145880A (ja) | 半導体集積回路の論理検証にて使用するテストタスクの生成方法 | |
Pal | Reusability and Scalability of an SoC Testbench in Mixed-Signal Verification—The Inevitable Necessity | |
JP5668457B2 (ja) | 回路設計方法、プログラム及び半導体集積回路 | |
US6457160B1 (en) | Iterative prediction of circuit delays | |
US20140089873A1 (en) | Automatically Identifying Resettable Flops For Digital Designs |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050506 |
|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A711 Effective date: 20050830 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20080319 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080422 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20080423 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080623 |
|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A712 Effective date: 20080730 |
|
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: 20080812 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20080818 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110912 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |