JPH06230930A - 同期式順序回路の状態割当て装置 - Google Patents
同期式順序回路の状態割当て装置Info
- Publication number
- JPH06230930A JPH06230930A JP5016399A JP1639993A JPH06230930A JP H06230930 A JPH06230930 A JP H06230930A JP 5016399 A JP5016399 A JP 5016399A JP 1639993 A JP1639993 A JP 1639993A JP H06230930 A JPH06230930 A JP H06230930A
- Authority
- JP
- Japan
- Prior art keywords
- state
- evaluation function
- code
- circuit
- function
- 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)【要約】
【目的】 所要面積がより小さい同期式順序回路を提供
する。 【構成】 与えられた状態遷移表14に含まれる状態の数
から状態コード長を求める状態コード長算出手段11と、
与えられた状態遷移表14から評価関数を計算する評価関
数算出手段12と、状態コード長算出手段11及び評価関数
算出手段12に接続されており状態コード長算出手段11で
算出された状態コード長から評価関数算出手段12で算出
された評価関数の値に基づいて所定のコードを決定する
コード決定手段13とを備えており、評価関数全体の変数
の数が最も削減されるように所定のコ−ドを割当てる。
する。 【構成】 与えられた状態遷移表14に含まれる状態の数
から状態コード長を求める状態コード長算出手段11と、
与えられた状態遷移表14から評価関数を計算する評価関
数算出手段12と、状態コード長算出手段11及び評価関数
算出手段12に接続されており状態コード長算出手段11で
算出された状態コード長から評価関数算出手段12で算出
された評価関数の値に基づいて所定のコードを決定する
コード決定手段13とを備えており、評価関数全体の変数
の数が最も削減されるように所定のコ−ドを割当てる。
Description
【0001】
【産業上の利用分野】本発明は、同期式順序回路に関
し、特に、同期式順序回路の状態割当て装置に関する。
し、特に、同期式順序回路の状態割当て装置に関する。
【0002】
【従来の技術】従来の同期式順序回路の一構成例を図3
に示す。
に示す。
【0003】図3の従来の同期式順序回路30は、出力回
路31、次状態回路32、次状態回路32に接続された状態信
号記憶部(以下、レジスタと称する)33によって構成さ
れている。
路31、次状態回路32、次状態回路32に接続された状態信
号記憶部(以下、レジスタと称する)33によって構成さ
れている。
【0004】次に、図3の従来の同期式順序回路の動作
を説明する。
を説明する。
【0005】レジスタ33は、コード化(2値信号の値の
組)された状態を記憶する。
組)された状態を記憶する。
【0006】出力回路31は、ある時刻でそのときの外部
からの入力信号とレジスタ33に記憶されている状態コー
ドに基いて出力を計算して外部に出力信号を出力する。
からの入力信号とレジスタ33に記憶されている状態コー
ドに基いて出力を計算して外部に出力信号を出力する。
【0007】次状態回路32は、次状態コードを計算す
る。
る。
【0008】クロック信号が加えられたとき、次状態コ
ードがレジスタ33に記憶されて新たな出力及び新たな次
状態が計算される。
ードがレジスタ33に記憶されて新たな出力及び新たな次
状態が計算される。
【0009】上述したように同期式順序回路は、クロッ
ク信号に同期して状態を変化させる(状態を遷移する)
と共に、そのときの状態と外部からの入力信号に基いて
外部に出力信号を出力する。
ク信号に同期して状態を変化させる(状態を遷移する)
と共に、そのときの状態と外部からの入力信号に基いて
外部に出力信号を出力する。
【0010】同期式順序回路を設計する過程において、
外部からの入力信号、記号表現された状態、記号表現さ
れた次状態、外部への出力信号の関係(状態遷移表)
が、同期式順序機械の仕様として与えられる。そこで、
状態コードの長さを決め、また、各記号表現された状態
をコード化しなければならない。
外部からの入力信号、記号表現された状態、記号表現さ
れた次状態、外部への出力信号の関係(状態遷移表)
が、同期式順序機械の仕様として与えられる。そこで、
状態コードの長さを決め、また、各記号表現された状態
をコード化しなければならない。
【0011】このとき、コードの長さは、 log2 (状態
数)以上の整数であれば順序回路を実現可能であるが、
可能な限り小さい値にした方がレジスタの回路の面積を
小さく実現できる。
数)以上の整数であれば順序回路を実現可能であるが、
可能な限り小さい値にした方がレジスタの回路の面積を
小さく実現できる。
【0012】また、状態コードは、任意の2状態を区別
することができれば、どのようにコード割当てを行って
も順序回路を実現可能であるが、何らかの工夫を行うこ
とによって、次状態回路や出力回路の面積を小さく実現
できる場合がある。
することができれば、どのようにコード割当てを行って
も順序回路を実現可能であるが、何らかの工夫を行うこ
とによって、次状態回路や出力回路の面積を小さく実現
できる場合がある。
【0013】更に、次状態回路や出力回路の面積を小さ
するためのコード割当て方法が、情報処理ハンドブック
( (社) 情報処理学会編、1989年)、特公平3-171373号
公報、及び特公平3-216763号公報、及び特願平4-126505
号に報告されている。
するためのコード割当て方法が、情報処理ハンドブック
( (社) 情報処理学会編、1989年)、特公平3-171373号
公報、及び特公平3-216763号公報、及び特願平4-126505
号に報告されている。
【0014】
【表1】
【0015】表1は、状態を記号表現した状態遷移表の
一例を示す。
一例を示す。
【0016】
【表2】
【0017】表2は、表1の状態遷移表の記号表現され
た状態に、上述した図3の従来の同期式順序回路を用い
て状態割当てを行なって得られた真理値表の一例を示
す。
た状態に、上述した図3の従来の同期式順序回路を用い
て状態割当てを行なって得られた真理値表の一例を示
す。
【0018】また、図4は、表2の真理値表を論理合成
して得られる従来の次状態回路及び出力回路の一構成例
を示す。
して得られる従来の次状態回路及び出力回路の一構成例
を示す。
【0019】
【発明が解決しようとする課題】しかしながら、上記情
報処理ハンドブック及び特公平3-171373号公報に記載さ
れている方法では、次状態回路や出力回路の論理(次状
態関数、出力関数)を表す論理式から括りだして減らせ
る変数の数のみに着目しており、論理式に含まれる変数
の数自体は考慮されていないので、論理式に表れる変数
の総数を十分削減できず、その結果、次状態回路や出力
回路の面積を十分削減できないという問題があった。
報処理ハンドブック及び特公平3-171373号公報に記載さ
れている方法では、次状態回路や出力回路の論理(次状
態関数、出力関数)を表す論理式から括りだして減らせ
る変数の数のみに着目しており、論理式に含まれる変数
の数自体は考慮されていないので、論理式に表れる変数
の総数を十分削減できず、その結果、次状態回路や出力
回路の面積を十分削減できないという問題があった。
【0020】また、上記特公平3-216763号公報に記載さ
れている方法では、次状態回路や出力回路の面積を削減
できる半面、状態コードの長さを状態数と同じにしなけ
ればならないという制約があり、そのためレジスタの回
路の面積が大きくなってしまい、順序回路全体としての
面積を必ずしも削減できない場合があるという問題があ
った。
れている方法では、次状態回路や出力回路の面積を削減
できる半面、状態コードの長さを状態数と同じにしなけ
ればならないという制約があり、そのためレジスタの回
路の面積が大きくなってしまい、順序回路全体としての
面積を必ずしも削減できない場合があるという問題があ
った。
【0021】更に、上記特願平4-126505号に記載されて
いる同期順序回路の状態割当て装置では、次状態回路の
面積削減に大きな効果はあるが、出力回路の面積削減に
ついての配慮がないので、次状態回路と出力回路を併せ
た順序回路全体としての面積をより効率良く削減できな
い場合があるという問題があった。
いる同期順序回路の状態割当て装置では、次状態回路の
面積削減に大きな効果はあるが、出力回路の面積削減に
ついての配慮がないので、次状態回路と出力回路を併せ
た順序回路全体としての面積をより効率良く削減できな
い場合があるという問題があった。
【0022】本発明の目的は、上述した従来の同期式順
序回路における問題点に鑑み、従来の状態割当ての手法
で割当てるより、次状態回路と出力回路を併せた面積が
より小さい同期式順序回路の状態割り当て装置を提供す
ることにある。
序回路における問題点に鑑み、従来の状態割当ての手法
で割当てるより、次状態回路と出力回路を併せた面積が
より小さい同期式順序回路の状態割り当て装置を提供す
ることにある。
【0023】
【課題を解決するための手段】本発明は、与えられた状
態遷移表に含まれる状態の数から状態コード長を求める
手段と、与えられた状態遷移表から評価関数を計算する
手段と、状態コード長算出手段及び評価関数算出手段に
接続されており状態コード長算出手段で算出された状態
コード長から評価関数算出手段で算出された評価関数の
値に基づいて所定のコードを決定する手段とを備えてお
り、評価関数全体の変数の数が最も削減されるように所
定のコ−ドを割当てる同期式順序回路の状態割当て装置
によって達成される。
態遷移表に含まれる状態の数から状態コード長を求める
手段と、与えられた状態遷移表から評価関数を計算する
手段と、状態コード長算出手段及び評価関数算出手段に
接続されており状態コード長算出手段で算出された状態
コード長から評価関数算出手段で算出された評価関数の
値に基づいて所定のコードを決定する手段とを備えてお
り、評価関数全体の変数の数が最も削減されるように所
定のコ−ドを割当てる同期式順序回路の状態割当て装置
によって達成される。
【0024】
【作用】本発明の同期式順序回路の状態割当て装置で
は、与えられた状態遷移表に含まれる状態の数から状態
コード長を求め、与えられた状態遷移表から評価関数を
計算し、算出された状態コード長から算出された評価関
数の値に基づいて所定のコードを決定し、評価関数全体
の変数の数が最も削減されるように所定のコ−ドを割当
てる。
は、与えられた状態遷移表に含まれる状態の数から状態
コード長を求め、与えられた状態遷移表から評価関数を
計算し、算出された状態コード長から算出された評価関
数の値に基づいて所定のコードを決定し、評価関数全体
の変数の数が最も削減されるように所定のコ−ドを割当
てる。
【0025】
【実施例】以下、図面を参照して、本発明の同期式順序
回路の状態割当て装置の実施例を説明する。
回路の状態割当て装置の実施例を説明する。
【0026】図1は、本発明の同期式順序回路の状態割
当て装置(以下、状態割当て装置と称する)の一実施例
の構成を示すブロック図である。
当て装置(以下、状態割当て装置と称する)の一実施例
の構成を示すブロック図である。
【0027】図に示すように、本実施例の状態割当て装
置10は、与えられた状態遷移表に含まれる状態の数から
状態コード長を求める状態コード長算出手段11、与えら
れた状態遷移表から評価関数を計算する評価関数算出手
段12、状態コード長算出手段11及び評価関数算出手段12
に接続されており状態コード長算出手段11で算出された
状態コード長から評価関数算出手段12で算出された評価
関数の値に基づいて所定のコードを決定するコード決定
手段13、及び状態遷移表14によって構成されている。
置10は、与えられた状態遷移表に含まれる状態の数から
状態コード長を求める状態コード長算出手段11、与えら
れた状態遷移表から評価関数を計算する評価関数算出手
段12、状態コード長算出手段11及び評価関数算出手段12
に接続されており状態コード長算出手段11で算出された
状態コード長から評価関数算出手段12で算出された評価
関数の値に基づいて所定のコードを決定するコード決定
手段13、及び状態遷移表14によって構成されている。
【0028】次に、図1の状態割当て装置の動作、特に
同期式順序回路での状態割当ての手順を説明する。
同期式順序回路での状態割当ての手順を説明する。
【0029】まず、各状態へ遷移の起る条件を、状態変
数と入力変数からなる論理式で表す。ここでは仮に、状
態iへ遷移の起る条件式を式i、状態jへ遷移の起る条
件式を式jとおく。
数と入力変数からなる論理式で表す。ここでは仮に、状
態iへ遷移の起る条件式を式i、状態jへ遷移の起る条
件式を式jとおく。
【0030】次に、以下の2つの評価関数を立て、この
値を各i、jについて求める。
値を各i、jについて求める。
【0031】評価関数F(i,j)=(ある状態へ遷移
の起る条件式の変数の数の平均値)×2−((式iの変
数の数)+(式jの変数の数)−(式iと式jから括り
だして減らせる変数の数)) 評価関数G(i,j)=出力関数全体で状態iと状態j
のコードの1ビット分が一致した場合に括りだして減ら
せる状態変数の数 そして、 評価関数H(i,j)=F(i,j)+G(i,j) とおいた上で、評価関数H(i,j)と評価関数G
(i,j)の値を比較し、評価関数H(i,j)がより
大きい場合に状態iと状態jのコードの同じ桁に1が、
評価関数G(i,j)がより大きい場合に状態iと状態
jのコードの同じ桁に0が割り当てられる様に状態コー
ドを割り当てる。
の起る条件式の変数の数の平均値)×2−((式iの変
数の数)+(式jの変数の数)−(式iと式jから括り
だして減らせる変数の数)) 評価関数G(i,j)=出力関数全体で状態iと状態j
のコードの1ビット分が一致した場合に括りだして減ら
せる状態変数の数 そして、 評価関数H(i,j)=F(i,j)+G(i,j) とおいた上で、評価関数H(i,j)と評価関数G
(i,j)の値を比較し、評価関数H(i,j)がより
大きい場合に状態iと状態jのコードの同じ桁に1が、
評価関数G(i,j)がより大きい場合に状態iと状態
jのコードの同じ桁に0が割り当てられる様に状態コー
ドを割り当てる。
【0032】次状態関数は、状態コードの各々のビット
に対応している。状態コードのkビット目に対応する次
状態関数の論理式は、状態コードのkビット目が1に割
当てられている状態へ遷移の起る条件式の論理和であ
る。
に対応している。状態コードのkビット目に対応する次
状態関数の論理式は、状態コードのkビット目が1に割
当てられている状態へ遷移の起る条件式の論理和であ
る。
【0033】例えば、状態iの状態コードのkビット目
が1に割当てられていれば、状態コードのkビット目に
対応する次状態関数の論理式に、状態iへ遷移の起る条
件式が含まれる。同様に、状態iと状態jの状態コード
のkビット目が共に1に割当てられていれば、状態コー
ドのkビット目に対応する次状態関数の論理式に、状態
iへ遷移の起る条件式と状態jへ遷移の起る条件式が共
に含まれる。
が1に割当てられていれば、状態コードのkビット目に
対応する次状態関数の論理式に、状態iへ遷移の起る条
件式が含まれる。同様に、状態iと状態jの状態コード
のkビット目が共に1に割当てられていれば、状態コー
ドのkビット目に対応する次状態関数の論理式に、状態
iへ遷移の起る条件式と状態jへ遷移の起る条件式が共
に含まれる。
【0034】評価関数F(i,j)は、状態iと状態j
のコードの同じ1つのビットに1を割り当てた時に次状
態関数中で何個の変数が減ることが期待できるかを表し
ている。
のコードの同じ1つのビットに1を割り当てた時に次状
態関数中で何個の変数が減ることが期待できるかを表し
ている。
【0035】一方、評価関数G(i,j)は、状態iと
状態jのコードの同じ1つのビットに同じ値(1どうし
でも0どうしでも良い)を割り当てた時に、出力関数中
で何個の変数が減ることが期待できるかを表している。
状態jのコードの同じ1つのビットに同じ値(1どうし
でも0どうしでも良い)を割り当てた時に、出力関数中
で何個の変数が減ることが期待できるかを表している。
【0036】そこで、評価関数H(i,j)=評価関数
F(i,j)+評価関数G(i,j)とおき、次状態関
数と出力関数を併せた関数全体で考えると、評価関数H
(i,j)は状態iと状態jのコードの同じ1つのビッ
トに1を割り当てたとき、評価関数G(i,j)は状態
iと状態jのコードの同じ1つのビットに0を割り当て
たときに、次状態関数及び出力関数中で何個の変数が減
ることが期待できるかを表していると言える。
F(i,j)+評価関数G(i,j)とおき、次状態関
数と出力関数を併せた関数全体で考えると、評価関数H
(i,j)は状態iと状態jのコードの同じ1つのビッ
トに1を割り当てたとき、評価関数G(i,j)は状態
iと状態jのコードの同じ1つのビットに0を割り当て
たときに、次状態関数及び出力関数中で何個の変数が減
ることが期待できるかを表していると言える。
【0037】従って、評価関数H(i,j)、評価関数
G(i,j)を併せて大小関係を見て、評価関数H
(i,j)がより大きい場合に状態iと状態jのコード
のより多くの同じ桁に1を、評価関数G(i,j)がよ
り大きい場合に状態iと状態jのコードのより多くの同
じ桁に0を割当てることで、次状態関数と出力関数を併
せた論理式全体に含まれる変数の数を減らせる。その結
果、論理式を論理回路で置き換えた際にも、より面積の
小さな回路として実現できる。
G(i,j)を併せて大小関係を見て、評価関数H
(i,j)がより大きい場合に状態iと状態jのコード
のより多くの同じ桁に1を、評価関数G(i,j)がよ
り大きい場合に状態iと状態jのコードのより多くの同
じ桁に0を割当てることで、次状態関数と出力関数を併
せた論理式全体に含まれる変数の数を減らせる。その結
果、論理式を論理回路で置き換えた際にも、より面積の
小さな回路として実現できる。
【0038】同期式順序回路での状態割当て手順は、 (1) 与えられた状態遷移表に含まれる状態の数から状態
コード長を求める。
コード長を求める。
【0039】( log2 (状態数)以上の最小の整数を状
態コード長とする) (2) 与えられた状態遷移表から評価関数を計算する。
態コード長とする) (2) 与えられた状態遷移表から評価関数を計算する。
【0040】(3) 評価関数の値に基づいてコードを決定
する。
する。
【0041】の各処理によって構成されている。
【0042】表1は、状態を記号表現した状態遷移表の
一例を示す。
一例を示す。
【0043】まず、上記(1) の処理について述べる。
【0044】表1では、状態数が4であることから状態
コード長は2として求まる。
コード長は2として求まる。
【0045】続いて、上記(2) の処理を説明する。
【0046】各状態へ遷移の起る条件を、状態変数と入
力変数からなる論理式で表す。
力変数からなる論理式で表す。
【0047】状態数が2の冪乗個でない場合、仮の状態
を追加して状態数が2の冪乗個あるものと見做す(仮の
状態へ遷移の起る条件式に含まれる変数の数は、0であ
る)。 次に、表1の現状態が状態1、状態2、状態
3、状態4であることをS1、S2、S3、S4でそれ
ぞれ表すと状態2へ遷移の起る条件は、
を追加して状態数が2の冪乗個あるものと見做す(仮の
状態へ遷移の起る条件式に含まれる変数の数は、0であ
る)。 次に、表1の現状態が状態1、状態2、状態
3、状態4であることをS1、S2、S3、S4でそれ
ぞれ表すと状態2へ遷移の起る条件は、
【0048】
【数1】
【0049】状態3へ遷移の起る条件は、
【0050】
【数2】
【0051】また、出力関数(本実施例では1つのみ)
は、
は、
【0052】
【数3】
【0053】という論理式で表される(ここで、式中、
・は論理積、+は論理和をそれぞれ表す演算子であ
る)。
・は論理積、+は論理和をそれぞれ表す演算子であ
る)。
【0054】次に、評価関数F(i,j)を求める。
【0055】式に含まれる“現状態が某であること”
は、状態コード長分の変数で構成されていると見做す。
は、状態コード長分の変数で構成されていると見做す。
【0056】式の立て方から評価関数F(i,j)=評
価関数F(j,i)であるから、ここでは、評価関数F
(1,2)、評価関数F(1,3)、評価関数F(1,
4)、評価関数F(2,3)、評価関数F(2,4)、
評価関数F(3,4)、の6つを計算する必要がある。
価関数F(j,i)であるから、ここでは、評価関数F
(1,2)、評価関数F(1,3)、評価関数F(1,
4)、評価関数F(2,3)、評価関数F(2,4)、
評価関数F(3,4)、の6つを計算する必要がある。
【0057】例えば、評価関数F(2,3)を求めてみ
る。
る。
【0058】S1、S2等は、状態コード長分、即ち2
つの変数から構成されていると見做せるから、状態2へ
遷移の起る条件式の変数の数は12、状態3へ遷移の起
る条件式の変数の数は4、加えて状態1へ遷移の起る条
件式の変数の数は36、状態4へ遷移の起る条件式の変
数の数は12だから、ある状態へへ遷移の起る条件式の
変数の数の平均値は16と求まる。
つの変数から構成されていると見做せるから、状態2へ
遷移の起る条件式の変数の数は12、状態3へ遷移の起
る条件式の変数の数は4、加えて状態1へ遷移の起る条
件式の変数の数は36、状態4へ遷移の起る条件式の変
数の数は12だから、ある状態へへ遷移の起る条件式の
変数の数の平均値は16と求まる。
【0059】また、両式について、前式の積項(3個)
と後式の積項(1個)を比較すると、Xは2ヶ所に存在
するので変数1個分減らせる、また、
と後式の積項(1個)を比較すると、Xは2ヶ所に存在
するので変数1個分減らせる、また、
【0060】
【数4】
【0061】は、2ヶ所に存在するので、変数を1個分
減らすことができ、また、Yは2ヶ所に存在するので、
変数を1個分減らすことができる。更に、
減らすことができ、また、Yは2ヶ所に存在するので、
変数を1個分減らすことができる。更に、
【0062】
【数5】
【0063】は、2ヶ所に存在するので、変数を1個分
減らすことができる。
減らすことができる。
【0064】また、S1は2ヶ所に存在するので、変数
を2個分減らすことができ、S2は2ヶ所に存在するの
で、変数を2個分減らすことできるので、両式から括り
だして減らせる変数の数は8として求まる。
を2個分減らすことができ、S2は2ヶ所に存在するの
で、変数を2個分減らすことできるので、両式から括り
だして減らせる変数の数は8として求まる。
【0065】結局、評価関数F(2,3)の値は、16
×−(12+4−8)=24と求まる。また、他の評価
関数Fも全て計算すると、評価関数F(1,2)=2
0、評価関数F(1,3)=20、評価関数F(1,
4)=20、評価関数F(2,3)=24、評価関数F
(2,4)=20、評価関数F(3,4)=22、と求
まる。
×−(12+4−8)=24と求まる。また、他の評価
関数Fも全て計算すると、評価関数F(1,2)=2
0、評価関数F(1,3)=20、評価関数F(1,
4)=20、評価関数F(2,3)=24、評価関数F
(2,4)=20、評価関数F(3,4)=22、と求
まる。
【0066】次に、評価関数G(i,j)を求める。こ
れも評価関数F(i,j)と同様に6つを計算する必要
がある。
れも評価関数F(i,j)と同様に6つを計算する必要
がある。
【0067】表1では、出力関数にはS3とS4が1つ
ずつ含まれるだけだから、状態3と状態4のコ−ドの1
ビット分が一致した場合には、変数1つ分が減らせるの
で、評価関数G(3,4)のみ値1を取り、他の評価関
数Gは値0である。
ずつ含まれるだけだから、状態3と状態4のコ−ドの1
ビット分が一致した場合には、変数1つ分が減らせるの
で、評価関数G(3,4)のみ値1を取り、他の評価関
数Gは値0である。
【0068】上記(3) 評価関数の値に基づいてコードを
決定する処理を説明する。
決定する処理を説明する。
【0069】異なる状態に同じコ−ドを割り当てないよ
うに、状態コ−ドの各ビット毎に、既決定のコードが同
じ状態に対して、半数に1を、残りの半数に0を割り当
てるという条件のもとに、評価関数G及び評価関数Hの
できるだけ大きい順にコ−ドを決定して行く。
うに、状態コ−ドの各ビット毎に、既決定のコードが同
じ状態に対して、半数に1を、残りの半数に0を割り当
てるという条件のもとに、評価関数G及び評価関数Hの
できるだけ大きい順にコ−ドを決定して行く。
【0070】表1では、結局 評価関数F(1,2)=20、評価関数F(1,3)=
20、評価関数F(1,4)=20、評価関数F(2,
3)=24、評価関数F(2,4)=20、評価関数F
(3,4)=22、評価関数G(1,2)=0、評価関
数G(1,3)=0、評価関数G(1,4)=0、評価
関数G(2,3)=0、評価関数G(2,4)=0、評
価関数G(3,4)=1、評価関数H(1,4)=2
0、評価関数H(1,3)=20、評価関数H(1,
4)=20、評価関数H(2,3)=24、評価関数H
(2,4)=20、評価関数H(3,4)=23、と求
まる。
20、評価関数F(1,4)=20、評価関数F(2,
3)=24、評価関数F(2,4)=20、評価関数F
(3,4)=22、評価関数G(1,2)=0、評価関
数G(1,3)=0、評価関数G(1,4)=0、評価
関数G(2,3)=0、評価関数G(2,4)=0、評
価関数G(3,4)=1、評価関数H(1,4)=2
0、評価関数H(1,3)=20、評価関数H(1,
4)=20、評価関数H(2,3)=24、評価関数H
(2,4)=20、評価関数H(3,4)=23、と求
まる。
【0071】コードの1ビット目を決めるには、評価関
数G、評価関数Hの中で、評価関数H(2,3)の評価
値が最大であることから、状態2と状態3の1ビット目
に1が割当てられ、残りの状態1と状態4の1ビット目
に0がそれぞれ割当てられる。
数G、評価関数Hの中で、評価関数H(2,3)の評価
値が最大であることから、状態2と状態3の1ビット目
に1が割当てられ、残りの状態1と状態4の1ビット目
に0がそれぞれ割当てられる。
【0072】コードの2ビット目を決めるには、条件か
ら、状態2と状態3では一方に1、他方に0、状態1と
状態4でも一方に1、他方に0がそれぞれ割り当てられ
なければならない。その上で評価関数G及び評価関数H
を見ると、評価関数H(2,3)の評価値に次いで、評
価関数H(3,4)の評価値が大きいことから、状態3
と状態4の2ビット目に1が割当てられ、残りの状態1
と状態2の2ビット目に0が割当てられる。このよう
に、状態1にコード00が、状態2にコード10が、状態3
にコード11が、状態4にコード01が割り当てられる。
ら、状態2と状態3では一方に1、他方に0、状態1と
状態4でも一方に1、他方に0がそれぞれ割り当てられ
なければならない。その上で評価関数G及び評価関数H
を見ると、評価関数H(2,3)の評価値に次いで、評
価関数H(3,4)の評価値が大きいことから、状態3
と状態4の2ビット目に1が割当てられ、残りの状態1
と状態2の2ビット目に0が割当てられる。このよう
に、状態1にコード00が、状態2にコード10が、状態3
にコード11が、状態4にコード01が割り当てられる。
【0073】
【表3】
【0074】表3は、表1の状態遷移表の記号表現され
た状態に、上述した手順に基づいて状態割当てを行って
得られる真理値表を示す。
た状態に、上述した手順に基づいて状態割当てを行って
得られる真理値表を示す。
【0075】図2は、表3の真理値表を論理合成して得
られる次状態回路及び出力回路の一構成例を示す。
られる次状態回路及び出力回路の一構成例を示す。
【0076】図2の次状態回路16は、否定(NOT)論
理回路素子17〜20、論理和(OR)回路素子21〜23、論
理積(AND)回路素子24〜27によって構成されてい
る。
理回路素子17〜20、論理和(OR)回路素子21〜23、論
理積(AND)回路素子24〜27によって構成されてい
る。
【0077】また、図2の出力回路は、論理積(AN
D)回路素子28によって構成されている。
D)回路素子28によって構成されている。
【0078】次に、図2の次状態回路16の動作を説明す
る。
る。
【0079】AND回路素子24は、NOT論理回路素子
17を介して出力される入力Yの否定(NOT Y)、N
OT論理回路素子18を介して出力される現状態S2の否
定(NOT S2)、及び現状態S1をそれぞれ入力し
て論理積を算出する。
17を介して出力される入力Yの否定(NOT Y)、N
OT論理回路素子18を介して出力される現状態S2の否
定(NOT S2)、及び現状態S1をそれぞれ入力し
て論理積を算出する。
【0080】OR回路素子21は、入力S1及びS2を入
力して論理和を算出する。
力して論理和を算出する。
【0081】AND回路素子25は、入力Y、及びNOT
論理回路素子20を介してOR回路素子21から出力された
論理和の否定を入力して論理積を算出する。
論理回路素子20を介してOR回路素子21から出力された
論理和の否定を入力して論理積を算出する。
【0082】AND回路素子26は、OR回路素子21から
出力された論理和、NOT論理回路素子17を介して出力
される入力Yの否定(NOT Y)、及び入力Xの論理
積を算出する。
出力された論理和、NOT論理回路素子17を介して出力
される入力Yの否定(NOT Y)、及び入力Xの論理
積を算出する。
【0083】AND回路素子27は、現状態S1、現状態
S2、入力Y、及びNOT論理回路素子19を介して出力
される入力Xの否定(NOT X)の論理積を算出す
る。
S2、入力Y、及びNOT論理回路素子19を介して出力
される入力Xの否定(NOT X)の論理積を算出す
る。
【0084】OR回路素子22は、AND回路素子24から
の出力とAND回路素子25からの出力を入力して論理和
を実行し、次状態S1′を出力する。
の出力とAND回路素子25からの出力を入力して論理和
を実行し、次状態S1′を出力する。
【0085】OR回路素子23は、AND回路素子26から
の出力とAND回路素子27からの出力を入力して論理和
を実行し、次状態S2′を出力する。
の出力とAND回路素子27からの出力を入力して論理和
を実行し、次状態S2′を出力する。
【0086】図2の出力回路を構成しているAND回路
素子28の動作を説明する。
素子28の動作を説明する。
【0087】AND回路素子28は、入力X、入力Y、及
び現状態S2を入力して、それらの論理積を算出して、
論理積の結果Zを出力する。
び現状態S2を入力して、それらの論理積を算出して、
論理積の結果Zを出力する。
【0088】上述したように、次状態関数は、状態コー
ドの各々のビットに対応している。状態コードのkビッ
ト目に対応する次状態関数の論理式は、状態コードのk
ビット目が1に割当てられている状態へ遷移の起る条件
式の論理和である。
ドの各々のビットに対応している。状態コードのkビッ
ト目に対応する次状態関数の論理式は、状態コードのk
ビット目が1に割当てられている状態へ遷移の起る条件
式の論理和である。
【0089】例えば、条件iの状態コードのkビット目
が1に割当てられていれば、状態コードのkビット目に
対応する次状態関数の論理式に、状態iへ遷移の起る条
件式が含まれる。同様に、状態iと状態jの状態コード
のkビット目が共に1に割当てられていれば、状態コー
ドのkビット目に対応する次状態関数の論理式に、状態
iへ遷移の起る条件式と状態jへ遷移の起る条件式が共
に含まれる。
が1に割当てられていれば、状態コードのkビット目に
対応する次状態関数の論理式に、状態iへ遷移の起る条
件式が含まれる。同様に、状態iと状態jの状態コード
のkビット目が共に1に割当てられていれば、状態コー
ドのkビット目に対応する次状態関数の論理式に、状態
iへ遷移の起る条件式と状態jへ遷移の起る条件式が共
に含まれる。
【0090】さて、本発明の評価関数は、ある状態へ遷
移の起る条件式のうち、任意の2式の論理和をとったと
きに、式中に含まれる変数の数を表している。
移の起る条件式のうち、任意の2式の論理和をとったと
きに、式中に含まれる変数の数を表している。
【0091】この評価関数がより小さい状態の対につい
て、より多く、状態コードの同じ桁に1を割当てること
で、次状態関数の論理式に含まれる変数の数を減らせ
る。
て、より多く、状態コードの同じ桁に1を割当てること
で、次状態関数の論理式に含まれる変数の数を減らせ
る。
【0092】従って、本発明の同期式順序回路の状態割
当て装置は、出力関数に含まれる状態変数から括りだせ
る変数の個数から、コード割当てに伴う出力関数の変数
の個数の増減を計って、次状態関数と出力関数を併せた
関数全体の変数の個数が最も削減されるように状態コー
ドを割当てる。
当て装置は、出力関数に含まれる状態変数から括りだせ
る変数の個数から、コード割当てに伴う出力関数の変数
の個数の増減を計って、次状態関数と出力関数を併せた
関数全体の変数の個数が最も削減されるように状態コー
ドを割当てる。
【0093】その結果、次状態回路をより面積の小さな
回路で実現でき、順序回路全体としてもより面積の小さ
な回路で実現できる。
回路で実現でき、順序回路全体としてもより面積の小さ
な回路で実現できる。
【0094】
【発明の効果】本発明の同期式順序回路の状態割当て装
置は、与えられた状態遷移表に含まれる状態の数から状
態コード長を求める手段と、与えられた状態遷移表から
評価関数を計算する手段と、状態コード長算出手段及び
評価関数算出手段に接続されており状態コード長算出手
段で算出された状態コード長から評価関数算出手段で算
出された評価関数の値に基づいて所定のコードを決定す
る手段とを備えており、評価関数全体の変数の数が最も
削減されるように所定のコ−ドを割当てるので、順序回
路の所要面積を削減でき、同期式順序回路の設計工程の
省力化、設計品質の向上が得られる。
置は、与えられた状態遷移表に含まれる状態の数から状
態コード長を求める手段と、与えられた状態遷移表から
評価関数を計算する手段と、状態コード長算出手段及び
評価関数算出手段に接続されており状態コード長算出手
段で算出された状態コード長から評価関数算出手段で算
出された評価関数の値に基づいて所定のコードを決定す
る手段とを備えており、評価関数全体の変数の数が最も
削減されるように所定のコ−ドを割当てるので、順序回
路の所要面積を削減でき、同期式順序回路の設計工程の
省力化、設計品質の向上が得られる。
【図1】本発明の同期式順序回路の状態割当て装置の一
実施例の構成を示すブロック図である。
実施例の構成を示すブロック図である。
【図2】表3の真理値表を論理合成して得られる次状態
回路及び出力回路の一構成例を示すブロック図である。
回路及び出力回路の一構成例を示すブロック図である。
【図3】従来の同期式順序回路の一構成例を示すブロッ
ク図である。
ク図である。
【図4】表2の真理値表を論理合成して得られる従来の
次状態回路及び出力回路の一構成例を示すブロック図で
ある。
次状態回路及び出力回路の一構成例を示すブロック図で
ある。
10 同期式順序回路の状態割当て装置 11 状態コ−ド長算出手段 12 評価関数算出手段 13 コ−ド決定手段 14 状態遷移表
Claims (1)
- 【請求項1】 与えられた状態遷移表に含まれる状態の
数から状態コード長を求める手段と、該与えられた状態
遷移表から評価関数を計算する手段と、該状態コード長
算出手段及び該評価関数算出手段に接続されており該状
態コード長算出手段で算出された該状態コード長から該
評価関数算出手段で算出された該評価関数の値に基づい
て所定のコードを決定する手段とを備えており、該評価
関数全体の変数の数が最も削減されるように該所定のコ
−ドを割当てることを特徴とする同期式順序回路の状態
割当て装置。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP5016399A JPH06230930A (ja) | 1993-02-03 | 1993-02-03 | 同期式順序回路の状態割当て装置 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP5016399A JPH06230930A (ja) | 1993-02-03 | 1993-02-03 | 同期式順序回路の状態割当て装置 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH06230930A true JPH06230930A (ja) | 1994-08-19 |
Family
ID=11915174
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP5016399A Pending JPH06230930A (ja) | 1993-02-03 | 1993-02-03 | 同期式順序回路の状態割当て装置 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH06230930A (ja) |
-
1993
- 1993-02-03 JP JP5016399A patent/JPH06230930A/ja active Pending
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US6209017B1 (en) | High speed digital signal processor | |
| US20030126308A1 (en) | Method for processing events having hierarchical structure in communication equipment | |
| JPS61239327A (ja) | オ−バフロ−検出方式 | |
| US6604232B2 (en) | High-level synthesis method and storage medium storing the same | |
| JPH08339291A (ja) | 最大値選択回路 | |
| US7480691B2 (en) | Arithmetic device for multiple precision arithmetic for Montgomery multiplication residue arithmetic | |
| US4675837A (en) | Digital arithmetic unit having shortened processing time and a simplified structure | |
| JPH0773156A (ja) | データ駆動型情報処理装置 | |
| KR100329909B1 (ko) | 제산장치 | |
| US5542034A (en) | Minimizing logic to determine current state in an output encoded finite state machine | |
| JPH06230930A (ja) | 同期式順序回路の状態割当て装置 | |
| JPH05324759A (ja) | 同期式順序回路の状態割当て装置 | |
| JPH07118654B2 (ja) | 算術演算装置 | |
| JPH08152994A (ja) | 乗算器及びディジタルフィルタ | |
| EP0442220B1 (en) | Decoder | |
| US4810995A (en) | Arithmetic and logic operating unit | |
| KR960015194A (ko) | 절대값 계산 방법 및 회로 | |
| JPH0435777B2 (ja) | ||
| US6522690B1 (en) | Zero determination signal generating circuit | |
| JPH09330340A (ja) | ステートマシン設計装置 | |
| JP3702475B2 (ja) | 回路自動生成装置 | |
| JPH06249925A (ja) | 半導体集積回路 | |
| JPH0225110A (ja) | カウンタ回路 | |
| JP2953405B2 (ja) | 論理シミュレーションの高速化方法及び論理シミュレーション装置 | |
| US5914678A (en) | Triplet decoding circuit and triplet decoding method |