JP2004280279A - トップダウン設計装置およびトップダウン設計プログラム - Google Patents
トップダウン設計装置およびトップダウン設計プログラム Download PDFInfo
- Publication number
- JP2004280279A JP2004280279A JP2003068498A JP2003068498A JP2004280279A JP 2004280279 A JP2004280279 A JP 2004280279A JP 2003068498 A JP2003068498 A JP 2003068498A JP 2003068498 A JP2003068498 A JP 2003068498A JP 2004280279 A JP2004280279 A JP 2004280279A
- Authority
- JP
- Japan
- Prior art keywords
- block
- terminal
- definition
- circuit
- attribute
- 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
Links
Images
Landscapes
- Design And Manufacture Of Integrated Circuits (AREA)
- Logic Circuits (AREA)
Abstract
【解決手段】トップダウン回路設計において、トップレベルの回路ブロックの定義票がユーザにより入力される(S1)。この定義票には、トップレベルの回路ブロックの端子の属性も含まれる。続いて、ユーザにより、トップレベルの直下の下位階層である第1階層の回路ブロック分割が行われ、分割された回路ブロックの定義票が作成・入力される(S2)。この定義票にも、第1階層の回路ブロックの端子の属性が含まれる。続いて、トップレベルと第1階層との接続チェックがコンピュータにより行われる(S3)。この接続チェックでは、トップレベルおよび第1階層の回路ブロックの端子の接続先の有無のチェックに加えて、トップレベルおよび第1階層の回路ブロックの端子の属性の整合性チェックも行われる。
【選択図】 図1
Description
【発明の属する技術分野】
本発明は,回路をトップダウンに設計するトップダウン設計装置およびトップダウン設計プログラムに関し、特に、回路に含まれる回路ブロックの端子の属性に基づいて回路間の接続の整合性をチェックするトップダウン設計装置およびトップダウン設計プログラムに関する。
【0002】
【従来の技術】
従来、レジスタ間の転送関係を示すレジスタ転送レベル(RTL:Register Transfer Level)言語を使用して論理回路設計を支援する設計支援装置として、ハードウェア記述言語が示す設計対象の論理回路を正規構造化することで論理回路の面積と遅延時間を見積もり、設計変更の少なくし設計時間を短縮する設計支援装置がある(例えば特許文献1参照)。
【0003】
また、RTL言語が用いられる回路設計装置では、上位階層から下位階層に向けてトップダウン的にブロックおよびブロック間のインターフェースがユーザにより定義されると、これらの定義に基づいて、RTL構造記述を自動生成するソフトウェアが存在する。この設計装置では、上位階層と下位階層の間のブロック間の接続チェックおよび同一階層におけるブロック間の接続チェックが行われるものの、その接続チェックは、物理的な接続チェック、すなわち接続先の有無のチェックである。
【0004】
【特許文献1】
特開平8−272847号公報
【0005】
【発明が解決しようとする課題】
しかし、従来の回路設計装置またはソフトウェアでは、ブロックの端子の接続先の有無のみをチェックする物理的な接続チェックしか行われないため、論理的な接続ミス(例えば信号の極性の接続ミス、パルス信号/レベル信号の信号種別の接続ミス等)チェックすることができず、この論理的な接続ミスは、回路設計(言語記述)が完了した後、検証工程に進んでからしか発見できなかった。このため、論理的な接続ミスが発見されると、再び、設計段階にまで戻り、設計しなおす必要があり、作業時間の大幅なロスを招いていた。
【0006】
したがって、本発明は、物理的および論理的な接続チェックを用いて上位階層から順に接続チェックを行うことを可能とすることを目的とする。また、本発明は、回路設計において、記述ミスの早期発見を目的とする、さらに、本発明は、回路の作成時間の短縮を図ることを目的とする。
【0007】
【課題を解決するための手段】
前記目的を達成するために,本発明によるトップダウン設計装置は、上位階層から下位階層に向けて回路ブロックを定義して行くことにより回路を設計するトップダウン設計装置において、上位階層の回路ブロックの少なくとも端子の属性を含む第1ブロック定義と該上位階層の直下の下位階層の回路ブロックの少なくとも端子の属性を含む第2ブロック定義とを入力する入力部と、前記入力部により入力された前記第1ブロック定義に含まれる端子の属性および前記第2ブロック定義に含まれる端子の属性に基づいて、前記上位階層の回路ブロックの端子および前記下位階層の回路ブロックの端子の接続先の有無のチェックと、前記上位階層の回路ブロックの端子の属性と前記下位階層の回路ブロックの端子の属性との整合性のチェックを行う接続チェック部と、を備えていることを特徴とする。
【0008】
また、本発明によるトップダウン設計プログラムは、コンピュータに、設計される回路における上位階層の回路ブロックの少なくとも端子の属性を含む第1ブロック定義および該上位階層の直下の下位階層の回路ブロックの少なくとも端子の属性を含む第2ブロック定義の入力を受け付け、内部のメモリに記憶する手順と、前記内部のメモリに記憶された前記第1ブロック定義に含まれる端子の属性および前記第2ブロック定義に含まれる端子の属性に基づいて、前記上位階層の回路ブロックの端子および前記下位階層の回路ブロックの端子の接続先の有無のチェックと、前記上位階層の回路ブロックの端子の属性と前記下位階層の回路ブロックの端子の属性との整合性のチェックを行う手順と、を実行させるためのプログラムである。
【0009】
本発明によると、上位階層の回路ブロックの端子および下位階層の回路ブロックの端子の接続先の有無のチェック(物理レベルのチェック)だけでなく、上位階層の回路ブロックの端子の属性と下位階層の回路ブロックの端子の属性との整合性のチェック(論理レベルのチェック)も行われる。したがって、回路設計において、記述ミスを早期に発見でき、回路の作成時間の短縮を図ることができる。
【0010】
【発明の実施の形態】
本発明によるトップ設計装置は、例えばソフトウェアおよび該ソフトウェアを実行するCPU、MPU等のマイクロプロセッサにより実現される。これらソフトウェアおよびマイクロプロセッサは、コンピュータやワークステーションとして構成されてもよいし、CAD(Computer Aided Design)システムの一部として構成されてもよい。
【0011】
以下では、まず、本発明の一実施の形態によるトップダウン設計装置を利用した回路のトップダウン設計の概要について説明し、その後、具体的な回路例を用いてトップダウン設計の詳細について説明することとする。
【0012】
図1は、本発明の一実施の形態によるトップダウン設計装置における回路(例えば論理回路)のトップダウン設計の全体処理フローを示すフローチャートである。図3は、トップダウン設計により設計される回路の概略図である。
【0013】
まず、回路設計者(以下「ユーザ」という。)は、トップダウン設計装置を使用して、トップレベルの定義票を作成する(S1)。この定義票には、後に具体例に基づいて詳述するように、ジェネリック定義、ピン定義、構造定義等が含まれる。例えば、図3では、ピン定義として、トップレベル(レベル0)のブロック1の入力端子11〜13および出力端子14〜16の定義が作成され、構造定義として、レベル1のブロック2の定義が作成される。なお、図3では、端子11〜13等を方形のブロックとして表現しているが、これは端子を分かりやすくするために記載したものであって、後述する図4の回路図に示すように、実際の回路図では、端子が方形のブロックとして表現されるものではない。
【0014】
続いて、ユーザは、トップレベル(レベル0)の直下の下位階層である第1階層(レベル1)のブロック分割および定義票を作成する(S2)。図3では、レベル1のブロック分割により、レベル2のブロック3および4が作成され、これらブロックの構造定義が作成される。また、定義票のピン定義として、ブロック2の入力端子21〜23および出力端子24〜26の定義が作成される。
【0015】
これらの作成後、接続チェックの開始の指示がユーザにより入力されることにより、トップダウン設計装置は、レベル0とレベル1との接続チェック(後に詳述)を実行する(S3)。この接続チェックでは、単に端子(ピン)間が接続されているかどうかの物理的な接続チェックだけでなく、本発明による論理的な接続チェックも行われる。論理的な接続チェックでは、端子間の属性(例えば、接続先、ビット幅、信号の極性、入出力、信号のタイプ(データ信号、クロック信号、レベル信号、パルス信号等))が一致するかどうかがチェックされる。
【0016】
トップダウン設計装置は、接続チェックの結果をディスプレイ等の表示装置に表示し、ユーザに知らせる。
【0017】
接続チェック結果がNGの場合(ステップS4でN)、すなわち、物理的な接続チェックおよび論理的な接続チェックの少なくとも一方がNGの場合には、ユーザは、再度ステップS1またはS2に戻って、定義票等の修正を行う。一方、接続チェック結果がOKの場合(ステップS4でY)、すなわち、物理的な接続チェックおよび論理的な接続チェックの双方がOKの場合には、ユーザは、第1階層の直下の下位階層である第2階層(レベル2)のブロック分割および定義票を作成する(S5)。
【0018】
図3では、ブロック3および4が論理回路または順序回路により構成されているプリミティブなブロック、すなわち分割できないブロックか、予め容易されているブロックであると仮定する。この場合には、第2階層のブロック分割は行われず、定義票の作成では、ブロック3および4の端子31〜35および41〜45のピン定義が作成され、構造定義は作成されない。
【0019】
定義票の作成後、接続チェックの開始の指示がユーザにより入力されることにより、トップダウン設計装置は、上記ステップS3と同様にして、レベル1とレベル2との接続チェックを実行する(S6)。この接続チェックでは、レベル1と2との端子間の接続チェックに加えて、同じレベル2に2つのブロック3および4が存在するので、ブロック3と4との間の接続チェックも行われる。
【0020】
この接続チェック結果がNGの場合には(S7でN)、ユーザは、上記同様に、ステップS5またはS6に戻って、定義票等の修正を行う。一方、接続チェック結果がOKの場合において(S7でY),次の下位階層のブロック分割および定義票の作成が可能な場合、すなわち下位階層がプリミティブな回路にまで至っていない場合には、再びブロック分割および定義票の作成ならびに接続チェックが繰り返されて行くこととなる。
【0021】
このような処理が繰り返されて、最終的な回路定義が行われる。このように本実施の形態によるトップダウン設計装置では、隣接する2つの階層間での接続チェックを逐次行うと共に、この接続チェックでは、物理的な接続チェックに加えて論理的な接続チェックが行われる。したがって、回路の設計ミスを早期の段階で発見することができると共に、端子間の物理レベル(接続先の有無)のチェックだけでなく、論理レベル(端子の属性)のチェックも行われるので、より正確なチェックを行うことができる。その結果、検証工程に進む前に設計ミスを発見することができ、回路設計の効率を大幅に向上させることができる。
【0022】
以下では、より具体的な回路例に基づいて、接続チェックの詳細な処理について説明する。
【0023】
図2は、図1のステップS3、S6等の接続チェックの詳細な処理の流れを示すフローチャートである。図4(A)および(B)は、具体的な回路ブロック図(完成図)である。図5は、図4(A)の回路図のトップレベル(TOP)および第1階層(CORE)を定義した段階の回路図に対応し、上述した図1のステップS1およびS2の処理が終了した段階の回路図に対応する。
【0024】
ユーザは、図1のステップS1およびS2において、図5のTOPおよびCOREの定義票の作成等を行う。これにより、図6のTOP定義票および図7のCORE定義票が作成される。なお、これら定義票は、テキストエディタによりテキスト入力されてもよいし、GUI(Graphical User Interface)を利用して入力されてもよい。
【0025】
TOP定義票には、図6(A)のピン定義および図6(B)の構造定義が含まれる。もちろん、これ以外にジェネリック定義等が含まれてもよい。ここでは、本発明に関連するピン定義および構造定義を特に図示している。
【0026】
ピン定義では、TOPブロックに入出力される各ピン(端子)の「ポート名」、「i/o」、「データタイプ」、「接続ブロック」、「接続ポート」、「極性」等が定義され、必要に応じてユーザのコメントが「コメント」欄に記載される。
【0027】
「ポート名」は、ユーザがその端子に付した名称である。「i/o」は、そのピンが信号の入力端子か出力端子かを示し、「in」は入力端子、「out」は出力端子、「inout」は入出力端子であることをそれぞれ示している。
【0028】
「データタイプ」は、そのピンに入力/出力/入出力される信号(データ)のタイプであり、“std_logic”は1ビットのディジタル信号を示す。これ以外に、“std_logic”の信号線を複数束ねたピンのデータタイプである“std_logic_vector”がある。データタイプ“std_logic_vector”が使用される場合には、図示しないビット幅(例えば4ビットを表す“3 downto 0”)がピン定義内にさらに規定される。
【0029】
「接続ブロック」は、該ピンの接続先のブロックを示す。接続先が外部であり、特定のブロックでない場合には、“EXT”とされる。これ以外に、接続ブロックには、固定値の信号が入力/出力されることを示す“CoNSTANT”、接続先のない出力ポート(すなわち空きポート)であることを示す“oPEN”を使用することができる。
【0030】
「接続ポート」は、該ピンの接続先のポートのポート名を示し、接続先が外部“EXT”である場合には、接続ポートは規定されない(例えば“null”等の符号が置かれ、図では「−」で示している)。「極性」は信号の極性であり、例えばハイアクティブの場合には“P”、ローアクティブの場合には“N”となる。
【0031】
なお、“pin_define_start_0”および“pin_define_end_0”は、ピン定義の開始および終了をそれぞれ宣言する宣言文である。
【0032】
構造定義では、TOPブロック内に定義されるブロックCOREの名称である「ブロック名」、使用する定義番号を示す「def」、「インスタンス名」、「ジェネリックマップ」等が定義され、必要に応じてユーザのコメントが「コメント」欄に記載される。
【0033】
定義番号「def」は、ブロックCOREのピン定義が後に規定された場合に、そのピン定義の番号を意味する。この番号は、宣言文“pin_define_start_x”および“pin_define_end_x”の“x”に対応する。後述するように、ピン定義には、複数のピン定義(例えば、マスタ定義と個別のインスタンスごとの定義との2種類)が設けることがあり、その場合に、どのピン定義を用いて接続チェックを行うかが定義番号「def」によって指定される。
【0034】
ブロック名が該ブロックの総称(共通名)であるのに対し、「インスタンス名」は、ブロック名の回路における個別の名称である。例えば、同じブロック(例えばD−FF等)が1つの回路内に複数使用される場合もあり、この場合には、このブロックの共通名がブロック名に対応し、回路に配置される複数の該ブロックの個々の名称がインスタンス名に対応する。
【0035】
なお、“structure_define_start”および“structure_define_end”は、構造定義の開始および終了をそれぞれ宣言する宣言文である。
【0036】
同様にして、ユーザにより、ブロックCOREの定義票が、図7(A)および(B)に示すように定義される。まず、図7(A)のピン定義が規定される。ユーザは、このピン定義を作成した段階で、図1のステップS3の接続チェックを行うことができる。すなわち、接続チェックは、主としてピン定義に基づいて行われるので、COREブロックの構造定義(ブロック分割)を行う前に、接続チェックを行うことができる。もちろん、COREブロックの構造定義の作成後に、接続チェックを行うことができるのはいうまでもない。
【0037】
図2を参照して、トップダウン設計装置によって、TOPブロックに下位階層が存在するかどうかが判断される(S11)。ここでは、下位階層にCOREブロックが存在するので(S11でY),TOP定義票およびCORE定義票のフォーマットがチェックされる(S12)。このフォーマットチェックでは、定義票が所定のフォーマットにより記述されているかどうかがチェックされる。チェック結果がNGの場合には(S13でN)、NGが返され、ユーザに通知される(S27)一方、チェック結果がOKの場合には(S13でY),上位階層および下位階層の双方のインスタンス数が一致するかどうかがチェックされる(S14)。インスタンス数が一致する場合には、ステップS16に処理が進み、一致しない場合には、NGが返され、ユーザに通知される(S27)。
【0038】
ここでは、上位階層のTOPブロックにおいて、下位階層のCOREブロックが1つ定義されている。すなわち、TOP定義票の構造定義において、COREブロックのブロック名およびインスタンス名がともに1つだけ定義されている。また、該構造定義の「def」が0であり、CORE定義票における宣言文“pin_define_start_0”および“pin_define_end_0”に対応するピン定義が、1つのブロックについてのピン定義を規定している。したがって、上位階層および下位階層のインスタンス数は1つとなり、一致するので、チェック結果はOKとなり、ステップS16の処理が行われる。
【0039】
ステップS16において、上位階層および下位階層のピン定義がチェックされる。まず、上位階層のブロックの入力ポートと下位階層の入力ポートとの接続がチェックされる。入力ポートかどうかは、定義の「i/o」欄の記述が「in」であることにより判断される。このチェックでは、上位階層の入力ポートの属性と一致する属性を有する、下位階層の入力ポートが存在するかどうかが判断される。この判断では、「ポート名」および「コメント」を除く属性、すなわち「i/o」、「データタイプ」、「接続ブロック」、「接続ポート」、および「極性」が一致するかどうかが判断される。上位階層または下位階層の一方において一致するピンがない場合や、双方で一致するピンがない場合にはNGとなり、すべてのピン(オープンピンは除く。)が一致する場合にはOKとなる。
【0040】
上位階層および下位階層の出力ポート(「i/o」=out)の接続チェックならびに上位階層および下位階層の入出力ポート(「i/o」=inout)の接続チェックも同様にして行われる。
【0041】
図6(A)に示すTOPブロックのピン定義および図7(A)に示すCOREブロックのピン定義によると、これらの接続チェック結果はOKとなる。
【0042】
これらすべての接続チェックの少なくとも1つがNGの場合には(S17でN)、NGが返される一方、すべてがOKの場合には(S17でY)、同一階層のブロック間のピン定義のチェックが行われる(S18)。TOPブロックの下位階層には、COREブロックのみが存在し、同じ階層に他のブロックが存在しないので、この処理はスキップされ、ステップS20に処理が進む。このステップS18の処理については、後述することとする。
【0043】
続いて、ステップS20において、チェック対象となったブロックのRTL(Register Transfer Level)構造記述が既に存在する場合、すなわち、過去に記述されている場合には、該記述との差分(すなわち追加、削除、修正箇所)がチェックされ、差分が存在する場合には、その差分がディスプレイ等に表示され、ユーザに示される。ユーザは、過去に記述した当該回路の記述に対する変更箇所を把握しているはずなので、自らが把握している変更箇所と、ディスプレイ等に表示された差分とを比較することにより、自らの意図した変更が回路に施されているかどうかを確認することができる。これにより、回路に対する変更ミスがないかどうかを確認でき、設計ミスを減少させることができる。
【0044】
続いて、RTL構造記述が作成される(S21)。このRTL構造記述の作成は当業者には周知の技術で行われる。
【0045】
なお、ステップS11の判断において、下位階層がない場合(S11でN)の処理については、後の回路例で説明する。
【0046】
このようにして、図1のステップS4の接続チェックが行われた後、ユーザは、第2階層のブロック分割および定義票を作成する(図1のS5)。この作成により、図4の回路図における4つのL1_baseブロック(L1BASE_0〜L1BASE_3)、2つのL1_muxブロック(L1MUX_0およびL1MUX_1)、および1つのL1_cpu(L1CPU)ブロックの定義票が作成される。なお、これらのブロックのうち、括弧書きの名称がインスタンス名に対応し、括弧書きの前にある名称がブロック名に対応する。これらブロックの定義票は、図8(A)〜(C)、図9(A)および(B)、ならびに図10に示される。
【0047】
ブロックL1_baseの定義票では、図8(A)および(B)に示すように、2つのピン定義が規定される。図8(A)のピン定義がブロックL1_baseのマスタ定義(一般的な定義)であり、図8(B)のピン定義が、L1_baseブロックの4つのインスタンスL1BASE_0〜L1BASE_3の定義である。後者のピン定義には、4つのインスタンスを指定するパラメータとしてnが使用されており、n=0はインスタンスL1BASE_0、n=1はインスタンスL1BASE_1、n=2はインスタンスL1BASE_2、n=3はインスタンスL1BASE_3に対応する。
【0048】
ブロックL1_baseは、図4(B)に示すように、さらに下位階層のブロックを有するので、図8(C)に示す構造定義が規定される。
【0049】
ブロックL1_muxの定義票も同様に、図9(A)に示すマスタ定義および同図(B)に示すインスタンス定義が規定される。インスタンス定義では、パラメータnが2つのインスタンスを指定するために使用される。なお、ブロックL1_muxは、プリミティブなブロックであり、下位階層のブロックを有しないので、構造定義を有しない。
【0050】
ブロックL1_cpuの定義票では、該ブロックが1つだけであるので、ピン定義が1つだけ設けられる。また、該ブロックは、プリミティブなブロックであるので、構造定義は設けられない。
【0051】
これらの定義票が作成された後、図1のステップS6において、COREブロックとその下位階層のL1_baseブロック等との接続チェックが行われる。図2を参照して、ステップS11ではYと判断され、ステップS12およびS13の処理を経て、ステップS14の処理が行われる。
【0052】
このステップS14において、上位階層のCOREブロックの構造定義(図7(B)参照)のインスタンス数(=7)と、下位階層のL1_baseブロックのインスタンス数(すなわちパラメータnの取る値の個数(=4))、L1_muxブロックのインスタンス数(すなわちパラメータnの取る値の個数(=2))、およびL1_cpuブロックのインスタンス数の合計値とが比較される。双方とも7で等しいので、処理はステップS16に進む。
【0053】
ステップS16において、上位階層COREブロックのピン定義と下位階層L1_baseブロック(L1BASE_0〜L1BASE_3)、L1_muxブロック(L1MUX_0およびL1MUX_2)、およびL1_cpuブロック(L1CPU)のピン定義とが比較される。COREブロックの構造定義において、L1_baseブロックについては「def」の値が1であるので、L1_baseブロックの2つのピン定義のうち宣言文“pin_define_start_1”(“pin_define_end_1”)の定義票が参照され、該定義票が比較の対象となる。同様にして、L1_muxブロックについては、def=1の定義票が参照される。一方、L1_cpuブロックについては、def=0の定義票が参照される。これらの定義票に基づいて、前述したTOPブロックとCOREブロックとの接続チェックと同様にして、接続チェックが行われる。
【0054】
続いて、同一階層のブロック間のピン定義のチェックが行われる(S18)。ブロックCORE内には、同一階層に、ブロックL1BASE_0〜L1BASE_3、ブロックL1MUX_0およびL1MUX_1、ならびにブロックL1CPUが存在するので、これらブロック間のピン定義のチェックが行われる。
【0055】
同一階層のブロック間のチェックについても、上位階層と下位階層との間のピン定義のチェックと同様に、ポート名およびコメントを除く属性が一致するかどうかがチェックされる。具体的には、(1)接続先の衝突はないか(すなわち複数のポートから1つのポートに接続されることはないか)、(2)接続先と接続元のピン定義(データタイプ、極性、種類)は同じであるか、(3)どこにも接続されない入力ポートはないか、がチェックされる。なお、同一階層間では、一方のブロックの出力端子は、他方のブロックの入力端子になっているので、「i/o」がout(またはinout)の端子とin(またはinout)の端子との比較とが行われる。
【0056】
すべてのチェックがOKの場合にOKと判断され、いずれか1つでもNGの場合にはNGと判断される。チェック結果がOKの場合には、ステップS20およびS21の処理が行われる。
【0057】
続いて、図1のステップS7以降の処理が行われる。ここでは、図4(B)に示すように、L1_baseブロックがさらに下位階層のL2_sync(L2SYNC)ブロックおよびL2_alm(L2ALM)ブロックを有するので、上位階層L1_baseブロックと下位階層L2_syncブロックおよびL2_almブロックとの接続チェックが行われる。なお、L2_syncブロックおよびL2_almブロックの定義票は、図11および図12にそれぞれ示される。
【0058】
この接続チェック後、下位階層を有するブロックはもう存在しないので、図2におけるステップS22以降の処理が実行される。すなわち、ステップS12と同様に、定義票のフォーマットがチェックされ(S22)、チェック結果がOKの場合には(S23でY)、RTL構造記述用のエンティティが作成される(S24)。続いて、ステップS20と同様に、既に存在するRTLが存在する場合には、該存在するRTL(旧版RTL)と新たなRLTとの差分がチェックされ、差分がディスプレイ等に表示され、ユーザに示される(S25)。続いて、旧版RTLが存在する場合には、旧版RTLのエンティティの部分が新たなエンティティに置換される(S26)。
【0059】
さらに、本実施の形態によるトップダウン設計装置は、出力されたRTL(HDL)記述に基づいて、シミュレーション(ソフトシミュレーション)を行うことができ、このシミュレーションにおいては、回路ブロックのダミー回路を用いてシミュレーションを行い、回路の検証を行うこともできる。
【0060】
接続チェックがOKの場合に、RTL(HDL)による構造記述が出力されるが、この場合に、プリミティブのブロックとして予め定義されているブロックを除き、それ以外の回路ブロックは、信号の出入りだけが定義された、中身のない空のブロックとして出力される。この状態で、シミュレーション(ソフトシミュレーション)を行うと、従来では、空ブロックの端子から出力される信号の値は不定(すなわち0でも1でもない値)となり、シミュレーションによる検証を行うことができなかった。しかし、本実施の形態では、空ブロックがダミー回路として扱われる。すなわち、ダミーブロックの出力信号が0または1のいずれかの固定値になるように、シミュレーションソフトウェアにおいて設定される。0、1のどちらの値を出力するかは、接続チェックに利用する極性のPまたはNにより決定される。例えばPならば1、Nならば0である。
【0061】
これにより、シミュレーションが可能となり、全ブロックの設計完了を待たずに、先に完成したブロックから検証を始めることができる。その結果、検証工程を短縮することができる。
【0062】
(付記1) 上位階層から下位階層に向けて回路ブロックを定義して行くことにより回路を設計するトップダウン設計装置において、
上位階層の回路ブロックの少なくとも端子の属性を含む第1ブロック定義と該上位階層の直下の下位階層の回路ブロックの少なくとも端子の属性を含む第2ブロック定義とを入力する入力部と、
前記入力部により入力された前記第1ブロック定義に含まれる端子の属性および前記第2ブロック定義に含まれる端子の属性に基づいて、前記上位階層の回路ブロックの端子および前記下位階層の回路ブロックの端子の接続先の有無のチェックと、前記上位階層の回路ブロックの端子の属性と前記下位階層の回路ブロックの端子の属性との整合性のチェックを行う接続チェック部と、
を備えていることを特徴とするトップダウン設計装置。
【0063】
(付記2) 付記1において、
前記接続チェック部は、前記下位階層の2以上の回路ブロックの定義が前記入力部により入力されている場合には、該2以上の回路ブロック間の端子の接続先の有無および端子の属性の整合性のチェックをさらに行う、
ことを特徴とするトップダウン設計装置。
【0064】
(付記3) 付記1または2において、
前記属性は、端子の入出力の属性、データタイプ、接続先の回路ブロック、および極性を含むことを特徴とするトップダウン設計装置。
【0065】
(付記4) 付記1から3のいずれか1つにおいて、
前記入力部により入力された定義に基づいてハードウェア記述言語による構造記述を生成する生成部をさらに備えている、
ことを特徴とするトップダウン設計装置。
【0066】
(付記5) 付記4において、
前記ハードウェア記述言語が、レジスタ間の転送関係を示すレジスタ転送レベル言語である、ことを特徴とするトップダウン設計装置。
【0067】
(付記6) 付記4または5において、
前記生成部により生成された構造記述に基づいて回路のシミュレーションを行うシミュレーション部をさらに備え、
前記シミュレーション部は、前記回路の中に動作が規定されていない回路ブロックが存在する場合には、該動作が規定されていない回路ブロックの出力端子の出力信号を、該出力端子の属性に基づいて決定し、シミュレーションを行う、
ことを特徴とするトップダウン設計装置。
【0068】
(付記7) 付記1から6のいずれか1つにおいて、
前記下位階層ブロック定義は、該下位階層に同一の回路ブロックが複数定義される場合には、該同一の複数の回路ブロックのそれぞれ個別の端子の属性を含み、
前記チェック部は、前記それぞれ個別の端子の属性に基づいてチェックを行う、
ことを特徴とするトップダウン設計装置。
【0069】
(付記8) 付記1から7のいずれか1つにおいて、
前記上位階層ブロック定義および前記下位階層ブロック定義が変更される場合に、変更前の上位階層ブロック定義および下位階層ブロック定義を記憶する記憶手段と、
前記記憶手段に記憶された前記変更前の上位階層ブロック定義および下位階層ブロック定義と、変更後の上位階層ブロック定義および下位階層ブロック定義との間の相違点を出力する出力部と、
をさらに備えていることを特徴とするトップダウン設計装置。
【0070】
(付記9) コンピュータに、
設計される回路における上位階層の回路ブロックの少なくとも端子の属性を含む第1ブロック定義および該上位階層の直下の下位階層の回路ブロックの少なくとも端子の属性を含む第2ブロック定義の入力を受け付け、内部のメモリに記憶する手順と、
前記内部のメモリに記憶された前記第1ブロック定義に含まれる端子の属性および前記第2ブロック定義に含まれる端子の属性に基づいて、前記上位階層の回路ブロックの端子および前記下位階層の回路ブロックの端子の接続先の有無のチェックと、前記上位階層の回路ブロックの端子の属性と前記下位階層の回路ブロックの端子の属性との整合性のチェックを行う手順と、
を実行させるためのトップダウン設計プログラム。
【0071】
【発明の効果】
本発明によると,回路ブロックの端子間の物理的および論理的な接続チェックを用いて上位階層から順に接続チェックを行うことができる。また、本発明によると、回路設計において、記述ミスの早期発見が可能となり、回路の作成時間の短縮を図ることができる。
【図面の簡単な説明】
【図1】本発明の一実施の形態によるトップダウン設計装置における回路のトップダウン設計の全体処理フローを示すフローチャートである。
【図2】図1の接続チェックの詳細な処理の流れを示すフローチャートである。
【図3】トップダウン設計により設計される回路の概略図である。
【図4】(A)および(B)は、具体的な回路ブロック図(完成図)である。
【図5】図4(A)の回路図のトップレベルおよび第1階層を定義した段階の回路図である。
【図6】回路ブロックの定義票を示す。
【図7】回路ブロックの定義票を示す。
【図8】回路ブロックの定義票を示す。
【図9】回路ブロックの定義票を示す。
【図10】回路ブロックの定義票を示す。
【図11】回路ブロックの定義票を示す。
【図12】回路ブロックの定義票を示す。
【符号の説明】
1,2,3,4 回路ブロック
11〜16,21〜26,31〜35,41〜45 端子(ピン)
Claims (5)
- 上位階層から下位階層に向けて回路ブロックを定義して行くことにより回路を設計するトップダウン設計装置において、
上位階層の回路ブロックの少なくとも端子の属性を含む第1ブロック定義と該上位階層の直下の下位階層の回路ブロックの少なくとも端子の属性を含む第2ブロック定義とを入力する入力部と、
前記入力部により入力された前記第1ブロック定義に含まれる端子の属性および前記第2ブロック定義に含まれる端子の属性に基づいて、前記上位階層の回路ブロックの端子および前記下位階層の回路ブロックの端子の接続先の有無のチェックと、前記上位階層の回路ブロックの端子の属性と前記下位階層の回路ブロックの端子の属性との整合性のチェックを行う接続チェック部と、
を備えていることを特徴とするトップダウン設計装置。 - 請求項1において、
前記接続チェック部は、前記下位階層の2以上の回路ブロックの定義が前記入力部により入力されている場合には、該2以上の回路ブロック間の端子の接続先の有無および端子の属性の整合性のチェックをさらに行う、
ことを特徴とするトップダウン設計装置。 - 請求項1または2において、
前記属性は、端子の入出力の属性、データタイプ、接続先の回路ブロック、および極性を含むことを特徴とするトップダウン設計装置。 - 請求項1から3のいずれか1項において、
前記入力部により入力された定義に基づいてハードウェア記述言語による構造記述を生成する生成部をさらに備えている、
ことを特徴とするトップダウン設計装置。 - コンピュータに、
設計される回路における上位階層の回路ブロックの少なくとも端子の属性を含む第1ブロック定義および該上位階層の直下の下位階層の回路ブロックの少なくとも端子の属性を含む第2ブロック定義の入力を受け付け、内部のメモリに記憶する手順と、
前記内部のメモリに記憶された前記第1ブロック定義に含まれる端子の属性および前記第2ブロック定義に含まれる端子の属性に基づいて、前記上位階層の回路ブロックの端子および前記下位階層の回路ブロックの端子の接続先の有無のチェックと、前記上位階層の回路ブロックの端子の属性と前記下位階層の回路ブロックの端子の属性との整合性のチェックを行う手順と、
を実行させるためのトップダウン設計プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003068498A JP2004280279A (ja) | 2003-03-13 | 2003-03-13 | トップダウン設計装置およびトップダウン設計プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003068498A JP2004280279A (ja) | 2003-03-13 | 2003-03-13 | トップダウン設計装置およびトップダウン設計プログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004280279A true JP2004280279A (ja) | 2004-10-07 |
Family
ID=33285813
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003068498A Pending JP2004280279A (ja) | 2003-03-13 | 2003-03-13 | トップダウン設計装置およびトップダウン設計プログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2004280279A (ja) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006285947A (ja) * | 2005-03-08 | 2006-10-19 | Matsushita Electric Ind Co Ltd | 回路自動生成装置及び方法 |
JP2009238209A (ja) * | 2008-03-04 | 2009-10-15 | Nec Corp | 回路検証装置、回路検証プログラムおよび回路検証方法 |
JP2012048604A (ja) * | 2010-08-30 | 2012-03-08 | Fujitsu Ltd | 設計支援装置、設計支援方法および設計支援プログラム |
JP2015056076A (ja) * | 2013-09-12 | 2015-03-23 | 富士通セミコンダクター株式会社 | 判定方法、判定プログラム、および判定装置 |
JP2016206957A (ja) * | 2015-04-23 | 2016-12-08 | 株式会社ソシオネクスト | 設計方法、設計装置及びプログラム |
-
2003
- 2003-03-13 JP JP2003068498A patent/JP2004280279A/ja active Pending
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006285947A (ja) * | 2005-03-08 | 2006-10-19 | Matsushita Electric Ind Co Ltd | 回路自動生成装置及び方法 |
US7698661B2 (en) | 2005-03-08 | 2010-04-13 | Panasonic Corporation | Circuit automatic generation apparatus and method |
JP4563286B2 (ja) * | 2005-03-08 | 2010-10-13 | パナソニック株式会社 | 回路自動生成装置 |
JP2009238209A (ja) * | 2008-03-04 | 2009-10-15 | Nec Corp | 回路検証装置、回路検証プログラムおよび回路検証方法 |
JP4586926B2 (ja) * | 2008-03-04 | 2010-11-24 | 日本電気株式会社 | 回路検証装置、回路検証プログラムおよび回路検証方法 |
US8037436B2 (en) | 2008-03-04 | 2011-10-11 | Nec Corporation | Circuit verification apparatus, a method of circuit verification and circuit verification program |
JP2012048604A (ja) * | 2010-08-30 | 2012-03-08 | Fujitsu Ltd | 設計支援装置、設計支援方法および設計支援プログラム |
JP2015056076A (ja) * | 2013-09-12 | 2015-03-23 | 富士通セミコンダクター株式会社 | 判定方法、判定プログラム、および判定装置 |
JP2016206957A (ja) * | 2015-04-23 | 2016-12-08 | 株式会社ソシオネクスト | 設計方法、設計装置及びプログラム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4923128B2 (ja) | 回路設計およびリタイミングの方法および装置 | |
US7444257B2 (en) | Generation of a testbench for a representation of a device | |
US7404161B2 (en) | Fullchip functional equivalency and physical verification | |
US10255403B1 (en) | Method and apparatus for concurrently extracting and validating timing models for different views in multi-mode multi-corner designs | |
US8762907B2 (en) | Hierarchical equivalence checking and efficient handling of equivalence checks when engineering change orders are in an unsharable register transfer level | |
US6668362B1 (en) | Hierarchical verification for equivalence checking of designs | |
CN112069763A (zh) | 修正电路的方法 | |
US8281269B2 (en) | Method of semiconductor integrated circuit device and program | |
JP5444985B2 (ja) | 情報処理装置 | |
JP2004280279A (ja) | トップダウン設計装置およびトップダウン設計プログラム | |
US9053265B2 (en) | Generating test benches for pre-silicon validation of retimed complex IC designs against a reference design | |
US6665848B2 (en) | Time-memory tradeoff control in counterexample production | |
WO2006025412A1 (ja) | 論理検証方法、論理モジュールデータ、デバイスデータおよび論理検証装置 | |
US7275223B2 (en) | Facilitating high-level validation of integrated circuits in parallel with development of blocks in a hierarchical design approach | |
US10997333B1 (en) | Methods, systems, and computer program product for characterizing an electronic design with a schematic driven extracted view | |
Ren et al. | Intuitive ECO synthesis for high performance circuits | |
US7191412B1 (en) | Method and apparatus for processing a circuit description for logic simulation | |
JP3770724B2 (ja) | 半導体集積回路装置のマスクパターン検証装置 | |
US8527923B1 (en) | System, method, and computer program product for hierarchical formal hardware verification of floating-point division and/or square root algorithmic designs using automatic sequential equivalence checking | |
JP2004013821A (ja) | 半導体集積回路設計方法および設計装置 | |
JP2001318959A (ja) | 論理回路検証装置 | |
CN117807948A (zh) | 顶层网表文件的生成方法、装置、计算机设备及存储介质 | |
US20080141197A1 (en) | Semiconductor device design method, semiconductor device design system, and computer program | |
JPH10340283A (ja) | Lsi設計検証方法及び装置 | |
JP4537907B2 (ja) | ピンレイアウト検証支援システム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050811 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20080414 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080422 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080618 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080729 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080929 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20081111 |