図面 (/)

技術 判定方法、判定プログラム、および判定装置

出願人 株式会社ソシオネクスト
発明者 仁茂田永一齊藤なつみ
出願日 2013年9月12日 (7年3ヶ月経過) 出願番号 2013-189861
公開日 2015年3月23日 (5年9ヶ月経過) 公開番号 2015-056076
状態 特許登録済
技術分野 CAD
主要キーワード トップモジュール 対象端子 オープン端子 接続仕様 接続表 端子間接続 設計品質 入出力属性
関連する未来課題
重要な関連分野

この項目の情報は公開日時点(2015年3月23日)のものです。
また、この項目は機械的に抽出しているため、正しく解析できていない場合があります

図面 (20)

課題

検証の効率化を図ること。

解決手段

判定装置100は、複数のモジュールに含まれる各端子のうち、オープン端子であるか否かの判定対象対象端子を示す端子情報101を取得する。判定装置100は、各端子のそれぞれについて、接続情報と、入力端子および出力端子のいずれであるかの属性を示す第1属性情報と、を取得する。判定装置100は、各端子のそれぞれについて、取得した第1属性情報が示す入出力属性の反対の入出力属性を示す第2属性情報を生成する。判定装置100は、取得した接続情報と生成した第2属性情報とに基づいて、各端子のうち、第2属性情報が出力端子であることを示す端子の値を特定値とした場合における各端子の状態をシミュレーションする。判定装置100は、端子情報101が示す対象端子の状態がハイインピーダンス状態となるかを判定する。

概要

背景

従来、半導体集積回路を示す回路情報においてオープンとなっている端子が、設計仕様においてオープンとなっているのか設計ミスによりオープンとなっているのかをフォーマル検証によって判定する技術がある(例えば、下記特許文献1参照。)。

また、従来、値が固定される仕様である入力端子の状態が、ハイインピーダンス状態とならないことを確認し、ハイインピーダンス状態でない場合に、その入力端子の値が期待値となるかをシミュレーションによって判定する技術がある(例えば、下記特許文献2参照。)。

また、従来、半導体集積回路の試験では、オープンとなっている端子間の接続部分を検証するためのテスト信号を流し、このテスト信号をモニタすることによりマクロ間の接続の正当性を試験する技術がある(例えば、下記特許文献3参照。)。

概要

検証の効率化をること。判定装置100は、複数のモジュールに含まれる各端子のうち、オープン端子であるか否かの判定対象対象端子を示す端子情報101を取得する。判定装置100は、各端子のそれぞれについて、接続情報と、入力端子および出力端子のいずれであるかの属性を示す第1属性情報と、を取得する。判定装置100は、各端子のそれぞれについて、取得した第1属性情報が示す入出力属性の反対の入出力属性を示す第2属性情報を生成する。判定装置100は、取得した接続情報と生成した第2属性情報とに基づいて、各端子のうち、第2属性情報が出力端子であることを示す端子の値を特定値とした場合における各端子の状態をシミュレーションする。判定装置100は、端子情報101が示す対象端子の状態がハイインピーダンス状態となるかを判定する。

目的

本発明は、検証の効率化を図ることができる判定方法判定プログラム、および判定装置を提供する

効果

実績

技術文献被引用数
0件
牽制数
0件

この技術が所属する分野

ライセンス契約や譲渡などの可能性がある特許掲載中! 開放特許随時追加・更新中 詳しくはこちら

請求項1

コンピュータが、複数の部分回路に含まれる各端子のうち、オープン端子であるか否かの判定対象の第1対象端子を示す端子情報を取得し、前記各端子のそれぞれについて、接続情報と、入力端子および出力端子のいずれであるかの属性を示す第1属性情報と、を取得し、前記各端子のそれぞれについて、取得した前記第1属性情報が示す属性の反対の属性を示す第2属性情報を生成し、取得した前記接続情報と生成した前記第2属性情報とに基づいて、前記各端子のうち、前記第2属性情報が出力端子であることを示す端子の値を第1特定値とした場合における前記各端子の状態をシミュレーションすることにより、前記端子情報が示す前記第1対象端子の状態がハイインピーダンス状態となるかを判定する、処理を実行することを特徴とする判定方法

請求項2

前記生成する処理では、取得した前記接続情報に基づいて、前記各端子のうち、入力値固定値となる第1端子について前記第2属性情報を生成せず、前記判定する処理では、前記各端子のうち、前記第1端子以外の第2端子のそれぞれについて取得した前記接続情報と生成した前記第2属性情報と、に基づいて、前記第1対象端子の状態が前記ハイインピーダンス状態となるかを判定することを特徴とする請求項1に記載の判定方法。

請求項3

前記コンピュータが、前記各端子のうち、前記第1対象端子と異なる、クリップ接続であるか否かの判定対象の第2対象端子を示す第2端子情報を取得する処理を実行し、前記判定する処理では、前記各端子のそれぞれについて取得した前記接続情報と、前記第1端子のそれぞれについて取得した前記第1属性情報と、前記第2端子のそれぞれについて生成した前記第2属性情報と、に基づいて、前記各端子の状態をシミュレーションすることにより、さらに、前記第2端子情報が示す前記第2対象端子が第2特定値となるかを判定することを特徴とする請求項2に記載の判定方法。

請求項4

前記コンピュータが、前記第1対象端子の状態が前記ハイインピーダンス状態となる場合、前記第1対象端子が前記オープン端子であることを示す情報を出力し、前記第1対象端子の状態が前記ハイインピーダンス状態とならない場合、前記第1対象端子が前記オープン端子でないことを示す情報を出力する処理を実行することを特徴とする請求項1〜3のいずれか1つに記載の判定方法。

請求項5

コンピュータに、複数の部分回路に含まれる各端子のうち、オープン端子であるか否かの判定対象の第1対象端子を示す端子情報を取得し、前記各端子のそれぞれについて、接続情報と、入力端子および出力端子のいずれであるかの属性を示す第1属性情報と、を取得し、前記各端子のそれぞれについて、取得した前記第1属性情報が示す属性の反対の属性を示す第2属性情報を生成し、取得した前記接続情報と生成した前記第2属性情報とに基づいて、前記各端子のうち、前記第2属性情報が出力端子であることを示す端子の値を第1特定値とした場合における前記各端子の状態をシミュレーションすることにより、前記端子情報が示す前記第1対象端子の状態がハイインピーダンス状態となるかを判定する、処理を実行させることを特徴とする判定プログラム

請求項6

複数の部分回路に含まれる各端子のうち、オープン端子であるか否かの判定対象の第1対象端子を示す端子情報を取得する端子情報取得部と、前記各端子のそれぞれについて、接続情報と、入力端子および出力端子のいずれであるかの属性を示す第1属性情報と、を取得するネットリスト取得部と、前記各端子のそれぞれについて、取得した前記第1属性情報が示す属性の反対の属性を示す第2属性情報を生成するネットリスト生成部と、取得した前記接続情報と生成した前記第2属性情報とに基づいて、前記各端子のうち、前記第2属性情報が出力端子であることを示す端子の値を第1特定値とした場合における前記各端子の状態をシミュレーションすることにより、前記端子情報が示す前記第1対象端子の状態がハイインピーダンス状態となるかを判定する判定部と、を有することを特徴とする判定装置

技術分野

0001

本発明は、判定方法判定プログラム、および判定装置に関する。

背景技術

0002

従来、半導体集積回路を示す回路情報においてオープンとなっている端子が、設計仕様においてオープンとなっているのか設計ミスによりオープンとなっているのかをフォーマル検証によって判定する技術がある(例えば、下記特許文献1参照。)。

0003

また、従来、値が固定される仕様である入力端子の状態が、ハイインピーダンス状態とならないことを確認し、ハイインピーダンス状態でない場合に、その入力端子の値が期待値となるかをシミュレーションによって判定する技術がある(例えば、下記特許文献2参照。)。

0004

また、従来、半導体集積回路の試験では、オープンとなっている端子間の接続部分を検証するためのテスト信号を流し、このテスト信号をモニタすることによりマクロ間の接続の正当性を試験する技術がある(例えば、下記特許文献3参照。)。

先行技術

0005

特開2011−203962号公報
特開2009−48312号公報
特開平10−326301号公報

発明が解決しようとする課題

0006

しかしながら、回路情報において特定の端子がオープン端子となっているかをシミュレーションによって判定することができないため、端子の接続に関する検証を効率よく行えないという問題点がある。

0007

1つの側面では、本発明は、検証の効率化を図ることができる判定方法、判定プログラム、および判定装置を提供することを目的とする。

課題を解決するための手段

0008

本発明の一側面によれば、複数の部分回路に含まれる各端子のうち、オープン端子であるか否かの判定対象の第1対象端子を示す端子情報を取得し、前記各端子のそれぞれについて、接続情報と、入力端子および出力端子のいずれであるかの属性を示す第1属性情報と、を取得し、前記各端子のそれぞれについて、取得した前記第1属性情報が示す属性の反対の属性を示す第2属性情報を生成し、取得した前記接続情報と生成した前記第2属性情報とに基づいて、前記各端子のうち、前記第2属性情報が出力端子であることを示す端子の値を第1特定値とした場合における前記各端子の状態をシミュレーションすることにより、前記端子情報が示す前記第1対象端子の状態がハイインピーダンス状態となるかを判定する判定方法、判定プログラム、および判定装置が提案される。

発明の効果

0009

本発明の一態様によれば、検証の効率化を図ることができる。

図面の簡単な説明

0010

図1は、判定装置による一動作例を示す説明図である。
図2は、端子の接続例を示す説明図である。
図3は、実施の形態にかかる判定装置のハードウェア構成例を示すブロック図である。
図4は、判定装置の機能的構成を示すブロック図である。
図5は、モジュールZの接続仕様情報例を示す説明図である。
図6は、判定例1にかかるネットリストが示すモジュール間の接続関係を示す説明図である。
図7は、判定例1にかかるモジュールZのネットリストを示す説明図である。
図8は、判定例1にかかる変換前後のモジュールXのネットリスト例を示す説明図である。
図9は、判定例1にかかる変換前後のモジュールYのネットリスト例を示す説明図である。
図10は、アサーション記述情報例を示す説明図である。
図11は、判定例1における判定結果を示す説明図である。
図12は、判定例2にかかるネットリストが示すモジュール間の接続関係を示す説明図である。
図13は、判定例2にかかるモジュールZのネットリストを示す説明図である。
図14は、判定例2にかかる変換前後のモジュールYのネットリスト例を示す説明図である。
図15は、判定例2における判定結果を示す説明図である。
図16は、実施例1にかかる判定装置による判定処理手順例を示すフローチャート(その1)である。
図17は、実施例1にかかる判定装置による判定処理手順例を示すフローチャート(その2)である。
図18は、実施例2にかかるネットリストの生成例を示す説明図である。
図19は、実施例2にかかる判定装置による判定処理手順例を示すフローチャートである。

実施例

0011

以下に添付図面を参照して、本発明にかかる判定方法、判定プログラム、および判定装置の実施の形態を詳細に説明する。

0012

図1は、判定装置による一動作例を示す説明図である。判定装置100は、設計仕様においてオープン端子であると定められた端子が、設計仕様に基づいて設計されたネットリストにおいてオープン端子となっているかを判定するコンピュータである。まず、判定装置100は、複数の部分回路に含まれる各端子のうち、オープン端子であるか否かの判定の対象端子を示す端子情報101を取得する。ここで、部分回路は、モジュールと称する。端子情報101は、例えば、設計仕様を示す情報である。図1の例では、端子P2と端子P4が判定の対象端子である。

0013

つぎに、判定装置100は、各端子のそれぞれについて、接続情報と、入力端子および出力端子のいずれであるかの属性を示す第1属性情報と、を取得する。具体的には、接続情報と第1属性情報とは、複数のモジュールを含むモジュールを示すネットリストに含まれる。ネットリストは、例えば、VerilogやVHDL(Very high speed integrated circuit Hardware Description Language)などのハードウェア記述言語システム記述言語によって記述される。また、第1属性情報は、設計仕様を示す情報であってもよい。図1上側では、理解の容易化のために、ネットリストが示すモジュールzを示す。図1に示すように、モジュールzはモジュールxとモジュールyを含む。モジュールxは端子P1〜端子P4を含み、モジュールyは端子P5〜端子P7を含む。ここで、入力端子および出力端子のいずれであるかの属性を入出力属性と称する。入出力属性が入力である場合、第1属性情報は「Input」である。入出力属性が出力である場合、第1属性情報は「Output」である。図1の例では、各端子名の前に付随する「Input」または「Output」が第1属性情報である。例えば、端子P1,P2,P4,P7の入出力属性は出力であり、端子P3,P5,P6の入出力属性は入力である。

0014

つぎに、判定装置100は、各端子のそれぞれについて、取得した第1属性情報が示す入出力属性の反対の入出力属性を示す第2属性情報を生成する。図1に示すように、判定装置100は、端子の各々について、第1属性情報が「Input」であれば、「Output」にした第2属性情報を生成し、第1属性情報が「Output」であれば、「Input」にした第2属性情報を生成する。このように、判定装置100は、図1下側に示すように、端子の各々について、入出力属性を反対にした第2属性情報を生成する。これにより、判定装置100は、例えば、取得した接続情報と生成した第2属性情報とを含むネットリストを生成する。例えば、端子P1,P2,P4,P7の入出力属性は入力となり、端子P3,P5,P6の入出力属性は出力となる。

0015

判定装置100は、取得した接続情報と生成した第2属性情報とに基づいて、各端子のうち、第2属性情報が出力端子であることを示す端子の値を特定値とした場合における各端子の状態をシミュレーションする。特定値は、予め設計者によって定められ、判定装置100がアクセス可能記憶装置に記憶される。図1の例では、特定値は“1’b0”である。これにより、判定装置100は、端子情報101が示す対象端子の状態がハイインピーダンス状態となるかを判定する。具体的には、判定装置100は、対象端子の状態がハイインピーダンス状態となるかを判定することを示すアサーション記述情報と、取得した接続情報と生成した第2属性情報とを含むネットリストと、をシミュレータに与えることによりシミュレーションする。アサーション記述情報は、例えば、アサーション言語によって記述された情報である。

0016

例えば、判定装置100は、対象端子の状態がハイインピーダンス状態となっていれば、対象端子がオープンとなっていると判定する。また、例えば、判定装置100は、対象端子の状態はハイインピーダンス状態となっていなければ、対象端子がオープンとなっていないと判定する。例えば、端子P2の値は、端子P6と接続されているため“1’b0”となり、端子P2はオープン端子となっていないと判定される。例えば、端子P4の状態はハイインピーダンス状態となり、端子P4はオープン端子となっていると判定される。

0017

これにより、オープン端子の正当性を検証することができる。したがって、端子の接続に関する検証の効率化を図ることができる。また、端子の誤接続により発生しうる故障を低減させることができ、設計品質を向上させることができる。

0018

図2は、端子の接続例を示す説明図である。例えば、モジュールm1がモジュールm2とモジュールm3とを含む場合、ネットリストにおける接続は、外部とモジュールm2との接続、モジュールm2とモジュールm3とのモジュール間接続、モジュールm3と外部との接続、の3つに分類される。

0019

また、モジュール間接続における端子の接続には、例えば、(1)入力端子と出力端子とが接続される端子間接続と、(2)入力端子の値が固定されるクリップ接続と、(3)出力端子に接続先がないオープン接続と、の3種類の接続がある。(2)クリップ接続について、図2の例では、入力端子の値が“1’b0”に固定されるが、入力端子の値が“1’b1”に固定される場合もある。上述したように、本実施の形態では、オープン接続について出力端子がオープン端子となっているかをシミュレーションによって判定する。

0020

また、例えば、クリップ接続については、入力端子の値をシミュレーションして固定値になっているかを判定することにより、ネットリストにおいて入力端子の値が固定されているかを検証する。また、例えば、端子間接続については、出力端子の値と入力端子の値とをシミュレーションして出力端子の値と入力端子の値とが一致しているか否かを判定することにより、ネットリストにおいて出力端子と入力端子とが接続されているかを検証する。例えば、端子aと端子dとの端子間接続を検証するためのアサーション言語の記述は以下のようになる。

0021

「Assert Always(モジュールm2.a===モジュールm3.d)」

0022

(判定装置のハードウェア構成例)
図3は、実施の形態にかかる判定装置のハードウェア構成例を示すブロック図である。判定装置100は、CPU301と、ROM(Read Only Memory)302と、RAM303と、ディスクドライブ304と、ディスク305と、を有する。判定装置は、I/F(Inter Face)306と、入力装置307と、出力装置308と、を有する。また、各部はバス300によってそれぞれ接続される。

0023

ここで、CPU301は、例えばROM302に記憶されたプログラムをRAM303にロードして実行することにより、判定装置100の全体の制御やデータ処理を行う。ROM302は、ブートプログラムや判定プログラムなどのプログラムを記憶する。RAM303は、CPU301のワークエリアとして使用される記憶部である。ディスクドライブ304は、CPU301の制御に従ってディスク305に対するデータのリードライトを制御する。ディスク305は、ディスクドライブ304の制御で書き込まれたデータを記憶する。ディスク305としては、磁気ディスク光ディスクなどが挙げられる。

0024

I/F306は、通信回線を通じてLAN(Local Area Network)、WAN(Wide Area Network)、インターネットなどのネットワークNETに接続され、このネットワークNETを介して他の装置に接続される。そして、I/F306は、ネットワークNETと内部のインターフェースを司り、外部装置からのデータの入出力を制御する。I/F306には、例えばモデムLANアダプタなどを採用することができる。

0025

入力装置307は、キーボードマウスタッチパネルなど設計者の操作により、各種データの入力を行うインターフェースである。また、入力装置307は、カメラから画像や動画を取り込むこともできる。また、入力装置307は、マイクから音声を取り込むこともできる。出力装置308は、CPU301の指示により、データを出力するインターフェースである。出力装置308には、ディスプレイプリンタが挙げられる。

0026

(判定装置の機能的構成例)
図4は、判定装置の機能的構成を示すブロック図である。判定装置100は、端子情報取得部401と、ネットリスト取得部402と、ネットリスト生成部403と、アサーション記述情報生成部404と、判定部405と、出力部406と、を有する。端子情報取得部401から出力部406までの処理は、例えば、CPU301がアクセス可能なディスク305などの記憶装置に記憶されたシミュレーションプログラムコーディングされる。そして、CPU301が記憶装置に記憶された判定プログラムを読み出して、判定プログラムにコーディングされている処理を実行する。これにより、端子情報取得部401から判定部405までの処理が実現される。また、各部の処理結果は、例えば、RAM303、ディスク305などの記憶装置に記憶される。

0027

まず、端子情報取得部401は、複数の部分回路に含まれる各端子のうち、オープン端子であるか否かの判定の第1対象端子を示す端子情報を取得する。また、端子情報取得部401は、各端子のうち、第2対象端子を示す端子情報を取得する。第2対象端子は、上述したクリップ接続となっている端子かの判定の対象である。また、端子情報取得部401は、各端子のうち、第3対象端子を示す端子情報を取得する。第3対象端子は、端子間接続となっている端子かの判定の対象である。具体的な取得方法としては、例えば、ディスクなどの記憶装置から取得してもよいし、入力装置を介して入力された端子情報を取得してもよいし、ネットワークを介して他の装置から端子情報を取得してもよい。ここでは、検証の対象回路はモジュールZとし、モジュールZに含まれる部分回路はモジュールXとモジュールYとした例を挙げる。具体的には、端子情報取得部401は、接続仕様情報に含まれる各モジュールの接続表を取得する。

0028

図5は、モジュールZの接続仕様情報例を示す説明図である。モジュールZの接続仕様情報500は、モジュールXの接続表501と、モジュールYの接続表511と、を有する。モジュールXの接続表501は、モジュール内のモジュールの各端子の接続仕様を示す。モジュールYの接続表511は、モジュール内のモジュールの各端子の接続仕様を示す。

0029

モジュールXの接続表501は、例えば、PortName、Bit、I/O、Connection、Noteのフィールドを含む。モジュールXの接続表501の各フィールドに情報が設定されることにより、レコード(502−1〜502−3)として記憶される。モジュールXの接続表501は、RAM303やディスク305などの記憶装置に記憶される。

0030

PortNameのフィールドには、モジュールXの端子を示す識別情報として端子名が設定される。Bitのフィールドには、端子のビット幅が設定される。I/Oのフィールドには、端子が入力端子であるか出力端子であるかの入出力属性を示す属性情報が設定される。出力端子である場合、「Out」が設定され、入力端子である場合、「In」が設定される。Connectionのフィールドには、接続先、固定値、またはオープンなどの接続に関する情報が設定される。入力端子または出力端子に接続される場合、接続先の識別情報が設定される。入力値をクリップさせる入力端子の場合、クリップさせる値が固定値として設定される。オープン端子の場合、「OPEN」が設定される。Noteのフィールドには、各端子についての設計者による注釈が設定される。

0031

モジュールXの接続表501によれば、端子Port_Aは、出力端子であり、モジュールYの端子Port_Dに接続される。モジュールXの接続表501によれば、端子Port_Bは、入力端子であり、“1’b1”に固定される。モジュールXの接続表501によれば、端子Port_Cは、出力端子であり、オープン端子である。

0032

モジュールYの接続表511のフィールドは、モジュールXの接続表501のフィールドと同じであるため、各フィールドの詳細な説明を省略する。モジュールYの接続表511の各フィールドに情報が設定されることにより、レコード(512−1と512−2)として記憶される。モジュールYの接続表511は、RAM303やディスク305などの記憶装置に記憶される。

0033

モジュールYの接続表511によれば、端子Port_Dは、入力端子であり、モジュールXの端子Port_Aに接続される。モジュールYの接続表511によれば、端子Port_Eは、入力端子であり、“1’b0”に固定される。

0034

そして、具体的には、端子情報取得部401は、接続仕様情報500に含まれる各モジュールの接続表から、Connectionのフィールドに「OPEN」が設定されたレコードを、オープン端子の判定の第1対象端子を示す端子情報として抽出する。例えば、第1対象端子を示す端子情報としてレコード502−3が抽出される。また、具体的には、端子情報取得部401は、各モジュールの接続表から、Connectionのフィールドに固定値が設定されたレコードを、第2対象端子を示す端子情報として抽出する。例えば、第2対象端子を示す端子情報としてレコード502−2とレコード512−2とが抽出される。また、具体的には、端子情報取得部401は、各モジュールの接続表から、Connectionのフィールドに接続先の端子名が設定されたレコードを、第3対象端子を示す端子情報として抽出する。例えば、第3対象端子を示す端子情報としてレコード502−1とレコード512−1とが抽出される。

0035

ここで、ネットリスト取得部402から出力部406までの各処理を実施例1と実施例2を挙げて詳細に説明する。本実施の形態では、モジュールXの端子Port_Cが、組み上げたモジュールZを示すネットリストにおいて、オープン端子となっているかを判定する。以下実施例1では、モジュールXの端子Port_Cが、オープン端子となっていると判定される判定例1と、モジュールXの端子Port_Cが、オープン端子となっていないと判定される判定例2と、を示す。また、実施例2では、実施例1と異なるシミュレーション用のネットリストの作成方法例を示す。

0036

(実施例1)
(判定例1)
図6は、判定例1にかかるネットリストが示すモジュール間の接続関係を示す説明図である。判定例1では、オープン端子であるか否かの判定の第1対象端子である端子Port_Cがネットリストにおいてオープン端子となっていると判定される例を示す。

0037

ネットリスト取得部402は、各端子のそれぞれについて、接続情報と、入力端子および出力端子のいずれであるかの属性を示す第1属性情報と、を取得する。具体的には、ネットリスト取得部402は、複数のモジュールを示すネットリストであって、接続情報と第1属性情報とを含むネットリストを取得する。ここで取得されるネットリストは、例えば、VerilogやVHDLなどのハードウェア記述言語やシステム記述言語によって記述される。

0038

図7は、判定例1にかかるモジュールZのネットリストを示す説明図である。取得されるネットリスト700は、モジュールZのネットリスト701と、モジュールXのネットリスト702と、モジュールYのネットリスト703と、を有する。ネットリスト701は、VerilogHDLによって記述されたモジュールZの定義文であって、モジュールZを示す回路情報である。ネットリスト701では、モジュールZの端子宣言文を省略する。例えば、ネットリスト701には、モジュールXとモジュールYとのそれぞれをインスタンス化するインスタンス構文が記述される。各インスタンス構文には、各モジュールの端子の接続が記述されるため、ネットリスト701は、各モジュールXの端子の接続を示す接続情報である。

0039

モジュールXのインスタンス構文には、モジュールXを示すモジュール名と、モジュールXの端子を示す端子名と、各端子に接続される信号線を示すネット名と、が記述される。モジュールXのインスタンス構文によれば、モジュールXの端子Port_Aは、信号線sig_Number1に接続される。モジュールXのインスタンス構文によれば、モジュールXの端子Port_Bの値は、“1’b1”に固定される。モジュールXのインスタンス構文によれば、モジュールXの端子Port_Cは、信号線sig_Number2に接続される。

0040

また、モジュールYのインスタンス構文には、モジュールYの端子と、モジュールYの端子に接続される信号を示すネット名と、が記述される。モジュールYのインスタンス構文によれば、モジュールYの端子Port_Dは、信号線sig_Number1に接続される。モジュールYのインスタンス構文によれば、モジュールYの端子Port_Eの値は、“1’b0”に固定される。

0041

つぎに、ネットリスト生成部403は、各端子のそれぞれについて、取得した第1属性情報が示す属性の反対の属性を示す第2属性情報を生成する。また、ネットリスト生成部403は、取得された接続情報に基づいて、各端子のうち、値が固定値となる第1端子について第2属性情報を生成しない。また、ネットリスト生成部403は、各端子のうち、第2属性情報が出力端子であることを示す端子の値を特定値とする出力情報を生成する。特定値は、例えば、1または0の論理値である。特定値については、予め設計者によって定められ、RAM303やディスク305などの記憶装置に記憶される。具体的には、第2属性情報と出力情報とは、各モジュールが定義された定義文であって、各モジュールを示すネットリストである。

0042

具体的には、ネットリスト生成部403は、ネットリスト701から、ネットリスト701に記述されたインスタンス構文のモジュール名と、接続先が記述された端子名または接続先および固定値のいずれも記述されていない端子名と、の組み合わせを検出する。ここでは、図7に示す○で囲われた端子名と、当該端子名が記述されたインスタンス構文のモジュール名と、の組み合わせが検出される。接続先が関連付けて記述された端子名と、接続先および固定値のいずれも関連付けて記述されていない端子名と、のいずれかが示す端子は、各端子のうちの第1端子以外の第2端子である。第1端子は、固定値が関連付けて記述された端子名が示す端子である。

0043

そして、ネットリスト生成部403は、検出した組み合わせの各々について、ネットリスト701から、組み合わせのモジュール名に基づいて、モジュールの定義文を検索する。組み合わせの端子名に基づいて、検索したモジュールの定義文に含まれる端子定義文に記述された入出力属性を反対になるように変換する。例えば、ネットリスト生成部403は、「Output」であれば、「Input」に変換し、「Input」であれば、「Output」に変換する。

0044

図8は、判定例1にかかる変換前後のモジュールXのネットリスト例を示す説明図である。ネットリスト702は、VerilogHDLによって記述されたモジュールXの定義文であって、モジュールXを示す回路情報である。ネットリスト702では、詳細な論理回路記述を省略する。ネットリスト生成部403は、例えば、ネットリスト702に記述された端子Port_Aの端子宣言文の入出力属性情報を「Output」から「Input」に変換する。ネットリスト生成部403は、例えば、ネットリスト702に記述された端子Port_Cの端子宣言文の入出力属性情報を「Output」から「Input」に変換する。これにより、ネットリスト生成部403は、ネットリスト701と、入出力属性情報が変換されたネットリスト801と、を有するネットリスト800を生成する。

0045

図9は、判定例1にかかる変換前後のモジュールYのネットリスト例を示す説明図である。ネットリスト703は、VerilogHDLによって記述されたモジュールYの定義文であって、モジュールYを示す回路情報である。ネットリスト703では、詳細な論理回路記述を省略する。ネットリスト生成部403は、例えば、ネットリスト703に記述された端子Port_Dの端子宣言文の属性情報を「Input」から「Output」に変換したネットリスト901を生成する。

0046

また、シミュレーションにおいて入出力属性が出力である端子の出力値を特定値とするために、ネットリスト生成部403は、入出力属性情報を「Input」から「Output」に変換した端子の値を特定値とすることを示す出力情報を追加する。特定値は、設計者によって予め定められ、RAM303、ディスク305などの記憶装置に記憶される。出力情報は、図9の例では、「assign」定義文であり、端子Port_Eの値が“1’b1”に固定される。これにより、ネットリスト生成部403は、ネットリスト701と、ネットリスト801と、ネットリスト901と、を含むネットリスト800を生成する。また、生成されたネットリスト800は、RAM303やディスク305などの記憶装置に記憶される。

0047

つぎに、アサーション記述情報生成部404は、取得した端子情報が示す第1対象端子の状態がハイインピーダンス状態であるか否かを判定することを示すアサーション記述情報を生成する。アサーション記述情報は、設計仕様を記述するアサーション言語によって記述された情報である。

0048

図10は、アサーション記述情報例を示す説明図である。例えば、アサーション記述情報生成部404は、第1対象端子を示す端子情報として取得したレコード502−3を含む接続表501が示すモジュール名と、レコード502−3に含まれるPortNameのフィールドに設定された端子名と、を特定する。そして、アサーション記述情報生成部404は、特定したモジュール名と、特定した端子名と、によって、左辺の“モジュールX.Port_C”を生成する。

0049

そして、アサーション記述情報生成部404は、レコード502−3に含まれるBitのフィールドに設定されたビット幅に基づいて、ハイインピーダンス状態を示す右辺の“1’bz”を生成する。これにより、アサーション記述情報生成部404は、生成した右辺と生成した左辺とを組み合わせたアサーション記述情報1000を生成する。アサーション記述情報1000によれば、端子Port_Cの状態がハイインピーダンス状態でない場合に、エラーが出力される。また、生成されたアサーション記述情報1000は、RAM303やディスク305などの記憶装置に記憶される。

0050

また、アサーション記述情報生成部404は、第2対象端子を示す端子情報を示す第2対象端子の値が第2特定値となっているか否かを判定することを示すアサーション記述情報を生成する。第2特定値については、接続仕様情報500に含まれる。例えば、端子Port_Bについての第2特定値は、レコード502−2に含まれるConnectionのフィールドに設定された“1’b1”である。また、例えば、端子Port_Eについての第2特定値は、レコード512−2に含まれるConnectionのフィールドに設定された“1’b0”である。

0051

また、判定部405は、取得された接続情報と生成された第2属性情報とに基づいて、各端子のうち、第2属性情報が出力端子であることを示す端子の値を特定値とした場合における各端子の状態をシミュレーションする。これにより、判定部405は、端子情報が示す第1対象端子の状態がハイインピーダンス状態となるかを判定する。具体的には、判定部405は、ネットリスト800と、アサーション記述情報1000と、に基づいて、各端子の状態をシミュレーションすることにより、第1対象端子の状態がハイインピーダンス状態となるとエラーを出力する。

0052

また、判定部405は、各端子のそれぞれについて取得された接続情報と、第1端子のそれぞれについて取得された第1属性情報と、第2端子のそれぞれについて生成された第2属性情報と、に基づいて、各端子の状態をシミュレーションする。これにより、さらに、判定部405は、第2対象端子が第2特定値となるかを判定する。

0053

また、出力部406は、判定部405による判定結果を出力する。例えば、出力部406は、第1対象端子の状態がハイインピーダンス状態となる場合、第1対象端子がオープン端子であることを出力し、第1対象端子の状態がハイインピーダンス状態とならない場合、第1対象端子がオープン端子とならないことを出力する。

0054

図11は、判定例1における判定結果を示す説明図である。第1対象端子である端子Port_Cの状態はハイインピーダンス状態となり、端子Port_Cはオープン端子であると判定される。また、第2対象端子である端子Port_Bの値は“1’b1”となり、端子Port_Bはクリップ接続となっている端子であると判定される。第2対象端子である端子Port_Eの値は“1’b0”となり、端子Port_Eはクリップ接続となっている端子であると判定される。また、第3対象端子である端子Port_Aの値と第3対象端子である端子Port_Dの値とは一致するため、端子Port_Aと端子Port_Dとは端子間接続となっている端子であると判定される。

0055

(判定例2)
図12は、判定例2にかかるネットリストが示すモジュール間の接続関係を示す説明図である。判定例2では、オープン端子であるか否かの判定の第1対象端子である端子Port_Cがネットリストにおいてオープン端子となっていないと判定される例を示す。図12に示すように、端子Port_Cが誤って端子Port_Eに接続される。各部の処理は、判定例1と同じである。

0056

図13は、判定例2にかかるモジュールZのネットリストを示す説明図である。ネットリスト1300は、判定例1にかかるネットリスト700と同様に記述される。モジュールXのインスタンス構文によれば、モジュールXの端子Port_Aは、信号線sig_Number1に接続される。モジュールXのインスタンス構文によれば、モジュールXの端子Port_Bの値は、“1’b1”に固定される。モジュールXのインスタンス構文によれば、モジュールXの端子Port_Cは、信号線sig_Number2に接続される。

0057

モジュールYのインスタンス構文によれば、モジュールYの端子Port_Dは、信号線sig_Number1に接続される。モジュールYのインスタンス構文によれば、モジュールYの端子Port_Eの値は、信号線sig_Number2に接続される。

0058

つぎに、ネットリスト生成部403は、判定例1で説明したように、ネットリスト1300に基づいて、各端子のうち、値が固定値となる第1端子以外の第2端子の入出力属性を反対にしたネットリストを生成する。入出力属性を反対にしたモジュールXのネットリストは、判定例1と同一のネットリスト801であるため、詳細な説明を省略する。

0059

図14は、判定例2にかかる変換前後のモジュールYのネットリスト例を示す説明図である。ネットリスト生成部403は、例えば、ネットリスト703に記述された端子Port_Dの端子宣言文の入出力属性情報を「Input」から「Output」に変換する。また、ネットリスト生成部403は、例えば、ネットリスト703に記述された端子Port_Eの端子宣言文の入出力属性情報を「Input」から「Output」に変換する。

0060

また、ネットリスト生成部403は、入出力属性情報を「Input」から「Output」に変換した端子の値を特定値とすることを示す出力情報を追加する。出力情報は、各端子の値を固定する「assign」定義文である。図14の例では、端子Port_Dと端子Port_Eのそれぞれの値が“1’b1”に固定される。これにより、ネットリスト生成部403は、ネットリスト1301と、入出力属性を反対にしたネットリスト801と、入出力属性を反対にしたネットリスト1401と、を含むネットリスト1400を生成する。また、ネットリスト1400は、RAM303やディスク305などの記憶装置に記憶される。

0061

そして、判定部405は、ネットリスト1400と、アサーション記述情報1000と、に基づいて、各端子の状態をシミュレーションする。アサーション記述情報1000は、判定例1と同一であるため、詳細な説明を省略する。出力部406は、端子Port_Cの状態がハイインピーダンス状態とならない場合、端子Port_Cがオープン端子でないことを出力する。

0062

図15は、判定例2における判定結果を示す説明図である。端子Port_Cは、端子Port_Eに接続されている。また、端子Port_Eの値が“1’b1”に固定されているため、端子Port_Cの値は“1’b1”となり、端子Port_Cの状態がハイインピーダンス状態とならないため、アサーションによってエラーが出力される。

0063

このように、判定装置100は、ネットリスト1400に基づいて各端子の状態のシミュレーションを行うことにより、第1対象端子の状態がハイインピーダンス状態となるか判定する。これにより、オープン端子の正当性をシミュレーションによって検証することができる。したがって、検証の効率化を図ることができる。また、接続仕様情報500に示したように、モジュールXの端子Port_Cは、オープン端子であるが、ネットリスト700におけるモジュールXのインスタンス構文のように、信号線sig_Number2に接続されるように記述される場合がある。この場合、信号線sig_Number2が、他の信号線や端子などに接続されている状態か、またはいずれにも接続されていないオープン状態かはインスタンス構文だけでは判定できない。そのため、ネットリスト700だけで第1対象端子がオープン端子となっているかを確認するには、設計者の操作により、信号名を辿らなければならないため、検証に時間がかかる。このように、本実施の形態にかかる判定装置100によれば、設計者の操作によりオープン端子となっているかを確認する場合と比較して、検証時間を低減させることができる。したがって、端子の接続に関する検証の効率化を図ることができる。

0064

(実施例1にかかる判定装置100による判定処理手順例)
図16および図17は、実施例1にかかる判定装置による判定処理手順例を示すフローチャートである。図16および図17の例は、判定例1で用いたネットリスト700を用いて示す。まず、判定装置100は、各モジュールの接続表を有する接続仕様情報500を取得する(ステップS1601)。判定装置100は、接続仕様情報500からオープン端子であるか否かの判定の第1対象端子を示す端子情報を抽出する(ステップS1602)。

0065

判定装置100は、オープン端子であるか否かの判定の第1対象端子のアサーション記述情報1000を生成する(ステップS1603)。判定装置100は、接続仕様情報500から、クリップ接続であるか否かの判定の第2対象端子を示す端子情報と、端子間接続であるか否かの判定の第3対象端子を示す端子情報と、を抽出する(ステップS1604)。判定装置100は、第2対象端子と第3対象端子とのそれぞれのアサーション記述情報1600を生成する(ステップS1605)。

0066

判定装置100は、設計者の操作により、RTL設計を行う(ステップS1606)。判定装置100は、検証用のネットリスト700と、アサーション記述情報1600と、に基づきシミュレーションすることにより、第2対象端子と第3対象端子についての判定を行う(ステップS1607)。判定装置100は、判定結果を出力する(ステップS1608)。判定装置100は、判定結果を含めた検証結果がOKか否かを判断する(ステップS1609)。例えば、第2対象端子がクリップ接続となっている端子であり、第3対象端子が端子間接続となっている端子であると判定されれば、判定装置100は、検証結果がOKであると判断する。さらに、その他にエラーなどが発生しなければ、判定装置100は、検証結果がOKであると判断する。検証結果がOKでないと判断された場合(ステップS1609:No)、判定装置100は、ステップS1606へ戻って、再度RTL設計を行う。

0067

一方、検証結果がOKであると判断された場合(ステップS1609:Yes)、判定装置100は、検証用のネットリスト700から、トップモジュールのネットリスト701を抽出する(ステップS1701)。判定例1では、トップモジュールはモジュールZである。つぎに、判定装置100は、抽出したネットリスト701から、固定値となっていない端子を示す端子名と当該端子を有するモジュールを示すモジュール名の組み合わせを検出する(ステップS1702)。例えば、判定例1では、モジュールXと端子Port_Aとの組み合わせと、モジュールXと端子Port_Cとの組み合わせと、モジュールYと端子Port_Eとの組み合わせと、の組み合わせが検出される。

0068

判定装置100は、検証用のネットリスト700から、組み合わせのモジュール名が示すモジュールのネットリストを抽出する(ステップS1703)。判定例1では、モジュールXのネットリスト702とモジュールYのネットリスト703とが抽出される。判定装置100は、抽出したネットリスト702,703に基づいて、組み合わせの端子名の端子の入出力属性と反対の入出力属性を示す属性情報を含むネットリスト800を生成する(ステップS1704)。ここでは、ステップS1704では、判定装置100は、反対にした後の入出力属性が出力である端子の値を特定値とする出力情報をネットリスト800に追加する。そして、判定装置100は、生成したネットリスト800と、アサーション記述情報1000,1600と、に基づきシミュレーションすることにより、第1対象端子から第3対象端子のそれぞれについての判定を行う(ステップS1705)。

0069

判定装置100は、判定結果を出力する(ステップS1706)。判定装置100は、判定結果を含めた検証結果がOKか否かを判断する(ステップS1707)。例えば、第1対象端子がオープンとなり、第2対象端子がクリップ接続となっている端子であり、第3対象端子が端子間接続となっている端子であると判定されれば、判定装置100は、検証結果がOKであると判断する。判定例1では、第1対象端子である端子Port_Cの状態はハイインピーダンス状態となり、端子Port_Cはオープン端子であると判定される。また、第2対象端子である端子Port_Bの値は“1’b1”となり、端子Port_Bはクリップ接続となっている端子であると判定される。第2対象端子である端子Port_Eの値は“1’b0”となり、端子Port_Eはクリップ接続となっている端子であると判定される。また、第3対象端子である端子Port_Aの値と第3対象端子である端子Port_Dの値とは一致するため、端子Port_Aと端子Port_Dとは端子間接続となっている端子であると判定される。さらに、その他にエラーなどが発生しなければ、判定装置100は、検証結果がOKであると判断する。

0070

検証結果がOKでない場合(ステップS1707:No)、判定装置100は、ステップS1606へ戻る。検証結果がOKである場合(ステップS1707:Yes)、判定装置100は、一連の処理を終了する。

0071

(実施例2)
実施例2では、第1属性情報として接続仕様情報500を取得し、接続仕様情報500に含まれる各接続表に基づいて、第2属性情報および出力情報を含むネットリストを生成する。実施例2は、実施例1と同一構成について同一符号を付し、実施例1と同一機能や構成についての詳細な説明を省略する。

0072

図18は、実施例2にかかるネットリストの生成例を示す説明図である。ネットリスト生成部403は、ネットリスト701から、ネットリスト701に記述されたインスタンス構文のモジュール名と、固定値となることが記述されていない端子名と、の組み合わせを検出する。ここで、検出される組み合わせは、実施例1で説明した判定例1と同一とする。

0073

そして、ネットリスト生成部403は、検出した組み合わせのうち、モジュール名が同一の組み合わせを同一グループにする。そして、ネットリスト生成部403は、グループの各々について、グループに含まれる組み合わせの端子名が示す端子の入出力属性を反対にした入出力属性を示す第2属性情報を含むネットリストを生成する。具体的には、ネットリスト生成部403は、接続仕様情報500から、グループに含まれる組み合わせのモジュール名に基づいて、接続表を取得する。

0074

そして、ネットリスト生成部403は、グループに含まれる組み合わせのモジュール名のモジュールの定義文を生成する。つぎに、ネットリスト生成部403は、グループについて取得した接続表内の各レコードに基づいて、モジュール定義文の端子宣言文を生成する。そして、ネットリスト生成部403は、モジュール定義文の端子宣言文に記述される属性情報を設定する。ここでは、ネットリスト生成部403は、グループに含まれる端子名の属性情報が示す入出力属性を、グループに含まれる組み合わせの端子名を有するレコードに含まれるI/Oのフィールドに設定された入出力属性の反対の入出力属性となるようにする。これにより、ネットリスト生成部403は、第2属性情報を生成する。

0075

例えば、ネットリスト生成部403は、モジュールXの接続表501に基づいて、モジュール定義文を生成する。ネットリスト生成部403は、端子Port_Aの入出力属性を、端子名として「Port_A」を含む接続表501内のレコードに含まれるI/Oのフィールドに設定された入出力属性の反対の入出力属性となるようにする。ネットリスト生成部403は、端子Port_Cの入出力属性を、端子名として「Port_C」を含む接続表内のレコードに含まれるI/Oのフィールドに設定された入出力属性の反対の入出力属性となるようにする。これにより、モジュールXのネットリスト801が生成される。同様に、ネットリスト生成部403は、モジュールYのネットリスト901を生成する。

0076

(実施例2にかかる判定装置100による判定処理手順例)
図19は、実施例2にかかる判定装置による判定処理手順例を示すフローチャートである。ここでは、実施例2にかかる判定装置100による判定処理手順と、実施例1にかかる判定装置100による判定処理手順と、の違う手順についてのみ説明する。図16に示す処理手順については、実施例2においても同様の処理を行うため、ステップS1609のYesの場合の処理について説明する。

0077

検証結果がOKであると判断された場合(ステップS1609:Yes)、判定装置100は、検証用のネットリスト700から、トップモジュールのネットリスト701を抽出する(ステップS1901)。上述例では、トップモジュールはモジュールZである。つぎに、判定装置100は、抽出したネットリスト701から、固定値が設定されていない端子を示す端子名と当該端子を有するモジュールを示すモジュール名の組み合わせを検出する(ステップS1902)。

0078

つぎに、判定装置100は、接続仕様情報500から、組み合わせのモジュール名が示すモジュールの接続表501,511を抽出する(ステップS1903)。判定装置100は、抽出した接続表501,511に基づいて、組み合わせの端子名の端子の入出力属性と反対の入出力属性を示す属性情報を含むネットリスト800を生成する(ステップS1904)。判定装置100は、生成したネットリスト800と、アサーション記述情報1000,1600と、に基づきシミュレーションすることにより、第1対象端子から第3対象端子のそれぞれについての判定を行う(ステップS1905)。

0079

判定装置100は、判定結果を出力する(ステップS1906)。判定装置100は、判定結果を含めた検証結果がOKか否かを判断する(ステップS1907)。例えば、第1対象端子がオープン端子であると判定され、第2対象端子がクリップ接続となる端子であると判定され、第3対象端子が端子間接続となる端子であると判定されれば、判定装置100は、検証結果がOKであると判断する。さらに、その他にエラーなどが発生しなければ、判定装置100は、検証結果がOKであると判断する。検証結果がOKでない場合(ステップS1907:No)、判定装置100は、ステップS1606へ戻る。検証結果がOKである場合(ステップS1907:Yes)、判定装置100は、一連の処理を終了する。

0080

以上説明したように、本実施の形態にかかる判定装置は、ネットリスト内の各端子の入出力属性を反対にし、出力属性となった端子の値を特定値にした場合の各端子の状態のシミュレーションにより第1対象端子の状態がハイインピーダンス状態となるか判定する。これにより、オープン端子の正当性をシミュレーションによって検証することができる。したがって、端子の接続に関する検証の効率化を図ることができる。

0081

また、ネットリストにおいて値が固定値となる入力端子は、オープン端子となるかの判定の対象端子と接続されていない。そこで、本実施の形態にかかる判定装置は、値が固定値となる端子の入出力属性を反対にせず、入出力属性を反対にした端子の状態をシミュレーションする。これにより、第1対象端子がオープン端子となっているかの判定に影響しない端子をシミュレーションから除外することができ、検証の効率化を図ることができる。

0082

また、本実施の形態にかかる判定装置は、ネットリストにおいて値が固定値となる端子の入出力属性を反対にせず、各端子の状態をシミュレーションすることにより、さらに、クリップ接続となるかの判定の第2対象端子が、特定値に固定されたかを判定する。これにより、クリップ接続となるかの判定とオープン端子となるかの判定とを同一のシミュレーションにより検証することができる。これにより、検証の効率化を図ることができる。

0083

また、本実施の形態にかかる判定装置は、第1対象端子の状態がハイインピーダンス状態となる場合、第1対象端子がオープン端子であることを出力し、第1対象端子の状態がハイインピーダンス状態とならない場合、第1対象端子がオープン端子でないことを出力する。これにより、第1対象端子がオープン端子であったか否かの判断を容易化することができる。

0084

また、本実施の形態によれば、モジュール間接続における3種類の接続について、すべて正当性を検証することができる。そのため、モジュール間の端子の誤接続により発生しうる故障を低減させることができ、設計品質を向上させることができる。

0085

なお、本実施の形態で説明した判定プログラムは、予め用意されたプログラムをパーソナル・コンピュータやワークステーションなどのコンピュータで実行することにより実現することができる。本判定プログラムは、ディスクやUSB(Universal Serial Bus)メモリ等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また本算出プログラムは、インターネット等のネットワークを介して配布してもよい。

0086

上述した実施の形態に関し、さらに以下の付記を開示する。

0087

(付記1)コンピュータが、
複数の部分回路に含まれる各端子のうち、オープン端子であるか否かの判定対象の第1対象端子を示す端子情報を取得し、
前記各端子のそれぞれについて、接続情報と、入力端子および出力端子のいずれであるかの属性を示す第1属性情報と、を取得し、
前記各端子のそれぞれについて、取得した前記第1属性情報が示す属性の反対の属性を示す第2属性情報を生成し、
取得した前記接続情報と生成した前記第2属性情報とに基づいて、前記各端子のうち、前記第2属性情報が出力端子であることを示す端子の値を第1特定値とした場合における前記各端子の状態をシミュレーションすることにより、前記端子情報が示す前記第1対象端子の状態がハイインピーダンス状態となるかを判定する、
処理を実行することを特徴とする判定方法。

0088

(付記2)前記生成する処理では、取得した前記接続情報に基づいて、前記各端子のうち、入力値が固定値となる第1端子について前記第2属性情報を生成せず、
前記判定する処理では、前記各端子のうち、前記第1端子以外の第2端子のそれぞれについて取得した前記接続情報と生成した前記第2属性情報と、に基づいて、前記第1対象端子の状態が前記ハイインピーダンス状態となるかを判定することを特徴とする付記1に記載の判定方法。

0089

(付記3)前記コンピュータが、
前記各端子のうち、前記第1対象端子と異なる、クリップ接続であるか否かの判定対象の第2対象端子を示す第2端子情報を取得する処理を実行し、
前記判定する処理では、前記各端子のそれぞれについて取得した前記接続情報と、前記第1端子のそれぞれについて取得した前記第1属性情報と、前記第2端子のそれぞれについて生成した前記第2属性情報と、に基づいて、前記各端子の状態をシミュレーションすることにより、さらに、前記第2端子情報が示す前記第2対象端子が第2特定値となるかを判定することを特徴とする付記2に記載の判定方法。

0090

(付記4)前記コンピュータが、
前記第1対象端子の状態が前記ハイインピーダンス状態となる場合、前記第1対象端子が前記オープン端子であることを示す情報を出力し、前記第1対象端子の状態が前記ハイインピーダンス状態とならない場合、前記第1対象端子が前記オープン端子でないことを示す情報を出力する処理を実行することを特徴とする付記1〜3のいずれか1つに記載の判定方法。

0091

(付記5)コンピュータに、
複数の部分回路に含まれる各端子のうち、オープン端子であるか否かの判定対象の第1対象端子を示す端子情報を取得し、
前記各端子のそれぞれについて、接続情報と、入力端子および出力端子のいずれであるかの属性を示す第1属性情報と、を取得し、
前記各端子のそれぞれについて、取得した前記第1属性情報が示す属性の反対の属性を示す第2属性情報を生成し、
取得した前記接続情報と生成した前記第2属性情報とに基づいて、前記各端子のうち、前記第2属性情報が出力端子であることを示す端子の値を第1特定値とした場合における前記各端子の状態をシミュレーションすることにより、前記端子情報が示す前記第1対象端子の状態がハイインピーダンス状態となるかを判定する、
処理を実行させることを特徴とする判定プログラム。

0092

(付記6)前記生成する処理では、取得した前記接続情報に基づいて、前記各端子のうち、入力値が固定値となる第1端子について前記第2属性情報を生成せず、
前記判定する処理では、前記各端子のうち、前記第1端子以外の第2端子のそれぞれについて取得した前記接続情報と生成した前記第2属性情報と、に基づいて、前記第1対象端子の状態が前記ハイインピーダンス状態となるかを判定することを特徴とする付記5に記載の判定プログラム。

0093

(付記7)前記コンピュータに、
前記各端子のうち、前記第1対象端子と異なる、クリップ接続であるか否かの判定対象の第2対象端子を示す第2端子情報を取得する処理を実行させ、
前記判定する処理では、前記各端子のそれぞれについて取得した前記接続情報と、前記第1端子のそれぞれについて取得した前記第1属性情報と、前記第2端子のそれぞれについて生成した前記第2属性情報と、に基づいて、前記各端子の状態をシミュレーションすることにより、さらに、前記第2端子情報が示す前記第2対象端子が第2特定値となるかを判定することを特徴とする付記6に記載の判定プログラム。

0094

(付記8)前記コンピュータに、
前記第1対象端子の状態が前記ハイインピーダンス状態となる場合、前記第1対象端子が前記オープン端子であることを示す情報を出力し、前記第1対象端子の状態が前記ハイインピーダンス状態とならない場合、前記第1対象端子が前記オープン端子でないことを示す情報を出力する処理を実行させることを特徴とする付記5〜7のいずれか1つに記載の判定プログラム。

0095

(付記9)複数の部分回路に含まれる各端子のうち、オープン端子であるか否かの判定対象の第1対象端子を示す端子情報を取得する端子情報取得部と、
前記各端子のそれぞれについて、接続情報と、入力端子および出力端子のいずれであるかの属性を示す第1属性情報と、を取得するネットリスト取得部と、
前記各端子のそれぞれについて、取得した前記第1属性情報が示す属性の反対の属性を示す第2属性情報を生成するネットリスト生成部と、
取得した前記接続情報と生成した前記第2属性情報とに基づいて、前記各端子のうち、前記第2属性情報が出力端子であることを示す端子の値を第1特定値とした場合における前記各端子の状態をシミュレーションすることにより、前記端子情報が示す前記第1対象端子の状態がハイインピーダンス状態となるかを判定する判定部と、
を有することを特徴とする判定装置。

0096

(付記10)前記ネットリスト生成部は、取得した前記接続情報に基づいて、前記各端子のうち、入力値が固定値となる第1端子について前記第2属性情報を生成せず、
前記判定部は、前記各端子のうち、前記第1端子以外の第2端子のそれぞれについて取得した前記接続情報と生成した前記第2属性情報と、に基づいて、前記第1対象端子の状態が前記ハイインピーダンス状態となるかを判定することを特徴とする付記9に記載の判定装置。

0097

(付記11)前記端子情報取得部は、前記各端子のうち、前記第1対象端子と異なる、クリップ接続であるか否かの判定対象の第2対象端子を示す第2端子情報を取得し、
前記判定部は、前記各端子のそれぞれについて取得した前記接続情報と、前記第1端子のそれぞれについて取得した前記第1属性情報と、前記第2端子のそれぞれについて生成した前記第2属性情報と、に基づいて、前記各端子の状態をシミュレーションすることにより、さらに、前記第2端子情報が示す前記第2対象端子が第2特定値となるかを判定することを特徴とする付記10に記載の判定装置。

0098

(付記12)前記第1対象端子の状態が前記ハイインピーダンス状態となる場合、前記第1対象端子が前記オープン端子であることを示す情報を出力し、前記第1対象端子の状態が前記ハイインピーダンス状態とならない場合、前記第1対象端子が前記オープン端子でないことを示す情報を出力する出力部を有することを特徴とする付記9〜11のいずれか1つに記載の判定装置。

0099

(付記13)複数の部分回路に含まれる各端子のうち、オープン端子であるか否かの判定対象の第1対象端子を示す端子情報を取得し、
前記各端子のそれぞれについて、接続情報と、入力端子および出力端子のいずれであるかの属性を示す第1属性情報と、を取得し、
前記各端子のそれぞれについて、取得した前記第1属性情報が示す属性の反対の属性を示す第2属性情報を生成し、
取得した前記接続情報と生成した前記第2属性情報とに基づいて、前記各端子のうち、前記第2属性情報が出力端子であることを示す端子の値を第1特定値とした場合における前記各端子の状態をシミュレーションすることにより、前記端子情報が示す前記第1対象端子の状態がハイインピーダンス状態となるかを判定する、
処理をコンピュータに実行させる判定プログラムを記録したことを特徴とする記録媒体。

0100

100判定装置
101端子情報
401 端子情報取得部
402ネットリスト取得部
403 ネットリスト生成部
404アサーション記述情報生成部
405 判定部
406 出力部
500接続仕様情報
501,511接続表
700,701〜703,800,801,901,1300,1301,1400,1401 ネットリスト
1000,1600 アサーション記述情報
x,y,z,X,Y,Z,m1,m2,m3モジュール
P1〜P7,a〜d,Port_A,Port_B,Port_C,Port_D,Port_E 端子

ページトップへ

この技術を出願した法人

この技術を発明した人物

ページトップへ

関連する挑戦したい社会課題

関連する公募課題

ページトップへ

技術視点だけで見ていませんか?

この技術の活用可能性がある分野

分野別動向を把握したい方- 事業化視点で見る -

ページトップへ

おススメ サービス

おススメ astavisionコンテンツ

新着 最近 公開された関連が強い技術

この 技術と関連性が強い人物

関連性が強い人物一覧

この 技術と関連する社会課題

関連する挑戦したい社会課題一覧

この 技術と関連する公募課題

関連する公募課題一覧

astavision 新着記事

サイト情報について

本サービスは、国が公開している情報(公開特許公報、特許整理標準化データ等)を元に構成されています。出典元のデータには一部間違いやノイズがあり、情報の正確さについては保証致しかねます。また一時的に、各データの収録範囲や更新周期によって、一部の情報が正しく表示されないことがございます。当サイトの情報を元にした諸問題、不利益等について当方は何ら責任を負いかねることを予めご承知おきのほど宜しくお願い申し上げます。

主たる情報の出典

特許情報…特許整理標準化データ(XML編)、公開特許公報、特許公報、審決公報、Patent Map Guidance System データ