JPH0612468A - 自動回路合成方法 - Google Patents
自動回路合成方法Info
- Publication number
- JPH0612468A JPH0612468A JP4167728A JP16772892A JPH0612468A JP H0612468 A JPH0612468 A JP H0612468A JP 4167728 A JP4167728 A JP 4167728A JP 16772892 A JP16772892 A JP 16772892A JP H0612468 A JPH0612468 A JP H0612468A
- Authority
- JP
- Japan
- Prior art keywords
- circuit
- simulation
- simulator
- hdl
- expected value
- 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
Abstract
(57)【要約】
【目的】 シミュレーション及びテストベクトルの作成
を効率よく正確に行う。 【構成】 HDLで記述された回路(図中3)をシミュ
レーションするのに、1つ上位の設計階層(図中7)を
考える。この上位階層7は対象となる回路3に、シミュ
レーション用の回路(図中6)を付加させたものであ
る。このシミュレーション用付加回路6は、入力信号を
保持するメモリ(図中1)、シミュレーション結果の期
待値を保持するメモリ(図中2)、回路からのシミュレ
ーション結果と期待値用メモリからの出力を比較する比
較器(図中4)からなる。
を効率よく正確に行う。 【構成】 HDLで記述された回路(図中3)をシミュ
レーションするのに、1つ上位の設計階層(図中7)を
考える。この上位階層7は対象となる回路3に、シミュ
レーション用の回路(図中6)を付加させたものであ
る。このシミュレーション用付加回路6は、入力信号を
保持するメモリ(図中1)、シミュレーション結果の期
待値を保持するメモリ(図中2)、回路からのシミュレ
ーション結果と期待値用メモリからの出力を比較する比
較器(図中4)からなる。
Description
【0001】
【産業上の利用分野】本発明は、HDL(Hardware desc
ription Language) を用いて記述した回路をシミュレー
ションする自動回路合成方法に関するものである。
ription Language) を用いて記述した回路をシミュレー
ションする自動回路合成方法に関するものである。
【0002】
【従来の技術】まず、HDLについて簡単に述べる。
【0003】HDL(Hardware description Language)
はハードウェア記述言語とも呼ばれ、ハードウェアを設
計する手段として回路図ではなく、論理式の羅列で記述
するためのコンピュータ言語である。一般的にデジタル
論理回路の機能は理論的な裏付けが明確で、その機能を
論理式の形で表すことは比較的容易である。HDLを用
いて記述された回路は、純粋な論理の記述のみであるの
で、プロセスに依存しない回路を設計することが可能で
ある。つまり、可搬性の高い回路を記述することができ
る。実際にLSIとしてデバイスを作る時には、使用す
るプロセスのゲートに論理を割り付ける。これをゲート
マッピングと呼ぶ。
はハードウェア記述言語とも呼ばれ、ハードウェアを設
計する手段として回路図ではなく、論理式の羅列で記述
するためのコンピュータ言語である。一般的にデジタル
論理回路の機能は理論的な裏付けが明確で、その機能を
論理式の形で表すことは比較的容易である。HDLを用
いて記述された回路は、純粋な論理の記述のみであるの
で、プロセスに依存しない回路を設計することが可能で
ある。つまり、可搬性の高い回路を記述することができ
る。実際にLSIとしてデバイスを作る時には、使用す
るプロセスのゲートに論理を割り付ける。これをゲート
マッピングと呼ぶ。
【0004】次に、HDLで記述された回路のシミュレ
ーション方法について述べる。
ーション方法について述べる。
【0005】実際にLSIを作る場合、最終的には使用
するプロセスのベンダーが指定するシミュレータを用い
てシミュレーションを行わなければならない。(以降こ
のシミュレータのことをプロセスシミュレータと呼
ぶ。)具体的には、テストベクトルと回路のネットリス
トをこのプロセスシミュレータに与えればよい。ここ
で、テストベクトルとは回路の入力に与えるベクトル
と、その回路のスループット・ディレイ後に出力される
期待値のベクトルとが時系列に並んだデータファイルで
ある。プロセスシミュレータは、その内部でテストベク
トルの入力データを回路に与え、回路から出力されるデ
ータをテストベクトルの期待値と比較してシミュレーシ
ョン結果を報告する。
するプロセスのベンダーが指定するシミュレータを用い
てシミュレーションを行わなければならない。(以降こ
のシミュレータのことをプロセスシミュレータと呼
ぶ。)具体的には、テストベクトルと回路のネットリス
トをこのプロセスシミュレータに与えればよい。ここ
で、テストベクトルとは回路の入力に与えるベクトル
と、その回路のスループット・ディレイ後に出力される
期待値のベクトルとが時系列に並んだデータファイルで
ある。プロセスシミュレータは、その内部でテストベク
トルの入力データを回路に与え、回路から出力されるデ
ータをテストベクトルの期待値と比較してシミュレーシ
ョン結果を報告する。
【0006】しかし、これはゲートマッピング後のこと
であり、ゲートにマッピングされた回路はプロセスに依
存する回路なので可搬性に乏しい。HDLの利点である
プロセスに依存しない回路のシミュレーションを行うに
は、HDLの論理記述された回路をシミュレーションで
きるHDLシミュレータを用いる必要がある。ところ
が、HDLシミュレータにはテストベクトルという概念
がない。というのは、入力データに対しての回路の動作
シミュレーションは行うが、期待値データとの比較を行
ってその結果を報告するという機能が存在しないのであ
る。
であり、ゲートにマッピングされた回路はプロセスに依
存する回路なので可搬性に乏しい。HDLの利点である
プロセスに依存しない回路のシミュレーションを行うに
は、HDLの論理記述された回路をシミュレーションで
きるHDLシミュレータを用いる必要がある。ところ
が、HDLシミュレータにはテストベクトルという概念
がない。というのは、入力データに対しての回路の動作
シミュレーションは行うが、期待値データとの比較を行
ってその結果を報告するという機能が存在しないのであ
る。
【0007】従来、HDLシミュレータでシミュレーシ
ョンを行うには、人が入力データを回路に手で与え、H
DLシミュレータにかけて得られる結果を実際の期待値
と一つづつ目で見比べてで比較していくしかなかった。
単純な機能の回路であればこれでも十分だが、複雑な処
理を行う回路のシミュレーション結果を一つづつ確認し
ていくのには多大な労力を必要とし、効率も極めて悪
い。
ョンを行うには、人が入力データを回路に手で与え、H
DLシミュレータにかけて得られる結果を実際の期待値
と一つづつ目で見比べてで比較していくしかなかった。
単純な機能の回路であればこれでも十分だが、複雑な処
理を行う回路のシミュレーション結果を一つづつ確認し
ていくのには多大な労力を必要とし、効率も極めて悪
い。
【0008】図6にHDLを用いた従来の回路設計の概
略を示す。ある回路を設計する時、最初にその回路の理
論的な機能や動作を設計仕様として決定する(図中6
1)。次に実際にこの仕様をハードウェアに実現が可能
かどうかの理論的検証を行い(図中62)、可能と判断
できれば実際の回路の設計(記述)に入る(図中63、
64)。記述が完了したら、HDLシミュレータにかけ
て回路の論理の検証を行う(図中66)。この時にHD
Lシミュレータに与えるテストデータとそれに対する理
論的期待値をあらかじめ作成しておく(図中65)。H
DLシミュレータはシミュレーション結果と期待値との
比較検討は行わないので人が目で結果の確認を行う(図
中67)。HDLシミュレータによる論理シミュレーシ
ョンが完了したら、LSIにするプロセスを選び回路の
論理をそのプロセスのゲートにマッピングする(図中6
8)。その後プロセスシミュレータにかける(図中7
0)が、この時にテストベクトルが必要となるので事前
に作成しておく(図中69)。回路にテストベクトルを
与えて正しく期待値が得られればその回路は設計終了と
なるが、そうでないときはゲートマッピングあるいは回
路記述まで戻らなければならない。
略を示す。ある回路を設計する時、最初にその回路の理
論的な機能や動作を設計仕様として決定する(図中6
1)。次に実際にこの仕様をハードウェアに実現が可能
かどうかの理論的検証を行い(図中62)、可能と判断
できれば実際の回路の設計(記述)に入る(図中63、
64)。記述が完了したら、HDLシミュレータにかけ
て回路の論理の検証を行う(図中66)。この時にHD
Lシミュレータに与えるテストデータとそれに対する理
論的期待値をあらかじめ作成しておく(図中65)。H
DLシミュレータはシミュレーション結果と期待値との
比較検討は行わないので人が目で結果の確認を行う(図
中67)。HDLシミュレータによる論理シミュレーシ
ョンが完了したら、LSIにするプロセスを選び回路の
論理をそのプロセスのゲートにマッピングする(図中6
8)。その後プロセスシミュレータにかける(図中7
0)が、この時にテストベクトルが必要となるので事前
に作成しておく(図中69)。回路にテストベクトルを
与えて正しく期待値が得られればその回路は設計終了と
なるが、そうでないときはゲートマッピングあるいは回
路記述まで戻らなければならない。
【0009】図6からわかるように、期待値との比較ま
でを自動でコンピュータにさせるには、一度回路をゲー
トマッピングして、プロセスシミュレータにかけなけれ
ばならない。ゲートマッピングには通常論理合成ツール
を用いるが、一般的にこの論理合成に必要とされる時間
は多大である。(ここで論理合成ツールとは、論理記述
されたHDL回路の論理圧縮を行い、最適なゲートマッ
ピングを行うプログラムである。)そのため、この手法
での設計はターンアラウンドが非常に悪く、開発に時間
がかかる。
でを自動でコンピュータにさせるには、一度回路をゲー
トマッピングして、プロセスシミュレータにかけなけれ
ばならない。ゲートマッピングには通常論理合成ツール
を用いるが、一般的にこの論理合成に必要とされる時間
は多大である。(ここで論理合成ツールとは、論理記述
されたHDL回路の論理圧縮を行い、最適なゲートマッ
ピングを行うプログラムである。)そのため、この手法
での設計はターンアラウンドが非常に悪く、開発に時間
がかかる。
【0010】また二回のシミュレーションにそれぞれの
シミュレータに合ったテストデータを別々に作成してい
ることも開発効率が悪い要因である(図中65、6
9)。
シミュレータに合ったテストデータを別々に作成してい
ることも開発効率が悪い要因である(図中65、6
9)。
【0011】以上をまとめると、HDLで記述された回
路のシミュレーションは、 ・HDLシミュレータ ・プロセスのベンダー指定のシミュレータ の両方で行わなければならない。ここで問題点として、 ・HDLシミュレータは論理記述のままシミュレーショ
ンができるが、結果と期待値の比較検討は手作業で効率
が悪い ・プロセスシミュレータにはテストベクトルを与えれば
自動的に結果と期待値との比較を行う機能があるが、ゲ
ートマッピングという時間が非常にかかる前処理が必要
であるので、常にプロセスシミュレータでシミュレーシ
ョンを行うのは効率が悪い ・2つのシミュレータにかける時のテストデータはそれ
ぞれ別々に作成しているので作業に無駄が多いというこ
とがあげられる。
路のシミュレーションは、 ・HDLシミュレータ ・プロセスのベンダー指定のシミュレータ の両方で行わなければならない。ここで問題点として、 ・HDLシミュレータは論理記述のままシミュレーショ
ンができるが、結果と期待値の比較検討は手作業で効率
が悪い ・プロセスシミュレータにはテストベクトルを与えれば
自動的に結果と期待値との比較を行う機能があるが、ゲ
ートマッピングという時間が非常にかかる前処理が必要
であるので、常にプロセスシミュレータでシミュレーシ
ョンを行うのは効率が悪い ・2つのシミュレータにかける時のテストデータはそれ
ぞれ別々に作成しているので作業に無駄が多いというこ
とがあげられる。
【0012】
【発明が解決しようとする課題】解決しようとする問題
点は、HDLシミュレータは論理記述のままシミュレー
ションができるが、結果と期待値の比較検討は手作業で
効率が悪い。プロセスシミュレータにはテストベクトル
を与えれば自動的に結果と期待値との比較を行う機能が
あるが、ゲートマッピングという時間が非常にかかる前
処理が必要であるので、常にプロセスシミュレータでシ
ミュレーションを行うのは効率が悪い。2つのシミュレ
ータにかける時のテストデータはそれぞれ別々に作成し
ているので作業に無駄が多い、というものである。
点は、HDLシミュレータは論理記述のままシミュレー
ションができるが、結果と期待値の比較検討は手作業で
効率が悪い。プロセスシミュレータにはテストベクトル
を与えれば自動的に結果と期待値との比較を行う機能が
あるが、ゲートマッピングという時間が非常にかかる前
処理が必要であるので、常にプロセスシミュレータでシ
ミュレーションを行うのは効率が悪い。2つのシミュレ
ータにかける時のテストデータはそれぞれ別々に作成し
ているので作業に無駄が多い、というものである。
【0013】
【課題を解決するための手段】本発明は、ゲートマッピ
ング前のHDLシミュレータに入力すべき入力データと
期待値からなるHDL用テストデータ作成時に、ゲート
マッピング後のプロセスベンダー指定のプロセスシミュ
レータに入力すべきテストベクトルを同時に生成する自
動回路合成方法である。
ング前のHDLシミュレータに入力すべき入力データと
期待値からなるHDL用テストデータ作成時に、ゲート
マッピング後のプロセスベンダー指定のプロセスシミュ
レータに入力すべきテストベクトルを同時に生成する自
動回路合成方法である。
【0014】
【作用】これによれば、HDLシミュレータを用いたシ
ミュレーションにおいて、結果と期待値の比較を自動で
行えるようになった。2回のシミュレーションに必要な
テストデータをまとめて一度に作成できるようになっ
た。シミュレーション及びテストベクトルの作成が効率
よく正確に行えるようになった。
ミュレーションにおいて、結果と期待値の比較を自動で
行えるようになった。2回のシミュレーションに必要な
テストデータをまとめて一度に作成できるようになっ
た。シミュレーション及びテストベクトルの作成が効率
よく正確に行えるようになった。
【0015】
【実施例】図1に本件で提案する、HDLシミュレータ
でシミュレーションをする際に手作業で行っていた結果
と期待値の比較を自動的に行うことを可能にする手法を
示す。HDLで記述された回路(図中3)をシミュレー
ションするのに、1つ上位の設計階層(図中7)を考え
る。この上位階層7は対象となる回路3に、シミュレー
ション用の回路(図中6)を付加させたものである。こ
のシミュレーション用付加回路6は、入力信号を保持す
るメモリ(図中1)、シミュレーション結果の期待値を
保持するメモリ(図中2)、回路からのシミュレーショ
ン結果と期待値用メモリからの出力を比較する比較器
(図中4)からなる。
でシミュレーションをする際に手作業で行っていた結果
と期待値の比較を自動的に行うことを可能にする手法を
示す。HDLで記述された回路(図中3)をシミュレー
ションするのに、1つ上位の設計階層(図中7)を考え
る。この上位階層7は対象となる回路3に、シミュレー
ション用の回路(図中6)を付加させたものである。こ
のシミュレーション用付加回路6は、入力信号を保持す
るメモリ(図中1)、シミュレーション結果の期待値を
保持するメモリ(図中2)、回路からのシミュレーショ
ン結果と期待値用メモリからの出力を比較する比較器
(図中4)からなる。
【0016】この上位階層7はシミュレーション用の階
層であり、実際の回路3には何ら影響を与えない。ゲー
トマッピングは対象となる回路3だけに行い、シミュレ
ーション用付加回路6はLSI化しない。上位階層7を
HDLシミュレータにかけることによって、テストデー
タは自動的に回路に供給され、出力の期待値は自動的に
比較され、誤っている場合だけ報告をすることができる
ようになる。
層であり、実際の回路3には何ら影響を与えない。ゲー
トマッピングは対象となる回路3だけに行い、シミュレ
ーション用付加回路6はLSI化しない。上位階層7を
HDLシミュレータにかけることによって、テストデー
タは自動的に回路に供給され、出力の期待値は自動的に
比較され、誤っている場合だけ報告をすることができる
ようになる。
【0017】図2に示すように、シミュレーション用付
加回路の2つのメモリの内容はテストベクトル生成装置
(図中21)で生成されるものとする。プロセスシミュ
レータにかける時のテストベクトル(図中24)はこの
2つのメモリのデータファイル(図中22、23)を合
わせるだけで実現できるので、2回のシミュレーション
用のテストデータ作成作業が一度で済む。
加回路の2つのメモリの内容はテストベクトル生成装置
(図中21)で生成されるものとする。プロセスシミュ
レータにかける時のテストベクトル(図中24)はこの
2つのメモリのデータファイル(図中22、23)を合
わせるだけで実現できるので、2回のシミュレーション
用のテストデータ作成作業が一度で済む。
【0018】図3に本方式を用いた回路の設計概略を示
す。回路の記述までは図6の従来の流れと同じである。
記述が完了した後にテストベクトルの作成を行い(図中
35)、回路の論理段階での検証をHDLシミュレータ
を用いて行う(図中36)。この時、前述したシミュレ
ーション用付加回路とともにシミュレーションすること
によって結果と期待値との比較検証までをHDLシミュ
レータに行わせるので、人による目での比較は不要とな
る(図中37)。シミュレーションが完了したら回路の
論理をプロセスのゲートにマッピングし(図中38)、
その後にプロセスシミュレータにかける(図中39)。
この時に必要なテストベクトルはHDLシミュレータ用
のテストベクトルを作成した段階で作成済みなので、改
めて作成する必要はない。
す。回路の記述までは図6の従来の流れと同じである。
記述が完了した後にテストベクトルの作成を行い(図中
35)、回路の論理段階での検証をHDLシミュレータ
を用いて行う(図中36)。この時、前述したシミュレ
ーション用付加回路とともにシミュレーションすること
によって結果と期待値との比較検証までをHDLシミュ
レータに行わせるので、人による目での比較は不要とな
る(図中37)。シミュレーションが完了したら回路の
論理をプロセスのゲートにマッピングし(図中38)、
その後にプロセスシミュレータにかける(図中39)。
この時に必要なテストベクトルはHDLシミュレータ用
のテストベクトルを作成した段階で作成済みなので、改
めて作成する必要はない。
【0019】なお図4にHDLシミュレータ用入力デー
タ及び期待値の例を示し、図5にそれに相当するプロセ
スシミュレータ用テストベクタの例を示す。
タ及び期待値の例を示し、図5にそれに相当するプロセ
スシミュレータ用テストベクタの例を示す。
【0020】
【発明の効果】本発明によって、 ・HDLシミュレータを用いたシミュレーションにおい
て、結果と期待値の比較を自動で行えるようになった ・2回のシミュレーションに必要なテストデータをまと
めて一度に作成できるようになった ・シミュレーション及びテストベクトルの作成が効率よ
く正確に行えるようになった という効果がある。
て、結果と期待値の比較を自動で行えるようになった ・2回のシミュレーションに必要なテストデータをまと
めて一度に作成できるようになった ・シミュレーション及びテストベクトルの作成が効率よ
く正確に行えるようになった という効果がある。
【図1】本発明による自動回路合成方法の一例の説明図
である。
である。
【図2】テストベクトル生成装置の説明のための図であ
る。
る。
【図3】本発明による回路設計の流れ図である。
【図4】HDLシミュレータ用入力データ及び期待値の
例を示す図である。
例を示す図である。
【図5】プロセスシミュレータ用テストベクタの例を示
す図である。
す図である。
【図6】従来の回路設計の流れ図である。
1 入力信号を保持するメモリ 2 シミュレーション結果の期待値を保持するメモリ 3 HDLで記述された回路 4 比較器 5 シミュレーション結果 6 シミュレーション用付加回路 7 1つ上位の設計階層
Claims (1)
- 【請求項1】 ゲートマッピング前のHDLシミュレー
タに入力すべき入力データと期待値からなるHDL用テ
ストデータ作成時に、ゲートマッピング後のプロセスベ
ンダー指定のプロセスシミュレータに入力すべきテスト
ベクトルを同時に生成する自動回路合成方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP4167728A JPH0612468A (ja) | 1992-06-25 | 1992-06-25 | 自動回路合成方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP4167728A JPH0612468A (ja) | 1992-06-25 | 1992-06-25 | 自動回路合成方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH0612468A true JPH0612468A (ja) | 1994-01-21 |
Family
ID=15855060
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP4167728A Pending JPH0612468A (ja) | 1992-06-25 | 1992-06-25 | 自動回路合成方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH0612468A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1999030176A1 (fr) * | 1997-12-09 | 1999-06-17 | Hitachi, Ltd. | Circuit integre a semi-conducteur et procede de diagnostic de circuit logique |
JP2006268606A (ja) * | 2005-03-25 | 2006-10-05 | Yamaha Corp | シミュレーション装置 |
-
1992
- 1992-06-25 JP JP4167728A patent/JPH0612468A/ja active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1999030176A1 (fr) * | 1997-12-09 | 1999-06-17 | Hitachi, Ltd. | Circuit integre a semi-conducteur et procede de diagnostic de circuit logique |
JP2006268606A (ja) * | 2005-03-25 | 2006-10-05 | Yamaha Corp | シミュレーション装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3027009B2 (ja) | 設計取り込みシステム | |
JP2002215712A (ja) | Ic設計の検証方法 | |
JPH04288680A (ja) | よりハイレベルのビヘイビア指向のデスクリプションから回路又は装置の構造上のデスクリプションを生成する方法 | |
JPH0230056B2 (ja) | ||
US20230120227A1 (en) | Method and apparatus having a scalable architecture for neural networks | |
JP4140917B2 (ja) | 検証作業支援システム及びその方法 | |
CN109902318B (zh) | 生成标准延时格式文件的方法和装置 | |
US6567971B1 (en) | Circuit synthesis method using technology parameters extracting circuit | |
US20050086565A1 (en) | System and method for generating a test case | |
Thomas | The automatic synthesis of digital systems | |
CN115983170B (zh) | 极大规模集成电路的超前后仿真方法、装置及设备 | |
Huggi et al. | Design and verification of memory elements using python | |
JPH0612468A (ja) | 自動回路合成方法 | |
TW202333039A (zh) | 使用超級葉單元的記憶體個體重新配置 | |
JPH05120370A (ja) | 論理シミユレータに対する双方向性ソケツト刺激インタフエース | |
CN113158613B (zh) | 一种将超图结构转rtl级hdl文件的方法及装置 | |
JP2001159986A (ja) | システムlsiのテストデータ最適化生成方式 | |
US4815016A (en) | High speed logical circuit simulator | |
US6912473B2 (en) | Method for verifying cross-sections | |
JPH05314204A (ja) | 論理シミュレーション装置及びテスト回路生成装置 | |
JP2632964B2 (ja) | 諭理装置の試験処理方式 | |
JPH09251483A (ja) | セルライブラリ作成方法 | |
JPH09259170A (ja) | 集積回路用セルの波形情報ライブラリ作成装置 | |
Hampton | CAE workstations and semicustom IC vendors offer increased design flexibility | |
CN118363715A (zh) | 一种参考模型的集成方法、装置、电子设备及存储介质 |