JP3187506B2 - 論理回路設計支援装置 - Google Patents
論理回路設計支援装置Info
- Publication number
- JP3187506B2 JP3187506B2 JP04458792A JP4458792A JP3187506B2 JP 3187506 B2 JP3187506 B2 JP 3187506B2 JP 04458792 A JP04458792 A JP 04458792A JP 4458792 A JP4458792 A JP 4458792A JP 3187506 B2 JP3187506 B2 JP 3187506B2
- Authority
- JP
- Japan
- Prior art keywords
- don
- register
- condition
- care
- logic circuit
- 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.)
- Expired - Lifetime
Links
Description
レベル(RTL)のハードウェア記述言語を用いて論理
回路設計を行なう論理回路設計支援装置に関する。
トランスファレベルのハードウェア記述言語で記述し、
論理合成システムによりゲートレベルの論理回路に自動
変換するという設計手法をとるのが一般的になりつつあ
る。論理合成に対して望まれるのは、設計期間の短縮以
外に、回路規模縮小、高速化などが期待される。このた
めに、従来から、論理回路の最適化技術の研究は活発に
行なわれている。
る最適化は、論理レベル(ゲートレベル)に変換された
後の最適化について議論される場合が多いが、このレベ
ルに変換された後では、情報が失われて最適化が十分で
きない場合がある。
要素へのデータ転送が、どのような条件で行なわれる
か、ということを基本にして記述される。一般に、論理
合成システムでは、1つの転送先に対して複数の回路要
素からデータ転送が起こり得る場合には、転送先の回路
要素の前にセレクタが挿入された回路が生成される。R
TL記述を記述どおりにゲートレベルの論理回路に変換
すると、生成されたセレクタのセレクト信号が冗長なも
のとなっていたり、本来無関係なはずの信号がこのセレ
クト信号の生成に使われている場合がある。
の問題がある。従来のようにRTL記述を記述どおりに
論理合成すると、レジスタの更新条件は、レジスタへデ
ータ転送が行なわれる条件と同一となる。このため、回
路規模が大きくなったり、速度の遅い回路が生成されて
しまう。しかし、必ずしも記述どおりに合成する必要が
なく、もっと小さく、速い回路とすることが可能な場合
がある。
には全く問題ないが、回路規模、速度が重要な場合には
問題となる。RTL記述をそのままゲートレベルの論理
回路に変換すると冗長な回路が生成されるということ
は、RTL記述自体に論理回路へ変換するときの自由度
があるということである。すなわち、RTL記述を最適
化してから論理合成することが可能であるということで
ある。
めに、RTL記述をそのままゲートレベルの論理回路に
変換しないで、RTL記述に陽には記述されていない
が、論理回路へ変換する際に利用可能なドントケア情報
を抽出し、そのドントケア情報を用いて論理回路を最適
化することにより、回路規模の縮小及び高速化を達成す
ることができる論理回路設計支援装置を提供することを
目的としている。
め、本発明は、図1に示すように、RTL記述を読み込
み、解析し、データ転送先となる各回路要素ごとに、デ
ータ転送元の回路要素とデータ転送条件を求める手段
と、レジスタ更新条件及び参照条件を求める手段の少な
くとも1つを備えるRTL記述解析部1と、そのRTL
記述解析部1から求められた情報から、RTL記述中に
陽に記述されていないドントケア情報を抽出するRTL
ドントケア情報抽出部3と、そのRTLドントケア情報
抽出部3により求められたドントケア情報を用いて論理
回路を最適化する論理回路最適化部5とから構成されて
いる。
した最適化とレジスタ更新に関するドントケア情報を利
用した最適化とにわけて説明する。この2種類の最適化
は説明の都合上わけて説明するが、必ずしも別々に適用
されるわけではなく、1つの記述について両方を一緒に
適用することも可能である。
を用いた最適化について説明する。RTL記述解析部1
により、RTL記述を読み込み、解析し、データ転送の
転送先となる回路要素に対して、転送元の回路要素と転
送条件を求める。
た、データ転送に関する情報をもとに、RTLドントケ
ア情報抽出部3により、RTL記述中に陽に記述されて
いないドントケア情報を抽出する。このドントケア情報
としては、データ無転送時のドントケア情報とデータ転
送衝突時のドントケア情報の2種類があり、それぞれ以
下で述べるように抽出する。
抽出方式を説明する。データ転送先の回路要素をtと
し、tへのデータ転送条件をC1〜Cn(nは整数)と
する。ただし、C1〜Cnに対応する転送元の回路要素
はすべて異なるものとする。このとき、すべてのデータ
転送条件の論理和の否定、すなわち、 ^(C1|C2|…|Cn) (1) (|:論理和、^:論理否定) を計算し、これを1にするための条件を回路要素tへの
データ転送に関するドントケア情報とする。つまり、こ
の条件が成立するときはデータ無転送時であり、tへの
データ転送は、どの回路要素から転送されてもいいし、
何も転送されなくてもいいというように任意となる。
の抽出方式について説明する。tへのデータ転送条件の
中の2個の全組み合わせについて、それぞれの論理積を
とり、そのすべての論理積の論理和を計算する。すなわ
ち、 C1&C2|…|C1&Cn|C2&C3| …|C2&Cn|…|Cn−1&Cn (2) (&:論理積) を計算し、これを1にするための条件を回路要素tへの
データ転送に関するドントケア情報とする。
L記述で記述された論理回路を、RTLドントケア情報
抽出部3により求められたドントケア情報をもとにして
最適化し、最適化された論理回路をRTL記述またはゲ
ートレベル記述として出力する。
報を用いた最適化について説明する。
中でデータ転送が行なわれる場合にはそれ自身がもつデ
ータを入力端子に転送されたデータで更新し、データ転
送が行なわれない場合には自身がもつデータを保持す
る、という機能を持っている。まず、RTL記述解析部
1により、RTL記述を読み込み、解析し、各レジスタ
について、そのレジスタの更新条件及び参照条件を求め
る。更新条件とは、転送されてきたデータで自身のデー
タが更新されるときの条件であり、データ転送条件と一
致する。参照条件とは、自身が持つデータが転送される
ときの条件である。
たレジスタの更新条件及び参照条件をもとに、RTLド
ントケア情報抽出部3により、RTL記述に陽に記述さ
れていないドントケア情報を抽出する。
更新条件及び参照条件をもとに、そのレジスタの更新/
参照に関する状態遷移図を作成する。図12に状態遷移
図の例を示す。円で1つの状態を表わし、円の中の2つ
の数値で2つのレジスタの値を表している。
している。例えば、10状態のときには、回路要素co
ndが1であれば11状態へ遷移し、condが0であ
れば01状態に遷移することを表す。各状態では、その
状態で対象となるレジスタが更新されるかどうか
(W)、参照されるかどうか(R)の情報を持つ。その
状態でレジスタが更新される場合は更新状態W、レジス
タが参照される場合は参照状態Rと呼ぶことにする。
を行なう。ある状態から到達可能なすべての参照状態R
について、その参照状態Rへ遷移するのに更新状態Wを
必ず経由する場合、その状態をそのレジスタの更新のド
ントケア条件とする。このような状態をレジスタの更新
のドントケア条件とすることが可能なのは、その状態で
保持されているレジスタの内容は参照されることが無い
ことが保証されるので、レジスタを更新するか否かは任
意であるためである。
条件となる状態を求める処理方式の具体例として図14
に示すような方式がある。図14の処理を行なった後、
集合Dに含まれている状態が、求めるドントケア条件と
なる。
より、求められたドントケア情報を用いて、論理回路最
適化部5でRTL記述で記述された論理回路を最適化
し、最適化された論理回路をRTL記述またはゲートレ
ベル記述として出力する。
を説明する。
述解析部1、RTLドントケア情報抽出部3、論理回路
最適化部5からなる。
理回路が記述されているRTL記述を読み込み、解析
し、データ転送の転送先となる回路要素ごとのデータ転
送に関する情報、レジスタごとのレジスタ更新に関する
情報の少なくとも1つを求める。データ転送に関する情
報とは、転送元と転送条件の対である。レジスタ更新に
関する情報とは、レジスタが更新される条件および参照
される条件である。
記述解析部1で求められたデータ転送に関する情報また
はレジスタ更新に関する情報をもとに、RTL記述中で
陽に記述されていないドントケア情報を抽出する。
理回路とそれに付随するドントケア情報をもとに論理回
路の最適化を行なう。
て説明しておく。ここでの記述は、表面上はプログラミ
ング言語であるC言語に似せてあるが、C言語のように
記述順に上から順次実行されるわけではなく、基本的に
は、すべてのステートメントは同時並列に実行され、1
クロックサイクルに1回実行される。ただし、実行に関
しては、if文を用いることにより、実行条件を制御す
ることができる。if文は、C言語と同様に、 のような構成になっており、if文内の条件が1になっ
たときにはthen実行部のすべてのステートメントが
同時並列に実行され、0になったときはelse実行部
が同時並列に実行される。
送と同時に、レジスタが更新されることも意味してい
る。レジスタへ転送されたデータは、再びデータ転送さ
れるまでは保持されている。また、レジスタのデータは
転送されたサイクルの次のサイクル以降で参照可能とな
る。一方、=は、レジスタ以外の回路要素への転送を表
わしており、転送された値は転送されたクロックサイク
ルでしか保持されておらず、そのときしか参照できな
い。
て、データ転送の際の最適化を具体的に説明する。
って回路要素tへのデータ転送が次のように行なわれる
ことを意味する。
がtへ転送される。
がtへ転送される。
送は行なわれない。
関するデータ転送情報を求めると、図3のようになる。
路に変換すると、図4のような論理回路が得られる。す
なわち、転送先の回路要素tの前にセレクタが生成さ
れ、セレクタのセレクト入力信号は、2つの転送条件a
&b&c、a&b&^cとなる。
つのデータ転送条件の論理和の否定(データ無転送時の
条件)を計算すると、 ^(a&b&c|a&b&^c)=^(a&b) となる。この結果が1、すなわち、a&bを0とするた
めの条件が、回路要素tへのデータ転送に関するドント
ケア情報となる。
を用いて論理回路最適化部5で論理最適化を行なうと、
図5のような回路が得られる。図4の回路と比べて、セ
レクタのセレクト信号が簡単になり、セレクト動作が速
くなり、回路規模も減少していることがわかる。
は、 (a&b&c)&(a&b&^c)=0 となるので、データ転送衝突時のドントケア情報はな
い。
て、もう1つのデータ転送の際の最適化を具体的に説明
する。
て、回路要素tへのデータ転送は次のように行なわれる
ことを意味している。
転送に関する転送元の回路要素と転送条件を求めると、
図7に示すような情報が得られる。この情報をもとにゲ
ートレベルの論理回路に変換すると、図8のような回路
となる。
とに、RTLドントケア情報抽出部3でデータ転送衝突
時のドントケア条件を求める。すなわち、 a&b となり、これを1とするための条件(a=b=1)が回
路要素tへのデータ転送衝突時のドントケア条件とな
る。但し、見かけ上衝突が起こっていても、実際に正し
くエラー検証が行われていれば、ドントケア条件として
もよいものとする。さらに、データ無転送時のドントケ
ア条件を求める。すなわち、 ^(a|b) となり、これを1とするための条件(a=b=0)が回
路要素tへのデータ無転送時のドントケア条件となる。
これらのドントケア条件を考慮すれば、a,bが(1,
1)、(0,0)のときは、tへのデータ転送は任意と
いうことになる。求められたドントケア情報を利用し
て、論理回路最適化部5でゲートレベルの論理回路に変
換すると、図9のようになる。この図から分かるよう
に、aの値のみをセレクト信号とすれば良いことにな
る。
クト動作と無関係になっていることがわかる。したがっ
て、回路要素bまでの信号伝搬が遅い場合、図8では存
在する遅いパス自体が無くなることになり、速度向上が
達成される。また、回路要素bが不要となれば、回路規
模も小さくなる。以上のことから、回路規模、スピード
のいずれの点からも図9の方が優れていることがわか
る。
てレジスタ更新の際の最適化を説明する。
る。stage1,stage2は、パイプライン動作
を制御するレジスタで、回路要素condの値によって
変化する。stage1が1のときには、パイプライン
の第1ステージの動作、すなわち、reg0のデータを
reg1に転送する(reg0が参照される)という動
作が行なわれる。stage2が1のときには、パイプ
ラインの第2ステージの動作、すなわち、reg1のデ
ータをreg2に転送する(reg1が参照される。)
という動作が行なわれる。
論理回路に変換すると、図11のような回路となる。各
レジスタは、データ入力端子としてIN、データ出力端
子としてOUT、イネーブル端子としてENをもってい
る。イネーブル端子ENが1のときには、そのレジスタ
の内容は、データ入力端子INに入力されたデータに更
新され、ENが0の時には、そのレジスタの内容は更新
されずに保持される。他にクロック入力端子をもってい
るがここでは省略している。
するために、まず、RTL記述解析部1でレジスタre
g1の更新/参照に関する状態遷移図を作成すると図1
2のようになる。同図において、円の中の左側の数値が
stage1の状態、右側の数値がstage2の状態
である。
ってこの状態遷移図上で、レジスタを更新するか否かが
任意である状態(更新ドントケア状態)を見つける。そ
のために図14のフローチャートにしたがって処理する
と次のようになる。
新状態Wなので、 S={} となる。Sが空集合となったので、ステップS6の終了
判定で終了と判定される。この結果、集合Dに含まれる
00,01状態がレジスタ更新するか否かが任意である
状態(更新ドントケア状態)となる。このドントケア情
報を用いて論理回路最適化部5において最適化を行なう
と図13の回路が得られる。これは、10,11状態が
更新状態で、00,01状態が更新ドントケア状態とな
ったために、すべての状態でreg1を更新することが
できるためである。但し、図13においては、reg2
についてもreg1と同様の結果が得られたものとして
いる。
利用されていなかったレジスタトランスファレベル記述
に陽に記述されていないドントケア情報を用いて最適化
するようにした。これにより、回路規模の縮小及び高速
化を達成することができる。
情報。
路。
回路。
情報。
路。
回路。
理回路。
照に関する状態遷移図。
論理回路。
るためのフローチャート。
Claims (2)
- 【請求項1】 レジスタトランスファレベルのハードウ
ェア記述を読み込み、解析し、データ転送先となる各回
路要素ごとに、データ転送元の回路要素とデータ転送条
件を求める手段と、各レジスタごとにレジスタの更新条
件及び参照条件を求める手段の、少なくとも1つを備え
るレジスタトランスファレベル記述解析手段と、 そのレジスタトランスファレベル記述解析手段から求め
られた情報から、レジスタトランスファレベル記述中に
陽に記述されていないドントケア情報を抽出するレジス
タトランスファレベルドントケア情報抽出手段と、 そのレジスタトランスファレベルドントケア情報抽出手
段により求められたドントケア情報を用いて論理回路を
最適化する、論理回路最適化手段とを備えることを特徴
とする論理回路設計支援装置。 - 【請求項2】 前記レジスタトランスファレベルドント
ケア情報抽出手段は、 前記レジスタトランスファレベル記述解析手段によって
求められたデータ転送条件の論理和の否定が1になる場
合をその回路要素のドントケア条件とする手段と、 レジスタトランスファレベル記述解析手段によって求め
られたすべてのデータ転送条件の対について論理積を計
算し、その論理積のすべての論理和が1になる場合をそ
の回路要素への転送のドントケア条件とする手段と、 レジスタトランスファレベル記述解析手段によって求め
られたレジスタごとの更新条件及び参照条件をもとに、 ある状態から到達可能なすべての参照状態について、そ
の参照状態へ遷移するのに更新状態を必ず経由する場
合、その状態をそのレジスタの更新のドントケア条件と
する手段の、 少なくとも1つを備えることを特徴とする請求項1に記
載された論理回路設計支援装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP04458792A JP3187506B2 (ja) | 1992-03-02 | 1992-03-02 | 論理回路設計支援装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP04458792A JP3187506B2 (ja) | 1992-03-02 | 1992-03-02 | 論理回路設計支援装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH05242190A JPH05242190A (ja) | 1993-09-21 |
JP3187506B2 true JP3187506B2 (ja) | 2001-07-11 |
Family
ID=12695618
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP04458792A Expired - Lifetime JP3187506B2 (ja) | 1992-03-02 | 1992-03-02 | 論理回路設計支援装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3187506B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3998904B2 (ja) * | 2000-09-14 | 2007-10-31 | 株式会社ルネサステクノロジ | 論理回路の設計方法、論理回路の設計支援システム、及びコンピュータ読取り可能な記録媒体 |
-
1992
- 1992-03-02 JP JP04458792A patent/JP3187506B2/ja not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JPH05242190A (ja) | 1993-09-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6182268B1 (en) | Methods and apparatuses for automatic extraction of finite state machines | |
US7769569B2 (en) | Method and system for designing a structural level description of an electronic circuit | |
US20020046391A1 (en) | Method for generating behavior model description of circuit and apparatus for logic verification | |
JPS62159278A (ja) | 自動論理設計システム | |
US5615124A (en) | Autonomous evolution type hardware design system | |
JP2006285333A (ja) | 動作合成装置及び方法 | |
US6964027B2 (en) | System and method for optimizing exceptions | |
JP3187506B2 (ja) | 論理回路設計支援装置 | |
US5854926A (en) | Method and apparatus for identifying flip-flops in HDL descriptions of circuits without specific templates | |
JP2004056238A (ja) | 論理回路の遅延最適化システムおよびその最適化方法ならびに制御プログラム | |
JP2001209670A (ja) | 高位合成方法、および、高位合成方法の実施に使用される記録媒体 | |
JPH09311882A (ja) | 論理回路検証支援装置 | |
US5796622A (en) | Apparatus for logical simulation and method for producing logical circuit data | |
JP3102408B2 (ja) | 信号遅延低減方法及び装置 | |
US7765502B1 (en) | ASIC functional specification parser | |
JP2714015B2 (ja) | 論理回路合成装置 | |
JP2923914B2 (ja) | 集積回路のcadシステム | |
JPH1185832A (ja) | 回路変換方法および回路設計支援装置および記録媒体 | |
JP2000113019A (ja) | 回路設計方法および設計支援装置 | |
US6948139B2 (en) | Method for combining states | |
JP3071882B2 (ja) | 論理回路合成装置 | |
JP3215210B2 (ja) | ハードウェア設計支援システム | |
JP2990882B2 (ja) | 機能シミュレーション装置 | |
JP3022778B2 (ja) | 論理合成システム、論理合成回路および論理合成方法 | |
JP2001265832A (ja) | ハードウェア設計装置、ハードウェア設計方法およびハードウェア設計プログラムを格納したコンピュータ読取り可能な記録媒体 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090511 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090511 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100511 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110511 Year of fee payment: 10 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110511 Year of fee payment: 10 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120511 Year of fee payment: 11 |
|
EXPY | Cancellation because of completion of term | ||
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120511 Year of fee payment: 11 |