米国特許情報 | 欧州特許情報 | 国際公開(PCT)情報 | Google の米国特許検索
 
     特許分類
A 農業
B 衣類
C 家具
D 医学
E スポ−ツ;娯楽
F 加工処理操作
G 机上付属具
H 装飾
I 車両
J 包装;運搬
L 化学;冶金
M 繊維;紙;印刷
N 固定構造物
O 機械工学
P 武器
Q 照明
R 測定; 光学
S 写真;映画
T 計算機;電気通信
U 核技術
V 電気素子
W 発電
X 楽器;音響


  ホーム -> 計算機;電気通信 -> 松下電器産業株式会社

発明の名称 束線ビット幅決定方法
発行国 日本国特許庁(JP)
公報種別 公開特許公報(A)
公開番号 特開平7−114578
公開日 平成7年(1995)5月2日
出願番号 特願平5−258165
出願日 平成5年(1993)10月15日
代理人 【弁理士】
【氏名又は名称】小鍜治 明 (外2名)
発明者 藤本 正一 / 井川 智 / 宮阪 修二 / 中柴 孝文
要約 目的
一部の必要な束線のビット幅を決定すれば、残りの未決定の束線のビット幅を決定できる束線ビット幅決定方法を提供する。

構成
ビット幅決定フェーズ13で束線ビット幅記憶部17を検索し、ビット幅が決定済みでビット幅決定フェーズ13で選択されていない束線を選択する。回路接続情報記憶部15より束線に接続する部品を得る。次に、ルール記憶部16から部品のピンのビット幅決定ルールを得て、部品につながる未決定である束線のビット幅を決定する。ビット幅決定フェーズ13を繰り返すことにより、未決定の束線のビット幅を決定する。未選択の束線がなくなればビット幅選択フェーズ14に移り、ビット幅選択ルールにより束線のビット幅を決定し、ビット幅決定フェーズ13に戻る。以上の動作を繰り返すことにより、未決定の束線のビット幅を決定する。
特許請求の範囲
【請求項1】複数の信号線を束ねて1本の線として表現した束線を含み、一部の束線のビット幅が決定されていないデジタル回路データの束線ビット幅決定方法において、デジタル回路の部品間の接続情報を格納した回路接続情報記憶部と、デジタル回路に含まれる各束線のビット幅が決定されているか否かのフラグとビット幅が決定されている束線のビット幅とを格納した書き換え可能な束線ビット幅記憶部と、デジタル回路を構成する部品の入出力ピンのビット幅を決定するルールを格納したルール記憶部とを記憶装置に設けておき、前記束線ビット幅記憶部を検索してビット幅が決定済みの束線を1つ選択し、前記束線を用いて前記回路接続情報記憶部を検索することにより前記束線に接続する部品を得、前記部品を用いて前記ルール記憶部を検索し、得たルールを前記部品の各入出力ピンに適用し、前記部品の各入出力ピンが接続する束線のビット幅が前記ルールの適用により決定された場合には、新たに決定された束線のビット幅を前記束線ビット幅記憶部に書き込む、という処理を繰り返すことにより、決定されていない束線のビット幅を決定することを特徴とする束線ビット幅決定方法。
発明の詳細な説明
【0001】
【産業上の利用分野】本発明は束線ビット幅決定方法に関するものであり、特に必要な一部の束線のビット幅が決定されている回路の接続情報から、未決定の束線のビット幅を決定する方法に関するものである。
【0002】
【従来の技術】CADによる設計は当初は、ただ製図盤をコンピュータに置き換えただけのものであり、すべての決定は人手でなされていた。
【0003】従来は束線のビット幅の決定においても、同様にすべて人手においてなされてきた。従来の方法を図2を用いて説明する。
【0004】従来の方法では、図2のような回路の場合、束線N0、N1、N2、N3、N4、N5、N6のビット幅は全て人手で決定しなければならない。例えば、束線N0のビット幅は5、束線N1のビット幅は5、束線N2のビット幅は3、束線N3のビット幅は2、束線N4のビット幅は2、束線N5のビット幅は2、束線N6のビット幅は1というように順次人手で決定し、入力しなければならない。
【0005】
【発明が解決しようとする課題】しかし、従来のような、すべて人手で決定する方法では、大規模なデジタル回路になるとビット幅を決定しなければならない束線も多量になり、時間がかかり過ぎるとともに間違いも増加する。
【0006】そこで本発明は、一部の必要な束線のビット幅を決定すれば、残りの未決定の束線のビット幅を決定できる方法を提供することを目的とする。
【0007】
【課題を解決するための手段】上記目的を達成するために本発明の束線ビット幅決定方法は、デジタル回路の部品間の接続情報を格納した回路接続情報記憶部と、デジタル回路に含まれる各束線のビット幅が決定されているか否かのフラグとビット幅が決定されている束線のビット幅とを格納した書き換え可能な束線ビット幅記憶部と、デジタル回路を構成する部品の入出力ピンのビット幅を決定するルールを格納したルール記憶部とを記憶装置に設けておき、前記束線ビット幅記憶部を検索してビット幅が決定済みの束線を1つ選択し、前記束線を用いて前記回路接続情報記憶部を検索することにより前記束線に接続する部品を得、前記部品を用いて前記ルール記憶部を検索し、得たルールを前記部品の各入出力ピンに適用し、前記部品の各入出力ピンが接続する束線のビット幅が前記ルールの適用により決定された場合には、新たに決定された束線のビット幅を前記束線ビット幅記憶部に書き込む、という処理を繰り返すことにより、決定されていない束線のビット幅を決定することを特徴とするものである。
【0008】
【作用】本発明は上記の方法により、人手や何らかの方法でビット幅を決定された束線に接続されている部品のルールを適用することにより、前記部品に接続されているビット幅未決定の束線のビット幅を決定することができる。以上のことを繰り返すことにより、他の未決定の束線のビット幅も決定することができる。
【0009】
【実施例】本発明の束線ビット幅決定方法の実施例について、図面を参照しながら説明する。
【0010】図1は本発明の束線ビット幅決定方法の一実施例の概略説明図である。図1に示すように、本実施例ではまず初期設定(11)を行う。そして、回路接続情報記憶部(15)とルール記憶部(16)と束線ビット幅記憶部(17)からの情報をもとに、繰り返し部12において、ビット幅決定フェーズ(13)とビット幅選択フェーズ(14)とを繰り返し(12)、ビット幅が未決定の束線のビット幅を決定して、束線ビット幅記憶部(17)に決定した束線のビット幅を記録する。
【0011】図2は実施例の動作例において用いる回路である。 I0〜I4は回路を構成する各部品の部品識別子である。部品I0、I1、I2、I3、I4の各部品の部品名は各々DFF、ADD、BITD、SEL、DFFである。部品名DFFの部品はピン名が各々d、qの2つのピンを持っている。部品名ADDの部品はピン名が各々a、b、outの3つのピンを持っている。部品名BITDの部品はピン名が各々in、outの2つのピンを持っている。部品名SELの部品はピン名がin1、in2、sel、outの4つのピンを持っている。21〜23は各々外部端子in、外部端子sel、外部端子outである。N0〜N6は各部品のピンを結ぶ束線の束線識別子である。束線N0は部品I0のピンdと部品I1のピンbと外部端子inを結んでいる。束線N1は部品I0のピンqと部品I1のピンaとを結んでいる。束線N2は部品I1のピンoutと部品I2のピンinとを結んでいる。束線N3は部品I2のピンoutと部品I3のピンin1とを結んでいる。束線N4は部品I3のピンoutと部品I4のピンdとを結んでいる。束線N5は部品I3のピンin2と部品I4のピンqと外部端子ouとtを結んでいる。束線N6は部品I3のピンselと外部端子selとを結んでいる。初期状態として束線N0のビット幅は5、束線N2のビット幅は3、束線N6のビット幅は1と決定されており、束線N1、N3、N4、N5のビット幅は未決定である。
【0012】図3は図2の回路に対する回路接続情報記憶部15の記憶内容である。図4は図2の回路に対するルール記憶部16の記憶内容である。図5は図2の回路の初期状態における束線ビット幅記憶部の記憶内容である。
【0013】「部品識別子」には、個々の部品を識別するための部品識別子を記述する。「部品名」には、部品の種類を表す部品名を記述する。「プロパティ」には、各部品の固有の性質を表すプロパティを記述し、個々のプロパティを区別するための「名」と個々のプロパティの「値」に分ける。「ピン名」には、部品の各ピンを識別するためのピン名を記述する。「接続する束線識別子」には、各ピンに繋がる束線の束線識別子を記述する。「ルール」には、部品の各ピン毎のルールを記述する。「束線識別子」には、個々の束線を区別するための束線識別子を記述する。「決定済みフラグ」には、束線のビット幅が決定されているか、未決定のままであるかを示す決定済みフラグを記述する。ONの場合はビット幅が決定されている束線であり、OFFの場合は未決定の束線である。「選択済みフラグ」には、ビット幅決定フェーズで選択された束線であるか否かを示す選択済みフラグを記述する。ONの場合は既に選択された束線であり、OFFの場合はまだ選択されていない束線である。「ビット幅」には、束線のビット幅が決定されている時はその束線のビット幅の値を記述し、束線のビット幅が未決定の場合は'X'を記述する。
【0014】実施例におけるルールのシンタックスを表す構文図式を図6(a)〜(f)に示す。また同じものをバッカス記法で記述すると次の様になる。
【0015】''で囲まれた構文は終端子、<>で囲まれた構文は非終端子である。
<ルール>::=<ビット幅決定規則><ε| <ビット幅選択規則> ><ビット幅決定規則>::= '!'| <ビット幅><ビット幅選択規則>::= '['<定数>{'|'<定数>} ']'<ビット幅> ::= <式><式>::= <定数>|< <式><'+'|'-'><定数> >|<'max''('<定数>','<定数>{','<定数>}')'><定数>::= '正整数'|'プロパティ名'|<'Bitwidth(''ピン名'')'>以下にルール中に現れる各項について説明する。
・ !'!'がビット幅決定規則として設定されているピンは任意のビット幅の束線と繋がることが出来る。よって、ビット幅決定フェーズでは、'!'がビット幅決定規則として設定されているピンにつながっている束線のビット幅は、そのビット幅決定規則からは決定できない。
・ プロパティ名「プロパティ名」の値は、各部品に設定されているプロパティの値である。
・ Bitwidth「Bitwidth(ピン名)」の値はその部品の“ピン名”のピンに繋がる束線のビット幅の値である。
・ max「max(引数1,引数2, .....)」の値は、引数1、引数2、・・・の内でもっとも大きい値を持つ引数の値である。
・ + -式の中で右側の項が定数の加減算を行なうことが出来る。
・ [定数1|...... ](ビット幅選択規則)
他のビット幅決定規則により、ピンに繋がる束線のビット幅が決定できなかった場合、ビット幅選択フェーズにおいて[]内の|で区切られた定数の中で、値が決定されているものの内もっとも左に位置する定数の値が、ピンに繋がっている束線のビット幅になる。
【0016】ルールの例として、いくつかの実際のルールについて説明する。
・ !ピンが繋がっている束線のビット幅が値になる。
・ Bitwidth(d)部品内のピンdに繋がっている束線のビット幅が値になる。ピンdに繋がっているネットが未決定の場合は、値は未決定になる。
・ nプロパティnの値になる。
・max(Bitwidth(in1), Bitwidth(in2))部品内のピンin1に繋がっている束線のビット幅の値と、ピンin2に繋がっている束線のビット幅の値のどちらか大きい方の値になる。ピンin1、in2のどちらかのピンに繋がっている束線のビット幅が未決定の場合は、値は未決定になる。
・Bitwidth(in) - n部品内のピンinに繋がっている束線のビット幅の値からプロパティnの値を引いた値になる。ピンinに繋がっている束線のビット幅が未決定の場合は、値は未決定になる。
・ max(Bitwidth(in1), Bitwidth(in2))[Bitwidth(in1)|Bitwidth(in2)]部品内のピンin1に繋がっている束線のビット幅の値と、ピンin2に繋がっている束線のビット幅の値のどちらか大きい方の値になる。ビット幅決定フェーズでは、ピンin1、in2のどちらかのピンに繋がっている束線のビット幅が未決定の場合は、値は未決定になる。
【0017】ビット幅選択フェーズで、ピンin1、in2のどちらかのピンに繋がっている束線のビット幅が決定されていない場合で、ピンin1に繋がっている束線のビット幅がが決定されている時はピンin1に繋がっている束線のビット幅の値になる。もし、ピンin1に繋がっている束線のビット幅が決定されていない時は、ピンin2に繋がっている束線のビット幅の値になる。もし、ピンin1,in2共に繋がっている束線の値が未決定の場合は、ビット幅選択フェーズでも値は未決定になる。
【0018】実施例の動作を図1、図7、図8、図9および図10に従って説明する。
(I)初期設定(11)
A)回路情報記憶部、束線ビット幅記憶部を回路の初期状態に合わせ設定する(71)。
B)束線ビット幅記憶部の選択済みフラグを全てOFFにする(72)。
(II)ビット幅決定フェーズ(13)
C)束線ビット幅記憶部を検索し、決定済みフラグがOFFの束線が存在しなければ(73)終了する。
D)しかし、決定済みフラグがOFFの束線が存在する場合は(73)、束線ビット幅記憶部を検索し選択済みフラグがOFFの決定済み束線が存在するか調べる(74)。
E)もし存在すれば(74)、選択済みフラグがOFFの決定済み束線を1つ選択して、回路接続情報記憶部を検索し前記束線に繋がっている部品を得て、得た各部品に対し手続き80(80)を実行し(75)、選択した前記束線の束線ビット幅記憶部の選択済みフラグをONにした後、C)(75)に戻る(76)。
F)もし存在しなければ(74)、ビット幅選択フェーズ(100)に移る(77)。
G)手続き80GA)E)で選択した部品において、回路接続情報記憶部15と束線ビット幅記憶部17を検索し、ビット幅未決定の束線に繋がっているピンが存在すれば(81)、未決定の束線に繋がっている各ピンに対し手続き90を実行し(82)、手続きを呼び出した処理(75)に戻る。
GB)E)で選択した部品においてビット幅未決定の束線に繋がっているピンが存在しなければ(81)、手続きを呼び出した処理(75)に戻る。
H)手続き90HA)ビット幅未決定の束線に繋がっているGA)で選択したピンにおいて、ルール記憶部16を検索し前記ピンのビット幅決定規則により、前記ピンに繋がっている束線のビット幅が決定できる場合は(91)、束線ビット幅記憶部の中の前記ピンに繋がる束線の決定済みフラグをONにしてビット幅を書き込み(92)、呼び出した処理(82)に戻る。
HB)ビット幅未決定の束線に繋がっているGA)で選択したピンにおいて、ルール記憶部より検索した前記ピンのビット幅決定規則により、前記ピンに繋がっている束線のビット幅が決定できない場合は(91)、呼び出した処理(82)に戻る。
(III)ビット幅選択フェーズ(14)
J)束線ビット幅記憶部17と回路接続情報記憶部15とルール記憶部16とを検索して、ビット幅が未決定の束線に繋がるピンの内ビット幅選択規則を適用できるピンが存在しなければ(101)終了する。
K)ビット幅が未決定の束線に繋がるピンの内、ビット幅選択規則を適用できるピンが存在すれば(101)、前記ピンに繋がる束線のビット幅をビット幅選択規則を使って決定し(102)、束線ビット幅記憶部の中の前記ピンに繋がる束線の決定済みフラグをONにし決定したビット幅を書き込み(103)、C)(78)に戻る(104)。
【0019】実施例の動作例として、図2のようなビット幅が未決定の束線を持つ回路において、本実施例の方法により未決定の束線を決定する動作を示す。
aa)図2に示す回路に対応する回路接続情報記憶部15は図3、束線ビット幅記憶部17は図5になる。また、各部品のルールを格納したルール記憶部16は図4のように与えられているとする(71)。
【0020】図2の回路の初期値として束線N0のビット幅が5、束線N2のビット幅が3、束線N6のビット幅が1とする。
ab)束線ビット幅記憶部の選択済みフラグを全てOFFにする(72)。
ac)決定済みフラグがOFFの束線が存在し(73)、選択済みフラグがOFFの決定済み束線が存在するので(74)、 選択済みフラグがOFFの決定済み束線として束線N0を選択する(75)。
ad)束線N0に繋がっている部品には部品I0と部品I1が存在するので、まず部品I0を選択する(75)。
ae)ビット幅が未決定の束線に繋がっている部品I0のピンは、束線N1に繋がっているピンqである(82)。
af)部品名DFFのピンqのルールはBitwidth(d)であり、部品I0のピンdに繋がっている束線N0はビット幅5に決定されているので(91)、束線ビット幅記憶部の束線N1の決定済みフラグをONにし、ビット幅として5を書き込む(92)。
ag)次に部品I1に繋がるビット幅未決定の束線として束線N1があったが、既に束線N1のビット幅は決定している(81)。
ah)束線ビット幅記憶部の束線N0の選択済みフラグをONにする(76)。
ai)まだ、決定済みフラグがOFFの束線が存在し(73)、選択済みフラグがOFFの決定済み束線が存在するので(74)、 選択済みフラグがOFFの決定済み束線として束線N1を選択する(75)。
aj)束線N1に繋がっている部品は部品I0と部品I1が存在するが(75)、部品I0と部品I1に繋がっている束線のビット幅は全て決定している(81)。
ak)束線ビット幅記憶部の束線N1の選択済みフラグをONにする(76)。
al)まだ、決定済みフラグがOFFの束線が存在し(73)、選択済みフラグがOFFの決定済み束線が存在するので(74)、 選択済みフラグがOFFの決定済み束線として束線N2を選択する(75)。
am)束線N2に繋がっている部品としては部品I1と部品I2が存在するが(75)、部品I1に繋がっている束線のビット幅は全て決定している(81)ので、部品I2を選択する(75)。
an)ビット幅が未決定の束線に繋がっている部品I2のピンは、束線N3に繋がっているピンoutである(82)。
ao)部品名BITDのピンoutのルールはBitwidth(in)-nであり、部品I2のピンinに繋がっている束線N2はビット幅3に決定されおり、プロパティnの値は1であるので(91)、束線ビット幅記憶部の束線N3の決定済みフラグをONにし、ビット幅として2を書き込む(92)。
ap)束線ビット幅記憶部の束線N2の選択済みフラグをONにする(76)。
aq)まだ、決定済みフラグがOFFの束線が存在し(73)、選択済みフラグがOFFの決定済み束線が存在するので(74)、 選択済みフラグがOFFの決定済み束線として束線N3を選択する。
ar)束線N3に繋がっている部品には部品I2と部品I3が存在するが(75)、部品I2に繋がっている束線のビット幅は全て決定している(81)ので、部品I3を選択する(75)。
as)ビット幅が未決定の束線に繋がっている部品I3のピンは、束線N5に繋がっているピンin2と束線N4に繋がっているピンoutである(82)。
at)部品名SELのピンin2のルールは!であるので束線N5のビット幅は決定することができない(91)。
au)部品名SELのピンoutのルールはmax(Bitwidth(in1),Bitwidth(in2))[Bitwidth(in1)|Bitwidth(in2)]であるが、ピンin2に繋がる束線N5のビット幅が未決定なので決定することができない(91)。
av)束線ビット幅記憶部の束線N3の選択済みフラグをONにする(76)。
aw)まだ、決定済みフラグがOFFの束線が存在し(73)、選択済みフラグがOFFの決定済み束線が存在するので(74)、選択済みフラグがOFFの決定済み束線として束線N6を選択する。
ax)束線N6に繋がっている部品には部品I3が存在するので、部品I3を選択する(75)。
ay)ビット幅が未決定の束線に繋がっている部品I3のピンは(81)、束線N5に繋がっているピンin2と束線N4に繋がっているピンoutである(82)。
az)部品名SELのピンin2のルールは!であるので束線N5のビット幅は決定することができない(91)。
ba)部品名SELのピンoutのルールはmax(Bitwidth(in1),Bitwidth(in2))[Bitwidth(in1)|Bitwidth(in2)]であるが、ピンin2に繋がる束線N5のビット幅が未決定なので決定することができない(91)。
bb)束線ビット幅記憶部の束線N6の選択済みフラグをONにする(76)。
bc)まだ、決定済みフラグがOFFの束線が存在するが(73)、選択済みフラグがOFFの決定済み束線が存在しないので(74)、ビット幅選択フェーズに入る(77)。
bd)ビット幅が未決定の束線に繋がるピンの内で、ビット幅選択規則を適用できるピンとして、部品I3のピンoutが存在する(101)。
be)ビット幅選択規則を適用するピンとして部品I3のピンoutを選択する。部品名SELのピンoutのルールは、max(Bitwidth(in1),Bitwidth(in2))[Bitwidth(in1)|Bitwidth(in2)]であるのでビット幅選択規則のもっとも左側の定数Bitwidth(in1)が決定されているかどうか調べる。部品I3のピンin1に繋がる束線は束線N3であるが、束線N3のビット幅は2に決定されているので、部品I3のピンoutに繋がる束線N4のビット幅を2に決定する(102)。
bf)束線ビット記憶部の束線N4の選択済みフラグをONにし、ビット幅として2を書き込む(103)。
bg)新たに束線N4のビット幅が決定したので、決定済みフラグがOFFの束線が存在し(73)、選択済みフラグがOFFの決定済み束線が存在するので(74)、 選択済みフラグがOFFの決定済み束線として束線N4を選択する。
bh)束線N4に繋がっている部品には部品I3と部品I4とが存在するので、まず部品I3を選択する(75)。
bi)ビット幅が未決定の束線に繋がっている部品I3のピンは(81)、束線N5に繋がっているピンin2である(82)。
bj)部品名SELのピンin2のルールは!であるので束線N5のビット幅は決定することができない(91)。
bk)次に、部品I4を選択する(75)。
bl)ビット幅が未決定の束線に繋がっている部品I4のピンは(81)、N5に繋がっているピンqである(82)。
bm)部品名DFFのピンqのルールはBitwidth(d)であり、部品I4のピンdに繋がっている束線N4はビット幅2に決定されているので(91)、束線ビット幅記憶部の束線N5の決定済みフラグをONにし、ビット幅として2を書き込む(92)。
bn)束線ビット幅記憶部の束線N4の選択済みフラグをONにする(76)。
bo)決定済みフラグがOFFの束線が存在しない、つまりビット幅が未決定の束線が存在しないので終了する(73)。
【0021】以上の動作例で示したとおり、必要な一部の束線のみビット幅を人手で決定することにより、他の未決定の束線のビット幅を決定することができる。
【0022】なお、本実施例では繰り返し部をビット幅決定フェーズとビット幅選択フェーズに分けた場合を説明したが、ビット幅決定フェーズのみ、またはビット幅選択フェーズのみを繰り返す場合でも同様に、必要な一部の束線のみビット幅を人手で決定することにより、他の未決定の束線のビット幅を決定することができる。
【0023】また、本実施例で用いたルール以外のルールを用いたり、加えたりしても、同様に必要な一部の束線のみビット幅を人手で決定することにより、他の未決定の束線のビット幅を決定することができる。
【0024】
【発明の効果】以上説明したように、本発明の束線ビット幅決定方法は、必要な一部の束線のビット幅が決定されている回路の接続情報から、未決定の束線のビット幅を決定することができるので、設計に費やす時間を削減できると共に、間違いも少なくすることができる。




 

 


     NEWS
会社検索順位 特許の出願数の順位が発表

URL変更
平成6年
平成7年
平成8年
平成9年
平成10年
平成11年
平成12年
平成13年


 
   お問い合わせ info@patentjp.com patentjp.com   Copyright 2007-2013