(57)【要約】【課題】高位合成によることなく、集積回路の設計を高速に行うこと。【解決手段】動作記述変換部９では、動作記述記憶部１からの動作記述中に含まれている配列アクセスが、メモリアクセス仕様記憶部２に記憶されているメモリ読出し・書込み手続を呼び出す記述に変換されるようにして、この変換後の動作記述と、メモリアクセス仕様記憶部２、メモリ動作モデル記憶部３それぞれからのメモリアクセス仕様、メモリ動作モデルとに基づき、統合シミュレーション実行部６で統合シミュレーションが行われることで、動作記述・メモリアクセス仕様・メモリ動作モデル間で不整合が起こらず、正しく動作することが高速に検証・確認されるようにした。【選択図】  図１
2004164035.tif 000002
【特許請求の範囲】
【請求項１】
設計対象としての集積回路の逐次的動作を表現する動作記述が記憶される動作記述記憶部と、
制御信号が入力された際でのメモリ内部状態の変化とメモリ出力の変化の仕方の記述がメモリ動作モデルとして記憶されるメモリ動作モデル記憶部と、
前記メモリ動作モデルに読出しを行う際に、該メモリ動作モデルに入力される制御信号のタイミングと該メモリ動作モデルから出力される信号を受け取るタイミングとが、メモリ読出し手続として記憶されるメモリアクセス仕様記憶部と、
前記動作記述記憶部からの動作記述中に含まれている配列アクセスを、前記メモリアクセス仕様記憶部に記憶されているメモリ読出し手続を呼び出す記述に変換する動作記述変換部と、
前記動作記述変換部からの変換後の動作記述と、前記メモリアクセス仕様記憶部に記憶されているメモリアクセス仕様と、前記メモリ動作モデル記憶部に記憶されているメモリ動作モデルとに基づき、シミュレーションを行う統合シミュレーション実行部と、
前記統合シミュレーション実行部からのシミュレーション結果を表示するシミュレーション結果表示部と
からなる集積回路設計装置。
【請求項２】
請求項１記載の集積回路設計装置において、
前記メモリ動作モデルに読出しに加え、書込みを行う際には、前記メモリアクセス仕様記憶部には、該メモリ動作モデルに入力される制御信号のタイミングと該メモリ動作モデルから出力される信号を受け取るタイミングとが、メモリ読出し・書込み手続として記憶される集積回路設計装置。
【請求項３】
設計対象としての集積回路の逐次的動作を表現する動作記述が記憶される動作記述記憶ステップと、
制御信号が入力された際でのメモリ内部状態の変化とメモリ出力の変化の仕方の記述がメモリ動作モデルとして記憶されるメモリ動作モデル記憶ステップと、
前記メモリ動作モデルに読出しが行われる際に、該メモリ動作モデルに入力される制御信号のタイミングと該メモリ動作モデルから出力される信号を受け取るタイミングとが、メモリ読出し手続として記憶されるメモリアクセス仕様記憶ステップと、
前記動作記述記憶ステップで記憶された動作記述中に含まれている配列アクセスを、前記メモリアクセス仕様記憶ステップで記憶されているメモリ読出し手続を呼び出す記述に変換する動作記述変換ステップと、
前記動作記述変換ステップにより変換された後の動作記述と、前記メモリアクセス仕様記憶ステップで記憶されたメモリアクセス仕様と、前記メモリ動作モデル記憶ステップで記憶されたメモリ動作モデルとに基づき、シミュレーションを行う統合シミュレーション実行ステップと、
前記統合シミュレーション実行ステップで得られるシミュレーション結果を表示するシミュレーション結果表示ステップと
からなる集積回路設計方法。
【請求項４】
請求項３記載の集積回路設計方法において、
前記メモリ動作モデルに読出しに加え、書込みが行われる際には、前記メモリアクセス仕様記憶ステップでは、該メモリ動作モデルに入力される制御信号のタイミングと該メモリ動作モデルから出力される信号を受け取るタイミングとが、メモリ読出し・書込み手続として記憶される集積回路設計方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、多くの時間が要される高位合成によることなく、動作記述・メモリアクセス仕様・メモリ動作モデルの統合されたシミュレーションが行われることによって、集積回路の設計が高速に行われるようにした集積回路設計装置及び方法に関する。
【０００２】
【従来の技術】
近年、集積回路の大規模化に伴い、集積回路の設計には長期間要されていることから、その設計期間を短縮化する技術が求められている。これまでに、その短縮化技術の１つとして、高位合成という技術が知られている。この高位合成を用いた集積回路においては、設計者により動作記述・メモリアクセス仕様・メモリ動作モデルが作成されるが、これら動作記述・メモリアクセス仕様・メモリ動作モデル間で不整合が起こらず、正しく動作することを検証・確認するには、それら全てが統合された上、シミュレーションを行う必要がある（  以下、そのようなシミュレーションを統合シミュレーションと称す）  。
【０００３】
ここで、従来技術に係る検証装置について説明すれば、その内部構成を図４に示す。図示のように、動作記述が記憶される動作記述記憶部１、メモリアクセス仕様が記憶されるメモリアクセス仕様記憶部２、メモリ動作モデルが記憶されるメモリ動作モデル記憶部３、メモリアクセス仕様を使用して動作記述をＲＴＬ（Ｒｅｇｉｓｔｅｒ  Ｔｒａｎｓｆｅｒ  Ｌｅｖｅｌ  ）記述に変換する高位合成部４、そのＲＴＬ記述が記憶されるＲＴＬ記述記憶部５、それらＲＴＬ記述、メモリ動作モデルを統合の上、シミュレーションを行う統合シミュレーション実行部６、及びそのシミュレーション結果を表示するシミュレーション結果表示部７から構成されている。これからも判るように、動作記述とメモリアクセス仕様からは、高位合成によりＲＴＬ記述が生成されている。具体的には、高位合成の際、メモリアクセス仕様を使用して、動作記述中に存在する配列のアクセス部分はメモリアクセスとなるように、動作記述が高位合成されている。
【０００４】
因みに、動作記述とは、集積回路の逐次的動作を表現した記述とされ、また、メモリ動作モデルとは、制御信号が入力された際でのメモリ内部状態の変化とメモリ出力（読出しデータ）の変化の仕方を表現した記述とされ、更に、メモリアクセス仕様とは、メモリ動作モデルに対し読み書きを行う際に、そのメモリ動作モデルに入力される制御信号のタイミングとそのメモリ動作モデルから出力される信号を受け取るタイミングとを記述したものとされる。
【０００５】
また、従来技術に係る他の検証装置の構成を図５に示す。図示のように、動作記述が記憶される動作記述記憶部１、その動作記述に基づき、シミュレーションを行うシミュレーション実行部８、及びそのシミュレーション結果を表示するシミュレーション結果表示部７から構成されている。この検証装置では、動作記述が直接シミュレーションされていることから、シミュレーションは、即にも開始可能とされ、しかも、高速に行われるようになっている。
【０００６】
因みに、特許文献１には、ＲＴＬ記述の生成に関しての記載が、また、特許文献２には、高位合成に関しての記載が見受けられる。
【０００７】
【特許文献１】
特開２００１―２１６３３９号公報
【特許文献２】
特開２００２―２２２２２８号公報
【０００８】
【発明が解決しようとする課題】
しかしながら、図４に示す検証装置では、動作記述とメモリアクセス仕様から高位合成によりＲＴＬ記述が生成される必要があり、その高位合成には多くの時間が要されており（ある高位合成ツールによる場合、１００万ゲート規模のＲＴＬ記述を生成するのに、１時間程度の時間が要されている）、したがって、統合シミュレーションの開始までに多くの時間が要されているのが実情である。更に、そのような不具合に加え、動作記述から高位合成されたＲＴＬ記述がシミュレーションされるに際しては、その速度は動作記述のシミュレーション速度に比し非常に遅く、これがために、１回当りの統合シミュレーションに多くの時間が要されている（その時間は、１００万ゲート規模では数時間〜数十時間）。結局、統合シミュレーションは膨大な回数に亘って行われる必要があることから、動作検証に長期間要されていた。
【０００９】
一方、図５に示す検証装置では、動作記述のシミュレーションが、即にも開始可能とされ、しかも、高速に行われているが、その半面、統合シミュレーションを行えなく、したがって、動作記述・メモリアクセス仕様・メモリ動作モデル間での整合性を確認することは不可能となっている。
【００１０】
本発明の目的は、多くの時間が要される高位合成によることなく、動作記述・メモリアクセス仕様・メモリ動作モデルの統合されたシミュレーションが行われることによって、集積回路の設計が高速に行われ得る集積回路設計装置を提供することにある。
また、本発明の他の目的は、多くの時間が要される高位合成によることなく、動作記述・メモリアクセス仕様・メモリ動作モデルの統合されたシミュレーションが行われることによって、集積回路の設計が高速に行われ得る集積回路設計方法を提供することにある。
【００１１】
【課題を解決するための手段】
本発明の集積回路設計装置は、メモリアクセス仕様記憶部には、メモリ動作モデルに読出しを行う際に、該メモリ動作モデルに入力される制御信号のタイミングと該メモリ動作モデルから出力される信号を受け取るタイミングとが、メモリ読出し手続として記憶される一方、動作記述変換部ではまた、動作記述記憶部からの動作記述中に含まれている配列アクセスが、メモリアクセス仕様記憶部に記憶されているメモリ読出し手続を呼び出す記述に変換されるようにしたものである。また、メモリ動作モデルに読出しに加え、書込みを行う際には、メモリアクセス仕様記憶部には、該メモリ動作モデルに入力される制御信号のタイミングと該メモリ動作モデルから出力される信号を受け取るタイミングとが、メモリ読出し・書込み手続として記憶されるようにしたものである。
【００１２】
以上のように、動作記述変換部では、動作記述中の配列アクセスがメモリアクセスへと高速に変換され、それ以外の部分は動作記述のままにしておくことで、動作記述・メモリアクセス仕様・メモリ動作モデルが高速に統合シミュレーションされる結果、集積回路の設計を高速に行うことが可能となっている。
【００１３】
【発明の実施の形態】
以下、本発明の一実施の形態を図１から図３により説明する。
先ず図１に、本発明による集積回路設計装置の一例での構成を示す。図示のように、設計対象としての集積回路の逐次的動作を表現する動作記述が記憶される動作記述記憶部１と、制御信号が入力された際でのメモリ内部状態の変化とメモリ出力の変化の仕方の記述がメモリ動作モデルとして記憶されるメモリ動作モデル記憶部３と、前記メモリ動作モデルに読出しを行う際に、該メモリ動作モデルに入力される制御信号のタイミングと該メモリ動作モデルから出力される信号（読出しデータ）を受け取るタイミングとが、メモリ読出し手続として記憶されるメモリアクセス仕様記憶部２と、前記動作記述記憶部１からの動作記述中に含まれている配列アクセスを、前記メモリアクセス仕様記憶部２に記憶されているメモリ読出し手続を呼び出す記述に変換する動作記述変換部９と、前記動作記述変換部９からの変換後の動作記述と、前記メモリアクセス仕様記憶部２に記憶されているメモリアクセス仕様と、前記メモリ動作モデル記憶部３に記憶されているメモリ動作モデルとに基づき、統合シミュレーションを行う統合シミュレーション実行部６と、前記統合シミュレーション実行部６からのシミュレーション結果を表示するシミュレーション結果表示部７とから構成されている。
【００１４】
前記構成要素のうち、動作記述記憶部１、メモリアクセス仕様記憶部２、メモリ動作モデル記憶部３それぞれは、例えば半導体メモリとして構成されるが、記憶機能があれば他のものでもよく、ハードディスク等であってもよい。また、これら動作記述記憶部１、メモリアクセス仕様記憶部２、メモリ動作モデル記憶部３それぞれには、設計しようとしている集積回路がどのように動作するかということを一定のルール、例えばＳｙｓｔｅｍＣ等の記述言語に基づいて表現されたものが記憶される。尤も、メモリ動作モデルに読出しに加え、書込みを行う際には、メモリアクセス仕様記憶部２には、そのメモリ動作モデルに入力される制御信号のタイミングと該メモリ動作モデルから出力される信号を受け取るタイミングとが、メモリ読出し・書込み手続として記憶される。因みに、上記にいうＳｙｓｔｅｍＣとは、その文法はＣ＋＋言語（その母胎はＣ言語）に同一ながらも、ハードウェアを表現するのに並列処理や構造を記述し得るように、関数やクラス等がＣ＋＋言語に追加されたものをいう。
【００１５】
また、動作記述変換部９は、例えばワークステーションとされるが、計算装置であれば他のものでもよい。この動作記述変換部９では、多くの時間が要される高位合成を行うことなく、変換ルールに基づき、動作記述記憶部１からの動作記述中の配列は、メモリアクセス仕様記憶部２に記憶されているメモリ読出し・書込み手続を呼び出す記述に変換されるが、その変換は、記述の置換だけで行えることから、非常に高速に行える（高位合成すると、１００万ゲート規模のＲＴＬ記述になる動作記述でも僅か数秒程度）。
【００１６】
更に、統合シミュレーション実行部６は、例えばワークステーションとされるが、計算装置であれば他のものでもよい。この統合シミュレーション実行部６では、動作記述変換部９、メモリアクセス仕様記憶部２、メモリ動作モデル記憶部３それぞれからの集積回路設計データに対し統合シミュレーションが実行されるが、そのシミュレーション結果は、ＣＲＴや液晶ディスプレイ等のシミュレーション結果表示部７に表示される。
【００１７】
さて、以上の如くにしてなる集積回路設計装置での動作について説明すれば、以下のようである。
即ち、高位合成されたＲＴＬ記述では、メモリアクセスで表現される部分が、メモリアクセスではなく、配列へのアクセスで表現されている。したがって、図５に示すような、従来技術に係る検証装置でシミュレーションを行うと、動作記述の部分しかシミュレーションが行えず、メモリアクセス仕様やメモリ動作モデルの検証を行えない。また、図４に示すような、従来技術に係る検証装置で、配列へのアクセスがメモリアクセスとなるように、動作記述が高位合成されたのでは、高位合成されたＲＴＬ記述のシミュレーション速度が、動作記述のシミュレーション速度に比し非常に遅くなることは既に述べたところである。
【００１８】
そこで、本発明は、以上の事情に鑑み、動作記述中の配列アクセスのみをメモリアクセスへと高速に変換し、それ以外の部分は動作記述のままにしておくことによって、動作記述・メモリアクセス仕様・メモリ動作モデルの統合シミュレーションを高速に（高位合成すると、１００万ゲート規模のＲＴＬ記述になる動作記述でも、１回当り僅か数十分程度）、したがって、集積回路の検証期間が従来技術に比し１／１０程度までに大幅に短縮化されるようにした。
【００１９】
以上のように、動作記述変換部９では、動作記述記憶部１からの動作記述中の配列アクセスは、メモリアクセス仕様記憶部２に記憶されているメモリ読出し・書込み手続を呼び出す記述に変換されているが、この動作記述変換のフローを図２に示す。図示のように、先ず動作記述の先頭に移動の上、動作記述が１文読み込まれる（処理２１，２２）。次には、その読み込まれた文中にある配列の宣言文は削除される（処理２３）。その後、代入が行われている配列の記述は全て、メモリ書込みアクセス手続の呼出しを行う記述に置換えされる（処理２４）。尤も、この処理２４は、メモリ動作モデルが読出し専用メモリのモデルである場合には、必ずしも必要とはされない。更に、その後は、残った配列を全て、メモリ読出しアクセス手続の呼出しを行う記述に置換え、置換え結果が出力される（処理２５）。
その後、全文処理完了したか否かが判断されるが、全文処理完了していない限りにおいては、全文処理完了となるまで処理２２〜２５が繰り返し行われ、全文処理完了した場合には、一連の処理は終了される（処理２６）。
【００２０】
以上、本発明の概要について説明したが、最後に、具体的な動作例を図３に示す。図中、動作記述、変換後の動作記述、メモリアクセス手続、メモリ動作モデルそれぞれの記述例（本例での記述言語はＳｙｓｔｅｍＣであり、説明上、本発明に無関係な記述は省略）は▲１▼〜▲４▼として示されているが、これにより動作例を具体的に説明すれば、以下のようである。
【００２１】
即ち、先ず動作記述変換部９による記述例▲１▼の記述例▲２▼への変換について説明すれば、その１行目の文は配列の宣言文である故、動作記述変換部９からは出力されない。また、その２行目の文は配列への代入であることから、メモリ書込み手続であるｍｅｍ ｗｒｉｔｅ関数が呼び出されるように、書換えられている。更に、その３行目の文は、配列の記述がメモリ読出し手続であるｍｅｍ ｒｅａｄ関数が呼び出されるように、書換えられている。結局、記述例▲２▼〜▲４▼を用いた統合シミュレーションが実行される。
【００２２】
その実行に際しては、先ず記述例▲２▼における１行目で記述例▲３▼におけるｍｅｍｗｒｉｔｅ関数が呼び出され、ｍｅｍ ｗｒｉｔｅ関数により、記述例▲４▼で表されるメモリ動作モデルに制御信号が入力され、メモリに記述例▲２▼における変数ｄの値が書込まれる。次に、同様にして、記述例▲２▼における２行目で記述例▲３▼におけるｍｅｍ ｒｅａｄ関数が呼び出され、ｍｅｍ ｒｅａｄ関数により、メモリ動作モデルに制御信号が入力されることで、メモリから値が読み出され、記述例▲２▼における変数ｄにメモリから読み出された値が書込まれる。
【００２３】
以上のように、高位合成が用いられることなく、動作記述・メモリアクセス仕様・メモリ動作モデルに対し統合した検証を検証期間少なくして行い得ることから、集積回路の設計も高速に行い得ることになる。
【００２４】
以上、本発明者によってなされた発明を実施の形態に基き具体的に説明したが、本発明は上記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲内で種々変更可能であることはいうまでもない。
【００２５】
【発明の効果】
多くの時間が要される高位合成によることなく、動作記述・メモリアクセス仕様・メモリ動作モデルの統合されたシミュレーションが行われることによって、集積回路の設計が高速に行われ得る集積回路設計装置が提供される。
また、多くの時間が要される高位合成によることなく、動作記述・メモリアクセス仕様・メモリ動作モデルの統合されたシミュレーションが行われることによって、集積回路の設計が高速に行われ得る集積回路設計方法が提供される。
【図面の簡単な説明】
【図１】本発明による集積回路設計装置の一例での構成を示す図である。
【図２】本発明に係る動作記述変換の一例でのフローを示す図である。
【図３】本発明の具体的な動作例を示す図である。
【図４】従来技術に係る検証装置の構成を示す図である。
【図５】従来技術に係る他の検証装置の構成を示す図である。
【符号の説明】
１…動作記述記憶部、２…メモリアクセス仕様記憶部、３…メモリ動作モデル記憶部、６…統合シミュレーション実行部、７…シミュレーション結果表示部、９…動作記述変換部
【図１】
2004164035.tif 000003
【図２】
2004164035.tif 000004
【図３】
2004164035.tif 000005
【図４】
2004164035.tif 000006
【図５】
2004164035.tif 000007