JPH1153216A - ステートマシン制御回路 - Google Patents
ステートマシン制御回路Info
- Publication number
- JPH1153216A JPH1153216A JP9219884A JP21988497A JPH1153216A JP H1153216 A JPH1153216 A JP H1153216A JP 9219884 A JP9219884 A JP 9219884A JP 21988497 A JP21988497 A JP 21988497A JP H1153216 A JPH1153216 A JP H1153216A
- Authority
- JP
- Japan
- Prior art keywords
- state
- register
- signal
- machine control
- output
- 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.)
- Granted
Links
Landscapes
- Debugging And Monitoring (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
Abstract
(57)【要約】
【課題】 LSIに内蔵されるステートマシン制御回路
を変更可能とし、再設計(リワーク)の必要なしに論理
を変更できるようにする。 【解決手段】 レジスタ群3は、次のステート番号およ
びそのステートで出力すべき出力信号S4からなる状態
遷移情報S5を格納する。組合せ論理回路1は現在のス
テート番号S2および入力信号S1を入力しレジスタ群
3のうちの次のステート番号の状態遷移情報S5を格納
するレジスタを選択するセレクト信号S3を出力し、セ
レクタ2はセレクト信号S3に基づいてレジスタ群3の
うちの1つのレジスタを選択して状態遷移情報S5を出
力する。CPU(図示せず)からデータバス5を通じて
レジスタ群3のうちの1つ以上のレジスタに状態遷移情
報S5を書き込むことにより、ステートマシン制御回路
にインプリメントされる状態遷移を変更できる。
を変更可能とし、再設計(リワーク)の必要なしに論理
を変更できるようにする。 【解決手段】 レジスタ群3は、次のステート番号およ
びそのステートで出力すべき出力信号S4からなる状態
遷移情報S5を格納する。組合せ論理回路1は現在のス
テート番号S2および入力信号S1を入力しレジスタ群
3のうちの次のステート番号の状態遷移情報S5を格納
するレジスタを選択するセレクト信号S3を出力し、セ
レクタ2はセレクト信号S3に基づいてレジスタ群3の
うちの1つのレジスタを選択して状態遷移情報S5を出
力する。CPU(図示せず)からデータバス5を通じて
レジスタ群3のうちの1つ以上のレジスタに状態遷移情
報S5を書き込むことにより、ステートマシン制御回路
にインプリメントされる状態遷移を変更できる。
Description
【0001】
【発明の属する技術分野】本発明はステートマシン制御
回路に関し、特にメモリを除くLSI(Large S
caled Integration)におけるステー
トマシン制御回路に関する。
回路に関し、特にメモリを除くLSI(Large S
caled Integration)におけるステー
トマシン制御回路に関する。
【0002】
【従来の技術】従来、LSIの設計では、一般的に、L
SIをいくつかの機能ブロックに分割し、各機能ブロッ
クをさらにデータパス部とステートマシン制御回路とに
分割して設計を行っている。このLSI設計におけるス
テートマシン制御回路としては、例えば、特開平2−2
87632号公報に記載されているようなものがすでに
公知である。この公報に記載されたステートマシン制御
回路では、図4に示すように、現在のステート番号およ
び入力信号を論理回路23に入力すると、論理回路23
にインプリメントされた論理式により次のステート信号
およびそのステートでアクティブにすべき出力信号が計
算されて信号線gに出力される。クロック信号CLKが
印加され時間が1T進むと、信号線gは出力信号ラッチ
回路24にラッチされ外部へ出力される。また、次のス
テート信号S2は、ステート番号ラッチ回路25にラッ
チされ、現在のステートを示すステート番号S1として
出力される。
SIをいくつかの機能ブロックに分割し、各機能ブロッ
クをさらにデータパス部とステートマシン制御回路とに
分割して設計を行っている。このLSI設計におけるス
テートマシン制御回路としては、例えば、特開平2−2
87632号公報に記載されているようなものがすでに
公知である。この公報に記載されたステートマシン制御
回路では、図4に示すように、現在のステート番号およ
び入力信号を論理回路23に入力すると、論理回路23
にインプリメントされた論理式により次のステート信号
およびそのステートでアクティブにすべき出力信号が計
算されて信号線gに出力される。クロック信号CLKが
印加され時間が1T進むと、信号線gは出力信号ラッチ
回路24にラッチされ外部へ出力される。また、次のス
テート信号S2は、ステート番号ラッチ回路25にラッ
チされ、現在のステートを示すステート番号S1として
出力される。
【0003】このようにしてステートマシン制御回路が
構成されるわけであるが、論理回路23は、アンドゲー
ト,オアゲート等の基本素子の組合せで構成され、LS
Iにインプリメントされると、その論理を変更すること
はできない。
構成されるわけであるが、論理回路23は、アンドゲー
ト,オアゲート等の基本素子の組合せで構成され、LS
Iにインプリメントされると、その論理を変更すること
はできない。
【0004】
【発明が解決しようとする課題】第1の問題点は、LS
Iの設計にバグはつきものであり、データパス部および
ステートマシン制御回路に分割して設計した場合、ステ
ートマシン制御回路にバグが集中する傾向があるにもか
かわらず、論理回路23はLSIにインプリメントされ
た後は変更できないということである。このため、LS
Iにバグが出た場合、再設計(リワーク)が必要となっ
てしまう。
Iの設計にバグはつきものであり、データパス部および
ステートマシン制御回路に分割して設計した場合、ステ
ートマシン制御回路にバグが集中する傾向があるにもか
かわらず、論理回路23はLSIにインプリメントされ
た後は変更できないということである。このため、LS
Iにバグが出た場合、再設計(リワーク)が必要となっ
てしまう。
【0005】第2の問題点は、LSIのリワークは費用
が高く、再設計開始からサンプル入手までの期間が数ヶ
月かかるということである。
が高く、再設計開始からサンプル入手までの期間が数ヶ
月かかるということである。
【0006】本発明の目的は、LSIに内蔵されるステ
ートマシン制御回路を変更可能(フィールドプログラマ
ブル)とし、ステートマシン制御回路にバグが出た場合
でも、LSIの再設計(リワーク)の必要なしに論理を
変更し、LSIの設計期間を短縮できるようにしたステ
ートマシン制御回路を提供することにある。
ートマシン制御回路を変更可能(フィールドプログラマ
ブル)とし、ステートマシン制御回路にバグが出た場合
でも、LSIの再設計(リワーク)の必要なしに論理を
変更し、LSIの設計期間を短縮できるようにしたステ
ートマシン制御回路を提供することにある。
【0007】
【課題を解決するための手段】本発明のステートマシン
制御回路は、次のステート番号およびそのステートで出
力すべき出力信号からなる状態遷移情報を格納するレジ
スタ群と、現在のステート番号および入力信号を入力し
前記レジスタ群のうちの次のステート番号の状態遷移情
報を格納するレジスタを選択するセレクト信号を出力す
る組合せ論理回路と、この組合せ論理回路からのセレク
ト信号に基づいて前記レジスタ群のうちの1つのレジス
タを選択し、その状態遷移情報を出力するセレクタと、
外部からの前記レジスタ群のレジスタに状態遷移情報を
書き込む書き込み手段とを備え、外部から前記レジスタ
群のうちの1つ以上のレジスタに状態遷移情報を書き込
むことによりインプリメントされる状態遷移を変更でき
ることを特徴とする。前記書き込み手段が、前記レジス
タ群の各レジスタに接続されたデータバス、あるいは前
記レジスタ群のうちの1つのレジスタに接続されたデー
タバスと、前記レジスタ群の各レジスタ間を接続するス
キャンパスとからなっていてもよい。
制御回路は、次のステート番号およびそのステートで出
力すべき出力信号からなる状態遷移情報を格納するレジ
スタ群と、現在のステート番号および入力信号を入力し
前記レジスタ群のうちの次のステート番号の状態遷移情
報を格納するレジスタを選択するセレクト信号を出力す
る組合せ論理回路と、この組合せ論理回路からのセレク
ト信号に基づいて前記レジスタ群のうちの1つのレジス
タを選択し、その状態遷移情報を出力するセレクタと、
外部からの前記レジスタ群のレジスタに状態遷移情報を
書き込む書き込み手段とを備え、外部から前記レジスタ
群のうちの1つ以上のレジスタに状態遷移情報を書き込
むことによりインプリメントされる状態遷移を変更でき
ることを特徴とする。前記書き込み手段が、前記レジス
タ群の各レジスタに接続されたデータバス、あるいは前
記レジスタ群のうちの1つのレジスタに接続されたデー
タバスと、前記レジスタ群の各レジスタ間を接続するス
キャンパスとからなっていてもよい。
【0008】次のステート番号およびそのステートで出
力すべき出力信号からなる状態遷移情報を記憶するレジ
スタ群を有する。現在のステート番号および入力信号を
組合せ論理回路に入力すると、次にどのステートに進む
べきかを示すセレクト信号が出力され、セレクタにより
レジスタ群のうちの1つのレジスタが選択される。選択
されたレジスタの状態遷移情報は出力レジスタにラッチ
され、ステートマシン制御回路は次のステートに遷移す
る。ステートマシン制御回路にバグが発見された場合、
CPUからのライト命令によりレジスタ群のうちのいく
つかのレジスタをバグを回避する所望の状態遷移情報に
書き換えることにより、LSIのリワークなしにステー
トマシン制御回路の動作を変更することができる。
力すべき出力信号からなる状態遷移情報を記憶するレジ
スタ群を有する。現在のステート番号および入力信号を
組合せ論理回路に入力すると、次にどのステートに進む
べきかを示すセレクト信号が出力され、セレクタにより
レジスタ群のうちの1つのレジスタが選択される。選択
されたレジスタの状態遷移情報は出力レジスタにラッチ
され、ステートマシン制御回路は次のステートに遷移す
る。ステートマシン制御回路にバグが発見された場合、
CPUからのライト命令によりレジスタ群のうちのいく
つかのレジスタをバグを回避する所望の状態遷移情報に
書き換えることにより、LSIのリワークなしにステー
トマシン制御回路の動作を変更することができる。
【0009】
【発明の実施の形態】以下、本発明の実施の形態につい
て図面を参照して詳細に説明する。
て図面を参照して詳細に説明する。
【0010】図1は、本発明の第1の実施の形態に係る
ステートマシン制御回路の構成を示す回路ブロック図で
ある。本実施の形態に係るステートマシン制御回路は、
入力信号S1および現在のステート番号S2を入力しセ
レクト信号S3を出力する組合せ論理回路1と、セレク
ト信号S3に応じた入力を選択して出力するセレクタ2
と、セレクタ2の11個の入力にそれぞれ接続された1
1個のレジスタ#1〜#11からなるレジスタ群3と、
セレクタ2の出力に接続され現在のステート番号S2お
よび出力信号S4を出力する出力レジスタ4と、レジス
タ群3の各レジスタ#1〜#11にCPU(図示せず)
からの状態遷移情報S5を書込み可能とするデータバス
5とから構成されている。
ステートマシン制御回路の構成を示す回路ブロック図で
ある。本実施の形態に係るステートマシン制御回路は、
入力信号S1および現在のステート番号S2を入力しセ
レクト信号S3を出力する組合せ論理回路1と、セレク
ト信号S3に応じた入力を選択して出力するセレクタ2
と、セレクタ2の11個の入力にそれぞれ接続された1
1個のレジスタ#1〜#11からなるレジスタ群3と、
セレクタ2の出力に接続され現在のステート番号S2お
よび出力信号S4を出力する出力レジスタ4と、レジス
タ群3の各レジスタ#1〜#11にCPU(図示せず)
からの状態遷移情報S5を書込み可能とするデータバス
5とから構成されている。
【0011】図2は、第1の実施の形態に係るステート
マシン制御回路を用いて実現する状態遷移の一例を示す
状態遷移図である。この状態遷移図では、IDLE,T
RANS,FLUSH,INV,P2MERおよびC2
MRDの6つのステートがあり、各ステートで図示のよ
うな条件式が成立した場合または無条件に、他のステー
トに遷移するようになっている。なお、図1および図2
におけるステート名および条件式は、説明のために適宜
選定されたものである。
マシン制御回路を用いて実現する状態遷移の一例を示す
状態遷移図である。この状態遷移図では、IDLE,T
RANS,FLUSH,INV,P2MERおよびC2
MRDの6つのステートがあり、各ステートで図示のよ
うな条件式が成立した場合または無条件に、他のステー
トに遷移するようになっている。なお、図1および図2
におけるステート名および条件式は、説明のために適宜
選定されたものである。
【0012】出力レジスタ4は、8ビットのレジスタで
なり、現在のステート番号S2をビットフィールド0〜
2に格納し、出力信号S4をビットフィールド3〜7に
格納する。出力信号S4は、TRANS,FLUSH,
INV,P2MERおよびC2MRDの5本から構成さ
れ、出力レジスタ4のビット3はTRANS、ビット4
はFLUSH、ビット5はINV、ビット6はP2ME
R、ビット7はC2MRDにそれぞれアサインされてい
る。
なり、現在のステート番号S2をビットフィールド0〜
2に格納し、出力信号S4をビットフィールド3〜7に
格納する。出力信号S4は、TRANS,FLUSH,
INV,P2MERおよびC2MRDの5本から構成さ
れ、出力レジスタ4のビット3はTRANS、ビット4
はFLUSH、ビット5はINV、ビット6はP2ME
R、ビット7はC2MRDにそれぞれアサインされてい
る。
【0013】出力信号TRANSは、ステートマシンが
TRANSステートになった場合にアクティブになる信
号である。
TRANSステートになった場合にアクティブになる信
号である。
【0014】出力信号FLUSHは、ステートマシンが
FLUSHステートになった場合にアクティブになる信
号である。
FLUSHステートになった場合にアクティブになる信
号である。
【0015】出力信号INVは、ステートマシンがIN
Vステートになった場合にアクティブになる信号であ
る。
Vステートになった場合にアクティブになる信号であ
る。
【0016】出力信号P2MERは、ステートマシンが
P2MERステートになった場合にアクティブになる信
号である。
P2MERステートになった場合にアクティブになる信
号である。
【0017】出力信号C2MRDは、ステートマシンが
C2MRDステートになった場合にアクティブになる信
号である。
C2MRDステートになった場合にアクティブになる信
号である。
【0018】現在のステート番号S2については、ID
LEステートのときに”000”、TRANSステート
のときに”001”、FLUSHステートのときに”0
10”、INVステートのときに”011”、P2ME
Rステートのときに”100”、C2MRDステートの
ときに”101”がそれぞれアサインされる。
LEステートのときに”000”、TRANSステート
のときに”001”、FLUSHステートのときに”0
10”、INVステートのときに”011”、P2ME
Rステートのときに”100”、C2MRDステートの
ときに”101”がそれぞれアサインされる。
【0019】組合せ論理回路101には、以下のような
論理がインプリメントされている。
論理がインプリメントされている。
【0020】(1) 現在のステート信号S2が”00
0”でかつ条件式C2MRQが成立した場合、レジスタ
#1を選択するセレクト信号S3を出力する。
0”でかつ条件式C2MRQが成立した場合、レジスタ
#1を選択するセレクト信号S3を出力する。
【0021】(2) 現在のステート信号S2が”00
0”でかつ条件式
0”でかつ条件式
【外1】 が成立した場合、レジスタ#2を選択するセレクト信号
S3を出力する。
S3を出力する。
【0022】(3) 現在のステート信号S2が”00
1”でかつ条件式(OPAHIT+FILLHIT)*
OMHITが成立した場合、レジスタ#3を選択するセ
レクト信号S3を出力する。
1”でかつ条件式(OPAHIT+FILLHIT)*
OMHITが成立した場合、レジスタ#3を選択するセ
レクト信号S3を出力する。
【0023】(4) 現在のステート信号S2が”00
1”でかつ条件式(OPAHIT+FILLHIT)*
1”でかつ条件式(OPAHIT+FILLHIT)*
【外2】 が成立した場合、レジスタ#4を選択するセレクト信号
S3を出力する。
S3を出力する。
【0024】(5) 現在のステート信号S2が”00
1”でかつ条件式
1”でかつ条件式
【外3】 が成立した場合、レジスタ#5を選択するセレクト信号
S3を出力する。
S3を出力する。
【0025】(6) 現在のステート信号S2が”01
0”でかつ条件式P2MERROR*P2MRDが成立
した場合、レジスタ#6を選択するセレクト信号S3を
出力する。
0”でかつ条件式P2MERROR*P2MRDが成立
した場合、レジスタ#6を選択するセレクト信号S3を
出力する。
【0026】(7) 現在のステート信号S2が”01
0”でかつ条件式
0”でかつ条件式
【外4】 *P2MRD*MCOUNTER(0)*MCOUNT
ER(1)が成立した場合、レジスタ#7を選択するセ
レクト信号S3を出力する。
ER(1)が成立した場合、レジスタ#7を選択するセ
レクト信号S3を出力する。
【0027】(8) 現在のステート信号S2が”01
0”でかつ条件式
0”でかつ条件式
【外5】 (=その他)が成立した場合、レジスタ#8を選択する
セレクト信号S3を出力する。
セレクト信号S3を出力する。
【0028】(9) 現在のステート信号S2が”01
1”の場合、レジスタ#9を選択するセレクト信号S3
を出力する。
1”の場合、レジスタ#9を選択するセレクト信号S3
を出力する。
【0029】(10) 現在のステート信号S2が”1
00”の場合、レジスタ#10を選択するセレクト信号
S3を出力する。
00”の場合、レジスタ#10を選択するセレクト信号
S3を出力する。
【0030】(11) 現在のステート信号S2が”1
01”の場合、レジスタ#11を選択するセレクト信号
S3を出力する。
01”の場合、レジスタ#11を選択するセレクト信号
S3を出力する。
【0031】次に、レジスタ#1〜11について説明す
る。
る。
【0032】レジスタ#1は、条件式C2MRQが成立
した場合に、次に遷移すべきステートのステート番号お
よびそのステートで出力する出力信号からなる状態遷移
情報が記憶される。したがって、リセット時に”001
10000”がセットされる。
した場合に、次に遷移すべきステートのステート番号お
よびそのステートで出力する出力信号からなる状態遷移
情報が記憶される。したがって、リセット時に”001
10000”がセットされる。
【0033】レジスタ#2は、条件式
【外6】 が成立した場合に、次に遷移すべきステートのステート
番号およびそのステートで出力する出力信号からなる状
態遷移情報が記憶される。したがって、リセット時に”
00000000”がセットされる。
番号およびそのステートで出力する出力信号からなる状
態遷移情報が記憶される。したがって、リセット時に”
00000000”がセットされる。
【0034】レジスタ#3は、条件式(OPAHIT+
FILLHIT)*OMHITが成立した場合に、次に
遷移すべきステートのステート番号およびそのステート
で出力する出力信号からなる状態遷移情報が記憶され
る。したがって、リセット時に”01001000”が
セットされる。
FILLHIT)*OMHITが成立した場合に、次に
遷移すべきステートのステート番号およびそのステート
で出力する出力信号からなる状態遷移情報が記憶され
る。したがって、リセット時に”01001000”が
セットされる。
【0035】レジスタ#4は、条件式(OPAHI+F
ILLHIT)*
ILLHIT)*
【外7】 が成立した場合に、次に遷移すべきステートのステート
番号およびそのステートで出力する出力信号からなる状
態遷移情報が記憶される。したがって、リセット時に”
01100100”がセットされる。
番号およびそのステートで出力する出力信号からなる状
態遷移情報が記憶される。したがって、リセット時に”
01100100”がセットされる。
【0036】レジスタ#5は、条件式
【外8】 が成立した場合に、次に遷移すべきステートのステート
番号およびそのステートで出力する出力信号からなる状
態遷移情報が記憶される。したがって、リセット時に”
00000000”がセットされる。
番号およびそのステートで出力する出力信号からなる状
態遷移情報が記憶される。したがって、リセット時に”
00000000”がセットされる。
【0037】レジスタ#6は、条件式P2MERROR
*P2MRDが成立した場合に、次に遷移すべきステー
トのステート番号およびそのステートで出力する出力信
号からなる状態遷移情報が記憶される。したがって、リ
セット時に”100010010”がセットされる。
*P2MRDが成立した場合に、次に遷移すべきステー
トのステート番号およびそのステートで出力する出力信
号からなる状態遷移情報が記憶される。したがって、リ
セット時に”100010010”がセットされる。
【0038】レジスタ#7は、条件式
【外9】 *P2MRD*MCOUNTER(0)*MCOUNT
ER(1)が成立した場合に、次に遷移すべきステート
のステート番号およびそのステートで出力する出力信号
からなる状態遷移情報が記憶される。したがって、リセ
ット時に”01100100”がセットされる。
ER(1)が成立した場合に、次に遷移すべきステート
のステート番号およびそのステートで出力する出力信号
からなる状態遷移情報が記憶される。したがって、リセ
ット時に”01100100”がセットされる。
【0039】レジスタ#8は、条件式
【外10】 (=その他)が成立した場合に、次に遷移すべきステー
トのステート番号およびそのステートで出力する出力信
号からなる状態遷移情報が記憶される。したがって、リ
セット時に”01001000”がセットされる。
トのステート番号およびそのステートで出力する出力信
号からなる状態遷移情報が記憶される。したがって、リ
セット時に”01001000”がセットされる。
【0040】レジスタ#9は、無条件に、次に遷移すべ
きステートのステート番号およびそのステートで出力す
る出力信号からなる状態遷移情報が記憶される。したが
って、リセット時に”00000000”がセットされ
る。
きステートのステート番号およびそのステートで出力す
る出力信号からなる状態遷移情報が記憶される。したが
って、リセット時に”00000000”がセットされ
る。
【0041】レジスタ#10は、無条件に、次に遷移す
べきステートのステート番号およびそのステートで出力
する出力信号からなる状態遷移情報が記憶される。した
がって、リセット時に”10100001”がセットさ
れる。
べきステートのステート番号およびそのステートで出力
する出力信号からなる状態遷移情報が記憶される。した
がって、リセット時に”10100001”がセットさ
れる。
【0042】レジスタ#11は、無条件に、次に遷移す
べきステートのステート番号およびそのステートで出力
する出力信号からなる状態遷移情報が記憶される。した
がって、リセット時に”00000000”がセットさ
れる。
べきステートのステート番号およびそのステートで出力
する出力信号からなる状態遷移情報が記憶される。した
がって、リセット時に”00000000”がセットさ
れる。
【0043】次に、このように構成された第1の実施の
形態に係るステートマシン制御回路の動作について説明
する。
形態に係るステートマシン制御回路の動作について説明
する。
【0044】電源投入時およびリセット時には、リセッ
ト信号RESETがアクティブになり、出力レジスタ4
はオール”0”にセットされ、レジスタ#1〜レジスタ
#11はすでに説明した値にセットされる。
ト信号RESETがアクティブになり、出力レジスタ4
はオール”0”にセットされ、レジスタ#1〜レジスタ
#11はすでに説明した値にセットされる。
【0045】したがって、現在のステート番号S2は、
IDLEステート”000”を示すことになる。この状
態において、入力信号C2MRQが”0”の場合、状態
遷移図では、次のステートもIDLEステート”00
0”となることがわかる。このとき、ステートマシン制
御回路では、組合せ論理回路1内の論理(2)が有効と
なり、セレクト信号S3にはレジスタ#2を選択する信
号が出力される。
IDLEステート”000”を示すことになる。この状
態において、入力信号C2MRQが”0”の場合、状態
遷移図では、次のステートもIDLEステート”00
0”となることがわかる。このとき、ステートマシン制
御回路では、組合せ論理回路1内の論理(2)が有効と
なり、セレクト信号S3にはレジスタ#2を選択する信
号が出力される。
【0046】セレクタ2は、セレクト信号S3に基づき
レジスタ#2の状態遷移情報”00000000”を出
力し、出力レジスタ4の入力に伝える。
レジスタ#2の状態遷移情報”00000000”を出
力し、出力レジスタ4の入力に伝える。
【0047】出力レジスタ4は、クロック信号CLKの
立ち上がりエッジでセレクタ2の出力信号”00000
000”をラッチし、現在のステート番号S3および出
力信号S4に伝える。このように、ラッチ動作により、
次のステートがIDLEステート”000”に遷移した
ことが理解できる。
立ち上がりエッジでセレクタ2の出力信号”00000
000”をラッチし、現在のステート番号S3および出
力信号S4に伝える。このように、ラッチ動作により、
次のステートがIDLEステート”000”に遷移した
ことが理解できる。
【0048】IDLEステート”000”において、入
力信号C2MRQが”1”の場合、状態遷移図では、次
のステートはTRANSステート”001”となること
がわかる。このとき、ステートマシン制御回路では、組
合せ論理回路1内の論理(1)が有効となり、セレクト
信号S3にはレジスタ#1を選択する信号が出力され
る。
力信号C2MRQが”1”の場合、状態遷移図では、次
のステートはTRANSステート”001”となること
がわかる。このとき、ステートマシン制御回路では、組
合せ論理回路1内の論理(1)が有効となり、セレクト
信号S3にはレジスタ#1を選択する信号が出力され
る。
【0049】セレクタ2は、セレクト信号S3に基づき
レジスタ#1の状態遷移情報”00110000”を出
力し、出力レジスタ4に伝える。
レジスタ#1の状態遷移情報”00110000”を出
力し、出力レジスタ4に伝える。
【0050】出力レジスタ4は、クロック信号CLKの
立ち上がりエッジでセレクタ2の出力信号”00110
000”をラッチし、現在のステート番号S2”00
1”および出力信号S4”0000”に伝える。このよ
うに、ラッチ動作により、次のステートがTRANSス
テート”001”に遷移したことが理解できる。
立ち上がりエッジでセレクタ2の出力信号”00110
000”をラッチし、現在のステート番号S2”00
1”および出力信号S4”0000”に伝える。このよ
うに、ラッチ動作により、次のステートがTRANSス
テート”001”に遷移したことが理解できる。
【0051】図2の他のステートにおける状態遷移も全
く同様であるので、その詳しい説明を省略する。
く同様であるので、その詳しい説明を省略する。
【0052】以上が通常動作の説明であるが、第1の実
施の形態に係るステートマシン制御回路の特徴であるバ
グ発生時のバグ回避メカニズムを、以下に説明する。
施の形態に係るステートマシン制御回路の特徴であるバ
グ発生時のバグ回避メカニズムを、以下に説明する。
【0053】例えば、図2の状態遷移図においてバグが
発見され、IDLEステートからTRANSステートに
遷移するところを、IDLEステートからC2MRDス
テートに遷移させるように変更したいと仮定する。
発見され、IDLEステートからTRANSステートに
遷移するところを、IDLEステートからC2MRDス
テートに遷移させるように変更したいと仮定する。
【0054】この場合、CPUで走行するソフトウェア
からデータバス5を経由してレジスタ#1に状態遷移情
報S5”10100001”を書き込む。
からデータバス5を経由してレジスタ#1に状態遷移情
報S5”10100001”を書き込む。
【0055】こうすると、IDLEステート”000”
において条件式C2MRQが”1”の場合、組合せ論理
回路1内の論理(1)によりセレクト信号S3にレジス
タ#1を選択する信号が出力される。
において条件式C2MRQが”1”の場合、組合せ論理
回路1内の論理(1)によりセレクト信号S3にレジス
タ#1を選択する信号が出力される。
【0056】セレクタ2は、セレクト信号S3に基づい
てレジスタ#1の状態遷移情報”10100001”を
出力し、出力レジスタ4の入力に伝える。
てレジスタ#1の状態遷移情報”10100001”を
出力し、出力レジスタ4の入力に伝える。
【0057】出力レジスタ4は、クロック信号CLKの
立ち上がりエッジでセレクタ2の出力信号”10100
001”をラッチし、現在のステート番号S2”10
1”および出力信号S4”00001”に伝える。この
ように、ラッチ動作により、次のステートがC2MRD
ステート”101”に遷移したことが理解できる。
立ち上がりエッジでセレクタ2の出力信号”10100
001”をラッチし、現在のステート番号S2”10
1”および出力信号S4”00001”に伝える。この
ように、ラッチ動作により、次のステートがC2MRD
ステート”101”に遷移したことが理解できる。
【0058】次に、本発明の第2の実施の形態につい
て、図3を参照して詳細に説明する。
て、図3を参照して詳細に説明する。
【0059】図3は、本発明の第2の実施の形態に係る
ステートマシン制御回路の構成を示す回路ブロック図で
ある。第2の実施の形態に係るステートマシン制御回路
において、組合せ論理回路1,セレクタ2および出力レ
ジスタ4の構成および動作は、図1に示した第1の実施
の形態に係るステートマシン制御回路における対応する
部分と全く同様であるので、対応する部分には同一符号
を付してその詳しい説明を省略する。
ステートマシン制御回路の構成を示す回路ブロック図で
ある。第2の実施の形態に係るステートマシン制御回路
において、組合せ論理回路1,セレクタ2および出力レ
ジスタ4の構成および動作は、図1に示した第1の実施
の形態に係るステートマシン制御回路における対応する
部分と全く同様であるので、対応する部分には同一符号
を付してその詳しい説明を省略する。
【0060】第1の実施の形態に係るステートマシン制
御回路では、レジスタ群3の各レジスタ#1〜レジスタ
#11にCPUからのデータバス5がそれぞれ接続され
ていたが、第2の実施の形態に係るステートマシン制御
回路では、CPUからのデータバス5がレジスタ#1に
のみ接続され、その他のレジスタ#1〜レジスタ#11
は1ビット幅のスキャンパス6により接続されている。
御回路では、レジスタ群3の各レジスタ#1〜レジスタ
#11にCPUからのデータバス5がそれぞれ接続され
ていたが、第2の実施の形態に係るステートマシン制御
回路では、CPUからのデータバス5がレジスタ#1に
のみ接続され、その他のレジスタ#1〜レジスタ#11
は1ビット幅のスキャンパス6により接続されている。
【0061】通常、スキャンパスは、LSIテスト時の
故障検出率を向上させるために採用されることが多い
が、第2の実施の形態に係るステートマシン制御回路で
は、これを流用し、CPUからレジスタ#1〜レジスタ
#11へのライトにも使用している。
故障検出率を向上させるために採用されることが多い
が、第2の実施の形態に係るステートマシン制御回路で
は、これを流用し、CPUからレジスタ#1〜レジスタ
#11へのライトにも使用している。
【0062】次に、このように構成された第2の実施の
形態に係るステートマシン制御回路の動作について説明
する。
形態に係るステートマシン制御回路の動作について説明
する。
【0063】レジスタ#1〜レジスタ#11への書き込
み以外の動作については、第1の実施の形態に係るステ
ートマシン制御回路の場合と全く同様であるので、その
詳しい説明を省略する。
み以外の動作については、第1の実施の形態に係るステ
ートマシン制御回路の場合と全く同様であるので、その
詳しい説明を省略する。
【0064】次に、CPUからレジスタ#1〜レジスタ
#11へ状態遷移情報S5を書き込む際の動作を、レジ
スタ#5への書き込み動作を一例として説明する。
#11へ状態遷移情報S5を書き込む際の動作を、レジ
スタ#5への書き込み動作を一例として説明する。
【0065】まず、スキャン動作によりスキャンパス6
を通してレジスタ#5の状態遷移情報をレジスタ#1に
シフトする。次に、CPUからデータバス5を用いてレ
ジスタ#1にレジスタ#5に書き込むべき状態遷移情報
S5を書き込む。最後に、スキャン動作によりスキャン
パス6を通してレジスタ#1の状態遷移情報をレジスタ
#5にシフトする。
を通してレジスタ#5の状態遷移情報をレジスタ#1に
シフトする。次に、CPUからデータバス5を用いてレ
ジスタ#1にレジスタ#5に書き込むべき状態遷移情報
S5を書き込む。最後に、スキャン動作によりスキャン
パス6を通してレジスタ#1の状態遷移情報をレジスタ
#5にシフトする。
【0066】以上の動作により、レジスタ#1〜4,レ
ジスタ#6〜11は元の状態遷移情報のままで、レジス
タ#5の状態遷移情報が新しい値に書き換えられる。
ジスタ#6〜11は元の状態遷移情報のままで、レジス
タ#5の状態遷移情報が新しい値に書き換えられる。
【0067】なお、上記第1および第2の実施の形態で
は、状態遷移情報S5を8ビット(現在のステート番号
S2を3ビット、出力信号S4を5ビット)としたが、
これらのビット幅が適宜変更可能であることはいうまで
もない。
は、状態遷移情報S5を8ビット(現在のステート番号
S2を3ビット、出力信号S4を5ビット)としたが、
これらのビット幅が適宜変更可能であることはいうまで
もない。
【0068】また、レジスタ群3のレジスタ数をレジス
タ#1〜#11の11個としたが、レジスタの数は状態
遷移図のステート数等に応じて適宜選定可能であること
はいうまでもない。
タ#1〜#11の11個としたが、レジスタの数は状態
遷移図のステート数等に応じて適宜選定可能であること
はいうまでもない。
【0069】
【発明の効果】第1の効果は、ステートマシン制御回路
をLSIにインプリメントした場合、LSIをリワーク
せずにCPUからのライト命令のみで状態遷移を変更す
ることが可能となることである。このため、従来はLS
Iのリワークには1ヶ月以上の時間がかかっていたが、
リワーク回数を大幅に減らすことが可能となり、LSI
の開発期間を短縮できる。
をLSIにインプリメントした場合、LSIをリワーク
せずにCPUからのライト命令のみで状態遷移を変更す
ることが可能となることである。このため、従来はLS
Iのリワークには1ヶ月以上の時間がかかっていたが、
リワーク回数を大幅に減らすことが可能となり、LSI
の開発期間を短縮できる。
【図1】本発明の第1の実施の形態に係るステートマシ
ン制御回路の構成を表す回路ブロック図である。
ン制御回路の構成を表す回路ブロック図である。
【図2】第1の実施の形態に係るステートマシン制御回
路を用いて実現する状態遷移の一例を示す状態遷移図で
ある。
路を用いて実現する状態遷移の一例を示す状態遷移図で
ある。
【図3】本発明の第2の実施の形態に係るステートマシ
ン制御回路の構成を表す回路ブロック図である。
ン制御回路の構成を表す回路ブロック図である。
【図4】従来のステートマシン制御回路の説明図であ
る。
る。
1 組合せ論理回路 2 セレクタ 3 レジスタ群 4 出力レジスタ 5 データバス 6 スキャンパス S1 入力信号 S2 現在のステート番号 S3 セレクト信号 S4 出力信号 S5 状態遷移情報 #1〜#11 レジスタ
Claims (4)
- 【請求項1】 次のステート番号およびそのステートで
出力すべき出力信号からなる状態遷移情報を格納するレ
ジスタ群と、 現在のステート番号および入力信号を入力し前記レジス
タ群のうちの次のステート番号の状態遷移情報を格納す
るレジスタを選択するセレクト信号を出力する組合せ論
理回路と、 この組合せ論理回路からのセレクト信号に基づいて前記
レジスタ群のうちの1つのレジスタを選択し、その状態
遷移情報を出力するセレクタと、 外部からの前記レジスタ群のレジスタに状態遷移情報を
書き込む書き込み手段とを備え、 外部から前記レジスタ群のうちの1つ以上のレジスタに
状態遷移情報を書き込むことによりインプリメントされ
る状態遷移を変更できることを特徴とするステートマシ
ン制御回路。 - 【請求項2】 前記書き込み手段が、前記レジスタ群の
各レジスタに接続されたデータバスでなる請求項1記載
のステートマシン制御回路。 - 【請求項3】 前記書き込み手段が、前記レジスタ群の
うちの1つのレジスタに接続されたデータバスと、前記
レジスタ群の各レジスタ間を接続するスキャンパスとか
らなる請求項1記載のステートマシン制御回路。 - 【請求項4】 前記状態遷移情報が8ビットでなり、そ
のうちの3ビットがステート番号で、残り5ビットが出
力信号である請求項1ないし3記載のステートマシン制
御回路。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP9219884A JP3063694B2 (ja) | 1997-07-31 | 1997-07-31 | ステートマシン制御回路 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP9219884A JP3063694B2 (ja) | 1997-07-31 | 1997-07-31 | ステートマシン制御回路 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH1153216A true JPH1153216A (ja) | 1999-02-26 |
JP3063694B2 JP3063694B2 (ja) | 2000-07-12 |
Family
ID=16742570
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP9219884A Expired - Fee Related JP3063694B2 (ja) | 1997-07-31 | 1997-07-31 | ステートマシン制御回路 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3063694B2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015022495A (ja) * | 2013-07-18 | 2015-02-02 | 日本電信電話株式会社 | ステートマシン回路 |
-
1997
- 1997-07-31 JP JP9219884A patent/JP3063694B2/ja not_active Expired - Fee Related
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015022495A (ja) * | 2013-07-18 | 2015-02-02 | 日本電信電話株式会社 | ステートマシン回路 |
Also Published As
Publication number | Publication date |
---|---|
JP3063694B2 (ja) | 2000-07-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6318911B1 (en) | Gated clock design supporting method, gated clock design supporting apparatus, and computer readable memory storing gated clock design supporting program | |
JPH0612863A (ja) | デュアルポートdram | |
JP2587546B2 (ja) | 走査回路 | |
US5280616A (en) | Logic circuit for task processing | |
US5378934A (en) | Circuit having a master-and-slave and a by-pass | |
JP2550837B2 (ja) | スキャンパスのテスト制御回路 | |
EP0230668B1 (en) | Arithmetic logic circuit | |
JP3063694B2 (ja) | ステートマシン制御回路 | |
US6457167B1 (en) | Gated clock design supporting method, gated clock design supporting apparatus, and computer readable memory storing gated clock design supporting program | |
US7345496B2 (en) | Semiconductor apparatus and test execution method for semiconductor apparatus | |
KR20030043598A (ko) | 복수의 리셋 벡터 어드레스 중 하나를 선택하는 정보 처리장치 | |
JP3886314B2 (ja) | データ転送回路及びその回路を用いた半導体集積回路装置 | |
EP0496002A1 (en) | Register circuit | |
US7266581B2 (en) | Arithmetic circuit | |
KR100345673B1 (ko) | 자기 진단 가능한 집적 회로 | |
JPS62182937A (ja) | テストモ−ド設定回路 | |
JP2901579B2 (ja) | パイプライン制御回路 | |
EP0737913A1 (en) | Scannable last-in-first-out register stack | |
JP3254781B2 (ja) | 半導体装置 | |
JPH07120535A (ja) | 論理回路の診断方法およびlsi回路 | |
KR0163726B1 (ko) | 외부 메모리를 이용한 다수의 램 브레이크조건 설정회로 | |
JP3222251B2 (ja) | 半導体集積回路装置のテスト補助回路 | |
JPS6362741A (ja) | メモリアクセス回路 | |
JPH05191220A (ja) | 半導体集積回路 | |
JPH10123213A (ja) | 半導体集積回路 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090512 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100512 Year of fee payment: 10 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110512 Year of fee payment: 11 |
|
LAPS | Cancellation because of no payment of annual fees |