JP3071882B2 - 論理回路合成装置 - Google Patents

論理回路合成装置

Info

Publication number
JP3071882B2
JP3071882B2 JP3211686A JP21168691A JP3071882B2 JP 3071882 B2 JP3071882 B2 JP 3071882B2 JP 3211686 A JP3211686 A JP 3211686A JP 21168691 A JP21168691 A JP 21168691A JP 3071882 B2 JP3071882 B2 JP 3071882B2
Authority
JP
Japan
Prior art keywords
bit width
logic circuit
bit
unit
storage element
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
JP3211686A
Other languages
English (en)
Other versions
JPH0554098A (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.)
Toshiba Corp
Original Assignee
Toshiba 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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP3211686A priority Critical patent/JP3071882B2/ja
Publication of JPH0554098A publication Critical patent/JPH0554098A/ja
Application granted granted Critical
Publication of JP3071882B2 publication Critical patent/JP3071882B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02TCLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO TRANSPORTATION
    • Y02T10/00Road transport of goods or passengers
    • Y02T10/10Internal combustion engine [ICE] based vehicles
    • Y02T10/12Improving ICE efficiencies

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、動作機能記述とインタ
ーフェイス情報を入力として、最適ビット幅を自動的に
計算することのできる論理回路合成装置に関する。
【0002】
【従来の技術】近年、LSIが大規模化するのに伴い、
LSI設計の期間短縮のため、論理回路の設計を自動的
に行う論理回路合成装置が使用されてきている。論理回
路合成装置を用いて論理回路を設計する際には、機能記
述言語により設計対象の動作を記述する必要がある。
【0003】この機能記述言語はレジスタ転送レベルの
言語であり、設計対象のレジスタ、演算器等のハードウ
エア構成及び各クロックサイクル毎のレジスタ間のデー
タの加工と転送に関する動作内容とを記述するものであ
る。この言語を用いて機能を記述するためには、ハード
ウエアに関する専門知識が必要である。
【0004】このため最近では機能記述言語に対し、ハ
ードウエアの専門知識を必要とせず、設計対象となる論
理回路の動作のみを記述する動作機能レベル言語から合
成を行う高位合成装置が開発されている。この動作機能
レベル言語は、論理回路の動作をプログラムと同様にア
ルゴリズミックに記述する言語である。
【0005】従来の高位合成装置では、合成される論理
回路の構成要素である演算器、記憶素子、データバスの
ビット幅に関する情報を動作機能記述から得ることがで
きない。これにより、それらのビット幅の値を設計者が
経験に基づいて設定する方法や、予め使用可能な演算
器、記憶素子をライブラリに登録し、これらのビット幅
をライブラリに登録されたものに限って用いる方法がと
られてきた。
【0006】前者の方法としては、例えば、T.Mano, F.
Maruyama, K.Hayashi, T.Kakuda, N.Kawato,and T.Ueha
ra,“OCCAM to CMOS Experimental Logic Design Suppo
rt System,”7th Computer Hardware DescriptionLangu
age and their Applications(CHDL 85), pp.381-390が
あり、後者の方法としては、例えば、
【0007】
【外1】
【0008】“Experience with the ADAM Synthesis S
ystem,”Proceedings of the 26th Design Automation
Conference, ACM/IEEE, 1989がある。
【0009】高位合成装置は、これらの方法を用いて得
られた演算器、記憶素子、データバスのビット幅を基に
して、論理回路を合成する。その技法としては、例え
ば、P.G.Paulin, J.P.Knight, and E.F.Girczyc,“HAL:
A Multi-Paradigm Approach to Automatic Data Path S
ynthesis,”Proceedings of the 23rd Design Automati
on Conference, ACM/IEEE, 1986がある。
【0010】しかしながら、演算器、記憶素子、データ
バスのビット幅を得る方法のうち、前者の方法では、合
成される論理回路が大規模になった場合、設計者がビッ
ト幅を設定するのに非常に手間が掛かり設計期間が長く
なるという欠点があった。また、後者の方法では、演算
器、記憶素子のビット幅がライブラリに登録されたもの
に限定されるため、必要以上のビット幅の論理回路が合
成され、合成された論理回路が冗長になるという欠点が
あった。
【0011】
【発明が解決しようとする課題】このように従来の高位
合成装置においては、演算器、記憶素子、データバスの
ビット幅を設計者が設定しなければならないために設計
期間が長くなるという問題や、ビット幅をライブラリに
登録されたものに限るために最適なビット幅が得られ
ず、合成された論理回路が冗長になるという問題があっ
た。
【0012】本発明は上記のような従来の欠点を除去す
るもので、その目的とするところは、設計者がビット幅
を設定する手間を省くことによって設計期間を短縮させ
るとともに、合成後に冗長でない論理回路を得ることが
できる論理回路合成装置を提供することにある。
【0013】
【課題を解決するための手段】上記目的を達成するた
め、本発明の論理回路合成装置は、動作機能記述言語に
よって記述された、論理回路の構成要素である演算器、
記憶素子、データバスの、演算によって変化するビット
幅を計算するビット幅計算部と、このビット幅計算部に
よって計算されたビット幅と入出力に関するインターフ
ェイス情報および動作機能記述によって予め設定された
記憶素子のビット幅に関する情報とを比較し、前記ビッ
ト幅計算部によって計算されたビット幅の方が大きい場
合、予め設定されたビット幅に最適化するビット幅最適
化部とから構成される。
【0014】
【作用】上記構成によって、本発明は、動作機能記述お
よび入力に関するインターフェイス情報を基にして、動
作機能記述中のループ部分の繰り返しなどによって変化
する、演算器、記憶素子、データバスのビット幅をビッ
ト幅計算部で計算する。さらに、ビット幅最適化部にお
いて、出力に関するインターフェイス情報および動作機
能記述によって予め設定された記憶素子のビット幅に関
する情報を基にして、ビット幅計算部で計算された演算
器、記憶素子、データバスのビット幅の調整を行い、最
適なビット幅を計算している。
【0015】
【実施例】以下、本発明の実施例を図面を参照して説明
する。図1に本発明の論理回路合成装置の構成図を示
す。動作機能記述記憶部1は、設計者により入力された
動作機能記述言語による記述を記憶する。インターフェ
イス情報記憶部2は、設計対象となる論理回路の入出力
に関するインターフェイス情報を記憶する。
【0016】また、ビット幅計算部3は、動作機能記述
記憶部1に記憶された動作機能記述およびインターフェ
イス情報記憶部2に記憶された入力に関する情報に基づ
き、ビット幅計算ルールライブラリ4に予め登録された
ビット幅の計算ルールに従って、演算器、記憶素子、デ
ータバスのビット幅の計算を実行する。特に、動作機能
記述中のループ部分の繰り返しなどのように、ビット幅
が変化する部分において、この部分で使用される演算
器、記憶素子、データバスのビット幅の変化の情報に基
づいて、ビット幅の最適値を計算する。
【0017】さらに、ビット幅最適化部5は、ビット幅
計算部3によって得られたビット幅と、インターフェイ
ス情報記憶部2に記憶された出力に関するインターフェ
イス情報および動作機能記述によって予め設定された記
憶素子のビット幅に関する情報とを比較する。この結
果、ビット幅計算部3で得られたビット幅のほうが大き
い場合、演算器、記憶素子、データバスのビット幅を、
予め設定されたビット幅に最適化する。
【0018】合成部6は、このようにして得られた演算
器、記憶素子、データバスの最適なビット幅を用いて論
理回路を合成する。次に、ビット幅計算部3における、
ループ部分の最適なビット幅の計算方法を説明する。図
2は、この計算手順を示すフローチャートである。
【0019】まず、ループ部分の先頭からビット幅を計
算する(ステップ101)。この計算結果を基にして同
一ループ部分のビット幅の計算を再実行する(ステップ
102)。この結果、ビット幅が変化しなければ、その
値を最適ビット幅とする(ステップ103否定,10
4)。
【0020】一方、再実行の結果、ビット幅が増加した
場合、ループ部分の繰り返し回数の見積りが可能であれ
ば、見積もった値に応じてビット幅の増加の計算を実行
し、最適ビット幅とする(ステップ103,105,1
06,108)。繰り返し回数の見積りが不可能であれ
ば、ビット幅を初期設定されているデフォルト値とする
(ステップ107)。
【0021】ビット幅計算部3における簡単な計算例を
図3のコントロール・データ・フローグラフを用いて説
明する。同図は、動作機能記述言語によって記述された
データの流れを表しており、点線で囲まれた部分がルー
プ部分である。
【0022】このループ部分は、加算器7,8、記憶素
子i,sum、およびデータバス(実線)から構成され
ている。加算器7は、2つの入力ビット幅のうち大きい
方のビット幅に1ビット加えて出力するものである。加
算器8は、入力ビット幅に1ビット加えて出力するもの
である。
【0023】このループ部分以前の動作機能記述部分に
おけるビット幅の計算によって記憶素子i、sumのビ
ット幅がそれぞれ3ビット、4ビットと得られたとす
る。ループ部分の先頭におけるビット幅の計算では、加
算器7,8での演算後の記憶素子i、sumのビット幅
はそれぞれ4ビット、5ビットとなる(ステップ10
1)。
【0024】この結果に基づいて再計算を実行すると、
記憶素子i、sumのビット幅はそれぞれ5ビット、6
ビットとなる(ステップ102)。つまり、ループ部分
を1回繰り返すことによってビット幅が1ビットづつ増
加することがわかる(ステップ103否定)。ループ部
分の繰り返し回数の見積りが可能な場合には、例えば8
回繰り返されると見積もられたとすると、記憶素子i、
sumの最適ビット幅として、それぞれ11ビット、1
2ビットが得られる(ステップ105,106,10
8)。
【0025】次に、ビット幅最適化部5における、ビッ
ト幅の最適化方法を説明する。その最適化のフローチャ
ートを図4に示す。まず、ビット幅計算部3で計算され
たビット幅とインターフェイス情報記憶部2から得られ
る出力に関する情報とを比較する(ステップ111)。
ビット幅の最適化が必要な場合、出力から入力側へビッ
ト幅の最適化を実行する(ステップ112肯定,11
3)。
【0026】次に、ビット幅計算部3で計算されたビッ
ト幅と動作機能記述中の予め設定された記憶素子のビッ
ト幅に関する情報とを比較する(ステップ114)。こ
の結果、最適化が必要な場合には、記憶素子から入力側
へ最適化する(ステップ115肯定,116)。
【0027】この最適化処理の簡単な例を図5のコント
ロール・データ・フローグラフを用いて説明する。図5
(a)に示されているビット幅は、ビット幅計算部3に
よって計算されたビット幅を表している。つまり、ビッ
ト幅計算部3で計算された各入力変数のビット幅、5ビ
ット、6ビット、5ビットが与えられて、出力のビット
幅が乗算器9と加算器7によって11ビットとなること
を表している。
【0028】ビット幅最適化部5では、この出力のビッ
ト幅とインターフェイス情報記憶部2に記憶された出力
に関する情報とを比較する(ステップ111)。これに
より、出力のビット幅が5ビットで良いことが分かった
とする(ステップ112)。そこで出力から入力側へビ
ット幅の最適化を行う(ステップ113)。その結果が
図5(b)である。
【0029】ここで、出力から入力側へ最適化を行う際
のルールの一例を図6を用いて説明する。この例では、
加算器7が1個、入力変数x,y、出力変数zの場合を
考える。入力変数xのビット幅a、yのビット幅bを用
いて出力変数zのビット幅をビット幅計算部3で計算し
た結果、cという値が得られたとする。インターフェイ
ス情報から得られる出力変数zのビット幅がdであると
する。dがcより小さい場合に、出力変数zのビット幅
がdに最適化される。さらに、入力変数x,yのビット
幅が下式のように最適化される。
【0030】
【数1】
【0031】
【発明の効果】以上説明したように、本発明によれば、
動作機能記述中のビット幅が変化する部分において、演
算器、記憶素子、データバスのビット幅を、ビット幅の
変化に関する情報、予め記憶された入出力に関するイン
ターフェイス情報、および動作機能記述によって予め設
定された記憶素子のビット幅に関する情報を比較するこ
とにより、演算器、記憶素子、データバスの最適なビッ
ト幅を計算することが可能となる。これにより、設計期
間を短縮することができ、合成後に冗長でない論理回路
が得られる。
【図面の簡単な説明】
【図1】本発明の論理回路合成装置の構成図である。
【図2】図1で示したビット幅計算部3における計算手
順を示すフローチャートである。
【図3】ビット幅計算部3における計算例を説明するた
めのコントロール・データ・フローグラフである。
【図4】図1で示したビット幅最適化部5における最適
化手順を示すフローチャートである。
【図5】ビット幅最適化部5における最適化の一例を説
明するためのコントロール・データ・フローグラフであ
る。
【図6】ビット幅最適化ルールの一例を示すコントロー
ル・データ・フローグラフである。
【符号の説明】
1 動作機能記述記憶部 2 インターフェイス情報記憶部 3 ビット幅計算部 4 ビット幅計算ルールライブラリ 5 ビット幅最適化部 6 合成部

Claims (1)

    (57)【特許請求の範囲】
  1. 【請求項1】 動作機能記述言語によって記述された、
    論理回路の構成要素である演算器、記憶素子、データバ
    スの、演算によって変化するビット幅を計算するビット
    幅計算部と、このビット幅計算部によって計算されたビ
    ット幅と入出力に関するインターフェイス情報および動
    作機能記述によって予め設定された記憶素子のビット幅
    に関する情報とを比較し、前記ビット幅計算部によって
    計算されたビット幅の方が大きい場合、予め設定された
    ビット幅に最適化するビット幅最適化部とを備えたこと
    を特徴とする論理回路合成装置。
JP3211686A 1991-08-23 1991-08-23 論理回路合成装置 Expired - Fee Related JP3071882B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP3211686A JP3071882B2 (ja) 1991-08-23 1991-08-23 論理回路合成装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP3211686A JP3071882B2 (ja) 1991-08-23 1991-08-23 論理回路合成装置

Publications (2)

Publication Number Publication Date
JPH0554098A JPH0554098A (ja) 1993-03-05
JP3071882B2 true JP3071882B2 (ja) 2000-07-31

Family

ID=16609910

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3211686A Expired - Fee Related JP3071882B2 (ja) 1991-08-23 1991-08-23 論理回路合成装置

Country Status (1)

Country Link
JP (1) JP3071882B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010204720A (ja) * 2009-02-27 2010-09-16 Nec Corp 回路設計支援システム、回路設計支援方法及びプログラム

Also Published As

Publication number Publication date
JPH0554098A (ja) 1993-03-05

Similar Documents

Publication Publication Date Title
Stelling et al. Optimal circuits for parallel multipliers
Singh et al. Timing optimization of combinational logic
JPH03260773A (ja) Lsiの組合せ回路自動合成処理方法
JP2001229217A (ja) 高位合成方法およびその実施に使用される記録媒体
JP3741544B2 (ja) 順序回路の状態探索方法および装置並びに状態探索プログラムを記録した記録媒体
JP3071882B2 (ja) 論理回路合成装置
Lin et al. Retiming for wire pipelining in system-on-chip
Erba et al. Digital filter design through simulated evolution
WO2009102599A1 (en) Improving logic performance in cyclic structures
US5740070A (en) Apparatus for automatically generating logic circuit
JP2001209664A (ja) 高位合成方法並びに高位合成方法の実施に使用される記録媒体
Yi et al. FPGA-based system-level design framework based on the IRIS synthesis tool and System Generator
JP2002222228A (ja) 高位合成システム及び高位合成方法
Savcenco Multirate numerical integration for ordinary differential equations
Hassoun Fine grain incremental rescheduling via architectural retiming
US10565339B2 (en) Timing-adaptive, configurable logic architecture
JP3004589B2 (ja) パストランジスタ論理設計方法
DIVYA et al. Efficient Cut-set Retiming Approach for Fixed Point Circuits
JP3187506B2 (ja) 論理回路設計支援装置
Yi et al. Hierarchical DSP architectural synthesis and scheduling solution for" IRIS"
Aggarwal et al. Speeding up technology-independent timing optimization by network partitioning
JP3491580B2 (ja) Lsi階層設計における遅延最適化システム及びその遅延最適化方法
Komi et al. A scheduling method by stepwise expansion in high-level synthesis
JP3101872B2 (ja) 論理合成支援方法およびシステム
Duncan et al. Strategies for design automation of high speed digital filters

Legal Events

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

Free format text: PAYMENT UNTIL: 20090526

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20090526

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20100526

Year of fee payment: 10

LAPS Cancellation because of no payment of annual fees