JP2005157849A - システムlsi設計装置、システムlsi設計用処理プログラム、及び整合性検証方法 - Google Patents

システムlsi設計装置、システムlsi設計用処理プログラム、及び整合性検証方法 Download PDF

Info

Publication number
JP2005157849A
JP2005157849A JP2003397160A JP2003397160A JP2005157849A JP 2005157849 A JP2005157849 A JP 2005157849A JP 2003397160 A JP2003397160 A JP 2003397160A JP 2003397160 A JP2003397160 A JP 2003397160A JP 2005157849 A JP2005157849 A JP 2005157849A
Authority
JP
Japan
Prior art keywords
consistency
information
file
processing program
consistency information
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.)
Pending
Application number
JP2003397160A
Other languages
English (en)
Inventor
Hironori Kamiya
裕徳 上谷
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.)
Toshiba Corp
Original Assignee
Toshiba Corp
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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP2003397160A priority Critical patent/JP2005157849A/ja
Priority to US10/851,167 priority patent/US7062400B2/en
Publication of JP2005157849A publication Critical patent/JP2005157849A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)
  • Stored Programmes (AREA)

Abstract

【課題】 構成変更可能なプロセッサを含むシステムLSIの設計装置における一連の処理プログラム(設計ツール)の整合性を保つこと。
【解決手段】 目的に応じて構成変更可能なプロセッサを含むシステムLSIの設計に用いられる一連の処理プログラムからなり、各処理プログラムは、先行する処理プログラムが出力するファイルを入力し、後続の処理プログラムの入力となるファイルを出力するように構成される。各処理プログラムは、(a)処理プログラム間の整合性情報を記憶する整合性情報記憶部、(b)入力したファイルに含まれる整合性情報を識別する整合性情報識別部、(c)識別した整合性情報と整合性情報記憶部に記憶された整合性情報とを比較して整合性が保たれているか否かを検証する整合性情報検証部、(d)出力するファイルに整合性情報を付加して出力する整合性情報付加部を備える。
【選択図】 図1

Description

本発明は、目的に応じて構成変更可能なプロセッサを含むシステムLSIの設計装置、システムLSI設計用処理プログラム、及び整合性検証方法に係り、特に、システムLSI設計装置に用いられる一連の処理プログラムの整合性を保つための技術に関する。
従来、目的に応じて命令を追加したり、構成を変更したりできるプロセッサを搭載したSoC(System on Chip)などのシステムLSI設計では、設計者は、開発対象のシステムに求められるアルゴリズムをC言語などのプログラミング言語で記述して、上位レベルでのシステムシミュレーションを行って、システムとしての機能の確認を行うことが不可欠になっている。
具体的には、図11に示すように、プログラミング言語でアルゴリズムをソースプログラムとして記述し(ステップS901)、搭載するプロセッサの構成を選択して、コンパイラやシミュレータ等の処理プログラム(設計ツール)を生成し(ステップS902)、ソースプログラムのコンパイルやシミュレーション等を実行し(ステップS903)、所望する性能を達成したか否かを検証する(ステップS904)。
検証の結果、所望の性能を達成していない場合は、評価すべきプロセッサの構成の組み合わせが残っていたら(ステップS905)、ステップS902へ戻って、プロセッサの構成の選択から再実行する(ステップS902〜S904)。評価すべきプロセッサの構成の組み合わせ全てについて選択が終了していたら、ハードウェア化すべき(ボトルネックとなっている)箇所を選択し、ソースプログラムに記述された機能のうちハードウェアに置き換える部分を分割する(ステップS906)。そして、ソースプログラムのコンパイルやシミュレーション等を実行して(ステップS907)、所望の性能が達成されたか否かを検証する(ステップS908)。検証の結果、所望の性能を達成していない場合は、アルゴリズム選択を含め再設計し、ステップS901に戻る。
ステップS908もしくはステップS904検証の結果、所望の性能が達成された場合は、ソフトウェアのチューニング、高位合成、人手による設計等、実装するための作業が行われる(ステップS910)。
ここで、上記ステップS903あるいはステップS907の処理においては、一般に、複数の段階からなる処理手順(例えば、コンパイル、アセンブル、リンケージ、シミュレーション等の複数の処理プログラム)を経て行われる。各段階における処理プログラム(設計ツール)は、前の段階の処理プログラムで生成されたデータ(ファイル)を入力するとともに、各段階の目的に応じて、必要なデータを入力したり、設定された起動オプションを入力したりして、データを処理する。
各段階において処理プログラムによるデータ処理が正常に終了し、処理結果がターゲットとなるシステムLSIの仕様を満たしていれば、この処理プログラムが生成したデータ(ファイル)を用いて、次の段階の処理プログラム(設計ツール)がデータ処理を実行する。処理プログラムによるデータ処理でエラーを検出したり、処理結果がターゲットとなるシステムLSIの仕様を満たしていないことが見込まれたりするときには、必要に応じて前段階に戻って、入力データ等の修正などを行い、処理プログラムを再実行する。
このように、設計のためのデータは複数の処理プログラム(設計ツール)により順次処理されて設計が行われるが、特に、構成変更可能なプロセッサを含むシステムLSIの設計の場合、例えば、キャッシュメモリサイズやオプション命令の有無など選択するプロセッサの構成を変更した際には、それに応じて各処理プログラム(設計ツール)も変更する必要がある。
そこで、プロセッサの構成を変更した後に、その構成に応じて一貫して処理可能な設計ツール群を生成するシステムLSI設計装置が開示されている(例えば、特許文献1参照)。
特開2002−230065号公報
このような従来の設計装置を用いてシステムLSIを設計する場合、図11に示したフローチャートのステップS902〜ステップS905の処理手順(あるいはステップS906〜ステップS908の処理手順)により、システムLSIの仕様が記述されたソースプログラムの機能や性能を検査し、評価する。
この段階で、コンフィグレーション情報により指定される構成の異なるプロセッサでの検査や評価が行われるため、図12に例示するように、コンフィギュレーション毎にそれぞれ異なる処理プログラム(設計ツール)群が生成され用いられることになる。ところが、こうした検査や評価といった作業は、しばしば複数の人員で分担して行われるため、処理プログラム(設計ツール)の変更に伴う作業者間の連絡が滞りがちになる。そのため、図14に例示するように、ソースプログラム(foo.c)をコンパイルするためのコンパイラ(C([A]T1-001))のコンフィグレーション情報[A]と、コンパイル結果(foo.s)をアセンブルするためのアセンブラ(A([B]T1-1a))のコンフィグレーション情報[B]が異なるといったミスが発生し、その結果、正しく実行されずに実行エラーや誤動作を引き起こしてしまう。
また、図13に例示するように、例えば、性能向上やバグ対策等のために処理プログラム(設計ツール)群を生成する生成ツールのバージョン(Ver. T1)を新たなバージョン(Ver. T2)に更新したといったケースでも、図15に例示するように、コンパイラ(C([A]T1-001))、アセンブラ(A([A]T1-1a))、リンカ(L([A]T1-10))のバージョン(Ver. T1)と、シミュレータ(S([A]T2-X))のバージョン(Ver. T2)とが食い違ったまま実行してしまうといったミスが発生すると、その結果、実行エラーや誤動作に陥ってしまう。
このように、構成変更可能なプロセッサを含むシステムLSIを設計する場合、選択するプロセッサの構成変更等に伴って、処理プログラム(設計ツール)群が数多く生成され、実行環境に応じて使い分ける必要があるため、バージョンや環境等の管理などに多大なコストや時間が掛かるといった問題があった。また、上記のように、誤ったバージョンの処理プログラム(設計ツール)を実行した場合、実行エラーや誤動作が生じるため、その原因の解明や再実行などに要するコストや時間も多大な負担となっていた。
本発明は、このような問題に鑑みてなされたものであって、構成変更可能なプロセッサを含むシステムLSIの設計装置における一連の処理プログラム(設計ツール)の整合性を保つことができるシステムLSI設計装置、システムLSI設計用処理プログラム、及び整合性検証方法を提供することを目的とする。
上記課題を解決するため、本発明に係るシステムLSI設計装置の特徴は、目的に応じて構成変更可能なプロセッサを含むシステムLSIの設計に用いられる一連の処理プログラムからなり、各処理プログラムは、先行する処理プログラムが出力するファイルを入力し、後続の処理プログラムの入力となるファイルを出力するように構成されるシステムLSI設計装置であって、処理プログラムは、(a)各処理プログラム間の整合性情報を記憶する整合性情報記憶部と、(b)入力したファイルに含まれる整合性情報を識別する整合性情報識別部と、(c)識別した整合性情報と整合性情報記憶部に記憶された整合性情報とを比較して整合性が保たれているか否かを検証する整合性情報検証部と、(d)出力するファイルに整合性情報を付加して出力する整合性情報付加部とを備えることにある。
また、本発明に係るシステムLSI設計用処理プログラムの特徴は、目的に応じて構成変更可能なプロセッサを含むシステムLSIの設計装置に用いられる一連の処理プログラムであって、先行する処理プログラムが出力するファイルを入力し、後続の処理プログラムの入力となるファイルを出力するように構成され、(a)入力したファイルに整合性情報が含まれているか否かを識別する処理と、(b)識別した整合性情報と予め処理プログラム毎に記憶していた整合性情報とを比較して、整合性が保たれているか否かを検証する処理と、(c)出力するファイルに整合性情報を付加して出力する処理とを含む処理をシステムLSIの設計装置に実行させることにある。
また、本発明に係る整合性検証方法の特徴は、目的に応じて構成変更可能なプロセッサを含むシステムLSIの設計装置に用いられる一連の処理プログラムの整合性を検証する方法であって、(a)先行する処理プログラムが出力したファイルを入力し、入力したファイルに整合性情報が含まれているか否かを識別する段階と、(b)識別した整合性情報と予め処理プログラム毎に記憶していた整合性情報とを比較して、整合性が保たれているか否かを検証する段階と、(d)後続の処理プログラムの入力となるファイルに整合性情報を付加して出力する段階とを含むことにある。
本発明によれば、構成変更可能なプロセッサを含むシステムLSIの設計装置で用いられる、一連の処理プログラムの整合性を保つことができるシステムLSI設計装置、システムLSI設計用処理プログラム、及び整合性検証方法を提供することができる。
以下、本発明の実施形態を図面に基づいて説明する。尚、各図面を通じて同一もしくは同等の部位や構成要素には、同一もしくは同等の参照符号を付し、その説明を省略もしくは簡略化する。
[システムLSI設計装置の構成]
本実施形態におけるシステムLSI設計装置は、ターゲットシステムに応じて、命令を追加したり、構成(コンフィグレーション)を変更したりすることができる構成変更可能なプロセッサ(コンフィグラブル・プロセッサ)を含むシステムLSI等を設計するための設計装置であり、例えば、中央処理装置、記憶装置、入力装置、出力装置などを備えたコンピュータシステムにより実現される。
図1に示すように、本実施形態におけるシステムLSI設計装置は、目的に応じて構成変更可能なプロセッサを含むシステムLSIの設計に用いられる一連の処理プログラム(設計ツール)20a,20b,…,20nを含んでいる。各処理プログラム20a,20b,…,20nは、プロセッサの構成を指定するコンフィグレーション情報11とテンプレート12に基づいて設計ツール生成ソフト10により生成される。
各処理プログラム20a,20b,…,20nは、先行する処理プログラムが出力するファイルを入力し、後続の処理プログラムの入力となるファイルを出力するように構成される。例えば、処理プログラム20aは、設計データ22a(及び整合性情報23a)を入力して、後続の処理プログラム20bの入力となる設計データ22b及び整合性情報23bを出力する。処理プログラム20bは、先行する処理プログラム20aが出力した設計データ22b及び整合性情報23bを入力して、後続の処理プログラム(図示せず)の入力となる設計データ22c及び整合性情報23cを出力する。同様に、処理プログラム20nは、先行する処理プログラム(図示せず)が出力した設計データ及び整合性情報(図示せず)を入力して、設計データ22m及び整合性情報23mを出力する。
また、各処理プログラム20a,20b,…,20nは、必要に応じて、起動オプション21a,21b,…,21nをそれぞれ入力し、指定された起動オプションに応じた処理を実行する。更に、各処理プログラム20a,20b,…,20nは、整合性が保たれていないと判定した場合、エラー情報24a,24b,…,24nをそれぞれ出力する。
図2は、処理プログラム20a,20b,…,20nのうち、処理プログラム20aを例に、その内部構成例を示しており、処理プログラム20aは、設計ツール処理部201、整合性情報識別部301、整合性情報記憶部302、整合性検証部304、整合性情報付加部303などを備えている。
設計ツール処理部201は、入力したファイルに含まれる設計データ22aを処理(例えば、コンパイルやリンケージ等の処理)して処理結果の設計データ22bを後続の処理プログラムのために出力する。
整合性情報識別部301は、入力したファイルに含まれる整合性情報23aを識別する。
整合性情報記憶部302は、各処理プログラム間の整合性情報を記憶する。ここで記憶される整合性情報は、コンフィグレーション情報331、起動オプション情報332、バージョン情報333などの情報のうち、少なくとも1つ以上の情報を含む。コンフィグレーション情報331には、設計ツール生成ソフト10が処理プログラム20aを生成する際に入力したコンフィグレーション11の情報(プロセッサの構成情報)が格納され、バージョン情報333には、処理プログラム20aが生成された際のバージョン情報が格納される。また、起動オプション情報332には、処理プログラム20aが起動される際に指定される起動オプション21aの情報が格納される。
整合性検証部304は、整合性情報識別部301にて識別された整合性情報23aと整合性情報記憶部302に記憶されている整合性情報331,332,333とを比較して、処理プログラム間の整合性が保たれているか否かを検証し、整合性が保たれていないと判定した場合、エラー情報24aを出力する。
整合性情報付加部303は、整合性検証部304により整合性が保たれていると判定された場合に、出力ファイルに整合性情報23bを付加して出力する。
[システムLSI設計装置の処理動作]
図3は、システムLSI設計装置における各処理プログラム(設計ツール)20a,20b,…,20nによる整合性検証処理手順を例示している。尚、図2に示す処理手順をコンピュータプログラムにして、コンピュータ読み取り可能な記憶媒体に格納し、コンピュータシステムにより実現されるシステムLSI設計装置に読み取らせ、読み取らせたコンピュータプログラムに記述されている各処理を、このシステムLSI設計装置に実行させることができる。
図3に示すように、まず、ステップS101において、整合性情報識別部301は、入力したファイルに整合性情報23aが付加されているか否かを判別する。判別の結果、入力したファイルに整合性情報23aが付加されている場合はステップS102に進み、付加されていない場合はステップS110に進む。
ステップS102において、整合性検証部304は、入力したファイルに付加されている整合性情報23aにコンフィグレーション情報が含まれているか否かを判別し、コンフィグレーション情報が含まれている場合、ステップS103において、判別したコンフィグレーション情報と、整合性情報記憶部302に記憶されているコンフィグレーション情報331(つまり、当該設計ツールが生成されたときに設定されたコンフィグレーション情報11)とが一致するか否かを判別する。判別の結果、一致しない場合は、ステップS108へ進んでエラー処理を実行する。
ステップS102の判別の結果、入力したファイルに付加されている整合性情報にコンフィグレーション情報が含まれていない場合、もしくは、ステップS103の判別の結果、入力したファイルに付加されているコンフィグレーション情報と、整合性情報記憶部302に記憶されているコンフィグレーション情報331とが一致する場合は、ステップS104に進む。
ステップS104において、整合性検証部304は、入力したファイルに付加されている整合性情報23aに起動オプション情報が含まれているか否かを判別し、起動オプション情報が含まれている場合、ステップS105において、判別した起動オプション情報と、整合性情報記憶部302に記憶されている起動オプション情報332(つまり、設計ツールが起動されたときに設定された起動オプション情報21a)とを比較し、処理許可範囲内であるか否かを判別する。判別の結果、処理許可範囲内でない場合は、ステップS108へ進んでエラー処理を実行する。
ステップS104の判別の結果、入力したファイルに付加されている整合性情報に起動オプションが含まれていない場合、もしくは、ステップS105の判別の結果、入力したファイルに付加されている起動オプション情報が処理許可範囲内である場合は、ステップS106に進む。
ステップS106において、整合性検証部304は、入力したファイルに付加されている整合性情報23aにバージョン情報が含まれているか否かを判別し、バージョン情報が含まれている場合、ステップS107において、判別したバージョン情報と、整合性情報記憶部302に記憶されているバージョン情報333(つまり、設計ツールが生成されたときのバージョン)とを比較し、処理許可範囲内であるか否かを判別する。判別の結果、処理許可範囲内でない場合は、ステップS108へ進んでエラー処理を実行する。
ステップS103、ステップS105、ステップS107のうち少なくとも1つで不整合を検知した場合、整合性検証部304は、ステップS108において「整合性エラー」の情報をエラー情報ファイル24aに出力し、ステップS109において、エラーレベルを判別する。そして、処理続行可能なエラーレベルであれば、ステップS110に進み、処理続行不可能なエラーレベルであれば、この一連の処理を終了する。
一方、ステップS106の判別の結果、入力したファイルに付加されている整合性情報にバージョンが含まれていない場合、もしくは、ステップS107の判別の結果、入力したファイルに付加されているバージョン情報が処理許可範囲内である場合は、ステップS110に進む。
ステップS110において、設計ツール処理部201は、入力したファイルの設計データ22aについて所定の処理を実行する。
ステップS111において、整合性情報付加部303は、入力したファイルに含まれていた整合性情報23aと整合性情報記憶部302の情報に基づいて、後続する処理プログラム(設定ツール)で用いる整合性情報23bを作成し、ステップS112において、作成した整合性情報23bを設計データ22bに付加して出力ファイルに出力する。
尚、ステップS102〜ステップS107に示した整合性情報(コンフィグレーション情報、起動オプション情報、バージョン情報)の検証処理の順番は、図3に示した処理順に限定されず、どのような順番に処理しても良いし、それぞれの検証処理を並行に処理しても良い。
以上に説明した処理を各処理プログラム(設計ツール)20a,20b,…,20nがそれぞれ実行することで、例えば、図4に示すように、処理プログラム20aであるコンパイラ(C([A]T1-001))は、ソースプログラム(foo.c)を入力し、コンパイル結果(foo.s)にコンフィグレーション情報[A]を付加して出力する。そして、処理プログラム20bであるアセンブラ(A([A]T1-1a))は、コンパイラ(C([A]T1-001))が出力したコンパイル結果(foo.s)及びコンフィグレーション情報[A]と、設定された起動オプション21bを入力して、上記の一連の処理を実行し、後続の処理ステップに係る処理プログラム(図示せず)のためにアセンブル結果(foo.o)及び整合性情報23cを出力するといった流れになる。
また、例えば、図5に示すように、コンパイラ(C([A]T1-001))のコンフィグレーション情報[A]とアセンブラ(A([B]T1-1a)のコンフィグレーション情報[B]とが食い違う場合は、処理プログラム20bであるアセンブラ(A([B]T1-1a))は、「整合性エラー」の情報をエラー情報ファイル24aに出力し、エラーレベルに応じて、処理を終了するか、もしくは後続の処理ステップに制御を移行する。
ここで、各処理プログラム(設計ツール)20a,20b,…,20nが出力ファイルに整合性情報23b,23c,…,23mを付加する場合、各処理プログラム20a,20b,…,20nが出力する設計データ22b,22c,…,22mのデータ形式に応じて予め決められた書式に変換されて行われる。
例えば、C言語によるソースプログラムコンパイラのように、出力するファイルのデータ形式がテキスト形式の場合は、図6に例示するように、整合性情報(“8f00a301”)をコメント記述欄として出力する。
また、アセンブラやリンカなどのように、出力ファイルがバイナリー形式の場合は、図7に例示するように、コメントフィールドに整合性情報(0x8f00a301)を付加する。尚、図8(a)に示すように、整合性情報を付加するためのコメントフィールドを、出力する設計データの先頭部に設けても良いし、あるいは図8(b)に示すように、出力する設計データの末尾部にコメントフィールドを設けても良い。後続する処理プログラムは、先行する処理プログラムが出力したファイルの先頭などに示されている出力ファイルのデータサイズやコメントフィールドのデータサイズ等を参照して、付加された整合性情報を識別し、処理することができる。
尚、図6〜図8に例示した整合性情報は、例えば図9に示すようなデータ構造となっており、オプション命令A(opt A)がON(“1”)で、オプション命令B(opt B)がOFF(“0”)であることを示しており、命令キャッシュ(I$)はON(“1”)で、データキャッシュ(D$)はOFF(“0”)である。また、末尾の8ビットは、バージョン情報(Version)が“0.1”であることを示している。
以上、説明したように、各処理プログラム(設計ツール)は、処理を施した設計データに、コンフィグレーション情報、オプション情報、バージョン情報等の整合性情報を付加して出力ファイルに出力するようにしている。また、各処理プログラム(設計ツール)は、入力ファイルに付加されている整合性情報を検証して、整合性が保たれていないと判断した際にはエラー情報を出力し、エラーレベルに応じて処理を終了するか、あるいは処理を続行するようにしている。従って、処理プログラム(設計ツール)間の整合性が保たれていないことに起因するトラブルを未然に検知し、防止することができるため、原因の解明などに要していたコストや時間等を大幅に削減することができる。
[変形例]
以上、本発明の実施の形態について詳細に説明したが、本発明は、その精神または主要な特徴から逸脱することなく、他の色々な形で実施することができる。
例えば、図10に示すように、整合性情報識別部301、整合性情報記憶部302、整合性情報付加部303、整合性検証部304を、整合性検証ツール30として処理プログラムから独立させて生成し、共通化しても良い。独立して生成された整合性検証ツール30は、各処理プログラムの内部に組み込んでも良いし(整合性検証ツール30a)、各処理プログラムの外側に設置しても良い(整合性検証ツール30b)。このように構成することで、生成される各処理プログラム(設計ツール)20a,20b,…,20nの本体のサイズをコンパクトにすることができ、取扱いが容易になる。
また、各処理プログラムの起動オプション21aで、独立化した整合性検証ツール30を動作させるか否かを設定できるようにしても良い。例えば、同一の設計データを繰り返し使用するような処理プログラム(設計ツール)の場合は、起動オプション21aの変更だけで、整合性検証ツール30の実行をスキップすることができ、設計時間を短縮することができる。
また、各処理プログラムの起動オプション21aで、コンフィグレーション情報やオプション情報、バージョン情報等の整合性情報を出力しないように設定できるようにしても良い。この場合も、同一の設計データを繰り返し使用するような処理プログラム(設計ツール)においては、起動オプション21aの変更だけで、出力ファイルのデータ量を低減することができ、設計時間を短縮することができる。
このように、前述の実施例はあらゆる点で単なる例示に過ぎず、限定的に解釈してはならない。本発明の範囲は、特許請求の範囲によって示すものであって、明細書本文には何ら拘束されない。更に、特許請求の範囲の均等範囲に属する変形や変更は、全て本発明の範囲内のものである。
本発明の一実施形態における、構成変更可能なプロセッサを含むシステムLSIの設計装置の構成例を示す概略ブロック図である。 図1に示したシステムLSIの設計装置に搭載される処理プログラム(設計ツール)の内部構成例を示す概略ブロック図である。 図1に示したシステムLSIの設計装置において各処理プログラム(設計ツール)による整合性検証処理手順を例示するフローチャートである。 図1に示したシステムLSIの設計装置において実行される処理プログラムの一例を示す図である。 図1に示したシステムLSIの設計装置において実行される処理プログラム間で整合性エラー時の一例を示す図である。 出力するファイルがテキスト形式の場合に整合性情報を付加する例を示す図である。 出力するファイルがバイナリー形式の場合に整合性情報を付加する例を示す図である。 (a)は、整合性情報を付加するためのコメントフィールドを、出力する設計データの先頭部に設けた例を示した図であり、(b)は、出力する設計データの末尾部に整合性情報を付加するためのコメントフィールドを設けた例を示した図である。 図6〜図8に例示した整合性情報のデータ構造の一例を示す図である。 構成変更可能なプロセッサを含むシステムLSIの設計装置の変形例を示す概略ブロック図である。 構成変更可能なプロセッサを含むシステムLSIの一般的な設計処理手順を示すフローチャートである。 コンフィギュレーション毎にそれぞれ異なる処理プログラム(設計ツール)群が生成される例を示す図である。 設計ツール生成ツールのバージョン毎にそれぞれ異なる処理プログラム(設計ツール)群が生成される例を示す図である。 図12に示した処理プログラム(設計ツール)間で整合性が保たれないまま実行した例を示すフローチャートである。 図14に示した処理プログラム(設計ツール)間で整合性が保たれないまま実行した例を示すフローチャートである。
符号の説明
10…設計ツール生成ソフト
11…コンフィグレーション情報
12…テンプレート
20a,20b,…,20n…処理プログラム
21a,21b,…,21n…起動オプション
22a,22b,22c,…,22m…設計データ
23a,23b,23c,…,23m……整合性情報
24a,24b,…,24n…エラー情報
30,30a,30b…整合性検証ツール
201…設計ツール処理部
301…整合性情報識別部
302…整合性情報記憶部
303…整合性情報付加部
304…整合性検証部
331…コンフィグレーション情報
332…起動オプション情報
333…バージョン情報

Claims (5)

  1. 目的に応じて構成変更可能なプロセッサを含むシステムLSIの設計に用いられる一連の処理プログラムからなり、各処理プログラムは、先行する処理プログラムが出力するファイルを入力し、後続の処理プログラムの入力となるファイルを出力するように構成されるシステムLSI設計装置であって、
    前記処理プログラムは、
    各処理プログラム間の整合性情報を記憶する整合性情報記憶部と、
    入力した前記ファイルに含まれる整合性情報を識別する整合性情報識別部と、
    識別した前記整合性情報と前記整合性情報記憶部に記憶された前記整合性情報とを比較して整合性が保たれているか否かを検証する整合性情報検証部と、
    出力するファイルに整合性情報を付加して出力する整合性情報付加部と
    を備えることを特徴とするシステムLSI設計装置。
  2. 前記整合性情報は、設計対象のシステムLSIのコンフィグレーション情報と、前記処理プログラムの起動オプションと、前記処理プログラムのバージョン情報のうち、少なくとも1つ以上の情報を含むこと
    を特徴とする請求項1に記載のシステムLSI設計装置。
  3. 整合性情報検証部は、前記比較の結果、整合性が保たれていないと判定した場合、エラー情報を出力すること
    を特徴とする請求項1または請求項2のいずれかに記載のシステムLSI設計装置。
  4. 目的に応じて構成変更可能なプロセッサを含むシステムLSIの設計装置に用いられる一連の処理プログラムであって、先行する処理プログラムが出力するファイルを入力し、後続の処理プログラムの入力となるファイルを出力するように構成され、
    入力した前記ファイルに整合性情報が含まれているか否かを識別する処理と、
    識別した前記整合性情報と予め処理プログラム毎に記憶していた整合性情報とを比較して、整合性が保たれているか否かを検証する処理と、
    出力するファイルに整合性情報を付加して出力する処理と
    を含む処理を前記システムLSIの設計装置に実行させることを特徴とするシステムLSI設計用処理プログラム。
  5. 目的に応じて構成変更可能なプロセッサを含むシステムLSIの設計装置に用いられる一連の処理プログラムの整合性を検証する方法であって、
    先行する処理プログラムが出力したファイルを入力し、入力した前記ファイルに整合性情報が含まれているか否かを識別する段階と、
    識別した前記整合性情報と予め処理プログラム毎に記憶していた整合性情報とを比較して、整合性が保たれているか否かを検証する段階と、
    後続の処理プログラムの入力となるファイルに整合性情報を付加して出力する段階と
    を含むことを特徴とする整合性検証方法。

JP2003397160A 2003-11-27 2003-11-27 システムlsi設計装置、システムlsi設計用処理プログラム、及び整合性検証方法 Pending JP2005157849A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2003397160A JP2005157849A (ja) 2003-11-27 2003-11-27 システムlsi設計装置、システムlsi設計用処理プログラム、及び整合性検証方法
US10/851,167 US7062400B2 (en) 2003-11-27 2004-05-24 Apparatus and program for designing system LSI, and method for verifying integrity of the program for designing system LSI

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003397160A JP2005157849A (ja) 2003-11-27 2003-11-27 システムlsi設計装置、システムlsi設計用処理プログラム、及び整合性検証方法

Publications (1)

Publication Number Publication Date
JP2005157849A true JP2005157849A (ja) 2005-06-16

Family

ID=34616520

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003397160A Pending JP2005157849A (ja) 2003-11-27 2003-11-27 システムlsi設計装置、システムlsi設計用処理プログラム、及び整合性検証方法

Country Status (2)

Country Link
US (1) US7062400B2 (ja)
JP (1) JP2005157849A (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8813018B1 (en) * 2012-10-05 2014-08-19 Altera Corporation Method and apparatus for automatically configuring memory size

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5255270A (en) * 1990-11-07 1993-10-19 Emc Corporation Method of assuring data write integrity on a data storage device
US5920721A (en) * 1997-06-11 1999-07-06 Digital Equipment Corporation Compiler generating functionally-alike code sequences in an executable program intended for execution in different run-time environments
JP2001188691A (ja) 1999-12-28 2001-07-10 Toshiba Corp 検証プログラム自動生成方法及び検証プログラム自動生成プログラムを記録したコンピュータ読み取り可能な記録媒体
US6480970B1 (en) * 2000-05-17 2002-11-12 Lsi Logic Corporation Method of verifying data consistency between local and remote mirrored data storage systems
JP2002230065A (ja) 2001-02-02 2002-08-16 Toshiba Corp システムlsi開発装置およびシステムlsi開発方法
JP3776058B2 (ja) * 2002-05-30 2006-05-17 Necエレクトロニクス株式会社 システムlsi、システムlsiの設計方法、及び、記録媒体
US6978216B2 (en) * 2003-03-26 2005-12-20 Broadcom Corporation Testing of integrated circuits from design documentation
JP2005063136A (ja) * 2003-08-12 2005-03-10 Toshiba Corp 半導体集積回路の設計装置、設計方法、及び設計プログラム

Also Published As

Publication number Publication date
US20050120314A1 (en) 2005-06-02
US7062400B2 (en) 2006-06-13

Similar Documents

Publication Publication Date Title
US7685576B2 (en) System and method for model based system testing of interactive applications
WO2012032890A1 (ja) ソースコード変換方法およびソースコード変換プログラム
KR20070000732A (ko) 아사달 : 휘처 기반 소프트웨어 제품라인 개발 환경을제공하는 시스템
CN110515856B (zh) 一种基于动态符号执行的测试用例生成系统
JP5005510B2 (ja) ソフトウェアの設計支援方法、設計支援装置及び設計支援プログラム
JP2007141173A (ja) コンパイルシステム、デバッグシステムおよびプログラム開発システム
JPH0816429A (ja) 並行プログラム作成支援装置及び並行プログラム作成方法並びに並行プログラム実行装置
US6275986B1 (en) Compile-time data dependency verification
Seidl et al. Software reuse: from cloned variants to managed software product lines
CN110399156B (zh) 面向航天软件的在轨升级方法
JP4774237B2 (ja) プログラム開発支援装置、プログラム動作比較方法および半導体集積回路製造方法
Biallas et al. {Counterexample-Guided} Abstraction Refinement for {PLCs}
JP2005157849A (ja) システムlsi設計装置、システムlsi設計用処理プログラム、及び整合性検証方法
JPWO2006025412A1 (ja) 論理検証方法、論理モジュールデータ、デバイスデータおよび論理検証装置
JP6175306B2 (ja) 制御プログラム分割装置、制御プログラム分割方法及びその記録媒体
Lengyel et al. Test-driven verification/validation of model transformations
GB2420638A (en) Method of substituting code fragments in Internal Representation
WO2016038741A1 (ja) ソースコード等価性検証装置、および、ソースコード等価性検証方法
KR102601979B1 (ko) 소프트웨어 프로그램을 검증하는 방법 및 장치
Puri et al. Mechanical certification of loop pipelining transformations: A preview
WO2024195336A1 (ja) トレーサビリティ情報抽出装置およびトレーサビリティ情報検証装置
JP2010165205A (ja) モデルのテンプレート自動生成システム、方法及びプログラム
Graf Compiler backend generation using the VADL processor description language
JP4569284B2 (ja) 集積回路のデバッグ方法、デバッグプログラム
Gómez et al. GraCoT, a tool for co-creation of models and metamodels in specific domains

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070410

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20070904