JP4983642B2 - 設計検証プログラム、設計検証方法および設計検証装置 - Google Patents
設計検証プログラム、設計検証方法および設計検証装置 Download PDFInfo
- Publication number
- JP4983642B2 JP4983642B2 JP2008039363A JP2008039363A JP4983642B2 JP 4983642 B2 JP4983642 B2 JP 4983642B2 JP 2008039363 A JP2008039363 A JP 2008039363A JP 2008039363 A JP2008039363 A JP 2008039363A JP 4983642 B2 JP4983642 B2 JP 4983642B2
- Authority
- JP
- Japan
- Prior art keywords
- signal
- description
- monitor
- netlist
- name
- 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
Description
論理検証においては、まず、作成したRTL記述(Resister Transfer Level)のシミュレーションによる論理検証を行い回路の論理機能動作を確認する(ステップS91)。
ネットリスト記述とRTL記述のFormal検証(論理等価検証)を行い、論理が等価であることを確認する(ステップS93)。
モジュール回路90は、入力側からレジスタ(D−FF回路)F91と、AND回路AND91と、レジスタF92と、AND回路AND92と、AND回路AND93とを有している。
AND回路AND91の入力には、それぞれ信号名「XMSK」の信号およびレジスタF91が出力する信号が入力される。
AND回路AND92の入力には、信号名「XMSK」の信号およびレジスタF92が出力する信号が入力される。
ここで、アサーションチェッカ91は、信号名「CLK」の信号に同期して動作し、信号名「a」の信号および信号名「b」の信号をチェックする。
ネットリスト回路90aは、図37に示すモジュール回路90を実現するRTL記述を論理合成して得られたネットリスト記述により実現される回路である。
本発明はこのような点に鑑みてなされたものであり、ネットリスト検証でRTL記述と同等のアサーションチェックを可能とする設計検証プログラム、設計検証方法および設計検証装置を提供することを目的とする。
関連づけ処理手段は、RTLを論理合成して得られるネットリストのネットリスト記述における入出力信号の信号名のうち、対応する信号の信号名をモニタ記述の入力信号の信号名に関連づける。
まず、本発明の概要について説明し、その後、実施の形態を説明する。
図1は、本発明の概要を示す図である。
ここで、組み合わせ回路は、論理式に基づき、AND回路やOR回路等のゲート素子を組み合わせたもので、入力の値だけで出力が定まり、過去の状態には影響されない回路である。また、レジスタは、組み合わせ回路と記憶回路で構成され、出力は入力と回路の現在の状態によって定まるものを言う。
図2は、設計検証装置のハードウェア構成例を示す図である。
設計検証装置100は、CPU(Central Processing Unit)101によって装置全体が制御されている。CPU101には、バス107を介してRAM(Random Access Memory)102、ハードディスクドライブ(HDD:Hard Disk Drive)103、グラフィック処理装置104、入力インタフェース105、および通信インタフェース106が接続されている。
設計検証装置100は、アサーションチェック部200と、設計検証部300と、RTL記述格納部400と、ネットリスト記述格納部500と、実配線SDF格納部600と、モニタ記述格納部700と、テストベンチ記述格納部800と、ライブラリ格納部900と、FV(Formal Verification)スクリプト格納部1000とを有している。
アサーションチェック部200は、ある条件が成立していなければならない部分にチェック用のコードを入れ、その条件に違反している場合はエラーを出力することで、プログラムをチェックする。
RTL記述格納部400には、アサーションチェックが行われたRTL記述が格納される。
実配線SDF格納部600には、レイアウト処理によって配設された実配線SDFが格納される。
テストベンチ記述格納部800には、論理的に正常に動作するか否かを確認するための入力値と期待値の集合を備えるテストベンチ記述が格納される。
FVスクリプト格納部1000には、RTL記述からの変更内容が設定されたFVスクリプトが格納される。
設計検証部300は、シミュレーション実行部310と、論理合成部320と、Formal検証部330と、レイアウト実行部340と、モニタ記述作成部350と、関連づけ処理部360と、タイミング検証部370とを有している。
論理合成部320は、HDLで記述された論理機能を実際のゲート回路に変換してネットリスト記述を出力する。
レイアウト実行部340は、論理等価の検証ができたネットリスト記述に対してレイアウトを行い、タイミング調整やテスト回路追加等を行った実配線のネットリスト記述および寄生容量、抵抗を含んだ遅延情報ファイル(SDF)を作成する。
関連づけ処理部360は、モニタ記述作成部350が作成したモニタ記述の入力信号と、ネットリスト記述の入力信号およびネットリスト記述内部のレジスタが出力する信号とを関連づける。
<第1の実施の形態の設計検証方法>
図5は、第1の実施の形態の設計検証処理を示す処理フローである。
論理検証動作が期待通りであった場合(ステップS1のYes)、論理合成部320が、論理合成を行いゲートレベルのネットリスト記述を生成する(ステップS2)。生成したネットリスト記述はネットリスト記述格納部500に格納する。
論理が等価でない場合(ステップS3のNo)、処理を終了する。
また、関連づけ処理部360は、モニタ記述の信号をネットリスト記述格納部500に格納されているネットリスト記述の信号またはテストベンチ記述格納部800に格納されているテストベンチ記述の信号に関連づけてこれらの信号同士を互いに関連づける関連づけ処理を行う(ステップS6)。この処理についても後に詳述する。
タイミングスペックが満たされなかった場合(ステップS7のタイミングNo)、ステップS4に移行し、再度レイアウトを行う。
タイミングスペックが満たされなかった場合(ステップS8のタイミングNo)、ステップS4に移行し、再度レイアウトを行う。
なお、論理機能動作が期待通りでなかった場合(ステップS1のNo)、論理が等価でない場合(ステップS3のNo)、論理機能動作が期待通りでなかった場合(ステップS7の動作No)、および論理的に問題がある場合(ステップS8の動作No)は、ユーザによって再度RTL記述が作成(再調整)され、第1の設計検証処理が再度繰り返される。
実機動作が期待通りでなかった場合、回路の論理に問題がある場合は再度RTL記述を作成し、タイミングに問題がある場合は再度レイアウトを行う。
<第1のモニタ記述作成処理>
次に、図5に示すステップS5のモニタ記述作成処理(第1のモニタ記述作成処理)について詳しく説明する。
まず、モニタ記述作成部350が、RTL記述格納部400に格納されているRTL記述を取り出し、RTL記述のモジュール回路名を別の名前に変更する(ステップS11)。
次に、モニタ記述作成部350が、削除したモニタ記述に含まれる信号の信号名を、モニタ記述の外部から入力される信号の信号名として追加する(ステップS13)。
次に、第1のモニタ記述作成処理の具体例を説明する。
図7は、RTL記述格納部に格納されているRTL記述の一例を示す図であり、図8は、図7に示すRTL記述により実現されるモジュール回路を示す図である。
モジュール回路11のモジュール回路名は、「dut」であり、入力側からレジスタ(D−FF)F0_regと、AND回路and2と、レジスタF1_regと、AND回路and3と、AND回路and4とを有している。
AND回路and2には、モジュール回路11外部から入力される信号名「XMSK」の信号およびレジスタF0_regが出力する信号名「f0」の信号が入力される。
AND回路and3の入力には、信号名「XMSK」の信号およびレジスタF1_regが出力する信号名「f1」の信号が入力される。
アサーションチェック部200は、信号名「CLK」の信号に同期して動作し、信号名「a」の信号および信号名「b」の信号をチェックする。
図9は、図7に示すRTL記述に第1のモニタ記述作成処理を施したモニタ記述を示す図である。
また、RTL記述のレジスタに関する記述、すなわち、7行目の「reg f0,f1;」、および17〜20行目の「always @(posedge CLK) begin・・・end」を削除する。なお、図9ではコメントアウトしている。
図10中、点線で示したデバイスは、削除されたデバイスを示している。
また、レジスタF0_regおよびレジスタF1_regが削除されている。
次に、図5に示すステップS6の関連づけ処理(第1の関連づけ処理)について説明する。
まず、関連づけ処理部360が、モニタ記述作成処理にて生成したモジュール回路のモニタ記述をネットリスト記述またはテストベンチ記述に追加する(ステップS21)。このステップでは、モニタ記述の信号をネットリスト記述またはテストベンチ記述の信号に関連づける処理は行わない。
具体的には、RTL記述に入力される信号の信号名と同等の信号名がネットリスト記述に存在するか否かを判断する(ステップS25)。
一方、存在しない場合(ステップS25のNo)、変更された信号名をFVスクリプト格納部1000に格納されているFVスクリプトから検索し、その信号名をRTL記述に入力される信号の信号名に関連づける(ステップS27)。この処理についてもモニタ記述の特殊関連づけ処理として後に詳述する。
次に、第1の関連づけ処理の具体例を説明する。ステップS28にて説明したように、モニタ記述をネットリスト記述に追加する方法とテストベンチ記述に追加する方法がある。以下順番に説明する。
本具体例は、図7に示すRTL記述r1を論理合成したネットリスト記述に、図9に示すモニタ記述m1を追加する例である。
まず、第1のモニタ記述作成処理で作成したモニタ記述m1を下記のようにインスタンス化して未接続で図12に示すネットリスト記述n1に追加する。
check_dut inst_check_dut( .CLK(), .XMSK(),
.DIN(), .f0(), .f1(), .DOUT() );
次に、モニタ記述m1における外部から入力される信号の信号名「f0」、「f1」にネットリスト記述n1のレジスタが出力する信号の信号名を関連づける。
check_dut inst_check_dut( .CLK(), .XMSK(),
.DIN(), .f0(f0), .f1(q1), .DOUT() );
次に、モニタ記述m1に入力される信号の信号名にネットリスト記述n1に入力される信号の信号名を関連づける。
check_dut inst_check_dut ( .CLK(CLK), .XMSK(XMSK),
.DIN(DIN), .f0(f0), .f1(q1), .DOUT() );
以上の処理を行うことで、第1の関連づけ処理を施したネットリスト記述n2が得られる。このネットリスト記述n2に追加されたモニタ記述部分のアサーションチェックを行うことでネットリスト検証でのアサーションチェックが可能となる。
ネットリスト回路21は、図13に示すネットリスト記述n2により実現される(タイミング検証用の)回路である。
<第1の関連づけ処理の第2の具体例>
本具体例は、図7に示すRTL記述r1を論理合成したネットリスト記述外部のテストベンチ記述上に、図9に示すモニタ記述m1を追加する例である。
まず、第1のモニタ記述作成処理で作成したモニタ記述m1を第1の具体例と同様にインスタンス化してテストベンチ記述へ追加する。
check_dut inst_check_dut ( .CLK(), .XMSK(),
.DIN(), .f0(), .f1(), .DOUT() );
次に、モニタ記述m1の外部から入力される信号の信号名「f0」、「f1」にネットリスト記述のレジスタが出力する信号の信号名を関連づける。
check_dut inst_check_dut (.CLK(), .XMSK(),
.DIN(), .f0(inst_dut.f0), .f1(inst_dut.q1), .DOUT() );」
次に、モニタ記述m1に入力される信号の信号名にネットリスト記述n1に入力される信号の信号名を関連づける。
check_dut inst_check_dut(.CLK(inst_dut.CLK), .XMSK(inst_dut.XMSK),
.DIN(inst_dut.DIN), .f0(inst_dut.f0), .f1(inst_dut.q1), .DOUT() );
以上の処理を行うことで、第1の関連づけ処理を施したテストベンチ記述t1が得られる。このテストベンチ記述t1に追加されたモニタ記述部分のアサーションチェックを行うことでネットリスト検証でのアサーションチェックが可能となる。
図16は、第1の関連づけ処理によって関連づけられたテストベンチ回路を示す図である。
このテストベンチ回路31は、ネットリスト回路21aとは別個にモジュール回路11aが追加され、モジュール回路11aの信号名「f0」の信号にネットリスト回路21aのレジスタf0_regが出力する信号名「f0」の信号が接続され、モジュール回路11aの信号名「f1」の信号にレジスタf1_regの信号名「q1」の信号が接続されている。
<モニタ記述の特殊関連づけ処理>
次に、図11に示すステップS24、S27のモニタ記述の特殊関連づけ処理について説明する。
またネットリスト記述の信号名がRTL記述とは異なる信号名に変更される場合もある。
図17に示すRTL記述r2により図18に示すモジュール回路41が実現される。
レジスタQ0_regと、レジスタQ1_reg0〜Q1_reg2とは、それぞれ信号名「CLK」の信号により動作する。レジスタQ1_reg0の入力には論理‘0’(固定値)の信号が入力され、レジスタQ0_regおよびレジスタQ1_reg2の入力には、それぞれ信号名「A」の信号が入力される。また、レジスタQ1_reg1の入力には、信号名「A」の信号の論理を反転させた信号が入力される。
図19に示すネットリスト回路51では前者の例としてレジスタQ0_regに対応するレジスタq0_regが削除されている。また、後者の例としてレジスタQ1_reg0に対応するレジスタq1_reg_0が削除され、セレクタ42の代わりにAND回路AND6が設けられている。このような場合、モニタ記述の特殊関連づけ処理を行ってFVスクリプト格納部1000に格納されているFVスクリプトから、削除されたレジスタの内容を検索し、代わりの信号または固定値を関連づける。
モニタ記述については、前述したように、RTL記述r2のモジュール回路名「dut2」を別の名前「check_dut2」に変更する。
reg q0;
reg [2:0] q1;
always @(posedge CLK) begin
q0 <= A;
end
always @(posedge CLK) begin
if( A )
q1 <= 3'b100;
else
q1 <= 3'b010;
end
を削除する。
まず、レジスタq0_regは削除されているため、FVスクリプトfv1の3行目から信号名「q0]」の信号は信号名「q1[2]」の信号と同等であることを読み込んで、レジスタq0_regが出力する信号の信号名「q0」には信号名「q1[2]」を関連づける。すなわち図22に示すネットリスト記述n3の13行目を「q0(q1_2_),」のように記述する。
ネットリスト記述n3により実現されるネットリスト回路51aには、モジュール回路41aが追加されている。
また、モジュール回路41aの信号名「q1[0]」の信号に論理‘0’の信号が接続されている。
このように、ネットリスト記述のレジスタが削除された場合や入力信号名が変更された場合についてもモニタ記述の信号をネットリスト記述へ関連づけることができる。
次に、第2の実施の形態の設計検証装置について説明する。
以下、第2の実施の形態の設計検証装置について、前述した第1の実施の形態の設計検証装置との相違点を中心に説明し、同様の事項については、その説明を省略する。
第2の実施の形態の設計検証装置100aは、アサーションチェッカがPSLの場合であり、vunitを使ってRTL記述とは別個に記述してあるアサーションチェッカモデル記述を格納するアサーションチェッカモデル記述格納部1100をさらに有している。
<第2の設計検証方法>
第2の設計検証方法は、モニタ記述作成処理および関連づけ処理が第1の設計検証方法とは異なっている。
モニタ記述作成部350は、RTL記述に加え、ステップS4のレイアウトによって得られたネットリスト記述を用いてモニタ記述作成処理を行う(ステップS5a)。そして、モニタ記述作成処理が施されたモニタ記述をモニタ記述格納部700に格納する。
以下、本実施の形態のステップS5aのモニタ記述作成処理(第2のモニタ記述作成処理)について詳しく説明する。
まず、モニタ記述作成部350が、RTL記述のモジュール回路名および入出力信号名の定義文を削除する(ステップS31)。
次に、モニタ記述作成部350が、RTL記述に残った組み合わせ回路で生成される信号で、その信号がネットリスト記述の内部信号または出力信号に存在する場合は、組み合わせ回路内のその部分を削除する(ステップS33)。
次に、モニタ記述作成処理の具体例を説明する。
図27は、図7に示すRTL記述に、第2のモニタ記述作成処理を施したモニタ記述を示す図である。
図28は、図27に示すモニタ記述により実現される組み合わせ回路を示す図である。
図28中、点線で示した部分は、削除されたことを示している。
また、レジスタF0_reg、F1_regが削除されている。
<第2の関連づけ処理>
次に、図25に示す本実施の形態のステップS6aの関連づけ処理(第2の関連づけ処理)について説明する。
まず、関連づけ処理部360が、第2のモニタ記述作成処理で生成した組み合わせ回路のモニタ記述を、ネットリスト記述、テストベンチ記述、またはアサーションチェッカモデル記述に直接記述し追加する(ステップS41)。
一方、存在しない場合(ステップS44のNo)、ネットリスト記述のレジスタが出力する信号の信号名をモニタ記述のレジスタに関連づける(ステップS45)。
具体的には、ステップS41にて追加した組み合わせ回路の信号にネットリスト記述またはテストベンチ記述と同じ信号名が存在するか否かを判断する(ステップS46)。
次に、関連づけ処理部360が、処理結果を格納先に格納する(ステップS48)。
具体的には、ステップS41でモニタ記述をネットリスト記述に追加した場合、ステップS42〜ステップS47の処理が施されたモニタ記述が追加されたネットリスト記述をネットリスト記述格納部500に格納する。ステップS41でモニタ記述をテストベンチ記述に追加した場合、ステップS42〜ステップS47の処理が施されたモニタ記述が追加されたテストベンチ記述をテストベンチ記述格納部800に格納する。ステップS41でモニタ記述をアサーションチェッカモデル記述に追加した場合、ステップS42〜ステップS47の処理が施されたモニタ記述が追加されたアサーションチェッカモデル記述をアサーションチェッカモデル記述格納部1100に格納する。
次に、第2の関連づけ処理の具体例を説明する。ステップS48にて説明したように、モニタ記述をネットリスト記述に追加する方法とテストベンチ記述に追加する方法とアサーションチェッカモデル記述に追加する方法とがある。以下順番に説明する。
本具体例は、第2のモニタ記述作成処理で生成した組み合わせ回路のモニタ記述を第2の関連づけ処理を行うことによりネットリスト記述内部に追加してネットリスト記述に関連づける例である。
まず、第2のモニタ記述作成処理で作成した組み合わせ回路のモニタ記述m3を下記のようにネットリスト記述n1へ直接記述し追加する。また、RTL記述r1にアサーションチェッカが記述されている場合、ここでアサーションチェッカも追加する。
// psl default clock = ( posedge CLK ) ;
// psl property
// chk = always { a } |=> { b } ;
// psl assert chk ;
wire a, b;
assign a = f0 & XMSK;
assign b = f1 & XMSK;
次に、RTL記述r1のレジスタが出力していた信号名「f0」、「f1」の信号に、ネットリスト記述n1のレジスタが出力する信号名の信号を関連づける。
本具体例では、レジスタF0_regに対応するレジスタf0_regおよびレジスタF1_regに対応するレジスタf1_regが存在する。
// psl default clock = ( posedge CLK ) ;
// psl property
// chk = always { a } |=> { b } ;
// psl assert chk ;
wire a, b;
wire f1;
assign f1 = q1;
assign a = f0 & XMSK;
assign b = f1 & XMSK;
次に、モニタ記述m3の組み合わせ回路に入力される信号名「XMSK」の信号および信号名「CLK」の信号にネットリスト記述n1に入力される信号を関連づける。
本具体例では信号名「XMSK」の信号、信号名「CLK」の信号は存在するので何もしない。何もしなくても、モニタ記述m3の信号名「XMSK」の信号および信号名「CLK」の信号はネットリスト記述n1の信号名「XMSK」の信号および信号名「CLK」の信号とそれぞれ関連づけられたことになる。
ネットリスト記述n4により実現されるネットリスト回路71には、組み合わせ回路61が追加されている。
本具体例は、第2のモニタ記述作成処理で生成した組み合わせ回路のモニタ記述を第2の関連づけ処理を行うことによりテストベンチ記述に追加してネットリスト記述に関連づける例である。
第2のモニタ記述作成処理で生成した組み合わせ回路のモニタ記述m3を下記のようにテストベンチ記述へ直接記述し追加する。RTL記述r1内部にアサーションチェッカが記述されている場合、ここでアサーションチェッカも追加される。
// psl default clock = ( posedge CLK ) ;
// psl property
// chk = always { a } |=> { b } ;
// psl assert chk ;
wire a, b;
assign a = f0 & XMSK;
assign b = f1 & XMSK;
次に、RTL記述r1のレジスタが出力していた信号名「f0」、「f1」の信号に、ネットリスト記述n1のレジスタが出力する信号名の信号を関連づける。
本具体例ではレジスタF0_regに対応するレジスタf0_regおよびレジスタF1_regに対応するレジスタf1_regが存在するので、ネットリスト記述n1のレジスタが出力する信号と同じ信号名がモニタ記述m3に存在しているか否かを判断する。
// psl default clock = ( posedge CLK ) ;
// psl property
// chk = always { a } |=> { b } ;
// psl assert chk ;
wire a, b;
wire f0, f1;
assign f0 = inst_dut.f0;
assign f1 = inst_dut.q1;
assign a = f0 & XMSK;
assign b = f1 & XMSK;
次に、モニタ記述m3の組み合わせ回路に入力される信号名「XMSK」の信号および信号名「CLK」の信号にネットリスト記述n1に入力される信号を関連づける。
本具体例では信号名「XMSK」の信号、信号名「CLK」の信号は存在するので何もしない。何もしなくても、モニタ記述m3の信号名「XMSK」の信号および信号名「CLK」の信号はネットリスト記述n1の信号名「XMSK」の信号および信号名「CLK」の信号とそれぞれ接続されたことになる。
テストベンチ記述t2により実現されるテストベンチ回路81には、組み合わせ回路61が追加されている。また、ネットリスト回路21aは、図12に示すネットリスト記述n1により実現される回路である。すなわち、モニタ記述を第2の関連づけ処理を行うことによりテストベンチ記述に追加する場合はネットリスト記述には手を加えない。
本具体例は、第2のモニタ記述作成処理で生成した組み合わせ回路のモニタ記述を第2の関連づけ処理を行うことによりアサーションチェッカモデル記述内部に追加してネットリスト記述に関連づける例である。
第2のモニタ記述作成処理で生成した組み合わせ回路のモニタ記述m3を下記のようにアサーションチェッカへ直接記述し追加する。この例でのアサーションチェッカはRTL記述とは別ファイルである。
wire a, b;
assign a = f0 & XMSK;
assign b = f1 & XMSK;
次に、RTL記述r1のレジスタが出力していた信号名「f0」、「f1」の信号に、ネットリスト記述n1のレジスタが出力する信号名の信号を関連づける。
本具体例では、レジスタF0_regに対応するレジスタf0_regおよびレジスタF1_regに対応するレジスタf1_regが存在する。
wire a, b;
wire f1;
assign f1 = q1;
assign a = f0 & XMSK;
assign b = f1 & XMSK;
次に、モニタ記述m3の組み合わせ回路に入力される信号名「XMSK」の信号および信号名「CLK」の信号にネットリスト記述n1に入力される信号を関連づける。
本具体例では信号名「XMSK」の信号、信号名「CLK」の信号は存在するので何もしない。何もしなくても、モニタ記述m3の信号名「XMSK」の信号および信号名「CLK」の信号はネットリスト記述n1の信号名「XMSK」の信号および信号名「CLK」の信号とそれぞれ接続されたことになる。
ネットリスト記述n1により実現されるネットリスト回路21aに組み合わせ回路61を備えるアサーションチェッカモデル回路61aが追加されている。このように、本具体例においてもネットリスト記述には手を加えない。
アサーションチェック部200は、アサーションチェッカモデル回路61aの信号名「a」の信号および信号名「b」の信号をチェックすることにより、ネットリスト回路21aのアサーションチェックを行うことができる。
なお、上記の処理機能は、コンピュータによって実現することができる。その場合、設計検証装置100が有すべき機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等が挙げられる。磁気記録装置としては、例えば、ハードディスク装置(HDD)、フレキシブルディスク(FD)、磁気テープ等が挙げられる。光ディスクとしては、例えば、DVD(Digital Versatile Disc)、DVD−RAM(Random Access Memory)、CD−ROM(Compact Disc Read Only Memory)、CD−R(Recordable)/RW(ReWritable)等が挙げられる。光磁気記録媒体としては、例えば、MO(Magneto-Optical disk)等が挙げられる。
(付記1) ゲートレベルのネットリストを用いた設計検証を行う設計検証プログラムにおいて、
コンピュータを、
作成されたRTLのRTL記述からレジスタに関する記述を削除した組み合わせ回路のモニタのモニタ記述を作成する作成処理手段、
前記RTLを論理合成して得られるネットリストのネットリスト記述における入出力信号の信号名のうち、対応する信号の信号名を前記モニタ記述の入力信号の信号名に関連づける関連づけ処理手段、
として機能させることを特徴とする設計検証プログラム。
(付記12) 前記関連づけ処理手段により信号が接続された状態で、前記組み合わせ回路のアサーションチェックを行うことを特徴とする付記1記載の設計検証プログラム。
作成処理手段が、作成されたRTLのRTL記述からレジスタに関する記述を削除した組み合わせ回路のモニタのモニタ記述を作成し、
関連づけ処理手段が、前記RTLを論理合成して得られるネットリストのネットリスト記述における入出力信号の信号名のうち、対応する信号の信号名を前記モニタ記述の入力信号の信号名に関連づける、
ことを特徴とする設計検証方法。
作成されたRTLのRTL記述からレジスタに関する記述を削除した組み合わせ回路のモニタのモニタ記述を作成する作成処理部と、
前記RTLを論理合成して得られるネットリストのネットリスト記述における入出力信号の信号名のうち、対応する信号の信号名を前記モニタ記述の入力信号の信号名に関連づける関連づけ処理部と、
を有することを特徴とする設計検証装置。
21、21a、51、51a、71 ネットリスト回路
31、81 テストベンチ回路
61 組み合わせ回路
61a アサーションチェッカモデル回路
100、100a 設計検証装置
200 アサーションチェック部
300 設計検証部
310 シミュレーション実行部
320 論理合成部
330 Formal検証部
340 レイアウト実行部
350 モニタ記述作成部
360 関連づけ処理部
370 タイミング検証部
400 RTL記述格納部
500 ネットリスト記述格納部
600 実配線SDF格納部
700 モニタ記述格納部
800 テストベンチ記述格納部
900 ライブラリ格納部
1000 FVスクリプト格納部
1100 アサーションチェッカモデル記述格納部
a1 アサーションチェッカモデル記述
fv1 FVスクリプト
m1、m2、m3 モニタ記述
n1、n2、n3、n4 ネットリスト記述
r1、r2 RTL記述
t1、t2 テストベンチ記述
Claims (7)
- ゲートレベルのネットリストを用いた設計検証を行う設計検証プログラムにおいて、
コンピュータを、
作成されたRTLのRTL記述からレジスタに関する記述を削除した組み合わせ回路のモニタのモニタ記述を作成する作成処理手段、
前記RTLを論理合成して得られるネットリストのネットリスト記述における入出力信号の信号名のうち、対応する信号の信号名を前記モニタ記述の入力信号の信号名に関連づける関連づけ処理手段、
として機能させることを特徴とする設計検証プログラム。 - 前記作成処理手段は、前記RTL記述のモジュール名を変更し、前記RTL記述のレジスタに関する記述を全て削除し、削除したレジスタが出力する信号の信号名を、前記RTL回路外部からの入力信号の信号名とした前記モニタ記述を作成することを特徴とする請求項1記載の設計検証プログラム。
- 前記関連づけ処理手段は、前記モニタ記述を、前記ネットリスト記述またはテストベンチ記述に追加し、削除された前記レジスタに対応する前記ネットリスト記述に記述された前記レジスタが出力する信号の信号名を、前記入力信号の信号名に関連づけ、前記モニタに入力される信号の信号名に等しい前記ネットリストの信号の信号名を、前記モニタに入力される信号の信号名に関連づけることを特徴とする請求項2記載の設計検証プログラム。
- 前記作成処理手段は、前記RTL記述のモジュール名および入出力信号名の定義文を削除し、前記RTL記述のレジスタに関する記述を全て削除し、前記ネットリストの内部信号または出力信号に対応する信号を出力する組み合わせ回路に関する記述を削除した前記モニタ記述を作成することを特徴とする請求項1記載の設計検証プログラム。
- 前記関連づけ処理手段は、前記モニタ記述を、前記ネットリスト記述またはテストベンチ記述またはアサーションチェッカモデル記述に追加し、削除された前記レジスタに対応する前記ネットリスト記述に記述された前記レジスタが出力する信号の信号名を、前記モニタの削除された前記レジスタが出力していた信号の信号名に関連づけ、前記モニタに入力される信号の信号名に等しい前記ネットリストの信号の信号名を、前記モニタに入力される信号の信号名に関連づけることを特徴とする請求項4記載の設計検証プログラム。
- ゲートレベルのネットリストを用いた設計検証を行う設計検証方法において、
作成処理手段が、作成されたRTLのRTL記述からレジスタに関する記述を削除した組み合わせ回路のモニタのモニタ記述を作成し、
関連づけ処理手段が、前記RTLを論理合成して得られるネットリストのネットリスト記述における入出力信号の信号名のうち、対応する信号の信号名を前記モニタ記述の入力信号の信号名に関連づける、
ことを特徴とする設計検証方法。 - ゲートレベルのネットリストを用いた設計検証を行う設計検証装置において、
作成されたRTLのRTL記述からレジスタに関する記述を削除した組み合わせ回路のモニタのモニタ記述を作成する作成処理部と、
前記RTLを論理合成して得られるネットリストのネットリスト記述における入出力信号の信号名のうち、対応する信号の信号名を前記モニタ記述の入力信号の信号名に関連づける関連づけ処理部と、
を有することを特徴とする設計検証装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008039363A JP4983642B2 (ja) | 2008-02-20 | 2008-02-20 | 設計検証プログラム、設計検証方法および設計検証装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008039363A JP4983642B2 (ja) | 2008-02-20 | 2008-02-20 | 設計検証プログラム、設計検証方法および設計検証装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2009199274A JP2009199274A (ja) | 2009-09-03 |
JP4983642B2 true JP4983642B2 (ja) | 2012-07-25 |
Family
ID=41142713
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008039363A Expired - Fee Related JP4983642B2 (ja) | 2008-02-20 | 2008-02-20 | 設計検証プログラム、設計検証方法および設計検証装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4983642B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114626323B (zh) * | 2022-05-16 | 2022-08-16 | 飞腾信息技术有限公司 | 集成电路的时序收敛方法、装置、服务器及可读存储介质 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005275963A (ja) * | 2004-03-25 | 2005-10-06 | Toshiba Corp | モニタ記述生成装置、モニタ記述生成方法及びモニタ記述生成プログラム |
JP2006163600A (ja) * | 2004-12-03 | 2006-06-22 | Canon Inc | 内部信号監視方法及び論理シミュレーション装置 |
JP4881769B2 (ja) * | 2007-03-16 | 2012-02-22 | 株式会社リコー | 半導体集積回路設計支援装置、半導体集積回路設計支援方法、半導体集積回路設計支援プログラム |
-
2008
- 2008-02-20 JP JP2008039363A patent/JP4983642B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2009199274A (ja) | 2009-09-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7603636B2 (en) | Assertion generating system, program thereof, circuit verifying system, and assertion generating method | |
US8234617B2 (en) | Method and system for re-using digital assertions in a mixed signal design | |
US20090210841A1 (en) | Static timing analysis of template-based asynchronous circuits | |
JP2006107517A (ja) | クロストークを考慮したタイミング分析のためのシステム、方法及び論理装置 | |
US8522182B2 (en) | Generation of an end point report for a timing simulation of an integrated circuit | |
JP4078435B2 (ja) | 論理集積回路及び論理集積回路設計方法及び論理集積回路のハードウェア動作記述を生成するハードウェア記述生成方法 | |
JP4147842B2 (ja) | 論理検証システム及び方法、論理コーン抽出装置及び方法、論理検証及び論理コーン抽出プログラム | |
US7888971B2 (en) | Verification support system and method | |
JP2006285333A (ja) | 動作合成装置及び方法 | |
Simpson | FPGA design | |
JP4850091B2 (ja) | 検証シナリオ生成装置,方法,およびプログラム,並びに検証装置 | |
US8504347B2 (en) | Simulation apparatus, simulation method, and program to perform simulation on design data of a target circuit | |
US9792394B2 (en) | Accurate glitch detection | |
JP2003141206A (ja) | Lsiテスト・データのタイミング検証方法およびlsiテスト・データのタイミング検証プログラム | |
US7979262B1 (en) | Method for verifying connectivity of electrical circuit components | |
JP4983642B2 (ja) | 設計検証プログラム、設計検証方法および設計検証装置 | |
US7945882B2 (en) | Asynchronous circuit logical verification method, logical verification apparatus, and computer readable storage medium | |
US20220327269A1 (en) | Computing device and method for detecting clock domain crossing violation in design of memory device | |
JP2003196339A (ja) | テスト容易性解析システムおよびテスト容易性解析方法、並びにテスト容易化設計システムおよびテスト容易化設計方法 | |
JP4881769B2 (ja) | 半導体集積回路設計支援装置、半導体集積回路設計支援方法、半導体集積回路設計支援プログラム | |
JPWO2006025412A1 (ja) | 論理検証方法、論理モジュールデータ、デバイスデータおよび論理検証装置 | |
JP5146369B2 (ja) | 回路設計プログラム、回路設計方法および回路設計装置 | |
JP2002269169A (ja) | 回路自動検証装置 | |
JP7351189B2 (ja) | タイミング制約抽出装置、タイミング制約抽出方法およびタイミング制約抽出プログラム | |
Lahbib et al. | An automatic ABV methodology enabling PSL assertions across SLD flow for SOCs modeled in SystemC |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20100930 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20120308 |
|
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: 20120327 |
|
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: 20120409 |
|
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: 20150511 Year of fee payment: 3 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313111 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
LAPS | Cancellation because of no payment of annual fees |