JP2861994B1 - 回路合成方法、回路合成装置および記録媒体 - Google Patents

回路合成方法、回路合成装置および記録媒体

Info

Publication number
JP2861994B1
JP2861994B1 JP10012849A JP1284998A JP2861994B1 JP 2861994 B1 JP2861994 B1 JP 2861994B1 JP 10012849 A JP10012849 A JP 10012849A JP 1284998 A JP1284998 A JP 1284998A JP 2861994 B1 JP2861994 B1 JP 2861994B1
Authority
JP
Japan
Prior art keywords
variable
circuit
description
bits
unsigned
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 - Fee Related
Application number
JP10012849A
Other languages
English (en)
Other versions
JPH11213024A (ja
Inventor
光一 佐藤
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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP10012849A priority Critical patent/JP2861994B1/ja
Priority to US09/237,256 priority patent/US6367066B1/en
Application granted granted Critical
Publication of JP2861994B1 publication Critical patent/JP2861994B1/ja
Publication of JPH11213024A publication Critical patent/JPH11213024A/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design

Abstract

【要約】 【課題】 符号付き変数を用いた演算と符号無し変数を
用いた演算が混在する記述であっても演算器やレジスタ
の共有化を図り、回路面積の小さい回路を合成すること
ができる回路合成方法及び装置を提供する。 【解決手段】 記述中の符号付きの変数を用いた演算を
符号無しの変数を用いた演算に書き換え、書き換えた記
述から同じタイミングで動作しない同一の演算を実行す
る演算器の共有化を行う。また、記述中から同じタイミ
ングで処理しない変数を探し出し、共有化するレジスタ
のビット数に対して変数のビット数が足りない場合に、
符号付きの変数に対しては、足りないビット数だけ符号
ビットと同じデータを付与し、符号無しの該変数に対し
ては、足りないビット数だけ所定のデータを付与した
後、レジスタの共有化を行う。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明はLSI等の集積回路
装置の回路合成方法およびその装置と、その回路合成装
置に回路合成方法を実行させるためのプログラムが格納
された記録媒体とに関するものである。
【0002】
【従来の技術】近年、LSIは大規模化し、構造がより
複雑になってきている。このようなLSIの設計効率を
向上させるために論理設計を自動化するシステムが要望
されている。自動化された回路設計方法を実現する手段
として、ハードウェア記述言語を用いて回路の動作を記
述し、入力された記述にしたがって所望の回路を合成す
る回路合成装置がある。
【0003】一般に、回路合成装置の設計レベルは、動
作(Behavior)、RTL(RegisterTransfer Level)、
論理の3種類から構成される。
【0004】動作レベルはプログラミング言語を用いて
アルゴリズムを検討するのと同じレベルであり、「何」
が、「どのように」動作するかを定義する設計レベルで
ある。
【0005】動作合成では、動作記述に対してどのクロ
ック・サイクルで、どのような手順にしたがって演算を
実行するかを決めるスケジューリングを実施し、その結
果、必要なレジスタや演算器を変数、レジスタに割当て
(バインディング)、演算の順序を制御する状態マシン
部を生成する(状態生成)。
【0006】RTLは動作レベルより一段下のレベルで
あり、レジスタや演算器、状態マシン部などのアーキテ
クチャを定義し、各クロックサイクルごとの動作を明確
に定義するレベルである。
【0007】RTL合成では、記述からレジスタをイン
ファレンスすることや、演算順序の最適化、リソースの
割り付け等を実行する。
【0008】論理レベルは最下位レベルであり、設計回
路をブール式またはASICネットリスト等によって表
現するレベルである。通常、論理合成という用語は、こ
の論理レベルでの合成を指す。
【0009】ところで、回路合成を行う場合、一般に演
算器の回路面積は大きいため、論理合成された回路の回
路面積の増大を防止するために同じタイミングで使用し
ない演算器を共有化することが望ましい。
【0010】例えば、動作記述として unsigned a1(0:2),b1(0:2),c1(0:4); unsigned a2(0:3),b2(0:3),c2(0:6); if(cond) { c1=a1*b1; } else{ c2=a2*b2; } が回路合成装置に入力された場合を例にして考える。こ
こで、a1,b1は0ビットから始まる合計2ビットの符号
無しの変数、c1は0ビットから始まる合計4ビットの符
号無しの変数、a2,b2は0ビットから始まる合計3ビッ
トの符号無しの変数、c2は0ビットから始まる合計6ビ
ットの符号無しの変数をそれぞれ表わしている。また、
if(cond) elseは、condの値で指定された状態に応じ
て、c1またはc2のいずれか一方を選択する処理を表わし
ている。なお、上記動作記述では、符号無し(unsigne
d)の変数を用いて演算を行う記述例を示しているが、
符号付き(signed)の変数を用いて演算を行う記述もあ
る。
【0011】このような動作記述から動作合成を行う場
合、従来の回路合成装置では、動作記述中から同じタイ
ミングで使用しない同一の演算を探し出し、それらの演
算に対応する演算器を共有化している。例えば、上記の
ような動作記述では、c1=a1*b1、及びc2=a2*b2の演算が
同時に実行されないため、同じ演算器(乗算器)を用い
てa1*b1、及びa2*b2をそれぞれ実行するように動作合成
を行っていた。
【0012】このようにして合成された動作合成結果の
一例を図6に示す。
【0013】図6は従来の回路合成装置から出力される
動作合成結果の一例を示す図である。なお、図6におい
て「MUX」はマルチプレクサを表わし、「×」は乗算
器(演算器)を表わしている。
【0014】図6に示すように、動作合成された記述中
には、演算器に入力する変数を切り替えるためのマルチ
プレクサが増加する。しかしながら、演算器よりもマル
チプレクサの方が回路面積が小さくて済むため、合成さ
れた回路の回路面積を小さくすることができる。
【0015】ところで、従来の回路合成装置では演算器
の共有化だけでなくレジスタの共有化も行っている。レ
ジスタの共有化とは、同じタイミングで処理しないデー
タ(変数)を同一のレジスタに保持させることである。
【0016】図7は従来の回路合成装置のレジスタ共有
化方法の一例を示すデータ転送の図であり、同図(a)
はsignedの変数のレジスタ共有化方法を示すブロック
図、同図(b)はunsignedの変数のレジスタ共有化方法
を示すブロック図である。
【0017】なお、図7は、例えば c1=a1; c2=b1; のように変数a1の値をレジスタc1に転送し、変数b1の値
をレジスタc2に転送する場合に、c1とc2とを一つのレジ
スタ(5ビット)で共有化する方法を示している。
【0018】図7(a)において、例えば2ビットのsi
gnedの変数a1、及び4ビットのsignedの変数b1を共通の
レジスタ(5ビット)に転送する場合、転送先のレジス
タのビット数に対して不足するビット数を変数a1及びb1
にそれぞれ付与し、マルチプレクサ(MUX)によって
レジスタに転送する変数を切り替える(a1またはb1のい
ずれか一方)。ここで、変数a1及びb1はそれぞれ0ビッ
ト目が符号ビットであるため、不足するビットには符号
ビットと同じデータを挿入する。
【0019】一方、図7(b)に示すように、例えば4
ビットのunsignedの変数a2、及び2ビットのunsignedの
変数b2を共通のレジスタ(5ビット)に転送する場合、
signedの変数の場合と同様に、転送先のレジスタのビッ
ト数に対して不足するビット数を変数a2及びb2にそれぞ
れ付与し、マルチプレクサ(MUX)によってレジスタ
に転送する変数を切り替える(a2またはb2のいずれか一
方)。ここで、変数a2及びb2はそれぞれ符号ビットを持
たないため、不足するビットにはデータ“0”を挿入す
る。
【0020】このように演算器だけでなくレジスタも共
有化することで回路面積をより小さくすることができ
る。
【0021】
【発明が解決しようとする課題】上記したような従来の
回路合成装置では、通常、符号付きの変数(signed)を
用いた演算、あるいは符号無しの変数(unsigned)を用い
た演算のいずれか一方のみを用いて動作記述を作成して
いる。しかしながら、動作記述中にsignedの変数を用い
た演算とunsignedの変数を用いた演算が混在する場合に
は2種類の演算器が必要になるため、これらの演算器を
共有化することができなかった。
【0022】したがって、従来の回路合成装置では演算
器及びレジスタの共有化を充分に行うことができないた
め、設計した回路の回路面積を充分に小さくすることが
できないという問題があった。
【0023】本発明は上記したような従来の技術が有す
る問題点を解決するためになされたものであり、符号付
き変数を用いた演算と符号無し変数を用いた演算が混在
する記述であっても演算器やレジスタの共有化を図り、
回路面積の小さい回路を合成することができる回路合成
方法及び装置を提供することを目的とする。
【0024】
【課題を解決するための手段】上記目的を達成するため
本発明の回路合成方法は、ハードウェア記述言語で作成
された設計回路の動作を示す記述から、所望の回路を合
成するための回路合成方法であって、前記記述中の符号
付きの変数を用いた演算を符号無しの変数を用いた演算
に書き換え、該書き換えた記述から、同じタイミングで
動作しない同一の演算を実行する演算器の共有化を行う
方法である。
【0025】このとき、符号付きの変数を用いた演算を
符号無しの変数を用いた演算に書き換えるための変換規
則を予め記憶しておき、該変換規則にしたがって前記記
述中の符号付きの変数を用いた演算を符号無しの変数を
用いた演算に書き換えてもよく、特に、前記演算が乗算
の場合に、前記符号付きの変数の各々の符号ビットの排
他的論理和を求め、前記排他的論理和の演算結果が0の
ときは該変数の乗算結果をそのまま出力し、前記排他的
論理和の演算結果が1のときは該変数の乗算結果に負の
符合を付与してもよい。
【0026】また、ハードウェア記述言語で作成された
設計回路の動作を示す記述から、所望の回路を合成する
ための回路合成方法であって、前記記述中から同じタイ
ミングで処理しない変数を探し出し、共有化するレジス
タのビット数に対して該変数のビット数が足りない場合
に、符号付きの該変数に対しては、足りないビット数だ
け符号ビットと同じデータを付与し、符号無しの該変数
に対しては、足りないビット数だけ所定のデータを付与
した後、レジスタの共有化を行う方法である。
【0027】なお、上記回路合成方法のいずれにおいて
も、前記ハードウェア記述言語としてC言語を用いても
よい。
【0028】また、本発明の回路合成装置は、ハードウ
ェア記述言語で作成された設計回路の動作を示す記述か
ら、所望の回路を合成する回路合成装置であって、前記
記述中の符号付きの変数を用いた演算を符号無しの変数
を用いた演算に書き換え、該書き換えた記述から同じタ
イミングで動作しない同一の演算を実行する演算器の共
有化を行うデータ処理装置を有するものである。
【0029】このとき、符号付きの変数を用いた演算を
符号無しの変数を用いた演算に書き換えるための変換規
則が予め格納される変換テーブル記憶手段を備え、前記
データ処理装置は、前記変換テーブル記憶手段に格納さ
れた該変換規則にしたがって前記記述中の符号付きの変
数を用いた演算を符号無しの変数を用いた演算に書き換
えてもよく、前記データ処理装置は、前記演算が乗算の
場合に、前記符号付きの変数の各々の符号ビットの排他
的論理和を求め、前記排他的論理和の演算結果が0のと
きは、該変数の乗算結果をそのまま出力し、前記排他的
論理和の演算結果が1のときは、該変数の乗算結果に負
の符合を付与してもよい。
【0030】また、ハードウェア記述言語で作成された
設計回路の動作を示す記述から、所望の回路を合成する
回路合成装置であって、前記記述中から同じタイミング
で処理しない変数を探し出し、共有化するレジスタのビ
ット数に対して該変数のビット数が足りない場合に、符
号付きの該変数に対しては、足りないビット数だけ符号
ビットと同じデータを付与し、符号無しの該変数に対し
ては、足りないビット数だけ所定のデータを付与した
後、レジスタの共有化を行うデータ処理装置を有するも
のである。
【0031】なお、上記回路合成装置のいずれにおいて
も、前記ハードウェア記述言語としてC言語を用いても
よい。
【0032】さらに、本発明の記録媒体は、コンピュー
タによってハードウェア記述言語で作成された回路の動
作を示す記述から所望の回路を合成するためのプログラ
ムを記録した記録媒体であって、前記記述中の符号付き
の変数を用いた演算を符号無しの変数を用いた演算に書
き換える変換処理と、前記変換処理によって書き換えら
れた記述から同じタイミングで動作しない同一の演算を
実行する演算器の共有化を行う共有化処理と、をコンピ
ュータに実行させるためのプログラムを記録したもので
ある。
【0033】このとき、符号付きの変数を用いた演算を
符号無しの変数を用いた演算に変換するための変換規則
をコンピュータに予め記憶させ、前記変換処理で、該変
換規則にしたがって前記記述中の符号付きの変数を用い
た演算を符号無しの変数を用いた演算に書き換える処理
をコンピュータに実行させるためのプログラムを記録し
ていてもよく、前記演算が乗算の場合に、前記変換処理
で、前記符号付きの変数の各々の符号ビットの排他的論
理和を求め、前記排他的論理和の演算結果が0のときは
該変数の乗算結果をそのまま出力し、前記排他的論理和
の演算結果が1のときは該変数の乗算結果に負の符合を
付与する処理をコンピュータに実行させるためのプログ
ラムを記録してもよい。
【0034】また、コンピュータによってハードウェア
記述言語で作成された回路の動作を示す記述から所望の
回路を合成するためのプログラムを記録した記録媒体で
あって、前記記述中から同じタイミングで処理しない変
数を探し出す探索処理と、共有化するレジスタのビット
数に対して該変数のビット数が足りない場合に、符号付
きの該変数に対しては、足りないビット数だけ符号ビッ
トと同じデータを付与し、符号無しの該変数に対して
は、足りないビット数だけ所定のデータを付与した後、
レジスタの共有化を行う共有化処理と、をコンピュータ
に実行させるためのプログラムを記録したものである。
【0035】上記のような回路合成方法及び装置は、記
述中の符号付きの変数を用いた演算を符号無しの変数を
用いた演算に書き換え、書き換えた記述から同じタイミ
ングで動作しない同一の演算を実行する演算器の共有化
を行うことで、記述中に符号付きの変数を用いた演算と
符号無しの変数を用いた演算とが混在する場合でも演算
器の共有化を行うことができるため、合成された回路の
回路面積を小さくすることができる。
【0036】また、記述中から同じタイミングで処理し
ない変数を探し出し、共有化するレジスタのビット数に
対して変数のビット数が足りない場合に、符号付きの変
数に対しては、足りないビット数だけ符号ビットと同じ
データを付与し、符号無しの変数に対しては、足りない
ビット数だけ所定のデータを付与した後、レジスタの共
有化を行うことで、記述中に符号付きの変数と符号無し
の変数とが混在する場合でもレジスタを共有化すること
ができるため、合成された回路の回路面積をより小さく
することができる。
【0037】
【発明の実施の形態】次に本発明について図面を参照し
て説明する。
【0038】本発明の回路合成装置では、同じタイミン
グで処理しないsignedの変数を用いた演算、及びunsign
edの変数を用いた演算で用いる演算器を共有化できるよ
うにする。なお、以下では動作記述から動作合成を行う
場合を例にして説明するが、RTL記述からRTL合成
を行う場合にも適用することができる。
【0039】図1は本発明の回路合成装置の構成を示す
ブロック図である。
【0040】図1において、回路合成装置は、コンピュ
ータを構成する装置として、動作記述を入力するための
入力装置1と、動作合成結果を出力する出力装置2と、
入力された動作記述、及び動作合成結果を格納するハー
ドディスク3と、動作合成に必要なデータを保持するメ
モリ4と、動作合成を行うためのプログラムが記録され
た記録媒体5と、記録媒体5に記録されたプログラムに
したがって動作合成を実行するCPU6と、入力装置
1、出力装置2、ハードディスク3、メモリ4、記録媒
体5、及びCPU6を接続するバス7とを有している。
【0041】CPU6は記録媒体5に記録されたプログ
ラムを読み込み、そのプログラムにしたがって後述する
処理を実行する。なお、記録媒体5は磁気ディスク、半
導体メモリ、CD−ROM、あるいはその他の記録手段
であってもよい。
【0042】メモリ4は不図示の変換テーブルを備え、
変換テーブルにはsignedの変数を用いた演算からunsign
edの変数を用いた演算に変換するための変換規則が予め
格納される。
【0043】CPU6は、動作記述中のsignedの変数を
用いた演算を探し出し、変換テーブルに格納された変換
規則にしたがってsignedの変数を用いた演算をunsigned
の変数を用いた演算に変換し、変換した動作記述に基づ
いて動作合成を行う。
【0044】次に、本発明の回路合成装置の動作につい
て、図2〜図5を参照して説明する。
【0045】図2は本発明の回路合成装置が実行する回
路合成方法の処理手順を示すフローチャートである。
【0046】図2において、操作者によって動作記述が
入力され、動作合成の指示がなされると、CPU6はハ
ードディスク3に格納された動作記述を処理が可能なデ
ータ形式に変換し、メモリ4に転送する(ステップS
1)。
【0047】次に、CPU6はメモリ4に格納された動
作記述中にsignedの変数を用いた演算があるか否かを検
索する(ステップS2)。ここで、動作記述中にsigned
の変数を用いた演算がある場合は、メモリ4に格納され
た変換テーブルを参照し、該当する演算の変換規則を変
換テーブルから抽出する(ステップS3)。続いて、抽
出した変換規則にしたがってsignedの変数を用いた演算
をunsignedの変数を用いた演算に変換し、動作記述を書
き換える(ステップS4)。
【0048】次に、CPU6は変換された動作記述に基
づいてスケジューリングを行い(ステップS5)、演算
器の共有化やレジスタの割り付け、バインディング、状
態生成を行って動作合成を行う(ステップS6)。動作
合成した結果は(例えばRTL記述)、ハードディスク
3に格納し(ステップS7)、操作者からの要求にした
がって出力装置2を用いて出力する。なお、演算器の共
有化処理については、従来と同様に動作記述中から同じ
タイミングで使用しない同一の演算を探し出し、それら
の演算を行う演算器を共有化する。
【0049】一方、ステップS2の処理でsignedの変数
を用いた演算が無い場合は、ステップS5の処理に移行
し、入力された動作記述に基づいてスケジューリングを
行う(ステップS5)。以降の処理は上記ステップS
6、ステップS7と同様である。
【0050】次に、図3〜図5を用いて本発明の回路合
成装置のより具体的な動作を説明する。
【0051】例えば、動作記述として signed a1(0:3),b1(0:3),c1(0:6); unsigned a2(0:3),b2(0:3),c2(0:6); if(cond) { c1=a1*b1; } else{ c2=a2*b2; } が回路合成装置に入力された場合を考える。なお、a1,b
1は0ビットから始まる合計3ビットの符号付きの変
数、c1は0ビットから始まる合計6ビットの符号付きの
変数、a2,b2は0ビットから始まる合計3ビットの符号
無しの変数、c2は0ビットから始まる合計6ビットの符
号無しの変数をそれぞれ表わしている。また、if(cond)
elseは、condで指定された状態に応じて、c1またはc2
のいずれか一方を選択する処理を表わしている。
【0052】ここで、メモリ4に格納された変換テーブ
ルに図3に示すような乗算器の変換規則が格納されてい
る場合、上述した動作記述は以下のように変換される。
【0053】 signed a1(0:3),b1(0:3),c1(0:6); unsigned a2(0:3),b2(0:3),c2(0:6); if(cond) { c1=(a1(0) XOR b1(0)) ? a1(1:2)*b1(1:2): - (a1(1:2)*b1(1:2)); } else{ c2=a2*b2; } なお、c1=(a1(0) XOR b1(0)) ? a1(1:2)*b1(1:2): - (a
1(1:2)*b1(1:2));は、a1(0)とb1(0)の排他的論理和(符
号ビット同士の排他的論理和)の演算結果によって、a1
(1:2)*b1(1:2)、または - (a1(1:2)*b1(1:2))のいずれ
か一方の演算を選択する処理を示している。すなわち、
a1(0)とb1(0)の排他的論理和の演算結果が“0”の場合
は変数a1、及びb1の符号が同じであるため左式a1(1:2)*
b1(1:2)を選択し、a1(0)とb1(0)の排他的論理和の演算
結果が“1”の場合は変数a1、及びb1の符号が異なって
いるため右式-(a1(1:2)*b1(1:2))を選択する。
【0054】変換された動作記述に基づいて動作合成し
た結果は図4に示すようになる。図4は本発明の回路合
成装置から出力される動作合成結果の一例を示す図であ
る。なお、図4において「XOR」は排他的論理和、
「MUX」はマルチプレクサ、「×」は乗算器(演算
器)をそれぞれ表わしている。
【0055】図4に示すように、動作合成された記述に
は、従来に比べて排他的論理和、負号挿入、及び負号挿
入後のマルチプレクサのモジュールが増加する。しかし
ながら、演算器よりもこれらのモジュールの回路面積の
方が小さくて済むため、回路面積を小さくすることがで
きる。
【0056】特に、signedの変数を用いた演算とunsign
edの変数を用いた演算が混在する場合でも演算器を共有
化することができるため、本発明の回路合成装置にはハ
ードウェア記述言語としてC言語を用いることができ
る。C言語で書かれた動作記述は、VHDLやVerilog-HDL
等のよく知られたハードウェア記述言語で作成された動
作記述に比べて合成処理速度が速く、回路動作のシミュ
レーション等も高速に行うことができる。
【0057】次に、本発明の回路合成装置のレジスタの
共有化方法について説明する。
【0058】従来の回路合成装置では図7に示したよう
に、signedの変数、あるいはunsignedの変数毎に同じタ
イミングで使用されないデータを同一のレジスタに格納
している。一方、本発明の回路合成装置では同じタイミ
ングで使用されないsignedの変数、及びunsignedの変数
を同一のレジスタに格納できるようにする。
【0059】図5は本発明の回路合成装置のレジスタ共
有化方法の一例を示すブロック図である。
【0060】なお、図5は、 c1=a1; c2=a2; のように変数a1の値をレジスタc1に転送し、変数a2の値
をレジスタc2に転送する場合に、c1とc2とを一つのレジ
スタ(5ビット)で共有化する方法を示している。
【0061】図5において、例えば2ビットのsignedの
変数a1、及び4ビットのunsignedの変数a2を共通のレジ
スタ(5ビット)に転送する場合、転送先のレジスタの
ビット数に対して不足するビット数を変数a1及びa2にそ
れぞれ付与し、マルチプレクサ(MUX)によってレジ
スタに転送する変数を切り替える(a1またはa2のいずれ
か一方)。ここで、変数a1の0ビット目は符号ビットで
あるため、不足するビットには符号ビットと同じデータ
を挿入する。一方、変数a2は符号ビットを持たないた
め、不足するビットにはデータ“0”を挿入する。
【0062】このように、本発明の回路合成装置は、si
gnedの変数及びunsignedの変数が混在する記述に対し
て、演算器だけでなくレジスタの共有化も行うことがで
きるため、合成された回路の回路面積をより小さくする
ことができる。
【0063】
【発明の効果】本発明は以上説明したように構成されて
いるので、以下に記載する効果を奏する。
【0064】記述中に符号付きの変数を用いた演算と符
号無しの変数を用いた演算とが混在する場合でも演算器
を共有化することができるため、回路面積を小さくする
ことができる。
【0065】特に、符号付きの変数を用いた演算、及び
符号無しの変数を用いた演算が混在するハードウェア記
述言語としてC言語を用いることで、回路動作のシミュ
レーション等を高速に行うことができる。
【0066】また、記述中に符号付きの変数と符号無し
の変数とが混在する場合でもレジスタを共有化すること
ができるため、回路面積をより小さくすることができ
る。
【図面の簡単な説明】
【図1】本発明の回路合成装置の構成を示すブロック図
である。
【図2】本発明の回路合成装置が実行する回路合成方法
の処理手順を示すフローチャートである。
【図3】本発明の回路合成装置が備えた変換テーブルの
一例を示す図である。
【図4】本発明の回路合成装置から出力される動作合成
結果の一例を示す図である。
【図5】本発明の回路合成装置のレジスタ共有化方法の
一例を示すブロック図である。
【図6】従来の回路合成装置から出力される動作合成結
果の一例を示す図である。
【図7】従来の回路合成装置のレジスタ共有化方法の一
例を示すデータ転送の図であり、同図(a)はsignedの
変数のレジスタ共有化方法を示すブロック図、同図
(b)はunsignedの変数のレジスタ共有化方法を示すブ
ロック図である。
【符号の説明】
1 入力装置 2 出力装置 3 ハードディスク 4 メモリ 5 記録媒体 6 CPU 7 バス

Claims (14)

    (57)【特許請求の範囲】
  1. 【請求項1】 ハードウェア記述言語で作成された設計
    回路の動作を示す記述から、所望の回路を合成するため
    の回路合成方法であって、 前記記述中の符号付きの変数を用いた演算を符号無しの
    変数を用いた演算に書き換え、 該書き換えた記述から、同じタイミングで動作しない同
    一の演算を実行する演算器の共有化を行う回路合成方
    法。
  2. 【請求項2】 符号付きの変数を用いた演算を符号無し
    の変数を用いた演算に書き換えるための変換規則を予め
    記憶しておき、 該変換規則にしたがって前記記述中の符号付きの変数を
    用いた演算を符号無しの変数を用いた演算に書き換える
    請求項1記載の回路合成方法。
  3. 【請求項3】 前記演算が乗算の場合に、 前記符号付きの変数の各々の符号ビットの排他的論理和
    を求め、 前記排他的論理和の演算結果が0のときは該変数の乗算
    結果をそのまま出力し、 前記排他的論理和の演算結果が1のときは該変数の乗算
    結果に負の符合を付与する請求項1または2記載の回路
    合成方法。
  4. 【請求項4】 ハードウェア記述言語で作成された設計
    回路の動作を示す記述から、所望の回路を合成するため
    の回路合成方法であって、 前記記述中から同じタイミングで処理しない変数を探し
    出し、 共有化するレジスタのビット数に対して該変数のビット
    数が足りない場合に、 符号付きの該変数に対しては、足りないビット数だけ符
    号ビットと同じデータを付与し、 符号無しの該変数に対しては、足りないビット数だけ所
    定のデータを付与した後、レジスタの共有化を行う回路
    合成方法。
  5. 【請求項5】 前記ハードウェア記述言語はC言語であ
    る請求項1乃至4のいずれか1項記載の回路合成方法。
  6. 【請求項6】 ハードウェア記述言語で作成された設計
    回路の動作を示す記述から、所望の回路を合成する回路
    合成装置であって、 前記記述中の符号付きの変数を用いた演算を符号無しの
    変数を用いた演算に書き換え、 該書き換えた記述から同じタイミングで動作しない同一
    の演算を実行する演算器の共有化を行うデータ処理装置
    を有する回路合成装置。
  7. 【請求項7】 符号付きの変数を用いた演算を符号無し
    の変数を用いた演算に書き換えるための変換規則が予め
    格納される変換テーブル記憶手段を備え、 前記データ処理装置は、 前記変換テーブル記憶手段に格納された該変換規則にし
    たがって前記記述中の符号付きの変数を用いた演算を符
    号無しの変数を用いた演算に書き換える請求項6記載の
    回路合成装置。
  8. 【請求項8】 前記データ処理装置は、 前記演算が乗算の場合に、 前記符号付きの変数の各々の符号ビットの排他的論理和
    を求め、 前記排他的論理和の演算結果が0のときは、該変数の乗
    算結果をそのまま出力し、 前記排他的論理和の演算結果が1のときは、該変数の乗
    算結果に負の符合を付与する請求項6または7記載の回
    路合成装置。
  9. 【請求項9】 ハードウェア記述言語で作成された設計
    回路の動作を示す記述から、所望の回路を合成する回路
    合成装置であって、 前記記述中から同じタイミングで処理しない変数を探し
    出し、 共有化するレジスタのビット数に対して該変数のビット
    数が足りない場合に、 符号付きの該変数に対しては、足りないビット数だけ符
    号ビットと同じデータを付与し、 符号無しの該変数に対しては、足りないビット数だけ所
    定のデータを付与した後、レジスタの共有化を行うデー
    タ処理装置を有する回路合成装置。
  10. 【請求項10】 前記ハードウェア記述言語はC言語で
    ある請求項6乃至9のいずれか1項記載の回路合成装
    置。
  11. 【請求項11】 コンピュータによってハードウェア記
    述言語で作成された回路の動作を示す記述から所望の回
    路を合成するためのプログラムを記録した記録媒体であ
    って、 前記記述中の符号付きの変数を用いた演算を符号無しの
    変数を用いた演算に書き換える変換処理と、 前記変換処理によって書き換えられた記述から同じタイ
    ミングで動作しない同一の演算を実行する演算器の共有
    化を行う共有化処理と、をコンピュータに実行させるた
    めのプログラムを記録した記録媒体。
  12. 【請求項12】 符号付きの変数を用いた演算を符号無
    しの変数を用いた演算に変換するための変換規則をコン
    ピュータに予め記憶させ、 前記変換処理で、 該変換規則にしたがって前記記述中の符号付きの変数を
    用いた演算を符号無しの変数を用いた演算に書き換える
    処理をコンピュータに実行させるためのプログラムを記
    録した請求項11記載の記録媒体。
  13. 【請求項13】 前記演算が乗算の場合に、 前記変換処理で、 前記符号付きの変数の各々の符号ビットの排他的論理和
    を求め、 前記排他的論理和の演算結果が0のときは該変数の乗算
    結果をそのまま出力し、 前記排他的論理和の演算結果が1のときは該変数の乗算
    結果に負の符合を付与する処理をコンピュータに実行さ
    せるためのプログラムを記録した請求項11または12
    記載の記録媒体。
  14. 【請求項14】 コンピュータによってハードウェア記
    述言語で作成された回路の動作を示す記述から所望の回
    路を合成するためのプログラムを記録した記録媒体であ
    って、 前記記述中から同じタイミングで処理しない変数を探し
    出す探索処理と、 共有化するレジスタのビット数に対して該変数のビット
    数が足りない場合に、 符号付きの該変数に対しては、足りないビット数だけ符
    号ビットと同じデータを付与し、 符号無しの該変数に対しては、足りないビット数だけ所
    定のデータを付与した後、レジスタの共有化を行う共有
    化処理と、をコンピュータに実行させるためのプログラ
    ムを記録した記録媒体。
JP10012849A 1998-01-26 1998-01-26 回路合成方法、回路合成装置および記録媒体 Expired - Fee Related JP2861994B1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP10012849A JP2861994B1 (ja) 1998-01-26 1998-01-26 回路合成方法、回路合成装置および記録媒体
US09/237,256 US6367066B1 (en) 1998-01-26 1999-01-26 System for synthesizing a circuit by re-writing signed variables into unsigned variables and sharing resources for identical operations having different timing

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP10012849A JP2861994B1 (ja) 1998-01-26 1998-01-26 回路合成方法、回路合成装置および記録媒体

Publications (2)

Publication Number Publication Date
JP2861994B1 true JP2861994B1 (ja) 1999-02-24
JPH11213024A JPH11213024A (ja) 1999-08-06

Family

ID=11816853

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10012849A Expired - Fee Related JP2861994B1 (ja) 1998-01-26 1998-01-26 回路合成方法、回路合成装置および記録媒体

Country Status (2)

Country Link
US (1) US6367066B1 (ja)
JP (1) JP2861994B1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8839163B2 (en) 2011-11-18 2014-09-16 Renesas Electronics Corporation Behavioral synthesis method, behavioral synthesis program and behavioral synthesis apparatus

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4082653B2 (ja) * 2001-11-15 2008-04-30 松下電器産業株式会社 高位合成方法および高位合成装置
US7647567B1 (en) * 2005-01-31 2010-01-12 Bluespec, Inc. System and method for scheduling TRS rules
KR100918815B1 (ko) 2007-06-01 2009-09-25 한국과학기술원 마이크로프로세서의 연산장치
US7752028B2 (en) 2007-07-26 2010-07-06 Microsoft Corporation Signed/unsigned integer guest compare instructions using unsigned host compare instructions for precise architecture emulation
JP2012027826A (ja) * 2010-07-27 2012-02-09 Toppan Printing Co Ltd 半導体集積回路およびその設計方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
IL100987A (en) * 1991-02-27 1995-10-31 Digital Equipment Corp Method and device for encoding
IL100990A (en) * 1991-02-27 1995-10-31 Digital Equipment Corp Multilingual optimization compiler that uses Gladi in the production of a multi-pass cipher
US5841663A (en) * 1995-09-14 1998-11-24 Vlsi Technology, Inc. Apparatus and method for synthesizing integrated circuits using parameterized HDL modules
US6055619A (en) * 1997-02-07 2000-04-25 Cirrus Logic, Inc. Circuits, system, and methods for processing multiple data streams

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8839163B2 (en) 2011-11-18 2014-09-16 Renesas Electronics Corporation Behavioral synthesis method, behavioral synthesis program and behavioral synthesis apparatus

Also Published As

Publication number Publication date
US6367066B1 (en) 2002-04-02
JPH11213024A (ja) 1999-08-06

Similar Documents

Publication Publication Date Title
US6305001B1 (en) Clock distribution network planning and method therefor
US6370677B1 (en) Method and system for maintaining hierarchy throughout the integrated circuit design process
US7260794B2 (en) Logic multiprocessor for FPGA implementation
Madsen et al. An approach to interface synthesis
KR100499720B1 (ko) 시스템 엘에스아이 설계 방법
US6816828B1 (en) Logic simulation method in which simulation is dynamically switchable between models
JP2001249824A (ja) 論理エミュレーションプロセッサおよびそのモジュールユニット
JP2861994B1 (ja) 回路合成方法、回路合成装置および記録媒体
US7065719B2 (en) Method for designing a system LSI
JPH11502646A (ja) Asic設計における合成シェルの生成及び使用
Gladigau et al. A system-level synthesis approach from formal application models to generic bus-based MPSoCs
US6625799B2 (en) Technology mapping method and storage medium
JP2006185423A (ja) カスタムlsi開発プラットフォーム、命令セット・アーキテクチャ及び論理回路構成情報の生成方法、並びにプログラム
Bergamaschi et al. A system for production use of high-level synthesis
JP2001209664A (ja) 高位合成方法並びに高位合成方法の実施に使用される記録媒体
JP4531715B2 (ja) システムlsiの設計方法及びこれを記憶した記録媒体
JP2714015B2 (ja) 論理回路合成装置
Villar et al. Synthesis applications of VHDL
JP4006120B2 (ja) 論理合成装置
JP2845032B2 (ja) 論理シミュレーション装置
US20030140054A1 (en) Processor composing apparatus, system LSI composing apparatus, processor composing method, system LSI composing method, and program therefor
WO2008026273A1 (fr) Contrôleur dma
EP0991000A2 (en) Reuse of hardware components
WO2000068782A1 (fr) Procede de mise au point d'un circuit integre a semiconducteur
Ong et al. Design Flow for Automatic Mapping of Graphical Programming Applications to Adaptive Computing Systems

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20071211

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20081211

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091211

Year of fee payment: 11

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091211

Year of fee payment: 11

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101211

Year of fee payment: 12

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101211

Year of fee payment: 12

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101211

Year of fee payment: 12

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111211

Year of fee payment: 13

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111211

Year of fee payment: 13

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121211

Year of fee payment: 14

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121211

Year of fee payment: 14

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131211

Year of fee payment: 15

LAPS Cancellation because of no payment of annual fees