JP2004164669A - 半導体設計装置 - Google Patents

半導体設計装置 Download PDF

Info

Publication number
JP2004164669A
JP2004164669A JP2004009924A JP2004009924A JP2004164669A JP 2004164669 A JP2004164669 A JP 2004164669A JP 2004009924 A JP2004009924 A JP 2004009924A JP 2004009924 A JP2004009924 A JP 2004009924A JP 2004164669 A JP2004164669 A JP 2004164669A
Authority
JP
Japan
Prior art keywords
simulation
unit
input
data
cpu
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
JP2004009924A
Other languages
English (en)
Inventor
Yasuhiro Ishiyama
裕浩 石山
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP2004009924A priority Critical patent/JP2004164669A/ja
Publication of JP2004164669A publication Critical patent/JP2004164669A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Design And Manufacture Of Integrated Circuits (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

【課題】 シミュレーション実行前に実行可能か判断し、実行の高速化と応用展開を可能にする半導体設計装置を提供する。
【解決手段】 入力部から入力した情報でデータを処理するCPU2と、入力した情報からシミュレーションを実行するシミュレーション実行部3と、CPU2で処理した結果を出力する出力部4とを備えた半導体設計装置であって、入力したデータがシミュレーションできるサイズで構成されているかチェックを行う入力データ容量チェック部31と、入力データ容量チェック部31で入力データがシミュレーション実行できるサイズで構成されていない場合にデータのリダクションを行うリダクション実行部37を備えているので、シミュレーション実行前に入力データのリダクションを行いデータサイズが大きな回路のシミュレーションを実現できる。
【選択図】 図1

Description

本発明は、半導体回路を設計する際に用いられる半導体設計装置に関する。
従来より、半導体回路を設計する場合には、シミュレーションを行って設計を行っていた。
以下、従来技術の手法について詳細に説明する。回路図のネットリスト情報と、シミュレーションの実行情報を基に、シミュレーション実行部でシミュレーションを行って設計する手法を用いている。
図14は従来の半導体設計装置を示す。1は入力部、2は入力部1から入力した情報でデータを処理するCPU、3はCPU2で処理した入力したデータにシミュレーションを実行するシミュレーション実行部、4はCPU2の結果を出力する出力部である。
まず、入力部1に入力された回路図が、CPU2で選択される。CPU2では、入力部1から入力した回路図のネットリスト情報を抽出する。抽出された情報はシミュレーション実行部3に送られる。次に、入力部1から入力したシミュレーションの実行情報がシミュレーション実行部3に送られる。この時、シミュレーション実行部3ではCPU2のネットリスト情報と、入力部1のシミュレーションの実行情報を選択的に合成してシミュレーションを行う。その結果、入力部1で入力した回路図のシミュレーション結果を出力部4から出力する。
具体的には、図15〜図18に示す第1の半導体回路例〜第4の半導体回路例を設計する場合には、何れの場合も入力から出力に向かって一段ずつシュミレーションしながら設計されている。
図15に示す第1の半導体回路において、11はPMOS、12はNMOS、13は抵抗、14は容量である。i1はPMOS11とNMOS12のゲート入力に接続し、PMOS11とNMOS12のドレインを接続しp01とする。PMOS11のソースは電源電圧VDDに、NMOSのソースは接地電位GNDに接続する。p01とp02の間に抵抗13、p02とp03の間に抵抗13、p01と接地電位GNDの間に容量14、p02と接地電位GNDの間に容量14、p03と接地電位GNDの間に容量14、これらp01とp03の間の抵抗13と容量14の組み合わせをA0とする。また、p03とi2は同一で、i2はPMOS11とNMOS12のゲート入力に接続し、PMOS11とNMOS12のドレインを接続しp21とする。PMOS11のソースは電源電圧VDDに、NMOSのソースは接地電位GNDに接続する。p21とp22の間に抵抗13、p22とp23の間に抵抗3、p21と接地電位GNDの間に容量14、p22と接地電位GNDの間に容量14、p23と接地電位GNDの間に容量14、これらp21とp23の間の抵抗13と容量14の組み合わせをA2とする。また、p23とi3は同一である。
図16に示す第2の半導体回路において、i11はPMOS11とNMOS12のゲート入力に接続し、PMOS11とNMOS12のドレインを接続しi12とする。PMOS11のソースは電源電圧VDDに、NMOSのソースは接地電位GNDに接続する。i12はPMOS11とNMOS12のゲート入力に接続し、PMOS11とNMOS12のドレインを接続しi13とする。PMOS11のソースは電源電圧VDDに、NMOSのソースは接地電位GNDに接続する。接地電位GNDをPMOS11とNMOS12のゲート入力に接続し、PMOS11とNMOS12のドレインを接続しi14とする。PMOS11のソースは電源電圧VDDに、NMOSのソースは接地電位GNDに接続する。i14はPMOS11とNMOS12のゲート入力に接続し、PMOS11とNMOS12のドレインを接続しi15とする。PMOS11のソースは電源電圧VDDに、NMOSのソースは接地電位GNDに接続する。この回路図はnet00である。
図17に示す第3の半導体回路において、i21はPMOS11とNMOS12のゲート入力に接続し、PMOS11とNMOS12のドレインを接続しi22とする。PMOS11のソースは電源電圧VDDに、NMOSのソースは接地電位GNDに接続する。i22はPMOS11とNMOS12のゲート入力に接続し、PMOS11とNMOS12のドレインを接続しi23とする。PMOS11のソースは電源電圧VDDに、NMOSのソースは接地電位GNDに接続する。i22はPMOS11とNMOS12のゲート入力に接続し、PMOS11とNMOS12のドレインを接続しi26とする。PMOS11のソースは電源電圧VDDに、NMOSのソースは接地電位GNDに接続する。i23はPMOS11とNMOS12のゲート入力に接続し、PMOS11とNMOS12のドレインを接続しi24とする。PMOS11のソースは電源電圧VDDに、NMOSのソースは接地電位GNDに接続する。i24はPMOS11とNMOS12のゲート入力に接続し、PMOS11とNMOS12のドレインを接続しi25とする。PMOS11のソースは電源電圧VDDに、NMOSのソースは接地電位GNDに接続する。この回路図はnet10である。
図18に示す第4の半導体回路において、i31はPMOS11とNMOS12のゲート入力に接続し、PMOS11とNMOS12のドレインを接続しi32とする。PMOS11のソースは電源電圧VDDに、NMOSのソースは接地電位GNDに接続する。i32はPMOS11とNMOS12のゲート入力に接続し、PMOS11とNMOS12のドレインを接続しi33とする。PMOS11のソースは電源電圧VDDに、NMOSのソースは接地電位GNDに接続する。これらi31、i32、i33間の2個のPMOS11と、2個のNMOS12の構成をB0とする。i33はPMOS11とNMOS12のゲート入力に接続し、PMOS11とNMOS12のドレインを接続しi34とする。PMOS11のソースは電源電圧VDDに、NMOSのソースは接地電位GNDに接続する。i34はPMOS11とNMOS12のゲート入力に接続し、PMOS11とNMOS12のドレインを接続しi35とする。PMOS11のソースは電源電圧VDDに、NMOSのソースは接地電位GNDに接続する。これらi33、i34、i35間の2個のPMOS11と、2個のNMOS12の構成をB1とする。
特開平2−301725号公報
しかしながら、このような従来の構成では、シミュレーションを行う入力データにリダクションを行えばシミュレーション実行が可能なのにリダクションが行えずシミュレーションが行えないという問題がある。
また、入力データに対して変更があった場合にどこに変更があったかわからないという問題がある。また、入力データの中でシミュレーションを実行した時にどの部分がシミュレーションに必要であったかわからないという問題がある。
本発明は上記従来の問題点を解決するもので、シミュレーション実行前に入力データのリダクションを行いデータサイズが大きな回路のシミュレーションを可能にし、入力データに対して変更した箇所を画面表示可能にして判別し易いようにし、入力データの中でシミュレーションを実行した時にどの部分がシミュレーションに必要であったかわかるようにした半導体設計装置を提供することを目的とする。
本発明の半導体設計装置は、入力部から入力した情報でデータを処理するCPUと、入力した情報からシミュレーションを実行するシミュレーション実行部と、CPUで処理した結果を出力する出力部とを備えた半導体設計装置であって、入力したデータがシミュレーションできるサイズで構成されているかチェックを行う入力データ容量チェック部と、入力データ容量チェック部で入力データがシミュレーション実行できるサイズで構成されていない場合にデータのリダクションを行うリダクション実行部を備えている。
本発明の半導体設計装置は、入力部から入力した情報でデータを処理するCPUと、入力した情報からシミュレーションを実行するシミュレーション実行部と、CPUで処理した結果を出力する出力部とを備えた半導体設計装置であって、入力したデータがシミュレーションできるサイズで構成されているかチェックを行う入力データ容量チェック部と、入力データ容量チェック部で入力データがシミュレーション実行できるサイズで構成されていない場合に入力データのリダクションを行うリダクション実行部と、入力データに対してリダクションを行わない箇所を指示するネットリスト不修正箇所指示部を備えている。
本発明の半導体設計装置は、入力部から入力した情報でデータを処理するCPUと、入力した情報からシミュレーションを実行するシミュレーション実行部と、CPUで処理した結果を出力する出力部とを備えた半導体設計装置であって、入力したデータがシミュレーションできるサイズで構成されているかチェックを行う入力データ容量チェック部と、入力データ容量チェック部で入力データがシミュレーション実行できるサイズで構成されていない場合に入力データのリダクションを行うリダクション実行部と、入力データに対して変更があった箇所を画面表示可能にする回路変更箇所明示部を備えている。
本発明の半導体設計装置は、入力部から入力した情報でデータを処理するCPUと、入力した情報からシミュレーションを実行するシミュレーション実行部と、CPUで処理した結果を出力する出力部とを備えた半導体設計装置であって、入力したデータがシミュレーションできるサイズで構成されているかチェックを行う入力データ容量チェック部と、入力データ容量チェック部で入力データがシミュレーション実行できるサイズで構成されていない場合にデータのリダクションを行うリダクション実行部を備えているので、シミュレーション実行前に入力データのリダクションを行いデータサイズが大きな回路のシミュレーションを実現できる。
本発明の半導体設計装置は、入力部から入力した情報でデータを処理するCPUと、入力した情報からシミュレーションを実行するシミュレーション実行部と、CPUで処理した結果を出力する出力部とを備えた半導体設計装置であって、入力したデータがシミュレーションできるサイズで構成されているかチェックを行う入力データ容量チェック部と、入力データ容量チェック部で入力データがシミュレーション実行できるサイズで構成されていない場合に入力データのリダクションを行うリダクション実行部と、入力データに対してリダクションを行わない箇所を指示するネットリスト不修正箇所指示部を備えているので、シミュレーション実行前に入力データのリダクションを行いデータサイズが大きな回路のシミュレーションを実現できる。また、入力データやシミュレーションのデータに対して修正を行って良い箇所か駄目な箇所かの指定を行える。
本発明の半導体設計装置は、入力部から入力した情報でデータを処理するCPUと、入力した情報からシミュレーションを実行するシミュレーション実行部と、CPUで処理した結果を出力する出力部とを備えた半導体設計装置であって、入力したデータがシミュレーションできるサイズで構成されているかチェックを行う入力データ容量チェック部と、入力データ容量チェック部で入力データがシミュレーション実行できるサイズで構成されていない場合に入力データのリダクションを行うリダクション実行部と、入力データに対して変更があった箇所を画面表示可能にする回路変更箇所明示部を備えているので、シミュレーション実行前に入力データのリダクションを行いデータサイズが大きな回路のシミュレーションを実現できる。また、入力データに対して変更した箇所を画面表示可能にして判別し易い。
以下、本発明の実施の形態を図1から図13および比較例として従来の設計装置における図15〜図18の第1〜第4の半導体回路例を用いて説明する。
図1は本発明の実施の形態の半導体設計装置を示す。
1は入力部、2は入力部1から入力した情報でデータを処理するCPU、3はCPU2で処理した入力したデータにシミュレーションを実行するシミュレーション実行部、4はCPU2の結果を出力する出力部である。
31は入力容量チェック部で、入力したデータがシミュレーションできるサイズで構成されているかチェックを行う。32はシミュレーション実行判断部で、入力容量チェック部31の結果に基づいてシミュレーションの実行を判断する。
33はディスク容量チェック部で、シミュレーションを行うためのハードウエアがシミュレーションできるディスク容量かチェックを行う。34はディスク容量整理部で、ディスク容量チェック部33でシミュレーション実行にはディスク容量が足りないと判断した場合には、以前実行したシミュレーションの不要な中間ファイルを整理しシミュレーションに必要なディスク容量を確保する。
35はシミュレーション実行時間見積り部で、入力したデータからシミュレーションにかかる実行時間を見積もる。36はシミュレーション精度調整部で、シミュレーション実行時間見積り部35で目標とするシミュレーション時間に終了しないと判断した場合に、シミュレーションの精度を調整して目標とするシミュレーション時間にシミュレーションを終了させる。
37はデータのリダクションを行うリダクション実行部である。38はデータを保存するネットリストデータベースである。39は入力データに対して変更があった箇所を画面表示可能にする回路変更箇所明示部、40はデータに対して変更を行わない箇所を指示するネットリスト不修正箇所指示部、41はシミュレーション実行ネットリスト抽出部で、入力したデータの中でシミュレーションに必要となった部分だけを抽出する。42はネットリスト分割部で、シミュレーション実行ネットリスト抽出部41で抽出したシミュレーションに必要なデータとそれ以外のデータに分割する。
43はクリティカルパス判断部で、シミュレーションを実行してクリティカルパスを判断する。44はクリティカルパスネットリスト出力部で、クリティカルパス判断部43で判断したクリティカルパスのデータを出力する。
45は入力データに対して抽出した箇所を画面表示可能にする回路抽出箇所明示部である。46は入力データの中の回路構成素子を機能記述に置換する機能記述置換部、47は機能記述情報を蓄積した機能記述データベース、48はシミュレーションを実行した結果から機能記述を作成する機能記述作成部、49はシミュレーションを実行した結果からEDAライブラリを作成するEDAライブラリ作成部である。
図2は入力データ容量チェック部31の構成を示し、ネットリストデータサイズをN0、ネットリスト構成素子数をN1としてチェックしている。図3はディスク容量チェック部33の構成を示し、使用ディスク空領域D1としてチェックしている。
図4はディスク容量整理部34の構成を示し、ディスク容量整理前に入力データ、中間ファイル1、中間ファイル2、中間ファイル3などと、出力データで構成されていたデータを、ディスク容量整理後に入力データ、出力データだけにしている。
図5はシミュレーション実行時間見積り部35の構成を示し、1素子当りの単位解析時間T1、ネットリスト構成素子数N1、解析ステップ数K1、実行ハードウエアの性能S1でシミュレーション実行時間見積りを行う。
図6は、図1の装置で図15に示した2段のπ型梯子回路を有した同じ回路を設計する場合を示している。i1はPMOS11とNMOS12のゲート入力に接続し、PMOS11とNMOS12のドレインを接続しp11とする。PMOS11のソースは電源電圧VDDに、NMOSのソースは接地電位GNDに接続する。p11とp12の間に抵抗13、p11と接地電位GNDの間に容量14、p12と接地電位GNDの間に容量14、これらp11とp12の間の抵抗13と容量14の組み合わせをA1とする。また、p12とi2は同一で、i2はPMOS11とNMOS12のゲート入力に接続し、PMOS11とNMOS12のドレインを接続しp21とする。PMOS11のソースは電源電圧VDDに、NMOSのソースは接地電位GNDに接続する。p21とp22の間に抵抗13、p22とp23の間に抵抗3、p21と接地電位GNDの間に容量14、p22と接地電位GNDの間に容量14、p23と接地電位GNDの間に容量14、これらp21とp23の間の抵抗13と容量14の組み合わせをA2とする。また、p23とi3は同一である。
図7は、図1の装置で図16に示した回路と同じ回路を設計する場合を示している。i11はPMOS11とNMOS12のゲート入力に接続し、PMOS11とNMOS12のドレインを接続しi12とする。PMOS11のソースは電源電圧VDDに、NMOSのソースは接地電位GNDに接続する。i12はPMOS11とNMOS12のゲート入力に接続し、PMOS11とNMOS12のドレインを接続しi13とする。PMOS11のソースは電源電圧VDDに、NMOSのソースは接地電位GNDに接続する。この回路図はnet01である。また、接地電位GNDをPMOS11とNMOS12のゲート入力に接続し、PMOS11とNMOS12のドレインを接続しi14とする。PMOS11のソースは電源電圧VDDに、NMOSのソースは接地電位GNDに接続する。i14はPMOS11とNMOS12のゲート入力に接続し、PMOS11とNMOS12のドレインを接続しi15とする。PMOS11のソースは電源電圧VDDに、NMOSのソースは接地電位GNDに接続する。この回路図はnet02である。
図8は、本発明の実施の形態におけるタイミング図で、i21の“L”、“H”、“L”入力に対して、i26はi21に対してtd1遅延して出力し、i25はi21に対してtd2遅延して出力する。
図9は、図1の装置で図17に示した回路と同じ回路を設計する場合を示している。i21はPMOS11とNMOS12のゲート入力に接続し、PMOS11とNMOS12のドレインを接続しi22とする。PMOS11のソースは電源電圧VDDに、NMOSのソースは接地電位GNDに接続する。i22はPMOS11とNMOS12のゲート入力に接続し、PMOS11とNMOS12のドレインを接続しi23とする。PMOS11のソースは電源電圧VDDに、NMOSのソースは接地電位GNDに接続する。i23はPMOS11とNMOS12のゲート入力に接続し、PMOS11とNMOS12のドレインを接続しi24とする。PMOS11のソースは電源電圧VDDに、NMOSのソースは接地電位GNDに接続する。i24はPMOS11とNMOS12のゲート入力に接続し、PMOS11とNMOS12のドレインを接続しi25とする。PMOS11のソースは電源電圧VDDに、NMOSのソースは接地電位GNDに接続する。この回路図はnet11である。
図10は、図1の装置で図18に示した回路と同じ回路を設計する場合を示している。i31は出力outと入力inが同じ機能を有する機能記述セル20の入力inと接続し、出力outをi33に接続する。i33はPMOS11とNMOS12のゲート入力に接続し、PMOS11とNMOS12のドレインを接続しi34とする。PMOS11のソースは電源電圧VDDに、NMOSのソースは接地電位GNDに接続する。i34はPMOS11とNMOS12のゲート入力に接続し、PMOS11とNMOS12のドレインを接続しi35とする。PMOS11のソースは電源電圧VDDに、NMOSのソースは接地電位GNDに接続する。これらi33、i34、i35間の2個のPMOS11と、2個のNMOS12の構成をB1とする。
図11は、本発明の実施の形態における構成図で、シミュレーション値のタイミングで、入力inの“L”、“H”、“L”に対して、出力outが同じ動作を行っているので、出力outと入力inが同じ機能を有する機能記述セル20とする。
図12は、本発明の実施の形態におけるタイミング図で、inの“L”、“H”、“L”入力に対して、outはinに対してtd遅延して出力する。図13はEDAライブラリの構成図で、機能部とタイミング情報部で構成されている。例として、機能部はout=in、タイミング情報部はtout=tin+tdである。
以上のように構成された半導体設計装置について、以下その動作を説明する。
(第1の実施例)
まず、本発明の第1の実施例について説明する。
入力部1に入力されたデータがCPU2で選択される。この時、CPU2では、入力部1で入力したデータを選択し、入力データ容量チェック部31に送る。この時、入力容量チェック部31では、CPU2から送られたデータの中でネットリストデータサイズと、ネットリスト構成素子数を選択し、シミュレーションできるサイズで構成されているかチェックを行う。次に、その情報をもとにシミュレーション実行判断部32で、シミュレーションを実行するか判断する。図2は入力データ容量チェック部の構成図で、ネットリストデータサイズをN0、ネットリスト構成素子数をN1の場合に、シミュレーション実行部3が事前にその値がシミュレーション可能かどうかチェックしている。シミュレーション実行判断部32でシミュレーションできると判断すればシミュレーション実行部3でシミュレーションを実行し、その結果を出力部4で出力する。また、シミュレーション実行判断部32でシミュレーションできないと判断すればそのまま出力部4でシミュレーションできないと出力する。
(第2の実施例)
次に、本発明の第2の実施例について説明する。
入力部1に入力されたデータがCPU2で選択される。この時、CPU2では、入力部1で入力したデータを選択し、シミュレーションを行うためのハードウエアがシミュレーションできるディスク容量かチェックを行う信号と、データの中でネットリスト構成素子数をディスク容量チェック部33に送る。この時、ディスク容量チェック部33ではシミュレーションで消費する1素子あたりのディスク容量値とネットリスト構成素子数を選択し計算を行いシミュレーションで消費するディスク容量の値が使用ディスク空き領域D1以内におさまっていてシミュレーションできるかチェックを行う。次に、その情報をもとにシミュレーション実行判断部32で、シミュレーションを実行するか判断する。シミュレーション実行判断部32でシミュレーションできると判断すればシミュレーション実行部3でシミュレーションを実行し、その結果を出力部4で出力する。また、シミュレーション実行判断部32でシミュレーションできないと判断すればそのまま出力部4でシミュレーションできないと出力する。
(第3の実施例)
次に、本発明の第3の実施例について説明する。
入力部1に入力されたデータがCPU2で選択される。この時、CPU2では、入力部1で入力したデータを選択し、シミュレーションを行うためのハードウエアがシミュレーションできるディスク容量かチェックを行う信号と、データの中でネットリスト構成素子数をディスク容量チェック部33に送る。この時、ディスク容量チェック部33ではシミュレーションで消費する1素子あたりのディスク容量値とネットリスト構成素子数を選択し計算を行いシミュレーションで消費するディスク容量の値が使用ディスク空き領域D1以内におさまっていてシミュレーションできるかチェックを行う。この時、ディスク容量が足りないと判断した場合はディスク容量整理部34で、以前に実行したシミュレーションの不要な中間ファイルを整理しシミュレーションに必要なディスク容量を確保する。次に、その情報をもとにシミュレーション実行判断部32で、シミュレーションを実行するか判断する。シミュレーション実行判断部32でシミュレーションできると判断すればシミュレーション実行部3でシミュレーションを実行し、その結果を出力部4で出力する。また、シミュレーション実行判断部32でシミュレーションできないと判断すればそのまま出力部4でシミュレーションできないと出力する。
(第4の実施例)
次に、本発明の第4の実施例について説明する。
入力部1に入力されたデータがCPU2で選択される。この時、CPU2では、入力部1で入力したデータを選択し、1素子当りの単位解析時間T1とネットリスト構成素子数N1と解析ステップ数K1と、実行ハードウエアの性能S1をシミュレーション実行時間見積り部35に送る。この時、シミュレーション実行時間見積り部35では1素子当りの単位解析時間T1とネットリスト構成素子数N1と解析ステップ数K1と、実行ハードウエアの性能S1で計算を行いシミュレーションにかかる実行時間を見積もる。例えば、1素子当りの単位解析時間T1が0.01nsで、ネットリスト構成素子数N1が1000で、解析ステップ数K1が0.1ns毎の解析で0nsから10ns迄の100回で、実行ハードウエアの性能S1が1ns当りに計算できる素子数が1000の場合に、シミュレーションにかかる実行時間はT1×N1×K1×S1で1msである。見積もったシミュレーションにかかる実行時間は出力部4から出力する。
(第5の実施例)
次に、本発明の第5の実施例について説明する。
入力部1に入力されたデータがCPU2で選択される。この時、CPU2では、入力部1で入力したデータを選択し、1素子当りの単位解析時間T1とネットリスト構成素子数N1と解析ステップ数K1と、実行ハードウエアの性能S1をシミュレーション実行時間見積り部35に、目標とするシミュレーション時間をシミュレーション実行判断部32に送る。この時、シミュレーション実行時間見積り部35では1素子当りの単位解析時間T1とネットリスト構成素子数N1と解析ステップ数K1と、実行ハードウエアの性能S1で計算を行いシミュレーションにかかる実行時間を見積もる。次に、その情報をもとにシミュレーション実行判断部32で、目標とするシミュレーション時間にシミュレーションが終了するか判断する。シミュレーション実行判断部32で目標とするシミュレーション時間内でシミュレーションできると判断すればシミュレーション実行部3でシミュレーションを実行し、その結果を出力部4で出力する。また、シミュレーション実行判断部32で目標とするシミュレーション時間にシミュレーションできないと判断すればシミュレーション精度調整部36で、解析ステップ数K1の値を目標とするシミュレーション時間に終了するように変更する。例えば、目標とするシミュレーション実行時間が0.5msの場合に、1素子当りの単位解析時間T1が0.01nsで、ネットリスト構成素子数N1が1000で、当初、解析ステップ数K1が0.1ns毎の解析で0nsから10ns迄の100回であったのを、解析ステップ数K1が0.2ns毎の解析で0nsから10ns迄の50回に変更する。実行ハードウエアの性能S1が1ns当りに計算できる素子数が1000の場合に、シミュレーションにかかる実行時間はT1×N1×K1×S1で0.5msであり目標とするシミュレーション時間になる。この時、シミュレーション実行部3でシミュレーションを実行し、その結果を出力部4で出力する。
(第6の実施例)
次に、本発明の第6の実施例について説明する。
入力部1に入力されたデータがCPU2で選択される。この時、CPU2では、入力部1で入力したデータを選択し、入力データ容量チェック部31に送る。この時、入力容量チェック部31では、CPU2から送られたデータの中でネットリストデータサイズを選択し、シミュレーションできるサイズで構成されているかチェックを行う。次に、その情報をもとにシミュレーション実行判断部32で、シミュレーション実行できるか判断する。シミュレーション実行できるサイズで構成されていない場合、データのリダクションを行うリダクション実行部37にデータを送りデータのリダクションを行う。例えば、従来データが図15のように構成されていて、A0の箇所のp01とp02の間に抵抗13の抵抗値が10Ω、p02とp03の間に抵抗13の抵抗値が10Ω、p01と接地電位GNDの間に容量14が0.5pF、p02と接地電位GNDの間に容量14が1pF、p03と接地電位GNDの間に容量14が0.5pFの場合に、A0の箇所に対してリダクションを行うと、図6のA1のようになり、p11とp12の間に抵抗13の抵抗値が20Ω、p11と接地電位GNDの間に容量14が1pF、p12と接地電位GNDの間に容量14が1pFの等価な回路に変更できて構成の素子数が減少する。リダクションを行ったデータはネットリストデータベース38に送る。リダクションを行った結果、シミュレーション実行判断部32でシミュレーションできると判断すればシミュレーション実行部3でシミュレーションを実行し、その結果を出力部4で出力する。また、シミュレーション実行判断部32でシミュレーションできないと判断すればそのまま出力部4でシミュレーションできないと出力する。
(第7の実施例)
次に、本発明の第7の実施例について説明する。
入力部1に入力されたデータがCPU2で選択される。この時、CPU2では、入力部1で入力したデータを選択し、入力データ容量チェック部31に送る。この時、データに対して変更してはいけない箇所をネットリスト不修正箇所指示部40に送る。この時、入力容量チェック部31では、CPU2から送られたデータの中でネットリストデータサイズを選択し、シミュレーションできるサイズで構成されているかチェックを行う。次に、その情報をもとにシミュレーション実行判断部32で、シミュレーション実行できるか判断する。シミュレーション実行できるサイズで構成されていない場合、データのリダクションを行うリダクション実行部37にデータを送りデータのリダクションを行うが、ネットリスト不修正箇所指示部40でデータに対して変更してはいけない箇所を指示された箇所についてはリダクションを行わない。例えば、従来データが図15のように構成されていて、A0の箇所のp01とp02の間に抵抗13の抵抗値が10Ω、p02とp03の間に抵抗13の抵抗値が10Ω、p01と接地電位GNDの間に容量14が0.5pF、p02と接地電位GNDの間に容量14が1pF、p03と接地電位GNDの間に容量14が0.5pFの場合に、A2の箇所に対しては不修正との指示を行った場合に、リダクションを行うと、図6のようになり、A2の箇所はリダクションが行われずに、A2の箇所以外p11とp12の間に抵抗13の抵抗値が20Ω、p11と接地電位GNDの間に容量14が1pF、p12と接地電位GNDの間に容量14が1pFの等価な回路に変更できて構成の素子数が減少する。リダクションを行ったデータはネットリストデータベース38に送る。リダクションを行った結果、シミュレーション実行判断部32でシミュレーションできると判断すればシミュレーション実行部3でシミュレーションを実行し、その結果を出力部4で出力する。また、シミュレーション実行判断部32でシミュレーションできないと判断すればそのまま出力部4でシミュレーションできないと出力する。
(第8の実施例)
次に、本発明の第8の実施例について説明する。
入力部1に入力されたデータがCPU2で選択される。この時、CPU2では、入力部1で入力したデータを選択し、入力データ容量チェック部31に送る。この時、入力データに対して変更があった箇所を画面表示可能にする信号を回路変更箇所明示部39に送る。この時、入力容量チェック部31では、CPU2から送られたデータの中でネットリストデータサイズを選択し、シミュレーションできるサイズで構成されているかチェックを行う。次に、その情報をもとにシミュレーション実行判断部32で、シミュレーション実行できるか判断する。シミュレーション実行できるサイズで構成されていない場合、データのリダクションを行うリダクション実行部37にデータを送りデータのリダクションを行う。例えば、従来データが図15のように構成されていて、A0の箇所のp01とp02の間に抵抗13の抵抗値が10Ω、p02とp03の間に抵抗13の抵抗値が10Ω、p01と接地電位GNDの間に容量14が0.5pF、p02と接地電位GNDの間に容量14が1pF、p03と接地電位GNDの間に容量14が0.5pFの場合に、A0の箇所に対してリダクションを行うと、図6のA1のようになり、p11とp12の間に抵抗13の抵抗値が20Ω、p11と接地電位GNDの間に容量14が1pF、p12と接地電位GNDの間に容量14が1pFの等価な回路に変更できて構成の素子数が減少する。この時、入力データに対して変更があった箇所を画面表示可能にする信号を回路変更箇所明示部39では、A0の箇所からA1に変更された情報を画面表示可能にするようにし、その結果を出力部4に送り出力する。リダクションを行ったデータはネットリストデータベース38に送る。リダクションを行った結果、シミュレーション実行判断部32でシミュレーションできると判断すればシミュレーション実行部3でシミュレーションを実行し、その結果を出力部4で出力する。また、シミュレーション実行判断部32でシミュレーションできないと判断すればそのまま出力部4でシミュレーションできないと出力する。
(第9の実施例)
次に、本発明の第9の実施例について説明する。
入力部1に入力されたデータがCPU2で選択される。この時、CPU2では、入力部1で入力したデータを選択し、シミュレーション実行部3に送る。この時、シミュレーション実行部3でシミュレーションが行われる。例えば、従来データが図16のように構成されていて、入力i11から入力信号を入れてシミュレーションを行うが、シミュレーションは図7のnet01に相当する部分しかシミュレーションには必要がない。シミュレーション実行ネットリスト抽出部41では、このシミュレーションを実行した時に入力したデータの中でシミュレーションに必要となった部分だけを抽出する。シミュレーションの結果と、シミュレーションに必要となった部分の抽出結果を出力部4で出力する。
(第10の実施例)
次に、本発明の第10の実施例について説明する。
入力部1に入力されたデータがCPU2で選択される。この時、CPU2では、入力部1で入力したデータを選択し、シミュレーション実行部3に送る。この時、シミュレーションで必要になった部分だけをデータ分割する信号をネットリスト分割部42に送る。この時、シミュレーション実行部3でシミュレーションが行われる。例えば、従来データが図16のように構成されていて、入力i11から入力信号を入れてシミュレーションを行うが、シミュレーションは図7のnet01に相当する部分しかシミュレーションには必要がない。シミュレーション実行ネットリスト抽出部41では、このシミュレーションを実行した時に入力したデータの中でシミュレーションに必要となった部分だけを抽出する。ネットリスト分割部42では図6でnet00であったデータを、図7のnet01とnet02に分割し、ネットリストデータベース38に送る。シミュレーションの結果と、シミュレーションに必要となった部分の抽出データを出力部4で出力する。
(第11の実施例)
次に、本発明の第11の実施例について説明する。
入力部1に入力されたデータがCPU2で選択される。この時、CPU2では、入力部1で入力したデータを選択し、シミュレーション実行部3に送る。この時、シミュレーションで必要になった部分だけをデータ分割する信号をネットリスト分割部42に送る。この時、入力データに対して抽出を行った箇所を画面表示可能にする信号を抽出箇所明示部45に送る。この時、シミュレーション実行部3でシミュレーションが行われる。例えば、従来データが図16のように構成されていて、入力i11から入力信号を入れてシミュレーションを行うが、シミュレーションは図7のnet01に相当する部分しかシミュレーションには必要がない。シミュレーション実行ネットリスト抽出部41では、このシミュレーションを実行した時に入力したデータの中でシミュレーションに必要となった部分だけを抽出する。ネットリスト分割部42では図6でnet00であったデータを、図7のnet01とnet02に分割し、ネットリストデータベース38に送る。シミュレーションの結果と、シミュレーションに必要となった部分の抽出データを出力部4で出力する。この時、入力データに対して抽出を行った箇所を画面表示可能にする信号を抽出箇所明示部45では、net00からnet01を抽出した情報を画面表示可能にするようにし、その結果を出力部4に送り出力する。
(第12の実施例)
次に、本発明の第12の実施例について説明する。
入力部1に入力されたデータがCPU2で選択される。この時、CPU2では、入力部1で入力したデータを選択し、シミュレーション実行部3に送る。この時、シミュレーション実行部3でシミュレーションが行われる。例えば、従来データが図17のように構成されていて、図8のように入力i21から入力信号を入れてシミュレーションを行うが、シミュレーションはi26の出力がPMOS11とNMOS12の組み合わせ2段分の遅延ですむtd1に対して、i25の出力はPMOS11とNMOS12の組み合わせ4段分の遅延となるためtd2と遅い。そこで、i21からi25迄の経路がクリティカルパスとなる。この部分をクリティカルパス判断部43がクリティカルパスとして判断する。シミュレーションの結果と、クリティカルパス部分の抽出結果を出力部4で出力する。
(第13の実施例)
次に、本発明の第13の実施例について説明する。
まず、入力部1に入力されたデータがCPU2で選択される。この時、CPU2では、入力部1で入力したデータを選択し、シミュレーション実行部3に送る。この時、シミュレーション実行部3でシミュレーションが行われる。例えば、従来データが図17のように構成されていて、図8のように入力i21から入力信号を入れてシミュレーションを行うが、シミュレーションはi26の出力がPMOS11とNMOS12の組み合わせ2段分の遅延ですむtd1に対して、i25の出力はPMOS11とNMOS12の組み合わせ4段分の遅延となるためtd2と遅い。そこで、i21からi25迄の経路がクリティカルパスとなる。この部分をクリティカルパス判断部43がクリティカルパスとして判断する。クリティカルパスとして判断された情報をクリティカルパスネットリスト出力部44に送る。クリティカルパスネットリスト出力部44では図17のnet10から図9のようにクリティカルパスとなっているi21からi25の部分をnet11として抽出し、ネットリストデータベース38に送る。シミュレーションの結果と、クリティカルパスの抽出データを出力部4で出力する。
(第14の実施例)
次に、本発明の第14の実施例について説明する。
まず、入力部1に入力されたデータがCPU2で選択される。この時、CPU2では、入力部1で入力したデータを選択し、シミュレーション実行部3に送る。この時、シミュレーション実行部3でシミュレーションが行われる。例えば、従来データが図17のように構成されていて、図8のように入力i21から入力信号を入れてシミュレーションを行うが、シミュレーションはi26の出力がPMOS11とNMOS12の組み合わせ2段分の遅延ですむtd1に対して、i25の出力はPMOS11とNMOS12の組み合わせ4段分の遅延となるためtd2と遅い。そこで、i21からi25迄の経路がクリティカルパスとなる。この部分をクリティカルパス判断部43がクリティカルパスとして判断する。クリティカルパスとして判断された情報をクリティカルパスネットリスト出力部44に送る。クリティカルパスネットリスト出力部44では図17のnet10から図9のようにクリティカルパスとなっているi21からi25の部分をnet11として抽出し、ネットリストデータベース38に送る。シミュレーションの結果と、クリティカルパスの抽出データを出力部4で出力する。この時、入力データに対して抽出を行った箇所を画面表示可能にする信号を抽出箇所明示部45では、net10からnet11を抽出した情報を画面表示可能にするようにし、その結果を出力部4に送り出力する。
(第15の実施例)
次に、本発明の第15の実施例について説明する。
入力部1に入力されたデータがCPU2で選択される。この時、CPU2では、入力部1で入力したデータを選択し、機能記述置換部46に送る。この時、機能記述置換部46では、機能記述データベース47にある機能記載の中から、CPU2から送られたデータの中で機能記述に置換できるものを選択し置換する。例えば、図18の回路図のなかでB0の部分が入力と出力で同じ機能を有すると判断して、図10の機能記述セル20に置換する。次に、シミュレーション実行部3でシミュレーションを実行し、その結果を出力部4で出力する。
(第16の実施例)
次に、本発明の第16の実施例について説明する。
入力部1に入力されたデータがCPU2で選択される。この時、CPU2では、入力部1で入力したデータを選択し、機能記述置換部46に送る。この時、データに対して変更してはいけない箇所をネットリスト不修正箇所指示部40に送る。この時、機能記述置換部46では、機能記述データベース47にある機能記載の中から、CPU2から送られたデータの中で機能記述に置換できるものを選択し置換を行うが、ネットリスト不修正箇所指示部40でデータに対して変更してはいけない箇所を指示された箇所については置換を行わない。例えば、図18の回路図のなかでB1の箇所に対しては不修正との指示を行った場合に、B1の箇所に対して変更が行われないが、B0の部分が入力と出力で同じ機能を有すると判断して、図10の機能記述セル20に置換する。次に、シミュレーション実行部3でシミュレーションを実行し、その結果を出力部4で出力する。
(第17の実施例)
次に、本発明の第17の実施例について説明する。
入力部1に入力されたデータがCPU2で選択される。この時、CPU2では、入力部1で入力したデータを選択し、シミュレーション実行部3に送る。この時、シミュレーション実行部3でシミュレーションを実行し、その結果を機能記述作成部48に送る。この時、機能記述作成部48ではシミュレーションを実行した結果から機能記述を作成する。例えば、図11でシミュレーションの実行結果が入力inに入った“L”、“H”、“L”と出力out“L”、“H”、“L”が同じ機能を持っていると判断し、out=inの機能記述セル20に置換される。作成した機能記述を機能記述データベース47に送る。シミュレーションの実行結果と、機能記述を出力部4で出力する。
(第18の実施例)
次に、本発明の第18の実施例について説明する。
入力部1に入力されたデータがCPU2で選択される。この時、CPU2では、入力部1で入力したデータを選択し、シミュレーション実行部3に送る。この時、データに対して変更してはいけない箇所をネットリスト不修正箇所指示部40に送る。この時、シミュレーション実行部3でシミュレーションを実行し、その結果を機能記述作成部48に送る。この時、機能記述作成部48ではシミュレーションを実行した結果から機能記述を作成する。例えば、図11でシミュレーションの実行結果が入力inに入った“L”、“H”、“L”と出力out“L”、“H”、“L”が同じ機能を持っていると判断し、out=inの機能記述セル20に置換を行うが、ネットリスト不修正箇所指示部40でデータに対して変更してはいけない箇所を指示された箇所については置換を行わない。作成した機能記述を機能記述データベース47に送る。シミュレーションの実行結果と、機能記述を出力部4で出力する。
(第19の実施例)
次に、本発明の第19の実施例について説明する。
入力部1に入力されたデータがCPU2で選択される。この時、CPU2では、入力部1で入力したデータを選択し、シミュレーション実行部3に送る。この時、シミュレーション実行部3でシミュレーションを実行し、その結果をEDAライブラリ作成部49に送る。この時、EDAライブラリ作成部49ではシミュレーションを実行した結果からEDAライブラリを作成する。例えば、図12でシミュレーションの実行結果が入力inに入った“L”、“H”、“L”が出力out“L”、“H”、“L”と同じ機能を持っていて、出力outが入力inに対してtdの遅延値があると判断し、図13のようにout=inの機能部と、出力outの時間toutは入力inの時間tinに対してtdの遅延値を持ち、tout=tin+tdのタイミング情報部に置換される。作成したEDAライブラリを機能記述データベース47に送る。シミュレーションの実行結果と、EDAライブラリを出力部4で出力する。
なお、半導体回路設計装置の場合として説明したが、これによってプリント基板回路の設計を実行することができる。
本発明にかかる半導体設計装置は、半導体回路を設計する際に適用できる。
本発明の実施の形態における半導体設計装置のブロック図 本発明の実施の形態における入力データ容量チェック部の構成図 本発明の実施の形態におけるディスク容量チェック部の構成図 本発明の実施の形態におけるディスク容量整理部の構成図 本発明の実施の形態におけるシミュレーション実行時間見積り部の構成図 本発明の実施の形態における回路図 本発明の実施の形態における回路図 本発明の実施の形態におけるタイミング図 本発明の実施の形態における回路図 本発明の実施の形態における回路図 本発明の実施の形態における構成図 本発明の実施の形態におけるタイミング図 本発明の実施の形態におけるEDAライブラリの構成図 従来の半導体設計装置のブロック図 従来の回路図 従来の回路図 従来の回路図 従来の回路図
符号の説明
1 入力部
2 CPU
3 シミュレーション実行部
4 出力部
11 PMOS
12 NMOS
13 抵抗
14 容量
20 機能記述セル
31 入力データ容量チェック部
32 シミュレーション実行判断部
33 ディスク容量チェック部
34 ディスク容量整理部
35 シミュレーション実行時間見積り部
36 シミュレーション精度調整部
37 リダクション実行部
38 ネットリストデータベース
39 回路変更箇所明示部
40 ネットリスト不修正箇所指示部
41 シミュレーション実行ネットリスト抽出部
42 ネットリスト分割部
43 クリティカルパス判断部
44 クリティカルパスネットリスト出力部
45 抽出箇所明示部
46 機能記述置換部
47 機能記述データベース
48 機能記述作成部
49 EDAライブラリ作成部

Claims (3)

  1. 入力部から入力した情報でデータを処理するCPUと、入力した情報からシミュレーションを実行するシミュレーション実行部と、CPUで処理した結果を出力する出力部とを備えた半導体設計装置であって、
    入力したデータがシミュレーションできるサイズで構成されているかチェックを行う入力データ容量チェック部と、
    入力データ容量チェック部で入力データがシミュレーション実行できるサイズで構成されていない場合にデータのリダクションを行うリダクション実行部と
    を備えた半導体設計装置。
  2. 入力部から入力した情報でデータを処理するCPUと、入力した情報からシミュレーションを実行するシミュレーション実行部と、CPUで処理した結果を出力する出力部とを備えた半導体設計装置であって、
    入力したデータがシミュレーションできるサイズで構成されているかチェックを行う入力データ容量チェック部と、
    入力データ容量チェック部で入力データがシミュレーション実行できるサイズで構成されていない場合に入力データのリダクションを行うリダクション実行部と、
    入力データに対してリダクションを行わない箇所を指示するネットリスト不修正箇所指示部と
    を備えた半導体設計装置。
  3. 入力部から入力した情報でデータを処理するCPUと、入力した情報からシミュレーションを実行するシミュレーション実行部と、CPUで処理した結果を出力する出力部とを備えた半導体設計装置であって、
    入力したデータがシミュレーションできるサイズで構成されているかチェックを行う入力データ容量チェック部と、
    入力データ容量チェック部で入力データがシミュレーション実行できるサイズで構成されていない場合に入力データのリダクションを行うリダクション実行部と、
    入力データに対して変更があった箇所を画面表示可能にする回路変更箇所明示部と
    を備えた半導体設計装置。
JP2004009924A 2004-01-19 2004-01-19 半導体設計装置 Pending JP2004164669A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004009924A JP2004164669A (ja) 2004-01-19 2004-01-19 半導体設計装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004009924A JP2004164669A (ja) 2004-01-19 2004-01-19 半導体設計装置

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2000308537A Division JP2002117091A (ja) 2000-10-10 2000-10-10 半導体設計装置

Publications (1)

Publication Number Publication Date
JP2004164669A true JP2004164669A (ja) 2004-06-10

Family

ID=32821952

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004009924A Pending JP2004164669A (ja) 2004-01-19 2004-01-19 半導体設計装置

Country Status (1)

Country Link
JP (1) JP2004164669A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007004216A (ja) * 2005-06-21 2007-01-11 Fuji Xerox Co Ltd 情報管理装置及び情報管理方法、並びにコンピュータ・プログラム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007004216A (ja) * 2005-06-21 2007-01-11 Fuji Xerox Co Ltd 情報管理装置及び情報管理方法、並びにコンピュータ・プログラム

Similar Documents

Publication Publication Date Title
US8122398B2 (en) Conversion of circuit description to an abstract model of the circuit
US8117576B2 (en) Method for using an equivalence checker to reduce verification effort in a system having analog blocks
US9041431B1 (en) Partial reconfiguration and in-system debugging
JP2010218252A (ja) 統計的タイミング解析用セルライブラリ作成装置、統計的タイミング解析装置、統計的タイミング解析用セルライブラリ作成方法および統計的タイミング解析方法
CN106802972B (zh) 时钟抖动仿真
US10437946B1 (en) Using implemented core sources for simulation
US20190347379A1 (en) Analysis of coupled noise for integrated circuit design
US6587999B1 (en) Modeling delays for small nets in an integrated circuit design
US9959381B2 (en) Placing and routing debugging logic
US20150033197A1 (en) Clustering for processing of circuit design data
US9958917B1 (en) Generalized resettable memory
US8818784B1 (en) Hardware description language (HDL) incorporating statistically derived data and related methods
JP2004164669A (ja) 半導体設計装置
JP2004158034A (ja) 半導体設計装置
JP2004158035A (ja) 半導体設計装置
JP6649731B2 (ja) Fpgaからリードバックするための信号の特定
US20060015311A1 (en) Circuit design support method and system
US10796051B1 (en) Adaptive model interface for a plurality of EDA programs
US10755015B2 (en) Agnostic model of semiconductor devices and related methods
JP2002117091A (ja) 半導体設計装置
US8756545B2 (en) Delay time calculating apparatus and method
CN116227396B (zh) 用于对片上系统进行后仿真的方法和仿真平台
Kulshreshtha et al. Transistor-level timing analysis using embedded simulation
US9405871B1 (en) Determination of path delays in circuit designs
JP7335535B2 (ja) ハードウエアトロイ検出装置及びハードウエアトロイ検出用プログラム