JP5109960B2 - 検証支援プログラム、検証支援装置、および検証支援方法 - Google Patents

検証支援プログラム、検証支援装置、および検証支援方法 Download PDF

Info

Publication number
JP5109960B2
JP5109960B2 JP2008322617A JP2008322617A JP5109960B2 JP 5109960 B2 JP5109960 B2 JP 5109960B2 JP 2008322617 A JP2008322617 A JP 2008322617A JP 2008322617 A JP2008322617 A JP 2008322617A JP 5109960 B2 JP5109960 B2 JP 5109960B2
Authority
JP
Japan
Prior art keywords
module
hierarchy
verification
verified
hierarchical layout
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2008322617A
Other languages
English (en)
Other versions
JP2010146277A (ja
Inventor
吉寿 岩城
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Semiconductor Ltd
Original Assignee
Fujitsu Semiconductor Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Semiconductor Ltd filed Critical Fujitsu Semiconductor Ltd
Priority to JP2008322617A priority Critical patent/JP5109960B2/ja
Publication of JP2010146277A publication Critical patent/JP2010146277A/ja
Application granted granted Critical
Publication of JP5109960B2 publication Critical patent/JP5109960B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

この発明は、LSI(Large Scale Integrated circuit)の階層設計を支援する検証支援プログラム、検証支援装置、および検証支援方法に関する。
近年、LSIの大規模化、複雑化にともなってネットリストのデータ量が膨大なものとなっている。このため、1つのチップに対して一括してネットリストを設計するのではなく、チップ内の機能ブロック単位でネットリストを設計して効率化を図る階層設計がおこなわれている。一方で、階層設計されたネットリストに対しては、階層設計ルールを満たしているか否かを機能ブロックごとに検証する必要がある。そこで、複雑に階層構造化されたネットリストの検証効率を向上させる技術が求められている。
従来、階層設計された論理回路の検証において、複数回共通して用いられる階層ブロックが存在する場合の重複検証を回避して、検証効率の向上を図る技術が開示されている(たとえば、下記特許文献1参照。)。具体的には、階層ブロックの接続規則の検証をおこなう際に、その階層ブロックの上位側の階層ブロックの接続規則の検証に必要な情報を予め求めて格納する。
また、論理等価性検証を分割して実行することにより、検証効率の向上を図る技術が開示されている(たとえば、下記特許文献2参照。)。具体的には、論理変更または追加のあった論理階層の情報に基づいて、基準論理回路に必要なハードウェア記述用プログラム言語ファイルを検索して論理階層を組み立て、比較対象論理回路との論理等価性検証を分割して実行する。
特開平6−195409号公報 特開2006−92259号公報
しかしながら、階層設計されたネットリストに対する検証は、チップ内の機能ブロックごとにおこなわれる。このため、各機能ブロックを検証する際に、その都度、全ネットリストを読み込む必要がある。これでは、検証時におけるネットリストの読み込みにかかる処理時間が増大し、検証期間の長期化を招くという問題があった。
この開示技術は、上述した従来技術による問題点を解消するため、階層設計された検証対象回路の検証にかかる処理を高速化し、検証期間の短縮化を図ることを目的とする。
上述した課題を解決し、目的を達成するため、この開示技術は、階層設計された検証対象回路に関するネットリストを取得し、取得されたネットリストを前記検証対象回路内のモジュールごとに分割し、前記モジュール群のうち階層構造化された階層レイアウトブロックを示すモジュールの中から、検証対象となる階層レイアウトブロックのモジュールを選択し、選択されたモジュールのネットリストを、前記モジュールごとに分割されたネットリスト群の中から検索し、検索されたモジュールのネットリストを出力することを要件とする。
この開示技術によれば、ネットリストをモジュールごとに分割することにより、検証時に必要となるネットリストを、検証対象となる階層レイアウトブロック単位で提供することができる。
この開示技術によれば、階層設計された検証対象回路の検証にかかる処理を高速化し、検証期間の短縮化を図ることができるという効果を奏する。
以下に添付図面を参照して、この検証支援プログラム、検証支援装置、および検証支援方法の好適な実施の形態を詳細に説明する。この検証支援プログラム、検証支援装置、および検証支援方法では、検証対象回路内のHLB(階層レイアウトブロック)の階層構造を明確にし、モジュール単位で分割されたネットリストを用いて、下位階層から上位階層へのHLBごとの検証をおこなうことにより、検証にかかる処理時間および使用メモリを削減する。
(実施の形態の概要)
まず、本実施の形態の概要について説明する。図1は、実施の形態の概要を示す説明図である。図1において、検証対象回路100は、複数のモジュールA〜Iを含む構成である。これらモジュールA〜Iのうち、モジュールA,B,C,E,Gは階層レイアウトブロック(以下、「HLB」と表記する)である。
ここで、HLBとは、論理素子と論理素子同士を接続するネットからなる論理モジュールを含む機能ブロックである。検証対象回路100は、HLB01を最上位階層のトップモジュールとして、複数のHLB(HLB01〜HLB05)によって階層構造化されている。
この検証対象回路100のように階層設計されたネットリストに対しては、階層設計ルールを満たしているか否かを検証する必要がある。具体的には、たとえば、検証対象回路100の階層構造を認識して、下位階層から上位階層に向けてHLB01〜HLB05ごとの検証を順次おこなう。この例では、検証順序は「HLB04→HLB02→HLB05→HLB03→HLB01」となる。
従来手法では、HLB01〜HLB05ごとの検証をおこなう際に、その都度、検証対象回路100に関する全ネットリストを読み込む必要があった。たとえば、HLB04を検証するために全ネットリストを読み込み、その検証が終了すると、さらに、HLB02を検証するために全ネットリストを読み込んでいた。
ところが、近年ではネットリストが大規模化しており、従来手法では、検証時におけるネットリストの読み込みにかかる処理時間が膨大なものとなってしまう。さらに、検証時にはHLB01〜HLB05内の全セルを論理展開する必要があり、使用メモリの増大化を招くという問題があった。
そこで、本手法では、(i)検証対象回路100に関するネットリストをモジュールA〜Iごとに分割する。(ii)各HLB01〜HLB05の検証時に、全ネットリストを読み込むのではなく、検証対象となるHLB01〜HLB05の分割後のネットリストを読み込む。(iii)既に検証済みの下位階層のHLBをブラックボックス化する。
たとえば、HLB04を検証する際には、検証対象となるHLB04(モジュールE)に関する分割後のネットリストだけを読み込む。このあと、HLB02を検証する際には、HLB02とHLB02より下位階層のHLB04とに関する分割後のネットリストを読み込む。このとき、既に検証済みのHLB04をブラックボックス化して検証する。
これにより、各HLB01〜HLB05の検証時に、その都度、検証対象回路100に関する全ネットリストを読み込む必要がなくなり、従来手法に比べて処理時間を大幅に削減することができる。さらに、既に検証済みのHLB(たとえば、HLB04)をブラックボックス化することにより、無駄な論理展開にかかる使用メモリを削減することができる。
(検証支援装置のハードウェア構成)
つぎに、実施の形態にかかる検証支援装置のハードウェア構成について説明する。図2は、検証支援装置のハードウェア構成を示すブロック図である。図2において、検証支援装置200は、CPU(Central Processing Unit)201と、ROM(Read‐Only Memory)202と、RAM(Random Access Memory)203と、磁気ディスクドライブ204と、磁気ディスク205と、光ディスクドライブ206と、光ディスク207と、ディスプレイ208と、I/F(Interface)209と、キーボード210と、マウス211と、スキャナ212と、プリンタ213と、を備えている。また、各構成部はバス200によってそれぞれ接続されている。
ここで、CPU201は、検証支援装置200の全体の制御を司る。ROM202は、ブートプログラムなどのプログラムを記憶している。RAM203は、CPU201のワークエリアとして使用される。磁気ディスクドライブ204は、CPU201の制御にしたがって磁気ディスク205に対するデータのリード/ライトを制御する。磁気ディスク205は、磁気ディスクドライブ204の制御で書き込まれたデータを記憶する。
光ディスクドライブ206は、CPU201の制御にしたがって光ディスク207に対するデータのリード/ライトを制御する。光ディスク207は、光ディスクドライブ206の制御で書き込まれたデータを記憶したり、光ディスク207に記憶されたデータをコンピュータに読み取らせたりする。
ディスプレイ208は、カーソル、アイコンあるいはツールボックスをはじめ、文書、画像、機能情報などのデータを表示する。このディスプレイ208は、たとえば、CRT、TFT液晶ディスプレイ、プラズマディスプレイなどを採用することができる。
インターフェース(以下、「I/F」と略する。)209は、通信回線を通じてLAN(Local Area Network)、WAN(Wide Area Network)、インターネットなどのネットワーク214に接続され、このネットワーク214を介して他の装置に接続される。そして、I/F209は、ネットワーク214と内部のインターフェースを司り、外部装置からのデータの入出力を制御する。I/F209には、たとえばモデムやLANアダプタなどを採用することができる。
キーボード210は、文字、数字、各種指示などの入力のためのキーを備え、データの入力をおこなう。また、タッチパネル式の入力パッドやテンキーなどであってもよい。マウス211は、カーソルの移動や範囲選択、あるいはウィンドウの移動やサイズの変更などをおこなう。ポインティングデバイスとして同様に機能を備えるものであれば、トラックボールやジョイスティックなどであってもよい。
スキャナ212は、画像を光学的に読み取り、検証支援装置200内に画像データを取り込む。なお、スキャナ212は、OCR(Optical Character Reader)機能を持たせてもよい。また、プリンタ213は、画像データや文書データを印刷する。プリンタ213には、たとえば、レーザプリンタやインクジェットプリンタを採用することができる。
(検証支援装置の機能的構成)
つぎに、検証支援装置200の機能的構成について説明する。図3は、検証支援装置の機能的構成を示すブロック図である。図3において、検証支援装置200は、取得部301と、分割部302と、選択部303と、検索部304と、検出部305と、特定部306と、作成部307と、検証部308と、出力部309と、を含む構成である。この制御部となる機能(取得部301〜出力部309)は、具体的には、たとえば、図2に示したROM202、RAM203、磁気ディスク205、光ディスク207などの記憶領域に記憶されたプログラムをCPU201に実行させることにより、または、I/F209により、その機能を実現する。
取得部301は、階層設計された検証対象回路に関するネットリストを取得する機能を有する。具体的には、たとえば、取得部301が、図2に示したキーボード210やマウス211を用いたユーザの操作入力により、検証対象回路に関するネットリストを受け付けてもよく、また、データベースからの抽出により取得することとしてもよい。
ここで、ネットリストの一例について説明する。図4は、ネットリストの一例を示す説明図である。図4において、ネットリストNLは、検証対象回路400に関する回路情報である。このネットリストNLは、Verilog HDL(Hardware Description Language)を用いて記述されている。
ここでは詳細な説明は省略するが、回路情報として、たとえば、モジュール名、モジュール内部の信号やパラメータなどの宣言、回路記述、下位モジュール呼び出しなどが記述されている。なお、図面では検証対象回路400およびネットリストNLの一部を抜粋して表示している。
また、取得部301は、検証対象回路内のモジュール群のうち階層レイアウトブロック(以下、「HLB」と表記)に指定されたモジュールを示す階層情報を取得する機能を有する。具体的には、たとえば、取得部301が、キーボード210やマウス211を用いたユーザの操作入力により、階層情報を受け付けてもよく、また、データベースからの抽出により取得することとしてもよい。
図5は、階層情報の一例を示す説明図である。図5において、階層情報500には、検証対象回路400(図4参照)内のトップモジュールおよびHLBに指定されたモジュールのモジュール名が示されている。ここでは、図4に表示されている全モジュールM1〜M4がHLBに指定されている。また、トップモジュールとは、階層構造化された検証対象回路の最上位階層のモジュールである。
なお、検証対象回路内のモジュール群のうち、どのモジュールをHLBに指定するのかは、レイアウトや検証のし易さなどを考慮して設計者が任意に指定する。取得された取得結果は、たとえば、図2に示したROM202、RAM203、磁気ディスク205、光ディスク207などの記憶領域に記憶される。
分割部302は、取得されたネットリストを検証対象回路内のモジュールごとに分割する機能を有する。具体的には、たとえば、分割部302が、モジュール名を手掛かりに、ネットリストNLを検証対象回路400内のモジュールM1〜M4ごとに分割する。分割された分割結果は、たとえば、ROM202、RAM203、磁気ディスク205、光ディスク207などの記憶領域に記憶される。
ここで、ネットリストの分割例について説明する。図6は、ネットリストの分割例を示す説明図である。図6において、ネットリストNLをモジュールM1〜M4ごとに分割することにより、複数のネットリストNL1〜NL4が作成されている。具体的には、ネットリストNLの記述内容が“module”と“endmodule”で囲まれた記述単位で分割されている。
選択部303は、検証対象回路内のモジュール群のうち階層構造化されたHLBを示すモジュールの中から、検証対象となるHLBのモジュールを選択する機能を有する。具体的には、たとえば、選択部303が、階層構造化されたHLB群の中から、検証対象となるモジュールを下位階層から上位階層に向けて順次選択する。なお、選択処理についての詳細な説明は後述する。選択された選択結果は、たとえば、ROM202、RAM203、磁気ディスク205、光ディスク207などの記憶領域に記憶される。
検索部304は、選択された検証対象となるHLBのモジュールのネットリストを、モジュールごとに分割されたネットリスト群の中から検索する機能を有する。具体的には、たとえば、検索部304が、モジュール名を手掛かりに、分割後のネットリストNL1〜NL4の中から検証対象となるHLBのネットリストを検索する。検索された検索結果は、たとえば、ROM202、RAM203、磁気ディスク205、光ディスク207などの記憶領域に記憶される。
出力部309は、検索されたモジュールのネットリストを出力する機能を有する。具体的には、たとえば、出力部309が、検証対象となるHLBのモジュール名と、検索されたネットリストと、を関連付けて出力する。出力形式としては、たとえば、ディスプレイ208への表示、プリンタ213への印刷出力、I/F209による外部装置への送信がある。また、RAM203、磁気ディスク205、光ディスク207などの記憶領域に記憶することとしてもよい。
ここで、上記選択部303による選択処理について詳細に説明する。ここでは、選択部303が、後述するHLBリストを参照して、下位階層から上位階層に向けて検証対象となるモジュールを順次選択する。以下、HLBリストを作成する具体的な処理内容について説明する。
まず、検出部305は、HLBを示すモジュールごとに、当該モジュールと呼出関係を有する直下階層のHLBを示すモジュールをネットリストの中から検出する機能を有する。具体的には、たとえば、まず、検出部305が、階層情報500を参照して、モジュール名を手掛かりに、ネットリストNLの中からHLBを示すモジュール(以下、「検出モジュール」)を検出する。
さらに、検出部305が、検出モジュールの“module”と“endmodule”で囲まれた記述部分の中から、HLBを示す下位モジュールを検出する。検出された検出結果(検出モジュール、下位モジュール)は、たとえば、図7に示す相関テーブル700に記憶される。ここで、相関テーブル700について説明する。
図7は、相関テーブルの記憶内容を示す説明図である。図7において、相関テーブル700は、モジュール名、下位モジュール、並列モジュール、階層の深さといったフィールドを有している。各フィールドに情報を設定することで、HLB間の相関関係がレコードとして記憶される。
ここで、モジュール名とは、HLBに指定された検出モジュールの名称である。このモジュール名のフィールドには、上記検出部305によって検出された検出モジュール名が設定される。下位モジュールとは、検出モジュールと呼出関係を有する直下階層のHLBを示すモジュールである。この下位モジュールのフィールドには、上記検出部305によって検出された下位モジュール名が設定される。
並列モジュールとは、呼出関係を有する直上階層のモジュールが、検出モジュールと同一の他のHLBを示すモジュールである。一例として、検出モジュールをモジュールM2とする。ここでは、モジュールM2とモジュールM3とは、呼出関係を有する直上階層のモジュールM1が同一(双方ともモジュールM1の下位モジュール)である。
このため、モジュールM2の並列モジュールはモジュールM3となる。同様に、モジュールM3の並列モジュールはモジュールM2となる。この結果、モジュールM2の並列モジュールのフィールドにはモジュール名「M3」が設定され、モジュールM3の並列モジュールのフィールドにはモジュール名「M2」が設定される。
階層の深さとは、最上位階層からの階層の深さである。ただし、最上位階層の深さを「0」とする。この階層の深さのフィールドには、後述する特定部306による特定結果が設定されることになる。相関テーブル700は、たとえば、RAM203、磁気ディスク205、光ディスク207などの記憶領域に記憶されている。
図3の説明に戻り、特定部306は、検出された検出結果に基づいて、HLB間の呼出関係を辿ることにより、HLBごとの最上位階層からの階層の深さ(以下、階層の深さを「h」と表記)を特定する機能を有する。具体的には、たとえば、まず、特定部306が、階層情報500を参照して、HLBに指定されたモジュールM1〜M4の中から、任意のモジュール(以下、「ターゲットモジュール」という)を選択する。この時点でのターゲットモジュールの階層の深さを「h=0」とする。
つぎに、特定部306が、相関テーブル700を参照して、下位モジュールにターゲットモジュールを含むモジュール(以下、「検索モジュール」という)を検索する。ここで、検索モジュールが検索された場合、ターゲットモジュールの階層の深さhをインクリメントして「h=h+1」とする。
このあと、特定部306が、下位モジュールに検索モジュールを含む他の検索モジュールを検索し、他の検索モジュールが検索されると、ターゲットモジュールの階層の深さhをインクリメントする。これを、下位モジュールに検索モジュールを含む他の検索モジュールが未検索となるまで繰り返す。
この結果、ターゲットモジュールの階層の深さhを特定することができる。ここで、モジュールM1〜M4の中から、モジュールM4をターゲットモジュールとして選択した場合を例に挙げて説明する。この時点では、モジュールM4の階層の深さは「h=0」である。
つぎに、特定部306が、下位モジュールにモジュールM4を含む検索モジュールを検索する。ここでは、検索モジュールとしてモジュールM3が検索され、モジュールM4の階層の深さhが「h=1」となる。このあと、特定部306が、下位モジュールにモジュールM3を含む他の検索モジュールを検索する。
ここでは、他の検索モジュールとしてモジュールM1が検索され、モジュールM4の階層の深さが「h=2」となる。さらにこのあと、特定部306が、下位モジュールにモジュールM1を含む他の検索モジュールを検索する。ここでは、下位モジュールにモジュールM1を含む他の検索モジュールが未検索となり、モジュールM4の階層の深さが「h=2」となる。
これら一連の処理をHLBに指定された全モジュールについて実行することにより、各モジュールM1〜M4の階層の深さhを特定することができる。なお、特定された特定結果は、たとえば、相関テーブル700内の階層の深さフィールドに記憶される。また、階層の深さhの最大値は、最下位階層の深さhmaxとして認識可能に記憶される。
また、特定部306は、HLB群のうち第1のHLBの階層の深さが特定された結果、呼出関係を有する直上階層のHLBが、第1のHLBと同一の第2のHLBの階層の深さを、第1のHLBと同一の深さに特定することにしてもよい。ここで、一例として、モジュールM2の階層の深さ「h=1」が特定された場合を例に挙げる。
この場合、特定部306が、相関テーブル700を参照して、モジュールM2の並列モジュールであるモジュールM3を特定する。そして、モジュールM3の階層の深さを、モジュールM2と同一の深さ「h=1」に特定する。これにより、各モジュールの階層の深さを特定する処理にかかる処理時間を削減することができる。
作成部307は、特定されたHLBごとの階層の深さに基づいて、最下位階層から最上位階層までの各階層のモジュールを順に羅列したHLBリストを作成する機能を有する。ここで、HLBリストとは、階層設計された検証対象回路内のHLB群を検証する際の検証順序をあらわすものである。
すなわち、HLBリストを参照して最下位階層から最上位階層までの各階層のモジュールを認識し、それぞれのモジュールが階層設計ルールを満たしているか否かを順次検証することになる。具体的には、たとえば、HLBリストは、検証順序をあらわすblock_sequence文と、HLB間の呼出関係をあらわすhierarchy_module文とを含む構成である。
以下、作成部307による作成処理の具体的な処理内容について説明する。まず、作成部307が、図8に示すテンプレート800を用いて、block_sequence文を作成する。図8は、block_sequence文のテンプレートを示す説明図である。図8において、テンプレート800は、階層の深さhのモジュールを記述するためのblock_sequence文である。
テンプレート800において、ボックス810は、階層の深さhを挿入するための挿入位置である。ボックス820は、階層の深さhのモジュールのモジュール名を挿入するための挿入位置である。なお、テンプレート800は、RAM203、磁気ディスク205、光ディスク207などの記憶領域に予め記憶されている。
ここで、block_sequence文の作成例について説明する。図9は、block_sequence文の作成例を示す説明図である。図9において、(1)テンプレート800のボックス810に(図8参照)、最下位階層「h=hmax=2」から最上位階層「h=0」の深さを挿入して、階層ごとのblock_sequence文910〜930を作成する。
(2)相関テーブル700を参照して、階層の深さ「h=2」のモジュール名「M4」をblock_sequence文910〜930のボックス820に挿入する。(3)相関テーブル700を参照して、階層の深さ「h=1」のモジュール名「M2,M3」をblock_sequence文920,930のボックス820に挿入する。(4)相関テーブル700を参照して、階層の深さ「h=0」のモジュール名「M1」をblock_sequence文930のボックス820に挿入する。
これにより、検証対象回路400内のHLBを示すモジュールM1〜M4の検証順序をあらわすblock_sequence文を作成することができる。なお、作成された作成結果は、RAM203、磁気ディスク205、光ディスク207などの記憶領域に予め記憶される。
つぎに、作成部307が、図10に示すテンプレート1000を用いて、hierarchy_module文を作成する。図10は、hierarchy_module文のテンプレートを示す説明図である。図10において、テンプレート1000は、HLB間の呼出関係を記述するためのhierarchy_module文である。
ボックス1010は、HLBを示す任意のモジュール名を挿入するための挿入位置である。ボックス1020は、ボックス1010に挿入されたモジュールと呼出関係を有するモジュール名を挿入するための挿入位置である。なお、テンプレート1000は、RAM203、磁気ディスク205、光ディスク207などの記憶領域に予め記憶されている。
ここで、hierarchy_module文の作成例について説明する。図11は、hierarchy_module文の作成例を示す説明図である。図11において、(1)テンプレート1000のボックス1010に(図10参照)、最上位階層「h=0」から最下位階層「h=hmax=2」の各階層のHLBを示すモジュール名を挿入して、HLBごとのhierarchy_module文1110〜1140を作成する。
(2)相関テーブル700を参照して、モジュールM1の下位モジュール名「M2,M3」をhierarchy_module文1110のボックス1020に挿入する。(3)相関テーブル700を参照して、モジュールM3の下位モジュール名「M4」をhierarchy_module文1130のボックス1020に挿入する。
なお、モジュールM2およびM4の下位モジュールは存在しないため、hierarchy_module文1120,1140のボックス1020は空欄となる。これにより、検証対象回路400内のHLB間の呼出関係をあらわすhierarchy_module文を作成することができる。
図12は、HLBリストの一例を示す説明図である。図12において、HLBリスト1200は、HLB群の検証順序をあらわすblock_sequence文930と、HLB間の呼出関係をあらわすhierarchy_module文1110〜1140と、を含む構成である。このHLBリスト1200によれば、検証対象回路400内のHLB群の検証順序と、HLB間の呼出関係と、を認識することができる。
この結果、選択部303は、作成されたHLBリストを参照して、検証対象となるモジュールを選択する。具体的には、たとえば、選択部303が、HLBリスト1200(図12参照)のblock_sequence文930を参照して、最下位階層から最上位階層までのHLBを示すモジュールを順次選択する。この例では、「モジュールM4→モジュールM2→モジュールM3→モジュールM1」の順に、検証対象となるHLBを選択する。
図3の説明に戻り、検証部308は、検索されたモジュールのネットリストを用いて、当該モジュールを検証する機能を有する。具体的には、たとえば、検証部308が、検証対象となるモジュールを論理展開して階層設計ルールを満たしているか否かを検証する。検証内容としては、たとえば、モジュールの初段のセルが、FF(フリップフロップ)やバッファであるか否かのチェックがある。検証された検証結果は、RAM203、磁気ディスク205、光ディスク207などの記憶領域に記憶される。
また、検証部308は、検証対象となるモジュールより下位階層のモジュール群のうち、HLBを示すモジュールをブラックボックス化する機能を有する。具体的には、たとえば、検証部308が、下位モジュールのネットリストを、初段のセルや入力信号に対する出力信号のみが記述された内容に変更する。これにより、検証済みの下位モジュールを論理展開する必要がなく、検証時における使用メモリを削減することができる。
また、出力部309は、検証された検証結果を出力する。具体的には、たとえば、出力部309が、検証対象となるHLBのモジュール名と、検証された検証結果と、を関連付けて出力することにしてもよい。
(検証支援装置の検証支援処理手順)
つぎに、検証支援装置200の検証支援処理手順について説明する。図13は、検証支援装置の検証支援処理手順の一例を示すフローチャートである。図13のフローチャートにおいて、まず、取得部301により、検証対象回路に関するネットリストおよび階層情報の入力を受け付けたか否かを判断する(ステップS1301)。
ここで、ネットリストおよび階層情報の入力を受け付けるのを待って(ステップS1301:No)、受け付けた場合(ステップS1301:Yes)、分割部302により、ネットリストを検証対象回路内のモジュールごとに分割するネットリスト分割処理を実行する(ステップS1302)。
このあと、検出部305により、HLB間の呼出関係をあらわす相関テーブルを作成する相関テーブル作成処理を実行する(ステップS1303)。そして、作成部307により、最下位階層から最上位階層までの各階層のモジュールを順に羅列したHLBリストを作成するHLBリスト作成処理を実行する(ステップS1304)。最後に、検証部308により、検証対象回路内のHLBごとの検証処理を実行して(ステップS1305)、本フローチャートによる一連の処理を終了する。
つぎに、図13に示したステップS1302のネットリスト分割処理の具体的処理手順について説明する。図14は、ネットリスト分割処理の具体的処理手順を示すフローチャートである。図14のフローチャートにおいて、まず、分割部302により、図13に示したステップS1301において入力を受け付けたネットリストから文字列を読み込む(ステップS1401)。
このあと、ネットリストから文字列が読み込まれたか否かを判断して(ステップS1402)、読み込まれた場合(ステップS1402:Yes)、読み込まれた文字列が“module”か否かを判断する(ステップS1403)。ここで、文字列が“module”ではない場合(ステップS1403:No)、ステップS1401に戻る。
一方、文字列が“module”の場合(ステップS1403:Yes)、ネットリストからモジュール名を読み込んで(ステップS1404)、ファイル名“モジュール名.v”のファイルを作成する(ステップS1405)。そして、ネットリストからつぎの文字列を読み込んで(ステップS1406)、“モジュール名.v”のファイルに文字列を書き込む(ステップS1407)。
このあと、ステップS1406において読み込まれた文字列が“endmodule”か否かを判断して(ステップS1408)、文字列が“endmodule”ではない場合(ステップS1408:No)、ステップS1406に戻る。
一方、文字列が“endmodule”の場合(ステップS1408:Yes)、“モジュール名.v”のファイルを記憶領域に保存して(ステップS1409)、ステップS1401に戻る。そして、ステップS1402において、ネットリストから文字列が読み込まれなかった場合に(ステップS1402:No)、図13に示したステップS1303に移行する。
これにより、検証対象回路に関するネットリストをモジュールごとに分割することができる。
つぎに、図13に示したステップS1303の相関テーブル作成処理の具体的処理手順について説明する。図15は、相関テーブル作成処理の具体的処理手順を示すフローチャートである。図15のフローチャートにおいて、まず、検出部305により、図13に示したステップS1301において入力を受け付けたネットリストから文字列を読み込む(ステップS1501)。
このあと、ネットリストから文字列が読み込まれたか否かを判断して(ステップS1502)、読み込まれた場合(ステップS1502:Yes)、読み込まれた文字列が“module”か否かを判断する(ステップS1503)。ここで、文字列が“module”ではない場合(ステップS1503:No)、ステップS1501に戻る。
一方、文字列が“module”の場合(ステップS1503:Yes)、ネットリストからモジュール名を読み込んで(ステップS1504)、図13に示したステップS1301において入力を受け付けた階層情報を参照して、読み込まれたモジュール名がHLBを示すモジュール名か否かを判断する(ステップS1505)。
ここで、HLBを示すモジュール名ではない場合(ステップS1505:No)、ステップS1501に戻る。一方、HLBを示すモジュール名の場合(ステップS1505:Yes)、ステップS1504において読み込まれたモジュール名を相関テーブルに登録する(ステップS1506)。
このあと、ネットリストを読み込むことにより下位モジュールがあるか否かを判断して(ステップS1507)、下位モジュールがない場合は(ステップS1507:No)、ステップS1501に戻る。そして、ステップS1502において、文字列が読み込まれなかった場合(ステップS1502:No)、図13に示したステップS1304に移行する。また、ステップS1507において、下位モジュールがある場合(ステップS1507:Yes)、階層情報を参照して、下位モジュール名がHLBを示すモジュール名か否かを判断する(ステップS1508)。
ここで、HLBを示すモジュール名ではない場合(ステップS1508:No)、ステップS1507に戻る。一方、HLBを示すモジュール名の場合(ステップS1508:Yes)、ステップS1507において読み込まれた下位モジュール名を相関テーブルに登録する(ステップS1509)。
このあと、相関テーブルに他の下位モジュールが登録済みか否かを判断する(ステップS1510)。ここで、下位モジュールが登録済みの場合(ステップS1510:Yes)、下位モジュール同士を並列モジュールとして相関テーブルに登録して(ステップS1511)、ステップS1507に戻る。一方、登録されていない場合は(ステップS1510:No)、ステップS1507に戻る。
これにより、検証対象回路内のHLB間の呼出関係をあらわす相関テーブルを作成することができる。
つぎに、図13に示したステップS1304のHLBリスト作成処理の具体的処理手順について説明する。図16は、HLBリスト作成処理の具体的処理手順を示すフローチャートである。図16のフローチャートにおいて、まず、特定部306により、HLBに指定された各モジュールの階層の深さを特定する階層特定処理を実行する(ステップS1601)。
このあと、作成部307により、検証対象回路内のHLB群の検証順序をあらわすblock_sequence文作成処理を実行する(ステップS1602)。そして、作成部307により、検証対象回路内のHLB間の呼出関係をあらわすhierarchy_module文作成処理を実行して(ステップS1603)、図13に示したステップS1305に移行する。
つぎに、図16に示したステップS1601の階層特定処理の具体的処理手順について説明する。図17は、階層特定処理の具体的処理手順を示すフローチャートである。図17において、まず、特定部306により、階層情報を参照して、検証対象回路内のHLB群の中から任意のモジュール(以下、「ターゲットモジュール」という)を選択する(ステップS1701)。
そして、ターゲットモジュールの階層の深さを「h=0」に初期化する(ステップS1702)。このあと、特定部306により、相関テーブルを参照して、下位モジュールにターゲットモジュールを含むモジュールを検索する(ステップS1703)。
ここで、モジュール(以下、「検索モジュール」という)が検索された場合(ステップS1704:Yes)、ターゲットモジュールの階層の深さhを「h=h+1」とする(ステップS1705)。そして、下位モジュールに検索モジュールを含むモジュールを検索して(ステップS1706)、ステップS1704に戻る。
一方、ステップS1704において、検索モジュールが検索されなかった場合(ステップS1704:No)、ターゲットモジュールの階層の深さhを相関テーブルに登録する(ステップS1707)。そして、相関テーブルを参照して、ターゲットモジュールの並列モジュールがあるか否かを判断する(ステップS1708)。
ここで、並列モジュールがない場合(ステップS1708:No)、ステップS1711に移行する。一方、並列モジュールがある場合(ステップS1708:Yes)、HLB群の中からその並列モジュールを選択する(ステップS1709)。そして、ターゲットモジュールの階層の深さhを、並列モジュールの階層の深さhとして相関テーブルに登録する(ステップS1710)。
このあと、HLB群の中から選択されていない未選択のモジュールがあるか否かを判断して(ステップS1711)、未選択のモジュールがある場合(ステップS1711:Yes)、ステップS1701に戻る。一方、未選択のモジュールがない場合には(ステップS1711:No)、最下階層の深さhmaxを相関テーブルに登録して(ステップS1712)、図16に示したステップS1602に移行する。
これにより、検証対象回路内の各HLBを示すモジュールの階層の深さを特定することができる。
つぎに、図16に示したステップS1602のblock_sequence文作成処理の具体的処理手順について説明する。図18は、block_sequence文作成処理の具体的処理手順を示すフローチャートである。ただし、Hは階層の深さをあらわすパラメータである。
図18において、まず、作成部307により、相関テーブルを参照して、テンプレート800に最下位階層から最上位階層までの各階層の深さを挿入することにより、階層ごとのblock_sequence文を作成する(ステップS1801)。そして、パラメータHを「H=hmax」とする(ステップS1802)。
このあと、階層の深さhを「h=0」として(ステップS1803)、「H=h」か否かを判断する(ステップS1804)。ここで、「H≠h」の場合(ステップS1804:No)、階層の深さhを「h=h+1」として(ステップS1805)、ステップS1804に戻る。
一方、「H=h」の場合(ステップS1804:Yes)、相関テーブルを参照して、階層の深さhのモジュールを選択する(ステップS1806)。そして、階層の深さがh以下のblock_sequence文に、選択された階層の深さhのモジュール名を挿入する(ステップS1807)。
このあと、相関テーブルを参照して、階層の深さhの他のモジュールがあるか否かを判断して(ステップS1808)、他のモジュールがある場合は(ステップS1808:Yes)、ステップS1806に戻る。一方、他のモジュールがない場合には(ステップS1808:No)、「H=0」か否かを判断する(ステップS1809)。
ここで、「H=0」の場合は(ステップS1809:Yes)、図16に示したステップS1603に移行する。一方、「H≠0」の場合には(ステップS1809:No)、「H=H−1」として(ステップS1810)、ステップS1803に戻る。
これにより、検証対象回路内のHLB群の検証順序をあらわすblock_sequence文を作成することができる。
つぎに、図16に示したステップS1603のhierarchy_module文作成処理の具体的処理手順について説明する。図19は、hierarchy_module文作成処理の具体的処理手順を示すフローチャートである。図19のフローチャートにおいて、まず、作成部307により、階層情報を参照して、テンプレート1000にHLBを示すモジュール名を挿入することにより、HLBを示すモジュールごとのhierarchy_module文を作成する(ステップS1901)。
このあと、階層の深さhを「h=0」として(ステップS1902)、相関テーブルを参照して、階層の深さhのモジュールを選択する(ステップS1903)。そして、相関テーブルを参照して、選択されたモジュールの下位モジュールをhierarchy_module文のボックス1020に挿入する(ステップS1904)。
つぎに、相関テーブルを参照して、階層の深さhの他のモジュールがあるか否かを判断して(ステップS1905)、他のモジュールがある場合(ステップS1905:Yes)、ステップS1903に戻る。一方、他のモジュールがない場合には(ステップS1905:No)、階層の深さhが「h=hmax」か否かを判断する(ステップS1906)。
ここで、階層の深さhが「h≠hmax」の場合(ステップS1906:No)、階層の深さhを「h=h+1」として(ステップS1907)、ステップS1903に戻る。一方、階層の深さhが「h=hmax」の場合(ステップS1906:Yes)、図13に示したステップS1305に移行する。
これにより、検証対象回路内のHLB間の呼出関係をあらわすhierarchy_module文を作成することができる。
つぎに、図13に示したステップS1305の検証処理の具体的処理手順について説明する。図20は、検証処理の具体的処理手順を示すフローチャートである。図20のフローチャートにおいて、まず、選択部303により、HLBリストのblock_sequence文を参照して、検証対象となるモジュールを選択する(ステップS2001)。
このあと、検索部304により、図13に示したステップS1302において分割されたモジュールごとのネットリスト群の中から、検証対象となるモジュールのネットリストを検索する(ステップS2002)。つぎに、検証部308により、検索されたネットリストを参照して、検証対象となるモジュールに下位モジュールがあるか否かを判断する(ステップS2003)。
ここで、下位モジュールがある場合(ステップS2003:Yes)、検証部308により、HLBリストのhierarchy_module文を参照して、下位モジュールがHLBか否かを判断する(ステップS2004)。そして、下位モジュールがHLBの場合(ステップS2004:Yes)、検証部308により、下位モジュールをブラックボックス化して(ステップS2005)、ステップS2003に戻る。一方、下位モジュールがHLBではない場合(ステップS2004:No)、検証部308により、下位モジュールを論理展開して(ステップS2006)、ステップS2003に戻る。
また、ステップS2003において、下位モジュールがない場合には(ステップS2003:No)、検証部308により、検証対象となるモジュールの検証処理を実行する(ステップS2007)。そして、選択部303により、HLBリストのblock_sequence文を参照して、検証対象として選択されていない未選択のモジュールがあるか否かを判断する(ステップS2008)。
ここで、未選択のモジュールがある場合(ステップS2008:Yes)、ステップS2001に戻る。一方、未選択のモジュールがない場合には(ステップS2008:No)、出力部309により、ステップS2007における検証結果を出力して(ステップS2009)、本フローチャートによる一連の処理を終了する。
以上説明したように、本実施の形態によれば、検証対象回路内のモジュール単位で分割された分割後のネットリストを用いて、HLBごとの検証をおこなうことができる。これにより、検証時におけるネットリストの読み込みにかかる処理時間を削減することができる。また、検証対象となるHLBよりも下位階層のHLBをブラックボックス化することにより、検証時における無駄な論理展開を排除して使用メモリを削減することができる。
このように、本実施の形態にかかる検証支援プログラム、検証支援装置、および検証支援方法によれば、階層設計された検証対象回路の検証にかかる処理の高速化および使用メモリの低容量化を実現し、検証期間の短縮化を図ることができる。
なお、本実施の形態で説明した検証支援方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーションなどのコンピュータで実行することにより実現することができる。このプログラムは、ハードディスク、フレキシブルディスク、CD−ROM、MO、DVDなどのコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また、このプログラムは、インターネットなどのネットワークを介して配布することが可能であってもよい。
上述した実施の形態に関し、さらに以下の付記を開示する。
(付記1)コンピュータを、
階層設計された検証対象回路に関するネットリストを取得する取得手段、
前記取得手段によって取得されたネットリストを前記検証対象回路内のモジュールごとに分割する分割手段、
前記モジュール群のうち階層構造化された階層レイアウトブロックを示すモジュールの中から、検証対象となる階層レイアウトブロックのモジュールを選択する選択手段、
前記選択手段によって選択されたモジュールのネットリストを、前記分割手段によって前記モジュールごとに分割されたネットリスト群の中から検索する検索手段、
前記検索手段によって検索されたモジュールのネットリストを出力する出力手段、
として機能させることを特徴とする検証支援プログラム。
(付記2)前記コンピュータを、
前記階層レイアウトブロックごとに、当該階層レイアウトブロックと呼出関係を有する直下階層の階層レイアウトブロックを前記ネットリストの中から検出する検出手段、
前記検出手段によって検出された検出結果に基づいて、前記階層レイアウトブロック間の呼出関係を辿ることにより、前記階層レイアウトブロックごとの最上位階層からの階層の深さを特定する特定手段、
前記特定手段によって特定された階層レイアウトブロックごとの階層の深さに基づいて、最下位階層から最上位階層までの各階層の階層レイアウトブロックを順に羅列した階層レイアウトブロックリストを作成する作成手段、として機能させ、
前記選択手段は、
前記作成手段によって作成された階層レイアウトブロックリストを参照して、前記検証対象となる階層レイアウトブロックのモジュールを選択することを特徴とする付記1に記載の検証支援プログラム。
(付記3)前記選択手段は、
前記階層レイアウトブロックリストを参照して、最下位階層から最上位階層までの階層レイアウトブロックを示すモジュールを順次選択することを特徴とする付記2に記載の検証支援プログラム。
(付記4)前記コンピュータを、
前記検索手段によって検索されたモジュールのネットリストを用いて、当該モジュールの階層設計ルールを検証する検証手段として機能させ、
前記出力手段は、
前記検証手段によって検証された検証結果を出力することを特徴とする付記1〜3のいずれか一つに記載の検証支援プログラム。
(付記5)前記検証手段は、
前記検証対象となるモジュールより下位階層の階層レイアウトブロックに関するネットリストを変更することにより、当該階層レイアウトブロックをブラックボックス化することを特徴とする付記4に記載の検証支援プログラム。
(付記6)前記特定手段は、
前記階層レイアウトブロック群のうち第1の階層レイアウトブロックの階層の深さが特定された結果、呼出関係を有する直上階層の階層レイアウトブロックが、前記第1の階層レイアウトブロックと同一の第2の階層レイアウトブロックの階層の深さを、前記第1の階層レイアウトブロックの階層の深さと同一の深さに特定することを特徴とする付記2に記載の検証支援プログラム。
(付記7)階層設計された検証対象回路に関するネットリストを取得する取得手段と、
前記取得手段によって取得されたネットリストを前記検証対象回路内のモジュールごとに分割する分割手段と、
前記モジュール群のうち階層構造化された階層レイアウトブロックを示すモジュールの中から、検証対象となる階層レイアウトブロックのモジュールを選択する選択手段と、
前記選択手段によって選択されたモジュールのネットリストを、前記分割手段によって前記モジュールごとに分割されたネットリスト群の中から検索する検索手段と、
前記検索手段によって検索されたモジュールのネットリストを出力する出力手段と、
を備えることを特徴とする検証支援装置。
(付記8)制御手段および記憶手段を備えるコンピュータに、
前記制御手段により、階層設計された検証対象回路に関するネットリストを取得して、前記記憶手段に記憶する取得工程と、
前記制御手段により、前記取得工程によって取得されたネットリストを前記検証対象回路内のモジュールごとに分割して、前記記憶手段に記憶する分割工程と、
前記制御手段により、前記モジュール群のうち階層構造化された階層レイアウトブロックを示すモジュールの中から、検証対象となる階層レイアウトブロックのモジュールを選択して、前記記憶手段に記憶する選択工程と、
前記制御手段により、前記選択工程によって選択されたモジュールのネットリストを、前記分割工程によって前記モジュールごとに分割されたネットリスト群の中から検索して、前記記憶手段に記憶する検索工程と、
前記制御手段により、前記検索工程によって検索されたモジュールのネットリストを出力する出力工程と、
を実行させることを特徴とする検証支援方法。
実施の形態の概要を示す説明図である。 検証支援装置のハードウェア構成を示すブロック図である。 検証支援装置の機能的構成を示すブロック図である。 ネットリストの一例を示す説明図である。 階層情報の一例を示す説明図である。 ネットリストの分割例を示す説明図である。 相関テーブルの記憶内容を示す説明図である。 block_sequence文のテンプレートを示す説明図である。 block_sequence文の作成例を示す説明図である。 hierarchy_module文のテンプレートを示す説明図である。 hierarchy_module文の作成例を示す説明図である。 HLBリストの一例を示す説明図である。 検証支援装置の検証支援処理手順の一例を示すフローチャートである。 ネットリスト分割処理の具体的処理手順を示すフローチャートである。 相関テーブル作成処理の具体的処理手順を示すフローチャートである。 HLBリスト作成処理の具体的処理手順を示すフローチャートである。 階層特定処理の具体的処理手順を示すフローチャートである。 block_sequence文作成処理の具体的処理手順を示すフローチャートである。 hierarchy_module文作成処理の具体的処理手順を示すフローチャートである。 検証処理の具体的処理手順を示すフローチャートである。
符号の説明
200 検証支援装置
301 取得部
302 分割部
303 選択部
304 検索部
305 検出部
306 特定部
307 作成部
308 検証部
309 出力部
500 階層情報
700 相関テーブル
1200 HLBリスト
NL,NL1〜NL4 ネットリスト

Claims (5)

  1. コンピュータを、
    階層設計された検証対象回路に関するネットリストを取得する取得手段、
    前記取得手段によって取得されたネットリストを前記検証対象回路内のモジュールごとに分割する分割手段、
    前記モジュール群のうち階層構造化された階層レイアウトブロックを示すモジュールの中から、検証対象となる階層レイアウトブロックのモジュールを選択する選択手段、
    前記選択手段によって選択されたモジュールのネットリストを、前記分割手段によって前記モジュールごとに分割されたネットリスト群の中から検索する検索手段、
    前記検索手段によって検索されたモジュールのネットリストを出力する出力手段、
    として機能させることを特徴とする検証支援プログラム。
  2. 前記コンピュータを、
    前記階層レイアウトブロックごとに、当該階層レイアウトブロックと呼出関係を有する直下階層の階層レイアウトブロックを前記ネットリストの中から検出する検出手段、
    前記検出手段によって検出された検出結果に基づいて、前記階層レイアウトブロック間の呼出関係を辿ることにより、前記階層レイアウトブロックごとの最上位階層からの階層の深さを特定する特定手段、
    前記特定手段によって特定された階層レイアウトブロックごとの階層の深さに基づいて、最下位階層から最上位階層までの各階層の階層レイアウトブロックを順に羅列した階層レイアウトブロックリストを作成する作成手段、として機能させ、
    前記選択手段は、
    前記作成手段によって作成された階層レイアウトブロックリストを参照して、前記検証対象となる階層レイアウトブロックのモジュールを選択することを特徴とする請求項1に記載の検証支援プログラム。
  3. 前記コンピュータを、
    前記検索手段によって検索されたモジュールのネットリストを用いて、当該モジュールの階層設計ルールを検証する検証手段として機能させ、
    前記出力手段は、
    前記検証手段によって検証された検証結果を出力することを特徴とする請求項1または2に記載の検証支援プログラム。
  4. 階層設計された検証対象回路に関するネットリストを取得する取得手段と、
    前記取得手段によって取得されたネットリストを前記検証対象回路内のモジュールごとに分割する分割手段と、
    前記モジュール群のうち階層構造化された階層レイアウトブロックを示すモジュールの中から、検証対象となる階層レイアウトブロックのモジュールを選択する選択手段と、
    前記選択手段によって選択されたモジュールのネットリストを、前記分割手段によって前記モジュールごとに分割されたネットリスト群の中から検索する検索手段と、
    前記検索手段によって検索されたモジュールのネットリストを出力する出力手段と、
    を備えることを特徴とする検証支援装置。
  5. 制御手段および記憶手段を備えるコンピュータに、
    前記制御手段により、階層設計された検証対象回路に関するネットリストを取得して、前記記憶手段に記憶する取得工程と、
    前記制御手段により、前記取得工程によって取得されたネットリストを前記検証対象回路内のモジュールごとに分割して、前記記憶手段に記憶する分割工程と、
    前記制御手段により、前記モジュール群のうち階層構造化された階層レイアウトブロックを示すモジュールの中から、検証対象となる階層レイアウトブロックのモジュールを選択して、前記記憶手段に記憶する選択工程と、
    前記制御手段により、前記選択工程によって選択されたモジュールのネットリストを、前記分割工程によって前記モジュールごとに分割されたネットリスト群の中から検索して、前記記憶手段に記憶する検索工程と、
    前記制御手段により、前記検索工程によって検索されたモジュールのネットリストを出力する出力工程と、
    を実行させることを特徴とする検証支援方法。
JP2008322617A 2008-12-18 2008-12-18 検証支援プログラム、検証支援装置、および検証支援方法 Expired - Fee Related JP5109960B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008322617A JP5109960B2 (ja) 2008-12-18 2008-12-18 検証支援プログラム、検証支援装置、および検証支援方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008322617A JP5109960B2 (ja) 2008-12-18 2008-12-18 検証支援プログラム、検証支援装置、および検証支援方法

Publications (2)

Publication Number Publication Date
JP2010146277A JP2010146277A (ja) 2010-07-01
JP5109960B2 true JP5109960B2 (ja) 2012-12-26

Family

ID=42566657

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008322617A Expired - Fee Related JP5109960B2 (ja) 2008-12-18 2008-12-18 検証支援プログラム、検証支援装置、および検証支援方法

Country Status (1)

Country Link
JP (1) JP5109960B2 (ja)

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3018714B2 (ja) * 1992-02-24 2000-03-13 横河電機株式会社 Cad装置
US5844818A (en) * 1996-05-10 1998-12-01 Lsi Logic Corporation Method for creating and using design shells for integrated circuit designs
JPH11134385A (ja) * 1997-08-26 1999-05-21 Sharp Corp 論理回路の機能検証方法および機能検証のための回路割付装置
JP2002007497A (ja) * 2000-06-22 2002-01-11 Fujitsu Ltd 半導体装置設計支援装置
JP4087572B2 (ja) * 2001-01-24 2008-05-21 富士通株式会社 カスタムlsiにおける遅延特性解析方法
JP2005339200A (ja) * 2004-05-27 2005-12-08 Matsushita Electric Ind Co Ltd 半導体集積回路のクロックツリーレイアウト方法
JP2006106997A (ja) * 2004-10-04 2006-04-20 Olympus Corp ネットリスト変換装置、その方法、及びそのプログラム
JP2008009787A (ja) * 2006-06-30 2008-01-17 Fujitsu Ltd 階層設計レイアウト装置、および階層設計レイアウト方法、階層設計レイアウトプログラム、および該プログラムを記録した記録媒体
JP2008117136A (ja) * 2006-11-02 2008-05-22 Fujitsu Ltd 検証支援プログラム、記録媒体、検証支援装置および検証支援方法

Also Published As

Publication number Publication date
JP2010146277A (ja) 2010-07-01

Similar Documents

Publication Publication Date Title
US8533184B2 (en) Numerical analysis data creating method and apparatus, and computer-readable program
JP4940973B2 (ja) 論理構造認識処理プログラム、論理構造認識処理方法および論理構造認識処理装置
US9875220B2 (en) Panoptic visualization document printing
JP3577819B2 (ja) 情報探索装置及び情報探索方法
US7958473B2 (en) Method and computer program for configuring an integrated circuit design for static timing analysis
JPH1125113A (ja) 画像検索装置,画像検索用キーテキストの生成方法,並びにその装置としてコンピュータを機能させるためのプログラムおよびその方法をコンピュータに実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体
JP2007206771A (ja) 情報要素処理プログラム、情報要素処理方法及び情報要素処理装置
US7243314B2 (en) Window operation interface for graphically revising electrical constraint set and method of using the same
JP4707191B2 (ja) 検証支援プログラム、該プログラムを記録した記録媒体、検証支援装置、および検証支援方法
Praczyk et al. Automatic extraction of figures from scientific publications in high-energy physics
WO2013095753A1 (en) Panoptic visualization document navigation
EP2711897B1 (en) Panoptic visualization document differencing
JP2008065382A (ja) Lsiの消費電力算出方法及びその算出プログラム
US6834379B2 (en) Timing path detailer
US20090158225A1 (en) Method and system for automatically accessing internal signals or ports in a design hierarchy
JP2004021913A (ja) 情報マップ作成方法
JP2011034243A (ja) 半導体集積回路の生成方法、および記録媒体
JP5109960B2 (ja) 検証支援プログラム、検証支援装置、および検証支援方法
JP4716964B2 (ja) タイミングダイアグラム編集プログラム、タイミングダイアグラム編集装置およびタイミングダイアグラム編集方法
WO2013095724A1 (en) Panoptic visualization document layout
US20080195985A1 (en) Apparatus, method, and computer product for estimating power consumption of LSI
Roy et al. I-REX: a lucene plugin for explainable IR
JP5293488B2 (ja) 設計支援プログラム、設計支援装置、および設計支援方法
JP2005242812A (ja) 回路設計支援システム、回路設計支援方法及びプログラム
JP5212218B2 (ja) 設計支援プログラム、設計支援装置、および設計支援方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110706

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120904

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

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

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

Free format text: PAYMENT UNTIL: 20151019

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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