(57)【要約】インターネットハードウェア記述コード生成のシステム、方法、およびスクリプトを提供する。インターネットハードウェア記述コード生成システム（１８５）は、１つ以上の入力パラメータ（２１０）に応答して１つ以上のハードウェア記述言語ファイル（２２０）を生成するように適合されたハードウェア記述コード生成ホスト（２００）を含む。ユーザは、回路に対応する入力パラメータをハードウェア記述コード生成ホスト（２００）にアップロードする。それに応答して、ホストは、回路を記述する１つ以上のハードウェア記述言語（ＨＤＬ）ファイル（２２０）を生成する。ＨＤＬファイル（２２０）を生成するために、ｃｇｉスクリプトを用いることができる。
2004514995.tif 000002
【特許請求の範囲】
【請求項１】
ハードウェア記述コード生成ホスト（２００）を含み、前記ハードウェア記述コード生成ホスト（２００）は、前記ハードウェア記述コード生成ホスト（２００）によって受取られる１つ以上の入力パラメータ（２１０）に応答して、１つ以上のハードウェア記述言語ファイル（２２０）を生成するように適合され、前記１つ以上の入力パラメータ（２１０）は、回路を記述する、インターネットハードウェア記述コード生成システム（１８５）。
【請求項２】
前記１つ以上の入力パラメータ（２１０）は、前記ハードウェア記述コード生成ホストにより、インターネット（１７０）を介して受取られる、請求項１に記載のインターネットハードウェア記述コード生成システム（１８５）。
【請求項３】
前記ハードウェア記述コード生成ホスト（２００）は、前記１つ以上のハードウェア記述言語ファイル（２２０）を生成するために、少なくとも１つのスクリプト（２３０）を用いる、請求項１に記載のインターネットハードウェア記述コード生成システム（１８５）。
【請求項４】
前記１つ以上の入力パラメータ（２１０）は、１つ以上のポート記述（３８０，３８５，３９０，３９５，４００，４０５，４１０，４１５，４２０，４２５，４３０，４３５）を含む、請求項１に記載のインターネットハードウェア記述コード生成システム（１８５）。
【請求項５】
前記記述された回路は、少なくとも１つのバウンダリスキャンセル（１２０）と、少なくとも１つのテストアクセスポートコントローラ（７０）と、少なくとも１つのバイパスレジスタ（９０）と、少なくとも１つの命令レジスタ（８０）とを含む、請求項１に記載のインターネットハードウェア記述コード生成システム（１８５）。
【請求項６】
前記記述された回路は、少なくとも１つのバウンダリスキャンチェーン（１２０，１２２）を含む、請求項１に記載のインターネットハードウェア記述コード生成システム（１８５）。
【請求項７】
前記生成された１つ以上のハードウェア記述言語ファイル（２２０）のうちの少なくとも１つは、バウンダリスキャン構成ファイルである、請求項１に記載のインターネットハードウェア記述コード生成システム（１８５）。
【請求項８】
ユーザ（１９０）およびハードウェア記述コード生成ホスト（２００）をインターフェイスするステップ（５６５）を含み、前記ハードウェア記述コード生成ホスト（２００）は、回路を記述する１つ以上の入力パラメータ（２１０）を前記ユーザ（１９０）から受取り（５７０）、さらに、
前記ユーザ（１９０）から受取られた前記１つ以上の入力パラメータ（２１０）から１つ以上のハードウェア記述言語ファイル（２２０）を生成するステップ（５７５）を含む、インターネットハードウェア記述コード生成方法（５６０）。
【請求項９】
前記記述された回路は、少なくとも１つのバウンダリスキャンセル（１２０）と、少なくとも１つのテストアクセスポートコントローラ（７０）と、少なくとも１つのバイパスレジスタ（９０）と、少なくとも１つの命令レジスタ（８０）とを含む、請求項８に記載のインターネットハードウェア記述コード生成方法（５６０）。
【請求項１０】
前記ユーザ（１９０）は、インターネット（１７０）を介して前記ハードウェア記述コード生成ホスト（２００）にリンクして、前記１つ以上の入力パラメータ（２１０）を前記ハードウェア記述コード生成ホスト（２００）にアップロードするために、コンピュータ（１５０）を用いる、請求項８に記載のインターネットハードウェア記述コード生成方法（５６０）。
【発明の詳細な説明】
【０００１】
【技術分野】
この発明は、一般に、ハードウェア記述言語コードの生成に関し、より特定的に、バウンダリスキャン構成ファイルおよびＶＥＲＩＬＯＧネットリストを生成するためのシステムおよび方法に関する。
【０００２】
【背景技術】
機器の構成要素およびシステムをテストするコストを削減するために、集積回路（ＩＣ）および印刷回路基板（ＰＣＢ）は、構成要素内に組み込まれたビルトインセルフテスト（ＢＩＳＴ）機能を有していることが多い。テスト方法およびポートアーキテクチャを標準化するために、ジョイントテストアクセスグループ（Ｊｏｉｎｔ Ｔｅｓｔ Ａｃｃｅｓｓ Ｇｒｏｕｐ）（ＪＴＡＧ）は、電気電子学会（Ｉｎｓｔｉｔｕｔｅ ｆｏｒ Ｅｌｅｃｔｒｉｃａｌ ａｎｄ Ｅｌｅｃｔｒｏｎｉｃ Ｅｎｇｉｎｅｅｒｓ）（ＩＥＥＥ）標準１１４９．１を作成し、これは、ＩＥＥＥ標準テストアクセスポートおよびバウンダリスキャンアーキテクチャ（ＩＥＥＥ Ｓｔａｎｄａｒｄ Ｔｅｓｔ Ａｃｃｅｓｓ Ｐｏｒｔ ａｎｄ Ｂｏｕｎｄａｒｙ Ｓｃａｎ Ａｒｃｈｉｔｅｃｔｕｒｅ）としても公知である。ＩＥＥＥ標準１１４９．１は、４〜５ワイヤのシリアルインターフェイス、命令セット、およびテストプロトコルを規定する。１１４９．１標準機器のテストポートにより、テスト命令およびデータを機器内にシリアルにローディングすることができ、テスト結果をシリアルに読出すことができる。
【０００３】
［ＪＴＡＧ準拠機器アーキテクチャ］
図１は、ＩＥＥＥ１１４９．１互換機器１０を示す。ＪＴＡＧ準拠機器は、４つのピンテストポート（ＴＣＫ＝テストクロック（Ｔｅｓｔ Ｃｌｏｃｋ）２０、ＴＭＳ＝テストモード選択（Ｔｅｓｔ Ｍｏｄｅ Ｓｅｌｅｃｔ）３０、ＴＤＩ＝テストデータイン（Ｔｅｓｔ Ｄａｔａ Ｉｎ）４０、およびＴＤＯ＝テストデータアウト（Ｔｅｓｔ Ｄａｔａ Ｏｕｔ）５０）と、第５の任意のリセットピン（ＴＲＳＴ＝テストリセット（Ｔｅｓｔ Ｒｅｓｅｔ）６０）と、テストアクセスポート（ＴＡＰ）コントローラ（Ｔｅｓｔ Ａｃｃｅｓｓ Ｐｏｒｔ Ｃｏｎｔｒｏｌｌｅｒ）７０と、命令レジスタ（Ｉｎｓｔｒｕｃｔｉｏｎ Ｒｅｇｉｓｔｅｒ）（ＩＲ）８０と、バイパスレジスタ（Ｂｙｐａｓｓ Ｒｅｇｉｓｔｅｒ）（ＢＰＲ）９０と、バウンダリスキャンレジスタ（Ｂｏｕｎｄａｒｙ Ｓｃａｎ Ｒｅｇｉｓｔｅｒ）（ＢＳＲ）１００と、任意のユーザデータレジスタ（Ｄａｔａ Ｒｅｇｉｓｔｅｒ）（ＤＲ）１１０とを有する。１１４９．１準拠機器の入力ピンおよび出力ピンの各々は、１組の制御レジスタおよびゲート（図示せず）を含むバウンダリスキャンセル（ＢＳＣ）１２０および１２２を有する。バウンダリスキャンレジスタ、すなわちＢＳＲ１００は、図１に示されるように、直列に接続されたＢＳＣ１２０および１２２から形成される。直列に接続されたＢＳＣ１２０および１２２はまた、スキャンパスとも呼ばれる。バウンダリスキャンチェーンは、ＴＤＩ４０からＢＳＲ１００を経てＴＤＯ５０に至るパスである。
【０００４】
ＴＡＰコントローラ７０は、ＩＲ８０とともに、ＢＳＲ１００に関連するオペレーションを制御するステートマシンである。ＴＡＰコントローラ７０はＴＣＫ２０によって計時され、その状態はＴＭＳ３０によって制御される。ＴＤＩ４０およびＴＤＯ５０は、バウンダリスキャンチェーンのために、データ入力信号および出力信号を受取る。ＴＡＰコントローラ７０とともに作動することにより、ＩＲ８０には、実行されるべき特定のテストを決定する命令がロードされる。
【０００５】
ＩＥＥＥ標準１１４９．１によって規定される必須のテスト命令は３つあり、ＢＹＰＡＳＳ、ＳＡＭＰＬＥ／ＰＲＥＬＯＡＤ、およびＥＸＴＥＳＴである。ＢＹＰＡＳＳ命令は、ＩＣを機能モードに保ち、シリアルなデータがその他の機器の動作に影響を及ぼすことなくＴＤＩ４０からＢＰＲ９０を経てＴＤＯ５０まで、ＩＣを通過することを可能にする。ＳＡＭＰＬＥ／ＰＲＥＬＯＡＤ命令は、ＩＣをその機能モードに保ち、ＴＤＩ４０とＴＤＯ５０との間に接続されるべきＢＳＲ１００を選択する。ＳＡＭＰＬＥ／ＢＲＥＬＯＡＤ命令を実行することにより、ＩＣに入ってＩＣから出ていくデータをサンプリングするか、または、テストデータを予めＢＳＲ１００内にロードするために、ＢＳＲ１００にアクセスすることができる。ＥＸＴＥＳＴ命令は、ＩＣをテストモードに置き、ＴＤＩ４０とＴＤＯ５０との間に接続されるべきＢＳＲ１００を選択する。ＥＸＴＥＳＴを実行することにより、下位の機器に入力されるべきテストパターンを出力ピン１３０と関連するＢＳＣ１２２にロードし、入力データを捕捉するために入力バウンダリセル１２０を準備する。
【０００６】
［ＶＥＲＩＬＯＧネットリストおよびバウンダリスキャン記述言語ファイル］　ハードウェア記述言語（ＨＤＬ）は、回路を記述するためのコードである。ＨＤＬの主な使途は、設計者が設計を製造に委ねなければならない前にシミュレートすることである。最も普及している２つのＨＤＬとは、ＶＨＳＩＣハードウェア記述言語（ＶＨＳＩＣ Ｈａｒｄｗａｒｅ Ｄｅｓｃｒｉｐｔｉｏｎ Ｌａｎｇｕａｇｅ）（ＶＨＤＬ）およびＶＥＲＩＬＯＧである。ＶＨＤＬは、米国国防総省によって開発され、オープン標準である。ＶＥＲＩＬＯＧは、オープンＶＥＲＩＬＯＧインターナショナル（Ｏｐｅｎ ＶＥＲＩＬＯＧ Ｉｎｔｅｒｎａｔｉｏｎａｌ）（ＯＶＩ）とも呼ばれ、私的なエンティティによって開発された業界標準であり、現在では、ＩＥＥＥ標準１３６４と呼ばれるオープン標準である。ＪＴＡＧ準拠機器を記述するＶＥＲＩＬＯＧコードで書かれたファイルは、ＶＥＲＩＬＯＧネットリストと呼ばれる。ＶＨＤＬは、ＩＥＥＥ標準１０７６．１によって規定されたＨＤＬである。バウンダリスキャン記述言語（Ｂｏｕｎｄａｒｙ Ｓｃａｎ Ｄｅｓｃｒｉｐｔｉｏｎ Ｌａｎｇｕａｇｅ）（ＢＳＤＬ）は、ＶＨＤＬのサブセットであり、ＩＥＥＥ標準１１４９．１バウンダリスキャンアーキテクチャがどのように実現されて機器内で作動するかを記述するために、標準マシンおよび人間に可読なデータフォーマットを提供する。
【０００７】
バウンダリスキャン記述言語（ＢＳＤＬ）ファイルおよびＶＥＲＩＬＯＧネットリストを生成する市販製品が存在する。ＢＳＤＬファイルを生成するために、このような製品は一般に、多くのパラメータを有する入力ファイルを必要とし、厳密なシンタックスを用いて構成されなければならない。たとえば、或る機器に対するＢＳＤＬ記述はいくつかの要素からなる。これらの要素には、エンティティの記述、汎用パラメータ、論理ポートの記述、使用条項、構成要素準拠条項、ピンマッピング、スキャンポートの識別、命令レジスタの記述、任意のレジスタの記述、レジスタアクセスの記述、およびバウンダリレジスタの記述が含まれる。製品の中には、ＶＥＲＩＬＯＧまたはＶＨＤＬ記述等の、機器のレジスタ転送言語（ＲＴＬ）表現を含む入力ファイルを必要とするものがある。製品の中には、製造者が規定したシンタックスによって特定された機器パラメータを有する入力ファイルを必要とするものもある。適切なフォーマットでファイルを生成するためには、さまざまなプログラミング言語または製造者が規定したシンタックスを学習しなければならない。ファイルが作成される際に、シンタックスにおける小さなエラーでさえも、時間のかかる、入力ファイルのデバッギングを生じるおそれがある。したがって、バウンダリスキャンアーキテクチャを記述する入力ファイルを生成することは、時間がかかるうえに、熟練したプログラマーが必要となる。したがって、ＶＥＲＩＬＯＧネットリストおよびＢＳＣファイルを生成する現在のシステムおよび方法は、労働集約的であり、正確さを欠きやすく、時間がかかる。ＨＤＬファイルを生成する簡易さ、精度、および速度を改良するシステムおよび方法が必要とされる。
【０００８】
【発明の開示】
この発明は、回路を記述するハードウェア記述言語（ＨＤＬ）ファイルを生成するのに有用なシステム、方法、スクリプト、および信号を含む。ＨＤＬファイルを生成するために、ユーザは一般的にインターネットを介してハードウェア記述コード生成ホストにアクセスして、回路に関する情報をアップロードすることができる。ハードウェア記述コード生成ホストは、次いで、ユーザがホストにアップロードして、入力パラメータと呼ばれるアップロードされた情報から、ＨＤＬファイルを生成することができる。ハードウェア記述コード生成ホストは、入力パラメータからファイルを生成するために、一般にソフトウェアプログラムであるスクリプトを用いる。入力パラメータは、ファイルを生成する際に用いられる機器のポートに関する情報を含む。入力パラメータを入力するためのフォーマットに関する情報は、入力形式と同じウェブページ上で、または、他のウェブページへのハイパーリンクをクリックすることによって容易にアクセスすることのできる別個のウェブページを介して、ユーザに表示することができる。さらに、ユーザは自身の特定の必要性に応じて、入力フォーマットをカスタマイズすることができる。ハードウェア記述言語ファイルが生成された後に、ユーザはホストからのファイルを保存するか、またはダウンロードすることができる。
【０００９】
この発明は、先行技術に勝るいくつかの利点を有する。第１に、この発明は、シンタックスのエラーを訂正するために、ＨＤＬシンタックスを学習してＨＤＬファイルをデバッグするという労働集約的なプロセスをなくす。ＨＤＬファイルを生成するために、ＨＤＬ様のＶＥＲＩＬＯＧまたはＢＳＤＬを学習しなければならない代わりに、ユーザが簡単なポート記述を入力して、スクリプトがファイルを生成する。第２に、入力パラメータを入力するための入力フォーマットの詳細を、入力形式上で表示することができ、これにより、入力フォーマットを記憶する必要性、または、フォーマットの詳細を学習するためにマニュアルを参照するという面倒なプロセスをなくす。この発明により、ユーザが自分自身の必要性に応じて入力フォーマットをカスタマイズすることも可能となる。第３に、ＶＥＲＩＬＯＧネットリストおよびＢＳＤＬファイルは著しく異なるために、ユーザは一般に、各々を別個に生成する。この発明により、ＶＥＲＩＬＯＧネットリストおよびＢＳＤＬファイルの両方を、入力パラメータの１つのファイルから生成することが可能となり、ここでもまた、労働集約的なプロセスをなくす。したがって、この発明のシステムおよび方法は、ハードウェア記述コードを生成する簡易さ、精度、および速度を改良して、先行技術の限界および欠点を克服する。
【００１０】
この発明の一局面に従い、インターネットハードウェア記述コード生成システムが提供される。インターネットハードウェア記述コード生成システムは、ハードウェア記述コード生成ホストを含む。ハードウェア記述コード生成ホストは、それに対してアップロードされた１つ以上の入力パラメータに応答して、１つ以上のハードウェア記述言語ファイルを生成するように適合される。１つ以上の入力パラメータは回路を記述することができ、これらのパラメータは、１つ以上のポート記述を含むことができる。入力パラメータによって記述された回路は、ＩＥＥＥ標準１１４９．１に実質的に準拠する少なくとも１つの機器を有する回路と、少なくとも１つのバウンダリスキャンセル、少なくとも１つのテストアクセスポートコントローラ、少なくとも１つのバイパスレジスタ、および少なくとも１つの命令レジスタを有する回路と、少なくとも１つのバウンダリスキャンチェーンを有する回路とを含み得る。
【００１１】
インターネットを介して、１つ以上の入力パラメータをハードウェア記述コード生成ホストにアップロードすることができる。１つ以上の入力パラメータを入力するための入力フォーマットを、ユーザが入力パラメータを入力するのと実質的に同時に、ユーザに表示することができる。１つ以上の入力パラメータを入力するための入力フォーマットは、ユーザによってカスタマイズされるか、または予め定義され得る。入力形式はＨＴＭＬ形式であってよい。ハードウェア記述コード生成ホストは、１つ以上の入力パラメータを入力するための入力形式をカスタマイズするために、少なくとも１つのスクリプトを用いることができる。
【００１２】
ハードウェア記述コード生成ホストは、コンピュータであり得る。ハードウェア記述コード生成ホストは、１つ以上のハードウェア記述言語ファイルを生成するために、少なくとも１つのスクリプトを用いることができる。生成された１つ以上のハードウェア記述言語ファイルのうちの少なくとも１つは、ＶＥＲＩＬＯＧネットリストまたはバウンダリスキャン構成ファイルであってよく、ＶＨＳＩＣハードウェア記述言語、バウンダリスキャン記述言語、またはＶＥＲＩＬＯＧで生成されてよい。この発明は、また、この明細書に記載されるインターネットハードウェア記述コード生成システムによって生成されるハードウェア記述言語ファイルも含む。
【００１３】
この発明の一局面に従い、インターネットハードウェア記述コード生成方法が提供される。インターネットハードウェア記述コード生成方法は、ユーザおよびハードウェア記述コード生成ホストをインターフェイスするステップと、回路を記述する１つ以上の入力パラメータをユーザから受取るステップと、ユーザから受取られた１つ以上の入力パラメータから１つ以上のハードウェア記述言語ファイルを生成するステップとを含む。１つ以上の入力パラメータは、１つ以上のポート記述を含み得る。入力パラメータによって記述された回路は、ＩＥＥＥ標準１１４９．１に実質的に準拠する少なくとも１つの機器を有する回路と、少なくとも１つのバウンダリスキャンセル、少なくとも１つのテストアクセスポートコントローラ、少なくとも１つのバイパスレジスタ、および少なくとも１つの命令レジスタを有する回路と、少なくとも１つのバウンダリスキャンチェーンを有する回路とを含み得る。ユーザおよびハードウェア記述コード生成ホストは、インターネットを介してインターフェイスされてよい。ユーザは、ハードウェア記述コード生成ホストから１つ以上のハードウェア記述言語ファイルをダウンロードすることができ、および／または、１つ以上のハードウェア記述言語をデータ記憶媒体に記憶させることができる。
【００１４】
ハードウェア記述コード生成ホストは、コンピュータであり得る。ハードウェア記述コード生成ホストは、１つ以上のハードウェア記述言語ファイルを生成するために、少なくとも１つのスクリプトを用いることができる。生成された１つ以上のハードウェア記述言語ファイルのうちの少なくとも１つは、ＶＥＲＩＬＯＧネットリストまたはバウンダリスキャン構成ファイルであってよい。ハードウェア記述コード生成ホストは、ハードウェア記述言語ファイルを記憶するためのデータ記憶媒体を含み得る。ハードウェア記述コード生成ホストは、１つ以上のハードウェア記述言語ファイルを生成するために、少なくとも１つのスクリプトを用いることができる。
【００１５】
１つ以上の入力パラメータを入力するための入力フォーマットを、ユーザが入力パラメータを入力するのと実質的に同時に、ユーザに表示することができる。１つ以上の入力パラメータを入力するための入力フォーマットは、ユーザによってカスタマイズされるか、予め定義され得る。入力形式はＨＴＭＬフォーマットであってよい。ハードウェア記述コード生成ホストは、１つ以上の入力パラメータを入力するための入力形式をカスタマイズするために、少なくとも１つのスクリプトを用いることができる。ユーザは、インターネットを介してハードウェア記述コード生成ホストにリンクして、１つ以上の入力パラメータをハードウェア記述コード生成ホストにアップロードするために、コンピュータを用いることができる。この発明はまた、この明細書に記載されたインターネットハードウェア記述コード生成方法によって生成されるハードウェア記述言語ファイルも含む。
【００１６】
この発明の別の局面において、少なくとも２つのコンピュータ間で送信されるように適合された電子信号がもたらされる。電子信号は、回路を記述する１つ以上の入力パラメータを含む。１つ以上の入力パラメータは、ハードウェア記述コード生成ホストによって受取られることが可能であり、ハードウェア記述コード生成ホストは、１つ以上の入力パラメータから、１つ以上のハードウェア記述言語ファイルを生成することができる。電子信号を、ランダムアクセスメモリ等の電子メモリに記憶することができる。
【００１７】
この発明のさらに別の局面において、少なくとも２つのコンピュータ間で送信されるように適合された電子信号がもたらされる。電子信号は、回路を記述する１つ以上のハードウェア記述言語ファイルを含む。１つ以上のハードウェア記述言語ファイルは、ハードウェア記述コード生成ホストによって受取られた１つ以上の入力パラメータから生成され得る。電子信号を、ランダムアクセスメモリ等の電子メモリに記憶することができる。
【００１８】
上述のおよび関連する目標を達成するために、この発明は、以下に完全に説明され、かつ、請求項において特に指示される特徴を含む。以下の説明および添付の図面は、この発明の特定の局面および実施例を詳細に明らかにする。しかしながら、これらの局面および実施例は、この発明の原理を用いることのできる種々の方法のいくつかを示しているに過ぎない。この発明の他の目的、利点、および新規の特徴は、図面とともに読まれると、この発明の以下の詳細な説明から明らかになるであろう。
【００１９】
【発明を実施するためのモード】
以下の内容は、同じ参照番号が全体にわたって同じ要素を示す添付の図面とともに作成された、この発明の詳細な説明である。この発明は、ＨＤＬ記述ファイルを生成することのできる、ウェブベースのコード生成システム、方法、およびスクリプトを提供する。
【００２０】
図２ａは、この発明の一局面を示す概略ブロック図である。クライアントコンピュータシステム１５０が、インターネット１７０（ワールドワイドウェブ（Ｗｏｒｌｄ Ｗｉｄｅ Ｗｅｂ）、「ｗｗｗ」）の一部であるサーバコンピュータシステム１６０に接続されていることが示される。クライアント１５０およびサーバ１６０は、データ接続１８０によって接続されている。クライアント１５０およびサーバ１６０は、インターネットを介してデータを転送するために、少なくとも２つのコンピュータシステムを接続することのできる任意のシステムまたは方法によって接続され得る。たとえば、クライアント１５０およびサーバ１６０は、たとえば地方のまたは地域のテレフォンオペレーティング企業によって提供されたもの等の電話網、または同軸ケーブル線を介してインターネットに接続され得る。データ接続１８０は、たとえば、専用データ線、パーソナル通信システム（Ｐｅｒｓｏｎａｌ Ｃｏｍｍｕｎｉｃａｔｉｏｎ Ｓｙｓｔｅｍｓ）（「ＰＣＳ」）、マイクロ波、衛星網、無線電話、または任意の適切な手段によって設けられてよい。クライアントおよびサーバという用語が、広い意味で解釈されるべきであること、および、これらの用語のこのような構成のすべてが前掲の請求項の範囲内にあるように意図されることを理解されたい。
【００２１】
この発明は、有利にも、ＴＣＰ／ＩＰおよびＨＴＴＰを含む標準インターネットプロトコルを利用する。ＴＣＰ／ＩＰは、コンピュータの世界的なネットワークによって用いられる共通のトランスポート層プロトコルである。ＨＴＴＰは、ハイパーテキストマークアップ言語（Ｈｙｐｅｒｔｅｘｔ Ｍａｒｋｕｐ Ｌａｎｇｕａｇｅ）（ＨＴＭＬ）、ＤＨＴＭＬ、またはＸＭＬとして公知の標準ページ記述言語を用いて、ファイル（テキスト、グラフィック、イメージ、音声、映像等の異なったフォーマットであり得る）へのアクセスをユーザに提供する公知のアプリケーションプロトコルである。公知のＨＴＭＬウェブブラウザにより、クライアントに通信上リンクされたサーバ上でアクセスすることのできるＨＴＭＬ文書に対し、グラフィカルユーザインターフェイス（ＧＵＩ）ベースのアクセスが可能となる。これらの文書は一般に、「ウェブページ」と呼ばれる。クライアント１５０およびサーバ１６０はともに、インターネット１７０を介して結合されているが、この発明は、他の公共のまたは私的なネットワークを介して実現されてもよく、または、直接の接続を通じて使用されてもよく、このような接続を実現するいかなるものも、この発明の範囲内にあることが考えられる。
【００２２】
図２ｂは、この発明のシステム１８５の概略図である。システム１８５は、少なくとも２つのエンティティ、すなわち、ユーザ１９０およびハードウェア記述コード生成ホスト２００を含み、これらはインターネット１７０′を介して互いに動作上のインターフェイスとなる。このシステム１８５の別の局面において、複数のユーザ（図示せず）がハードウェア記述コード生成ホスト２００の動作上のインターフェイスとなることができる。ユーザ１９０は、一般に支払いのために、ハードウェア記述コード生成ホスト２００を用いて、回路を記述するＨＤＬファイルを生成することを望む。記述される回路は、ＩＥＥＥ標準１１４９．１に準拠した機器、少なくとも１つのバウンダリスキャンセルと、少なくとも１つのテストアクセスポートコントローラと、少なくとも１つのバイパスレジスタと、少なくとも１つの命令レジスタとを含む機器、少なくとも１つのバウンダリスキャンチェーンを含む機器、または他の任意の機器であり得る。ユーザ１９０は、ハードウェア記述コード生成ホスト２００に入力パラメータ２１０をアップロードすることができる。それに応答して、ハードウェア記述コード生成ホスト２００は、入力パラメータ２１０を用いてＨＤＬファイル２２０を生成することができる。ＨＤＬファイル２２０は、ＶＥＲＩＬＯＧネットリスト、ＢＳＣファイル、ＶＨＤＬファイル、ＢＳＤＬファイル、または回路を記述するのに適切な任意のフォーマットまたは言語によるファイルであってもよい。用語「ＶＥＲＩＬＯＧ」が、ＩＥＥＥ標準１３６４によって公表されたものおよびＯＶＩを含むすべてのバージョンのＶＥＲＩＬＯＧを包含することを認識されたい。ホスト２００によって生成されたＨＤＬファイル２２０が電子フォーマットであり得ることを認識されたい。ＨＤＬ記述を記憶するために、この発明において、磁気媒体、光学記憶媒体、ＲＡＭ、ＲＯＭ等の、データを記憶する任意の手段を用い得ることも認識されるであろう。
【００２３】
対話を容易にするために、ハードウェア記述コード生成ホスト２００は、ユーザ１９０がブラウザを用いた情報の入力および受取りを可能にするウェブサイトをもたらすことができる。ウェブサイトは、記入形式および／またはプルダウンメニュー等の、データを入力するためのＨＴＭＬ形式を含み得る。ウェブサイトはまた、入力フォーマットおよびファイルのダウンロード命令に関する情報を有するウェブページを含み得る。ハードウェア記述コード生成ホスト２００は、１つのパーソナルコンピュータ（「ＰＣ」）等のコンピュータ、電子ノード、サーバ、データベース、または、データの受信、処理、および送信が可能な将来技術の任意の新規物であってよい。
【００２４】
図２ｃでは、この発明の別の局面が示される。このシステム１８５′において、ハードウェア記述コード生成ホスト２００′は、ＨＤＬファイル２２０′を生成するためのスクリプト２３０を含む。スクリプトは、共通ゲートウェイインターフェイス（ｃｇｉ）スクリプトを含む。ｃｇｉは、ｗｗｗサーバとｃｇｉスクリプトとの間で情報を転送するための仕様である。ｃｇｉスクリプトは、ｃｇｉ仕様に従うデータを受取って返すように設計された任意のソフトウェアプログラムである。ｃｇｉプログラムは、Ｃ＋＋、Ｐｅｒｌ、Ｊａｖａ（Ｒ）、ＡｃｔｉｖｅＸ（Ｒ）、または Ｖｉｓｕａｌ Ｂａｓｉｃ（Ｒ）等の、より高度な言語を含む、任意のプログラミング言語で書かれ得る。記入形式および／またはプルダウンメニュー等の形式を含むＨＴＭＬページは、その形式のデータを処理するために、ｃｇｉプログラムを用いることができる。この発明のスクリプトは、入力パラメータ２１０′をＨＤＬファイル２２０′に変換するためのアルゴリズムを実現するソフトウェアプログラムをコンピュータのメモリにロードすることを含む、適切な任意の態様によって実現され得る。ユーザ１９０′は、インターネット１７０″を介して、または代替的に、専用データ線、ＰＣＳ、マイクロ波、衛星網、無線電話等の適切な任意の手段によって、または、ローカルエリアネットワークもしくはデスクトップコンピュータによって等のローカルな態様で、スクリプト２３０の動作上のインターフェイスとなる。
【００２５】
図２ｄは、この発明を実施するための別のシステム１８５″の概略図である。このシステム１８５″は、図２ｂのシステム１８５と類似するが、ユーザ１９０″およびハードウェア記述コード生成ホスト２００″は、インターネットを介してインターフェイスしない。システム１８５″は、たとえば専用データ線２４０によって等の任意の適切な態様で実施することができる。
【００２６】
図２ｅは、この発明を実施するためのシステム１８５″′である。システム１８５″′は、ハードウェア記述コード生成ホスト２００″′に通信上リンクされる複数のユーザ１９０″′を含む。複数のユーザ１９０″′は、この発明に従い、情報を交換するのに適切な任意の態様で、ハードウェア記述コード生成ホスト２００″′にリンクされ得る。たとえば、図２ｅにおいて、各ユーザ１９０″′は、１つ以上のコンピュータシステム２４０をそれぞれ含む別個のエンティティの一部であることが示される。コンピュータシステム２４０は、中枢網２５０を介してローカルサーバ２６０と通信するためのＬＡＮインターフェイスに動作上結合された、デスクトップまたはラップトップコンピュータ等のクライアント１５０′を含み得る。ローカルサーバ２６０は次いで、ハードウェア記述コード生成ホスト２００″′のインターフェイスとなる。一般に、このインターフェイスは、サーバ１６０′を通じたものであり、モデム、無線ローカルエリアネットワーク、および／または広域ネットワーク等を用いた電話線によるもの等の、インターネット１７０″″への接続を介したものである。
【００２７】
図２ｅは、クライアント１５０′およびサーバ１６０′がインターネット１７０″″を介してハードウェア記述コード生成ホスト２００″′と通信していることを示すが、代替的に、クライアント１５０′およびサーバ１６０′がネットワークケーブル等のハードワイヤドネットワーク接続を通じてインターフェイスし得ることが分かる。図２ｅにおいて、ユーザ１９０″′およびハードウェア記述コード生成ホスト２００″′が、異なるコンピュータ１５０′、２６０、および１６０′を介して通信することが示されているが、ユーザ１９０″′およびハードウェア記述コード生成ホスト２００″′が同じコンピュータシステム（図示せず）を介してインターフェイスし得ることが分かる。さらに、図２ｅは、ハードウェア記述コード生成ホスト２００″′を１つしか示していないが、複数のハードウェア記述コード生成ホストが互いの、および複数のユーザ（図示せず）のインターフェイスとなり得ることが分かる。
【００２８】
図２ｆは、この発明に従った、コンピュータ２７０の詳細なブロック図である。コンピュータ２７０は、クライアント１５０′、サーバ１６０′、および／またはローカルサーバ２６０のいずれかとして、この発明のシステムおよび方法において用られ得る。他の任意の関連するハードウェアを有するか、または有さない、ＣＰＵまたはプロセッサ２７０が、コンピュータとして機能することが可能であり、この発明によりコンピュータの範囲内に入ると考えられることを認識されたい。また、クライアントコンピュータシステム１５０′、サーバコンピュータシステム１６０′、またはローカルサーバコンピュータシステム２６０を含むこの発明のコンピュータが、１つのコンピュータシステムまたは複数のコンピュータシステムを含み得ることも認識されたい。
【００２９】
コンピュータシステム２７０は、バス２８５に結合された中央処理装置（ＣＰＵ）２８０を含む。ＣＰＵまたはプロセッサ２８０は、ＡＭＤ Ａｔｈｌｏｎ（Ｒ）、Ｋ−６、および任意の他のプロセッサ等の、複数のプロセッサのうちの任意のものであり得る。この発明が、以下により詳細に説明される複数のプラットフォーム環境をもたらすために、この発明の機能を実施するのに適切なあらゆるプロセッサおよび／またはコンピュータを用いてよいことが分かる。プロセッサ２８０は、ここに説明されるさまざまなオペレーションに加え、システム２７０に関連する他の任意のオペレーションを実行するように機能する。この発明に関連する機能を実施するためにプロセッサ２８０がプログラムされ得る態様は、この明細書に記載された説明に基づき、当業者には容易に明らかとなるであろう。
【００３０】
バス２８５は、ＣＰＵ２８０と多数の他のシステムバス構成要素との間でアドレス、データ、および制御を伝えるための複数の信号線２９０を含む。他のシステムバス構成要素は、メモリ２９５（ランダムアクセスメモリ（Ｒａｎｄａｍ Ａｃｃｅｓｓ Ｍｅｍｏｒｙ）（ＲＡＭ）３００および読出専用メモリ（Ｒｅａｄ Ｏｎｌｙ Ｍｅｍｏｒｙ）（ＲＯＭ）３０５を含む）と、複数の入力／出力（Ｉ／Ｏ）機器とを含む。メモリ２９５は、データ記憶として働き、この明細書で説明される機能を実行するために、プロセッサ２８０によって実行されるべき適切な演算コードを記憶することができる。プロセッサ２８０自体は、ＲＡＭまたはＲＯＭおよびＩ／Ｏ機器等の、関連するハードウェアを含み得る。
【００３１】
ＲＡＭ３００は、ＣＰＵ２８０に対してワーキングメモリおよびプログラム命令記憶をもたらす。ＲＯＭ３０５は、Ｉ／Ｏ機器とインターフェイス動作を行なうために、ベーシック入力／出力システム（Ｂａｓｉｃ Ｉｎｐｕｔ／Ｏｕｔｐｕｔ Ｓｙｓｔｅｍ）（ＢＩＯＳ）として公知のソフトウェア命令を含む。ＲＯＭ３０５には、また、ブーティング機器からのブートプログラムをロードするために作動するソフトウェアルーチンも記憶される。ブートプログラムは一般に、コンピュータシステム２７０がパワーオンにされるとき、またはシステム２７０の初期化が必要とされるときに、実行される。
【００３２】
Ｉ／Ｏ機器は、データ記憶機器（たとえばフロッピー（Ｒ）ディスク、テープドライブ、ＣＤ　ＲＯＭ、ハードディスク）等の基本機器を含む。一般に、Ｉ／Ｏ機器は、割込みを生成することによってＣＰＵ２８０と通信する。ＣＰＵ２８０は、それらに割当てられた個々の割込みコードによって、Ｉ／Ｏ機器からの割込みを識別する。Ｉ／Ｏ機器の割込みに対するＣＰＵ２８０の応答は、特に割込みを生成する機器に依存して異なる。異なる割込処理ルーチンにＣＰＵ２８０を方向付けるために、割込みベクトルがもたらされる。
【００３３】
割込みベクトルは、ＢＩＳＯを実行することにより、コンピュータシステム２７０の初期化（ブートアップ等）中に生成される。機器の割込みに対するＣＰＵ２８０の応答を時によって変更しなければならないことが考えられるため、異なった割込み処理ルーチンにＣＰＵ２８０を方向付けるために、割込みベクトルを時によって変更しなければならないことが考えられる。割込みベクトルの変更を可能にするために、それらは、コンピュータ２７０のオペレーション中にＲＡＭ３００に記憶される。
【００３４】
ディスク制御サブシステム３１０は、１つ以上のディスクドライブ３１５（フロッピー（Ｒ）ディスクドライブ、ＣＤ−ＲＯＭドライブ等）をシステムバス２８５に双方向的に結合する。ディスクドライブ３１５は、フロッピー（Ｒ）ディスケットまたはＣＤ−ＲＯＭ等の取外し可能な記憶媒体とともに作動する。ハードドライブ制御サブシステム３２０は、回転する固定ディスクまたはハードドライブ３２５をシステムバス２８５に双方向的に結合する。ハードドライブ制御サブシステム３２０およびハードドライブ３２５は、ＣＰＵ命令およびデータに対して大容量の記憶をもたらす。
【００３５】
ターミナル制御サブシステム３３０もまた、バス２８５に結合され、一般には陰極線管（「ＣＲＴ」）または液晶ディスプレイ（「ＬＣＤ」）モニタである表示機器３３５に出力をもたらし、キーボード等の入力機器３４０から入力を受取る。入力は、マウス等のポインティング機器からもたらされてもよい。ネットワークアダプタ３４５は、システム２７０をネットワークに結合するために設けられる。
【００３６】
この発明の実現例の１つは、メインメモリ（ＲＡＭ３００等）内に常駐するコードモジュール内の命令のいくつかの組である。コンピュータ２７０によって所望されるまで、命令の組は、たとえば、ハードディスクドライブ、または、ＣＤ−ＲＯＭにおいて最終的に使用するための光学ディスク、もしくはフロッピー（Ｒ）ディスクドライブにおいて最終的に使用するためのフロッピー（Ｒ）ディスク等の取外し可能なメモリ等の、別のコンピュータメモリに記憶することができる。
【００３７】
次に、図３ａを参照すると、ユーザとハードウェア記述コード生成ホストとの間にグラフィカルなユーザインターフェイスを設けるインターネットウェブページ３５０の例が示される。ウェブページ３５０は、登録済のユーザ３５５および未登録の新規ユーザ３６０の両方を扱うためのハイパーリンクを含んでいることが示される。たとえば、図３ａに示されるように、登録済の顧客は、ハイパーリンク３５５を介して登録済ユーザのログイン画面へのハイパーリンクを選択することができる。同様に、未登録の顧客は、ハイパーリンク３６０を介して登録画面へのハイパーリンクを選択することができる。図３ａは登録済ユーザおよび新規ユーザに対して別個のハイパーリンクを示しているが、このようなハイパーリンクを代替的に組合せることができ、ログイン手順において、より後のステージ中にユーザの状態を判定することもできる。
【００３８】
図３ｂは、この発明の例示的な一局面に従ったウェブページ３７０を示す。この明細書に記載された例示的なウェブページのすべてにおいて、ウェブページは、ウェブページを作成して表示するのに適切な任意のフォーマットまたはプログラミング言語、たとえばＨＴＭＬ、ＤＨＴＭＬ、ＸＭＬ等であり得る。ウェブページ３７０が表示されると、ユーザは、機器のポートを記述するパラメータ等の、機器を記述する１つ以上の入力パラメータを入力することができる。たとえば、ユーザは、ポート名（ＰＯＲＴ　ＮＡＭＥ）３８０、ピンＩＤ（ＰＩＮ　ＩＤ）３８５、ポートタイプ（ＰＯＲＴ　ＴＹＰＥ）３９０、バウンダリスキャンセル番号（ＢＳＣ　ＮＵＭ）３９５、セルタイプ（ＣＥＬＬ　ＴＹＰＥ）４００、安全値（ＳＡＦＥ　ＶＡＬ）４０５、制御値（ＣＮＴＬ　ＶＡＬ）４１０、不能値（ＤＩＳ　ＶＡＬ）４１５、結果値（ＲＥＳ　ＶＡＬ）４２０、代替信号名（ＡＬＴ　ＮＡＭＥ）４２５、バッファ名（ＢＵＦ　ＮＡＭＥ）４３０、および関連する要素名（ＡＳＳＯＣ　ＥＬＥＭ）４３５を含むポート記述パラメータを入力することができる。図３ｂに示されるように、ユーザは、予め生成されたファイル４５０を介して入力パラメータ値４４０をアップロードすることができる。たとえば、コンピュータのマウス（図示せず）を用いてボタン４５５をクリックすることにより、たとえば「閲覧」ボタン４５５を用いてユーザのコンピュータハードドライブ上のファイルを閲覧することによって、入力ファイル４５０を選択することができる。閲覧機能４５５は、ユーザが、ユーザのコンピュータハードドライブ上のファイルのディレクトリを見ることを可能にし、それによって入力ファイルへのパスが選択され得る。たとえばコンピュータのマウス（図示せず）を用いてファイル名４５０をクリックすることによって、入力ファイル４５０が選択されると、次に、ユーザは、「ファイルのアップロード」ボタン４５６を選択することができる。
【００３９】
この発明のさまざまな局面がより完全に認識されるように、ポート記述が含むものについての簡潔な説明を、以下に続ける。一般に、さまざまな回路機器上の異なるタイプのＩ／Ｏピンに対し、異なるタイプのＩ／Ｏパッドが用いられる。同様に、異なるタイプのＩ／Ｏパッドに対し、異なるバウンダリスキャンセルが用いられる。たとえば、或る入力ピンは、或る入力タイプのパッドに接続し、その入力タイプのパッドが次いで、或る入力タイプのバウンダリスキャンセルに接続する。上述の内容の一例が図３ｃに示される。加えて、入力タイプのバウンダリスキャンセルの例が図３ｄに示される。ポートのタイプの情報を与えることにより、どのタイプのＩ／Ｏパッドが使用中であるかが決定され、どのタイプのバウンダリスキャンセルが使用中であるかも決められる。したがって、ポートのタイプおよびそれらの名前をそれぞれ順番に与えることにより、この発明は、バウンダリスキャンチェーンに対し、ＨＤＬ、たとえばＶＥＲＩＬＯＧネットリストを生成する。
【００４０】
たとえば、異なる６つのタイプのＩ／Ｏパッド、すなわち、入力、出力、トライステート出力、ｅｒｃｌｋ出力、入力−出力（ＩＯ）、およびトライステートＩＯがあり得る。加えて、ホストと関連する設計ライブラリでの使用に利用することのできる、異なる６つのタイプの対応するバウンダリスキャンセルがあり得る。所与の論理ブロックに対し、これらの６つのタイプのＩ／Ｏパッドが存在することが可能であり、これらのＩ／Ｏパッドの各々は、この発明により、対応する正しいタイプのバウンダリスキャンセルに接続される。したがって、この発明を、正しいタイプのバウンダリスキャンセルを適切なＩ／Ｏパッドに合致させるために使用することができる。後に、この発明は、バウンダリスキャンチェーンを形成するために、バウンダリスキャンセルをともにリンクさせる。
【００４１】
バウンダリスキャンチェーンの接続の一例が、図３ｅに示される。図３ｅにおいて、ポートのタイプおよび名前がもたらされるが、ポートの順序およびそれらの名前のそれぞれは、例示用にもたらされているために、単なる例として考えられるべきであることに注目されたい。各バウンダリスキャンセルは、ＨＤＬ、たとえばＶＥＲＩＬＯＧネットリストにおいて、それ自体のモジュール名を有する。たとえば、ＶＥＲＩＬＯＧネットリストにおいて、ホストの設計ライブラリ内の特定のタイプのバウンダリスキャンセルが、或るモジュール名と関連する。したがって、ユーザによって（手動で、またはアップロードされた入力ファイルを介して、のいずれかによって）もたらされたポートのタイプおよび名前により、たとえば、ホスト設計ライブラリにおいてそれと関連するＶＥＲＩＬＯＧネットリストモジュールを有する関連のバウンダリスキャンセルタイプを識別するポートタイプにより、ＶＥＲＩＬＯＧネットリストを生成することができる。例示的なマッピングが図３ｆに示される。
【００４２】
図３ｅおよび図３ｆから、この発明の例示的な一局面に従い、入力ポートの記述情報により、用いられているバウンダリスキャンセルのタイプを特定することによるＨＤＬの生成を容易にし、さらに、このようなバウンダリスキャンセルが、それらの相互接続と同様に、ホスト設計ライブラリにおいてＨＤＬコードの異なった断片も必要とすることが分かる。それに関連する例示的なソースコードは、この明細書において、詳細な説明の最後に付録Ａとして示される。上述のステップを実施するための例示的な方法が、図３ｇに示される。
【００４３】
次に、ウェブページ３７０に戻ると、この発明の一局面において、ウェブページ３７０は、入力ファイルのフォーマットを示す語４６０等の命令をユーザに表示して、入力フォーマットの例４６５を示すことができる。語４６０および例４６５は、入力ファイル４５０を生成してアップロードするか、そうでなければ、回路についての情報を送信するのに、ユーザにとって有用な任意の情報を含み得る。ウェブページ３７０はまた、入力パラメータ／入力ファイルフォーマットの情報に関する情報、またはユーザがこの発明を実施するのに有用な他の任意の情報を有するウェブページにリンクするハイパーリンク４７０も含み得る。
【００４４】
この発明の別の局面において、図３ｈに示されるウェブページ３７０′により、ユーザはポート記述パラメータをＨＴＭＬ入力形式４７５のフィールド内に値４４０′として入力することができ、または、図３ｉに示されるように、１つ以上のプルダウンメニュー４８０内のリストからそれらが選択されることを可能にし得る。この情報が入力されるか、または選択されると、ユーザは、たとえばコンピュータのマウス（図示せず）を用いてボタン４９０または５００をクリックすることにより、図３ｈでは「値のアップロード」ボタン４９０を選択し、図３ｉでは「提出」ボタン５００を選択することができる。プルダウンメニュー４８０上のリストが、回路を記述する、あらゆる数のタイプの入力パラメータを含み得ることを認識されたい。この発明の別の局面において、ユーザは、ＨＴＭＬの記入形式４７５（図３ｈ）およびプルダウンメニュー４８０（図３ｉ）を含む入力ウェブページをカスタマイズすることができる。
【００４５】
この発明のさらに別の局面において、プルダウンメニューまたはＨＴＭＬ形式は、ユーザによる入力に応答してｃｇｉスクリプトによって生成され得る。たとえば、図３ｊに示されるように、入力形式４７５′を有するウェブページ３７０″′をユーザに表示することができる。プルダウンメニュー４８０′または記入形式（図示せず）を含む他の任意のＨＴＭＬ形式を用いて、入力パラメータ値４４０″をユーザが入力することができる。この情報が入力されるか、または選択されると、ユーザはコンピュータのマウス（図示せず）を用いてボタン５００′をクリックすることにより、「提出」ボタン５００′を選択することができる。ユーザが値４４０″を入力するか、または選択した後に、スクリプトは、入力値４４０″に応答して、図３ｋに示されるように、別の形式５１０を生成し、このウェブページ形式５１０をユーザに表示する。ユーザは、次いで、必要に応じて入力パラメータをさらに入力することができる。たとえば、ユーザは、図３ｊに示されるように、機器のポート数の入力を求められるかもしれない。ユーザが数を入力した後に、スクリプトは、図３ｋによって示される形式５１０等の形式を生成し、これは、ポート名等の各ポートの特定の特徴を入力するための、多数のプルダウンメニュー４８０″を有する。次に、ユーザは、プルダウンメニュー４８０″内のリストから、そのパラメータ４７５″に対して適切なエントリまたは値４４０″′を選択することができる。代替的に、ｃｇｉスクリプトは、値を入力するための空欄のフィールド（図示せず）を有する形式を生成することができる。これらのスクリプトおよび形式を、たとえばＣ＋＋等のプログラミング言語を用いて、ユーザによるデータ入力からどのように生成するかについては、当業者には明らかである。
【００４６】
ユーザが入力パラメータを入力するか、またはアップロードした後に、ユーザに対し、図３ｌに示されるように、入力ファイルのアップロードが成功したことを知らせる画面５２０が表示され得る。このウェブページ５２０は、ユーザに対し、ＨＤＬファイルを生成して保存するためにどのように次に進むのかを知らせる命令５３０を含み得る。たとえば、ユーザは、ＨＤＬファイルを生成して保存するために、ボタン５４０をクリックするように指示され得る。代替的に、ＨＤＬファイルは、ユーザの介入なしに入力ファイルから自動的に生成されて保存され得、または、ＨＤＬファイルの生成および記憶は、図３ｍの画面５２０′によって示される１つ以上のステップにおいて達成され得る。
【００４７】
ＨＤＬファイルは、一般に、さまざまな入力パラメータからＨＤＬファイルを生成する機能を実行するように適合されたスクリプトにより、入力データから生成される。ＨＤＬファイルが生成された後に、ユーザは、たとえば、図３ｍに示される「保存」ボタン５５０をクリックすることにより、入力データから作成されたファイルを保存することができる。作成されたＨＤＬファイルは、後のダウンロードのためにハードウェア記述コード生成サーバに保存されてもよく、または、直ちにユーザのシステムにダウンロードされてもよい。ファイルの保存は、磁気媒体、または、電子ファイルを記憶するのに適切な、他の任意のデータ記憶媒体にファイルを書込むことを含む。代替的に、ユーザは、ファイルを直ちにダウンロードすることを選択することもできる。この発明によって作成されたファイルが、ＢＳＣファイル、ＢＳＤＬファイル、ＶＥＲＩＬＯＧネットリスト、または回路を記述する他の任意のファイル等のハードウェア記述言語（ＨＤＬ）ファイルを含むことが分かる。
【００４８】
次に、図４を参照すると、フローチャートがインターネットハードウェア記述コードを生成するための方法５６０を示す。この方法は、ユーザおよびハードウェア記述コード生成ホストがインターフェイスされるステップ５６５において開始する。ステップ５７０において、ハードウェア記述コード生成ホストは、回路を記述する１つ以上の入力パラメータをユーザから受取る。ステップ５７５において、ユーザから受取られた１つ以上の入力パラメータから、１つ以上のハードウェア記述言語（ＨＤＬ）ファイルが生成される。ＨＤＬファイルは、ＶＥＲＩＬＯＧネットリスト、ＢＳＣファイル、ＶＨＤＬファイル、ＢＳＤＬファイル、または回路を記述するのに適切な任意のフォーマットまたは言語によるファイルであってよい。用語「ＶＥＲＩＬＯＧ」が、ＩＥＥＥ標準１３６４によって規定されたものおよびＯＶＩを含むすべてのバージョンのＶＥＲＩＬＯＧを包含することを認識されたい。ホストによって生成されたＨＤＬファイルが電子フォーマットであり得ることを認識されたい。また、この発明において、ＨＤＬ記述を記憶するために、磁気媒体、光学記憶媒体、ＲＡＭ、ＲＯＭ等の、データを記憶する任意の手段を用いてよいことも認識されたい。
【００４９】
ステップ５７５は、一般に、入力パラメータからＨＤＬファイルを生成するように適合されたスクリプトによって実現される。スクリプトは、共通ゲートウェイインターフェイス（ｃｇｉ）スクリプトを含む。ｃｇｉスクリプトは、ｃｇｉ仕様に従ったデータを受取って返すように設計されたソフトウェアプログラムを含む。ｃｇｉは、ｗｗｗサーバとｃｇｉスクリプトとの間で情報を転送するための仕様である。ｃｇｉプログラムは、Ｃ＋＋、Ｐｅｒｌ、Ｊａｖａ（Ｒ）、ＡｃｔｉｖｅＸ（Ｒ）、または Ｖｉｓｕａｌ Ｂａｓｉｃ（Ｒ）等の、より高度な言語を含む、任意のプログラミング言語で書かれ得る。形式を含むＨＴＭＬページは、その形式のデータを処理するために、ｃｇｉプログラムを用いることができる。この発明のスクリプトは、入力パラメータをＨＤＬファイルに変換するためのアルゴリズムを実現するソフトウェアプログラムをコンピュータのメモリにロードすることを含む、適切な任意の態様によって実現され得る。ユーザは、インターネットを介して、または代替的に、専用データ線、ＰＣＳ、マイクロ波、衛星網、無線電話等の適切な任意の手段によって、または、ローカルエリアネットワークもしくはデスクトップコンピュータによって等のローカルな態様で、スクリプトの動作上のインターフェイスとなることができる。
【００５０】
一般に、入力パラメータは、１つ以上の回路を記述し、ポート記述等の情報を含む。回路は、ＩＥＥＥ標準１１４９．１に準拠した機器、少なくとも１つのバウンダリスキャンセルと、少なくとも１つのテストアクセスポートコントローラと、少なくとも１つのバイパスレジスタと、少なくとも１つの命令レジスタとを含む機器、少なくとも１つのバウンダリスキャンチェーンを含む機器、または他の任意の機器であってよい。このプロセスは、ステップ５８０において終了する。
【００５１】
この発明の別の局面に従い、さらなるステップ５８５を図５に示されるように実行することができる。ステップ５８５において、ユーザは、生成されたファイルを保存するか、または生成されたファイルをダウンロードするかを決定することができる。たとえば、ウェブページをユーザに表示して、ユーザがＨＤＬファイルをサーバに保存することを望むのか、または、ファイルをユーザのシステムに、直ちにもしくは後にダウンロードすることを望むのか、のいずれかを示すようにユーザに促すことができる。このことは、たとえば、ウェブページ上のボタンをクリックして、その後、パスおよびファイル名をＨＤＬファイルが記憶されるべきユーザのシステムに入力することによって、達成することができる。この発明のファイルは、磁気データを記憶するのに適切な任意のデータ記憶媒体、たとえば、磁気媒体、光学記憶媒体、ＲＡＭ、ＲＯＭ等に記憶することができる。ＨＤＬファイルが記憶されるべき場合は（ＹＥＳ）、保存が実行され、たとえば、ＨＤＬファイルは、サーバに記憶されるか、またはユーザにダウンロードされて、プロセスは終了する（ステップ５８０′）。しかしながら、ステップ５８５において、保存を望まないことが示される場合（ＮＯ）、この方法はステップ５８０′に進み、プロセスは終了する。
【００５２】
次に、図６を参照すると、フローチャートが、インターネットハードウェア記述コードを生成するための方法５６０″を示す。この方法は、ユーザおよびハードウェア記述コード生成ホストがインターフェイスされるステップ５６５″において開始する。ステップ５６８において、ハードウェア記述コード生成ホストに対し、ユーザが回路を記述する入力パラメータを入力するか、またはアップロードすることができるように、入力形式がユーザに表示される。入力パラメータは、ポート記述等の、回路を記述し得るあらゆる情報を含む。入力形式は、たとえば、入力パラメータ値を入力するためのフィールドを有するＨＴＭＬ入力形式であってもよく、または、入力パラメータ値をリストから選択することのできるプルダウンメニューを有する形式であってもよい。入力形式のリストおよびフィールドは、回路を記述するあらゆる数のタイプの入力パラメータを含み得る。この発明の別の局面に従い、ユーザは、表示されるべき入力形式をカスタマイズすることができる。ステップ５７０″において、ハードウェア記述コード生成ホストは、ユーザから、１つ以上の入力パラメータを受取る。ステップ５７５″において、ユーザから受取られた１つ以上の入力パラメータから、１つ以上のハードウェア記述言語ファイルが生成される。ステップ５７５″は、一般に、入力パラメータからＨＤＬファイルを生成するように適合されたスクリプトによって実現される。一般に、これらの入力パラメータは、１つ以上の回路を記述し、ポート記述等の情報を含む。
【００５３】
ステップ５８５′において、ユーザは、生成されたファイルを保存するか、または生成されたファイルをダウンロードするかを決定することができる。たとえば、ウェブページをユーザに表示して、ユーザがＨＤＬファイルをサーバに保存することを望むのか、または、ファイルをユーザのシステムに、直ちにもしくは後にダウンロードすることを望むのか、のいずれかを示すようにユーザに促すことができる。このことは、たとえば、ウェブページ上のボタンをクリックして、その後、パスおよびファイル名をＨＤＬファイルが記憶されるべきユーザのシステムに入力することによって、達成することができる。この発明のファイルは、磁気データを記憶するのに適切な任意のデータ記憶媒体、たとえば、磁気媒体、光学記憶媒体、ＲＡＭ、ＲＯＭ等に記憶することができる。ＨＤＬファイルが記憶されるべき場合は（ＹＥＳ）、保存が実行され、たとえば、ＨＤＬファイルは、サーバに記憶されるか、またはユーザにダウンロードされて、プロセスは終了する（ステップ５８０″）。しかしながら、ステップ５８５′において、保存を望まないことが示される場合（ＮＯ）、この方法はステップ５８０″に進み、プロセスは終了する。
【００５４】
一般的に上で論じたように、この発明は、ネットワーク機構、たとえばインターネットを用いた簡単なかつ信頼できる態様でＨＤＬファイルを生成するシステムおよび方法に関する。この発明の例示的な動作およびフローの全体が図７のフローチャートに示され、さまざまなステップおよび例示的なサブルーチンが実行され得る。例示的なサブルーチンに対する例示的なソースコードがこの発明の詳細な説明の最後に、付録Ｂとして示される。
【００５５】
代替的に、この発明のスクリプト、ウェブページ、システム、および方法は、オブジェクト指向プログラミング技術を介して実現することができる。オブジェクト指向プログラミングは、ソフトウェアを開発する重点を、機能の分解から、データおよび機能の両方を閉じ込めた「オブジェクト」と呼ばれるソフトウェアのユニットの認識へと移行させる。オブジェクト指向プログラミング（Ｏｂｊｅｃｔ Ｏｒｉｅｎｔｅｄ Ｐｒｏｇｒａｍｍｉｎｇ）（ＯＯＰ）オブジェクトは、データ構造およびデータに基づく演算を含むソフトウェアエンティティである。ともに、これらの要素により、オブジェクトは、そのデータ要素によって示されるその特性と、そのデータ操作機能によって示されるその挙動との点において、実質的にあらゆる現実世界のエンティティのモデルとなることを可能にする。このようにして、オブジェクトは、人間およびコンピュータ等の具体物のモデルとなることができ、それらは、数または幾何学上の概念等の抽象概念のモデルとなることもできる。
【００５６】
オブジェクト技術の利点は、基本的な３つの原理、すなわち、カプセル化、ポリモアフィズム、および継承から生じる。オブジェクトは、それらのデータの内部構造およびそれらの機能が作動するアルゴリズムを隠し、すなわち、カプセル化する。これらの実現の詳細を露呈する代わりに、オブジェクトは、無関係の情報が全くない状態で、それらの抽象物を簡潔に示すインターフェイスを示す。ポリモアフィズムは、カプセル化を一段階さらに進める。すなわち、この概念とは、形状は多くてもインターフェイスは１つ、である。ソフトウェアの構成要素は、その構成要素が何であるかを正確に知らずに別の構成要素を要求することができる。要求を受取った構成要素は、それを解釈して、その要求をその変数およびデータに応じてどのように実行すべきかを算出する。第３の原理は継承であり、これは、開発者が既存の設計およびコードを再利用することを可能にする。この能力により、開発者は、ソフトウェアを最初から作成することを回避できる。むしろ、継承を通じて、開発者は、特定の必要性に応じるために開発者が次にカスタマイズする挙動を継承するサブクラスを導出する。
【００５７】
特に、オブジェクトは、データ上で作動することのできるオペレーションの組（メソッド等）、およびデータの組（属性等）を含み、それらによって特徴づけられる。一般に、オブジェクトのデータは、理想的には、オブジェクトのメソッドのオペレーションを介してのみ変更される。オブジェクト内のメソッドは、メッセージをオブジェクトに渡すこと（メッセージパッシング等）によって呼出される。そのメッセージは、メソッド名と引数リストとを特定する。オブジェクトがメッセージを受取ると、指定されたメソッドと関連するコードが、引数リスト内の対応する値に向けられたメソッドの仮パラメータによって実行される。ＯＯＰにおけるメソッドおよびメッセージのパッシングは、手続きと類似しており、手続きは、手続き指向ソフトウェア環境を求める。
【００５８】
しかしながら、手続きが、渡されたパラメータを変更して返すように作動するのに対し、メソッドは、関連するオブジェクトの内部状態を（その中に含まれるデータを変更することによって）変更するように作動する。オブジェクト内のデータおよびメソッドの組合せをカプセル化と呼ぶ。カプセル化は、オブジェクトと関連する、よく定義されたメソッドによってのみ変更されるべきオブジェクトの状態をもたらす。オブジェクトの挙動が、このようによく定義された場所およびインターフェイスに閉じ込められた場合、オブジェクト内の変更（コード変更等）がシステム内の他のオブジェクトおよび要素に与える影響は最小となる。
【００５９】
各オブジェクトは、或るクラスのインスタンスである。クラスは、データ属性の組に加え、そのデータ属性に対して許容可能なオペレーション（メソッド等）の組を含む。上述のように、ＯＯＰは、継承をサポートする。すなわち、或るクラス（サブクラスと呼ばれる）を、別のクラス（基底クラス、親クラス等と呼ばれる）から導出することができ、サブクラスは、基底クラスのデータ属性およびメソッドを継承する。サブクラスは、基底クラスのデータおよび／またはメソッドをオーバーライドするか、または、新規のデータ属性およびメソッドを加えるコードを加えることによって、基底クラスを特殊化することができる。したがって、継承は、サブクラスがより高度な特殊化のために生成されるにつれて、抽象物が一層具象化されるメカニズムを示す。この発明は、抽象クラスも用いるが、それらは、協同して１組の義務を果たすオブジェクトの組の設計である。フレームワークは、本質的には、ワーキングアプリケーションに対して予め作成された構造をもたらす、相互接続されたオブジェクトおよびクラスの群である。
【００６０】
この発明の一局面では、Ｊａｖａ（Ｒ）およびＣＯＲＢＡ（共通オブジェクトリクエストブローカアーキテクチャ（Ｃｏｍｍｏｎ Ｏｂｊｅｃｔ Ｒｅｑｕｅｓｔ Ｂｒｏｋｅｒ Ａｒｃｈｉｔｅｃｔｕｒｅ））が用いられている。Ｊａｖａ（Ｒ）は、オブジェクト指向の、分散型の、安全な、アーキテクチャに中立な言語である。Ｊａｖａ（Ｒ）は、インターフェイスの簡潔な定義を容易にして、再利用可能な「ソフトウェアＩＣ」を提供することを可能にする、オブジェクト指向設計をもたらす。Ｊａｖａ（Ｒ）は、ＨＴＴＰおよびＦＴＰ等のＴＣＰ／ＩＰプロトコルを用いて容易にコピーされるために、ルーチンの拡張ライブラリを有する。Ｊａｖａ（Ｒ）アプリケーションは、プログラマーがローカルなファイルシステムにアクセスするのに慣れているのと同じ簡易さで、ネットワーク全体においてＵＲＬを介して、オブジェクトを開いてそれらにアクセスすることができる。
【００６１】
さらに、Ｊａｖａ（Ｒ）は、ポインタモデルの代わりに「参照」を用いるため、メモリを書換えて、データを破壊する可能性をなくす。従来の多くのシステムで用いられているポインタ演算の代わりに、Ｊａｖａ（Ｒ）の「仮想マシン」は、タイプセーフに Ｊａｖａ（Ｒ）オブジェクト（属性およびメソッド）へのアクセスを媒介する。加えて、任意の整数をキャスティングによって（ＣおよびＣ＋＋プログラムの場合のように）参照に変換することができない。そのようにして、Ｊａｖａ（Ｒ）は、ウィルスの影響を受けずかつ改ざんの行なわれないシステムの構成を可能にする。参照のセマンティクスに対する変更により、アプリケーションがデータ構造へのアクセスを偽造したり、または、それらがアクセスを有さない、オブジェクト内の私的なデータにアクセスすることを実質的に不可能にする。その結果、ウィルスの活動のほとんどが、予め Ｊａｖａ（Ｒ）のシステムを破壊しないようになっている。
【００６２】
Ｊａｖａ（Ｒ）は、ネットワーク上でのアプリケーションのサポートをもたらす。ネットワークは、さまざまなＣＰＵおよびオペレーティングシステムアーキテクチャを備えたさまざまなシステムからなる。Ｊａｖａ（Ｒ）アプリケーションがネットワーク上のどこにおいても実行され得るように、コンパイラは、アーキテクチャに中立なオブジェクトファイルフォーマットを生成する。すなわち、コンパイル済のコードは、Ｊａｖａ（Ｒ）の実行時のシステムが存在する限り、多くのプロセッサ上で実行可能である。したがって、Ｊａｖａ（Ｒ）は、ネットワークに対してだけでなく、単一システムのソフトウェア分散に対しても有用である。現在のパーソナルコンピュータ市場において、アプリケーションライターは、複数のオペレーティングシステムのプラットフォームと互換性のあるアプリケーションのバージョンを作成しなければならない。しかしながら、Ｊａｖａ（Ｒ）を用いると、アプリケーションの同じバージョンは、すべてのプラットフォーム上で稼動する。Ｊａｖａ（Ｒ）コンパイラは、特定のコンピュータアーキテクチャとは無関係なバイトコード命令を生成することによって、このことを達成する。さらに、それらは、いかなるマシンにおいても解釈されやすく、かつ、その場で容易に固有のマシンコードに翻訳され得るように設計される。
【００６３】
アーキテクチャに中立であるために、このシステムの「実施例に依存する」局面は、減じられるか、または除去される。Ｊａｖａ（Ｒ）仮想マシン（ＶＭ）は、ＶＭが移植されるどのようなマシンにおいても Ｊａｖａ（Ｒ）のバイトコードを直接実行することができる。リンキングは、よりインクリメンタルな、それほど重要ではないプロセスであるために、この開発プロセスは、より一層迅速であってかつ探査的なものとなり得る。バイトコードストリームの一部として、より多くのコンパイル時間情報が引き継がれ、実行時に利用可能となる。
【００６４】
したがって、この発明において Ｊａｖａ（Ｒ）を用いることにより、従来のサーバがデータを送信するのと同じぐらい容易に、サーバがネットワークを介してプログラムを送ることができる。これらのプログラムは、クライアントのコンピュータ上にデータを表示し、それを操作することができる。Ｊａｖａ（Ｒ）の使用を介したこの発明は、複数のプラットフォーム上での実行をサポートする。すなわち、同じプログラムを、コンピュータのオペレーティングシステムのプラットフォームと関係なく、実質的にすべてのコンピュータ上で稼動させることができる。このような複数のプラットフォームのサポートを行なうために、この発明では、ネットスケープナビゲータ（Ｒ）（Ｎｅｔｓｃａｐｅ Ｎａｖｉｇａｔｏｒ）またはマイクロソフトインターネットエクスプローラ（Ｒ）（Ｍｉｃｒｏｓｏｆｔ Ｉｎｔｅｒｎｅｔ Ｅｘｐｌｏｒｅｒ）等のネットワークアダプタおよびネットワークブラウザ（図示せず）を用いることができる。しかしながら、実質的に等価の結果を得るために、Ｊａｖａ（Ｒ）のスタンドアロンのアプリケーションを構成し得ることも認識されたい。この発明を Ｊａｖａ（Ｒ）を用いることに関して説明してきたが、この発明を実施するために、適切な任意のプログラミング言語を用いてよいことが認識されるであろう。
【００６５】
クライアントコンピュータのメモリ内に、インターネットブラウザ（ネットスケープ（Ｒ）、マイクロソフトインターネットエクスプローラ（Ｒ）等）が保持されている。インターネットブラウザにより、ユーザは、インターネットを探索して、インターネットからの書類を見ることができる。インターネットブラウザは、異なったプロトコルを用いた閲覧を容易にするために、異なったインターネットプロトコル（ＨＴＴＰ、ＦＴＰ、および Ｇｏｐｈｅｒ 等）に対するプロトコルハンドラ用のクライアントプログラムを含むことができる。この発明を実施するのに適切な任意のプログラミング方法および／またはコンピュータアーキテクチャを用いてよく、それらが添付の請求項の範囲内にあるように意図されることを認識されたい。
【００６６】
上述の内容は、この発明のいくつかの局面および実施例である。当然ながら、この発明を説明するために、構成要素または方法の組合せを、考えられる限りすべて記載することはできないが、当業者は、この発明のさらに多くの組合せおよび組換えを認識するであろう。したがって、この発明は、前掲の請求項の精神および範囲内にあるこのような代替物、変形物、および変更物のすべてを包含することを意図される。
【００６７】
この発明を特定の実施例に関して示し、説明してきたが、この明細書および添付の図面を読んで理解されると、当業者には等価の代替物および変更物が生じるであろう。上述の構成要素（システム、機器、アセンブリ等）によって行なわれるさまざまな機能に特に関し、このような構成要素を示すために用いられた用語は、特に指示されない限り、ここに示されたこの発明の実施例で機能を果たす開示された構造と構造上等価でない場合も、記載された構成要素の特定の機能を果たす（すなわち、機能上等価である）あらゆる構成要素に対応することが意図される。加えて、この発明の特定の特徴が、いくつかの実施例のうちの１つのみに関して開示されてきたが、このような特徴を、所与のまたは特定の任意のアプリケーションに対して所望されかつ有利となり得るように、他の実施例の１つ以上の特徴と組合わせることができる。さらに、詳細な説明および請求項のいずれかにおいて用語「含む」が用いられる限り、このような用語は、用語「備える」と同様の態様で包括的であることが意図される。
【００６８】
【産業上の利用可能性】
このシステムおよび関連する方法は、バウンダリスキャン構成ファイルを生成する効果的な方法をもたらすために、集積回路のテストの分野で用いることができる。
【００６９】
【数１】
2004514995.tif 000003
【００７０】
【数２】
2004514995.tif 000004
【００７１】
【数３】
2004514995.tif 000005
【００７２】
【数４】
2004514995.tif 000006
【００７３】
【数５】
2004514995.tif 000007
【００７４】
【数６】
2004514995.tif 000008
【００７５】
【数７】
2004514995.tif 000009
【００７６】
【数８】
2004514995.tif 000010
【００７７】
【数９】
2004514995.tif 000011
【００７８】
【数１０】
2004514995.tif 000012
【００７９】
【数１１】
2004514995.tif 000013
【００８０】
【数１２】
2004514995.tif 000014
【００８１】
【数１３】
2004514995.tif 000015
【００８２】
【数１４】
2004514995.tif 000016
【００８３】
【数１５】
2004514995.tif 000017
【００８４】
【数１６】
2004514995.tif 000018
【００８５】
【数１７】
2004514995.tif 000019
【００８６】
【数１８】
2004514995.tif 000020
【００８７】
【数１９】
2004514995.tif 000021
【００８８】
【数２０】
2004514995.tif 000022
【００８９】
【数２１】
2004514995.tif 000023
【００９０】
【数２２】
2004514995.tif 000024
【００９１】
【数２３】
2004514995.tif 000025
【００９２】
【数２４】
2004514995.tif 000026
【図面の簡単な説明】
【図１】ＪＴＡＧ準拠機器の概略図である。
【図２ａ】この発明の一局面に従った、クライアントおよびサーバの概略図である。
【図２ｂ】この発明の一局面に従った、インターネットハードウェア記述コード生成システムの概略図である。
【図２ｃ】この発明の一局面に従った、インターネットハードウェア記述コード生成システムの概略図である。
【図２ｄ】この発明の一局面に従った、インターネットハードウェア記述コード生成システムの概略図である。
【図２ｅ】この発明の一局面に従った、インターネットハードウェア記述コード生成システムの概略図である。
【図２ｆ】この発明の一局面に従った、コンピュータを概略的に示すブロック図である。
【図３ａ】この発明の一局面に従った、ウェブページの概略図である。
【図３ｂ】この発明の一局面に従った、ウェブページの概略図である。
【図３ｃ】チップ境界における、バウンダリスキャンセル接続の概略図である。
【図３ｄ】この発明の一局面に従った、例示的な入力バウンダリスキャンセルの概略図である。
【図３ｅ】バウンダリスキャンチェーンがコア論理周辺にどのように接続されているか、および、ポート情報が、使用中のバウンダリスキャンセルのタイプに関連する情報をどのように提供するかを示す概略図である。
【図３ｆ】この発明の例示的な一局面に従った、設計ライブラリセルとバウンダリスキャンチェーンＶＥＲＩＬＯＧネットリストとの間の関係の概略図である。
【図３ｇ】この発明の例示的な一局面に従った、ハードウェア記述コードを生成するための方法を示すフローチャートである。
【図３ｈ】この発明の一局面に従った、入力形式を設けるウェブページの概略図である。
【図３ｉ】この発明の一局面に従った、入力形式を設けるウェブページの概略図である。
【図３ｊ】この発明の一局面に従った、入力形式を設けるウェブページの概略図である。
【図３ｋ】この発明の一局面に従った、入力形式を設けるウェブページの概略図である。
【図３ｌ】この発明の一局面に従った、ウェブページの概略図である。
【図３ｍ】この発明の一局面に従った、ウェブページの概略図である。
【図４】この発明の一局面に従った、インターネットハードウェア記述コード生成方法に対するフローチャートを示す。
【図５】この発明の一局面に従った、インターネットハードウェア記述コード生成方法に対するフローチャートを示す。
【図６】この発明の一局面に従った、インターネットハードウェア記述コード生成方法に対するフローチャートを示す。
【図１】
2004514995.tif 000027
【図２ａ】
2004514995.tif 000028
【図２ｂ】
2004514995.tif 000029
【図２ｃ】
2004514995.tif 000030
【図２ｄ】
2004514995.tif 000031
【図２ｅ】
2004514995.tif 000032
【図２ｆ】
2004514995.tif 000033
【図３ａ】
2004514995.tif 000034
【図３ｂ】
2004514995.tif 000035
【図３ｃ】
2004514995.tif 000036
【図３ｄ】
2004514995.tif 000037
【図３ｅ】
2004514995.tif 000038
【図３ｆ】
2004514995.tif 000039
【図３ｇ】
2004514995.tif 000040
【図３ｈ】
2004514995.tif 000041
【図３ｉ】
2004514995.tif 000042
【図３ｊ】
2004514995.tif 000043
【図３ｋ】
2004514995.tif 000044
【図３ｌ】
2004514995.tif 000045
【図３ｍ】
2004514995.tif 000046
【図４】
2004514995.tif 000047
【図５】
2004514995.tif 000048
【図６】
2004514995.tif 000049
【図７】
2004514995.tif 000050
【国際公開パンフレット】
2004514995.tif 000051
2004514995.tif 000052
2004514995.tif 000053
2004514995.tif 000054
2004514995.tif 000055
2004514995.tif 000056
2004514995.tif 000057
2004514995.tif 000058
2004514995.tif 000059
2004514995.tif 000060
2004514995.tif 000061
2004514995.tif 000062
2004514995.tif 000063
2004514995.tif 000064
2004514995.tif 000065
2004514995.tif 000066
2004514995.tif 000067
2004514995.tif 000068
2004514995.tif 000069
2004514995.tif 000070
2004514995.tif 000071
2004514995.tif 000072
2004514995.tif 000073
2004514995.tif 000074
2004514995.tif 000075
2004514995.tif 000076
2004514995.tif 000077
2004514995.tif 000078
2004514995.tif 000079
2004514995.tif 000080
2004514995.tif 000081
2004514995.tif 000082
2004514995.tif 000083
2004514995.tif 000084
2004514995.tif 000085
2004514995.tif 000086
2004514995.tif 000087
2004514995.tif 000088
2004514995.tif 000089
2004514995.tif 000090
2004514995.tif 000091
2004514995.tif 000092
2004514995.tif 000093
2004514995.tif 000094
2004514995.tif 000095
2004514995.tif 000096
2004514995.tif 000097
2004514995.tif 000098
2004514995.tif 000099
2004514995.tif 000100
2004514995.tif 000101
2004514995.tif 000102
2004514995.tif 000103
2004514995.tif 000104
2004514995.tif 000105
2004514995.tif 000106
2004514995.tif 000107
2004514995.tif 000108
2004514995.tif 000109
2004514995.tif 000110
2004514995.tif 000111
2004514995.tif 000112
2004514995.tif 000113
2004514995.tif 000114
2004514995.tif 000115
2004514995.tif 000116
2004514995.tif 000117
2004514995.tif 000118
2004514995.tif 000119
【国際公開パンフレット（コレクトバージョン）】
2004514995.tif 000120
【国際調査報告】
2004514995.tif 000121
2004514995.tif 000122