JP2009145957A - ステートマシン及びこれを用いた半導体集積回路 - Google Patents
ステートマシン及びこれを用いた半導体集積回路 Download PDFInfo
- Publication number
- JP2009145957A JP2009145957A JP2007319617A JP2007319617A JP2009145957A JP 2009145957 A JP2009145957 A JP 2009145957A JP 2007319617 A JP2007319617 A JP 2007319617A JP 2007319617 A JP2007319617 A JP 2007319617A JP 2009145957 A JP2009145957 A JP 2009145957A
- Authority
- JP
- Japan
- Prior art keywords
- signal
- state machine
- data
- address
- memory
- 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
Images
Abstract
【解決手段】クロック同期型メモリ30を用い、このメモリ30の各アドレスにムーア型ステートマシン20の状態Sを表すデータを格納しておく。そして、ステートマシン20に対する入力信号in[j-1:0]と、メモリ30のリードデータrdata[m:0]の中の状態Sを表すデータrdata[m:k]とを組み合わせて、セレクタ21を介してメモリ30のアドレスに入力することで、クロック信号clkに同期して状態Sを変化させながら動作するムーア型ステートマシン20として振る舞わせる。
【選択図】図1
Description
ムーア型ステートマシン2は、入力信号inと現在の状態とから次の状態を求める関数func1を実現するための組み合わせ回路からなる演算回路C1と、この演算回路C1から出力される次の状態を保持する記憶素子Sと、この記憶素子Sから出力される現在の状態から現在の出力を求める関数func2を実現するための組み合わせ回路からなる演算回路C2とにより構成されている。
ミーリ型ステートマシン3は、入力信号inと現在の状態とから次の状態を求める関数func1を実現するための組み合わせ回路からなる演算回路C1と、この演算回路C1から出力される次の状態を保持する記憶素子Sと、この記憶素子Sから出力される現在の状態と入力信号inから現在の出力を求める関数func2を実現するための組み合わせ回路からなる演算回路C2とにより構成されている。
この図16には、半導体集積回路10をステートマシン1で制御する際の一般的な構成が示されている。ここで想定している半導体集積回路10は、クロック信号clkの立ち上がりエッジ(=立ち上がりのタイミング)に同期して動作するものとする。即ち、半導体集積回路10に対する入力信号in、及び、半導体集積回路内の全ての要素(ステートマシン1の状態stateや制御信号cs、半導体集積回路10の出力信号out)がクロック信号clkの立ち上がりエッジから、ある遅延時間後に変化するものとする。
この図17において、PDは、被制御回路11が制御信号csを利用できる期間である。ステートマシン1の状態stateや出力信号out(即ち、制御対象に対する制御信号cs)が変化するタイミングは、信号の伝播遅延等の影響でクロック信号clkの立ち上がりエッジから少し遅れて変化する。被制御回路11が、ステートマシン1からの制御信号csを使ってクロック信号clkの次の立ち上がりエッジまでに機能に応じた演算処理を行い、出力信号outを生成するものとすると、ステートマシン1から出力される制御信号csはなるべく速く変化するのが望ましい。
図16に示すように、ステートマシン1を使って半導体集積回路10を制御する場合、通常、半導体集積回路10の内部構造は固定したものになるので、その中のステートマシン1の制御内容を変更したり修正するときには、ハードウェアを設計し直すことになる。例えば、大規模集積回路(以下「LSI」という。)ならば、設計から製造までの工程をやり直さなければいけない。プログラムすることができるLSI(Field Programmable Gate Array、以下「FPGA」という。)を用いれば、ハードウェアの回路構成を変更することができるが、FPGAはそのために複雑な構造をしており、コストも高く、変更作業に数分〜数時間掛かり、回路構成を変更するために専用のツールが必要になる場合もある。
図1は、本発明の実施例1を示すものであってクロック同期型メモリを使用して実現されたムーア型ステートマシンの概略の構成図である。
クロック同期型メモリ30は、クロック信号clkの立ち上がりエッジに同期してこのクロック信号clkの1周期内にリードデータrdata[m:0]を読み出すことができる半導体メモリ等により構成されている。このクロック同期型メモリ30は、例えば、セレクタ21から与えられるアドレス信号addr[n:0]をクロック信号clkの立ち上がりエッジに同期してデコードするアドレスデコーダ31を有し、この出力側に、複数のアドレス2(n+1)を有する記憶領域32が接続されている。記憶領域32は、データのリード及びライト可能な複数のスタティック型ランダム・アクセス・メモリ・セル(以下「SRAMセル」という。)を有するメモリセルアレイや、或いは、複数のレジスタ等により構成されている。各アドレスには、ステートマシン状態を表す上位iビットの第1のデータrdata[m:k]と、ステートマシン出力信号を表す下位kビットの第2のデータrdda[k-1:0]とが格納される。この記憶領域32には、入/出力回路33が接続されている。入/出力回路33は、ライトイネーブル信号weが“1”の時に、クロック信号clkの立ち上がりエッジに同期してライトデータ(wdata[m:0]を入力して記憶領域32へ与え、ライトイネーブル信号weが“0”の時に、クロック信号clkの立ち上がりエッジに同期して記憶領域32からのリードデータrdata[m:0]を出力する回路である。
本実施例1のムーア型ステートマシン20では、以下のようなクロック同期型メモリ30に対するライト動作(1)と、リード動作であるステートマシンの動作(2)とが行われる。
図5は、図1中のメモリ30に対するライト動作を示すタイミングチャートである。
図5において、クロック信号clkの立ち上がりエッジの時刻t1,t2,t3,・・・は、メモリ30のサンプルタイミングである。ライトアドレスwaddr[n:0]である{S1,I1},{S2,I2},{S3,I3},・・・中のS1,S2,S3,・・・は、実現したいムーア型ステートマシン20の各状態を示し、I1,I2,I3,・・・は、その各入力信号を示す。ライトデータwdata[m:0] であるWDATA1,WDATA2,WDATA3,・・・は、関数func1,func2により次式(1)のように表される。
WDATA1={func1(S1,I1),func2(func1(S1,I1))}
WDATA2={func1(S2,I2),func2(func1(S2,I2))}
WDATA3={func1(S3,I3),func2(func1(S3,I3))}
・・・(1)
図6は、図1中のメモリ30のリード動作であるステートマシンの動作を示すタイミングチャートである。
S2=func1(S1,I1) O1=func2(S1)
S3=func1(S2,I2) O2=func2(S2)
O3=func2(S3)
・・・(2)
本実施例1によれば、クロック同期型メモリ30を用い、このメモリ30の各アドレスにムーア型ステートマシン20の状態Sを表すデータを格納しておき、ステートマシン20に対する入力信号in[j-1:0]と、メモリ30のリードデータrdata[m:0]の中の状態Sを表すデータrdata[m:k]とを組み合わせて、メモリ30のアドレスに入力することで、クロック信号clkに同期して状態Sを変化させながら動作するムーア型ステートマシン20として振る舞わせる構成にしたので、次の(a)〜(c)のような効果がある。
図7は、本発明の実施例2を示すものであってクロック同期型メモリ及び非同期型メモリを使用して実現されたミーリ型ステートマシンの概略の構成図であり、実施例1を示す図1中の要素と共通の要素には共通の符号が付されている。
本実施例2のミーリ型ステートマシン20Aでは、以下のようなクロック同期型メモリ30Aに対するライト動作(1)と、非同期型メモリ40に対するライト動作(2)と、クロック同期型メモリ30A及び非同期型メモリ40のリード動作であるステートマシンの動作(3)とが行われる。
図9は、図7中のメモリ30Aに対するライト動作を示すタイミングチャートである。
図9において、クロック信号clkの立ち上がりエッジの時刻t1,t2,t3,・・・は、メモリ30Aのライトタイミングである。ライトアドレスwaddr[n:0]である{S1,I1},{S2,I2},{S3,I3},・・・中のS1,S2,S3,・・・は、実現したいミーリ型ステートマシン20Aの各状態を示し、I1,I2,I3,・・・は、その各入力信号を示す。第1のライトデータwdata1[i-1:0]は、関数func1(S1,I1),func1(S2,I2),funcl(S3,I3),・・・により表される。
図10は、図7中のメモリ40に対するライト動作を示すタイミングチャートである。
図10において、第3のライトイネーブル信号we3の立ち上がりエッジの時刻t1,t2,t3,・・・は、メモリ40のライトタイミングである。第2のライトデータwdata2[k-1:0]は、関数func2(S1,I1),func2(S2,I2),func3(S3,I3),・・・により表される。
図11は、図7中のメモリ30A及び40のリード動作であるステートマシンの動作を示すタイミングチャートである。
S2=func1(S1,I1) O1=func2(S1,I1)
S3=func1(S2,I2) O2=func2(S2,I2)
O3=func2(S3,I3)
・・・(3)
本実施例2によれば、クロック同期型メモリ30Aと非同期型メモリ40を用いて、クロック信号clkに同期して状態Sを変化させながら動作するミーリ型ステートマシン20Aとして振る舞わせる構成にしたので、実施例1とほぼ同様の効果がある。
本発明は、上記実施例に限定されず、例えば、図1及び図7におけるクロック同期型メモリ30,30Aを、クロック信号clkの立ち下がりエッジに同期して動作する構成に変更したり、クロック同期型メモリ30,30A及び非同期型メモリ40を、図2以外の他の回路構成に変更したり、或いは、図1のムーア型ステートマシン20内や図7のミーリ型ステートマシン20A内に、他の回路を付加して機能の拡張を図る等、種々の利用形態や変形が可能である。
20A ミーリ型ステートマシン
20−1,20−2 ステートマシン
21,22 セレクタ
30,30A クロック同期型メモリ
40 非同期型メモリ
50 システム
60−1,60−2 モジュール
Claims (3)
- ライトアドレスを入力すると共に、下位ビット又は上位ビットからなるステートマシンに対する入力信号と、前記入力信号に対して異なる位置のビットにより構成され、前記ステートマシンの現在の状態を表す第1のデータとが組み合わされた第1の信号を入力し、第1及び第2の論理レベルに遷移するライトイネーブル信号が前記第1の論理レベルの時には前記ライトアドレスを選択し、前記ライトイネーブル信号が前記第2の論理レベルの時には前記第1の信号を選択するセレクタと、
複数番地からなる記憶領域を有し、前記ライトイネーブル信号が前記第1の論理レベルの時に、クロック信号に同期してライトデータを取り込んで前記記憶領域の各番地に、前記ステートマシンの次の状態を表す第2のデータと、前記ステートマシンの出力信号を表す第3のデータとを格納し、前記ライトイネーブル信号が前記第2の論理レベルの時に、前記クロック信号に同期して前記クロック信号の1周期内に、前記セレクタにより選択された前記第1の信号により指定される前記記憶領域の番地から、前記第2及び第3のデータを有するリードデータを読み出し、前記リードデータ中の前記第2のデータを前記第1のデータとして前記セレクタへ与えると共に、前記第3のデータを前記ステートマシンの出力信号として外部に出力するクロック同期型メモリとを備えたことを特徴とするステートマシン。 - ライトアドレスを入力すると共に、下位ビット又は上位ビットからなるステートマシンに対する入力信号と、前記入力信号に対して異なる位置のビットにより構成され、前記ステートマシンの現在の状態を表す第1のデータとが組み合わされた第1の信号を入力し、第1及び第2の論理レベルに遷移する第1のライトイネーブル信号が前記第1の論理レベルの時には前記ライトアドレスを選択し、前記第1のライトイネーブル信号が前記第2の論理レベルの時には前記第1の信号を選択する第1のセレクタと、
複数番地からなる第1の記憶領域を有し、前記第1のライトイネーブル信号が前記第1の論理レベルの時に、クロック信号に同期して第1のライトデータを取り込んで前記第1の記憶領域の各番地に、前記ステートマシンの次の状態を表す第2のデータを格納し、前記第1のライトイネーブル信号が前記第2の論理レベルの時に、前記クロック信号に同期して前記クロック信号の1周期内に、前記第1のセレクタにより選択された前記第1の信号により指定される前記第1の記憶領域の番地から、前記第2のデータを読み出して前記第1のデータとして前記第1のセレクタへ与えるクロック同期型メモリと、
前記ライトアドレスを入力すると共に、前記ステートマシンに対する前記入力信号と前記第2のデータとが組み合わされた第2の信号を入力し、第1及び第2の論理レベルに遷移する第2のライトイネーブル信号が前記第1の論理レベルの時には前記ライトアドレスを選択し、前記第2のライトイネーブル信号が前記第2の論理レベルの時には前記第2の信号を選択する第2のセレクトと、
複数番地からなる第2の記憶領域を有し、第1及び第2の論理レベルに遷移する第3のライトイネーブル信号が前記第1の論理レベルの時に、第2のライトデータを取り込んで前記第2の記憶領域の各番地に、前記ステートマシンの出力信号を表す第3のデータを格納し、前記第2のライトイネーブル信号が前記第2の論理レベルの時に、前記第2のセレクタにより選択された前記第2の信号により指定される前記第2の記憶領域の番地から、前記第3のデータを読み出して前記ステートマシンの出力信号として外部に出力する非同期型メモリとを備えたことを特徴とするステートマシン。 - 請求項1又は2記載のステートマシンと、
前記ステートマシンの出力により制御され、前記クロック信号に同期して所定の処理を行う被制御回路とを備えたことを特徴とする半導体集積回路。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007319617A JP2009145957A (ja) | 2007-12-11 | 2007-12-11 | ステートマシン及びこれを用いた半導体集積回路 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007319617A JP2009145957A (ja) | 2007-12-11 | 2007-12-11 | ステートマシン及びこれを用いた半導体集積回路 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2009145957A true JP2009145957A (ja) | 2009-07-02 |
Family
ID=40916533
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007319617A Pending JP2009145957A (ja) | 2007-12-11 | 2007-12-11 | ステートマシン及びこれを用いた半導体集積回路 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2009145957A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2202604A1 (en) * | 2008-12-29 | 2010-06-30 | STMicroelectronics Srl | State machine |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS50135953A (ja) * | 1974-04-16 | 1975-10-28 | ||
JPS5354937A (en) * | 1976-10-28 | 1978-05-18 | Nec Corp | Non-synchronous sequence circuit |
JPS63107249A (ja) * | 1986-10-22 | 1988-05-12 | Yokogawa Hewlett Packard Ltd | トラフィック測定表示方法 |
JPH01269103A (ja) * | 1988-04-20 | 1989-10-26 | Fuji Xerox Co Ltd | 状態遷移制御装置 |
JPH05252051A (ja) * | 1991-10-04 | 1993-09-28 | Sony Broadcast & Commun Ltd | 直列データ・デコーダ |
JPH09114748A (ja) * | 1995-10-13 | 1997-05-02 | Nec Ibaraki Ltd | メモリエラー訂正回路 |
JP2001125606A (ja) * | 1999-10-29 | 2001-05-11 | Fuji Photo Film Co Ltd | ステートマシーン |
-
2007
- 2007-12-11 JP JP2007319617A patent/JP2009145957A/ja active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS50135953A (ja) * | 1974-04-16 | 1975-10-28 | ||
JPS5354937A (en) * | 1976-10-28 | 1978-05-18 | Nec Corp | Non-synchronous sequence circuit |
JPS63107249A (ja) * | 1986-10-22 | 1988-05-12 | Yokogawa Hewlett Packard Ltd | トラフィック測定表示方法 |
JPH01269103A (ja) * | 1988-04-20 | 1989-10-26 | Fuji Xerox Co Ltd | 状態遷移制御装置 |
JPH05252051A (ja) * | 1991-10-04 | 1993-09-28 | Sony Broadcast & Commun Ltd | 直列データ・デコーダ |
JPH09114748A (ja) * | 1995-10-13 | 1997-05-02 | Nec Ibaraki Ltd | メモリエラー訂正回路 |
JP2001125606A (ja) * | 1999-10-29 | 2001-05-11 | Fuji Photo Film Co Ltd | ステートマシーン |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2202604A1 (en) * | 2008-12-29 | 2010-06-30 | STMicroelectronics Srl | State machine |
US8415978B2 (en) | 2008-12-29 | 2013-04-09 | Stmicroelectronics S.R.L. | State machine for generating a pulse width modulation (PWM) waveform |
EP2587335A3 (en) * | 2008-12-29 | 2013-09-04 | STMicroelectronics Srl | State machine |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2015072728A (ja) | 半導体メモリ | |
US9425800B2 (en) | Reconfigurable logic device | |
JP2017038247A (ja) | 再構成可能な半導体装置 | |
KR20170109026A (ko) | 명령어 시프터 감소를 위한 방법들 및 장치들 | |
JP5890733B2 (ja) | 再構成可能な半導体装置の配置配線方法、そのプログラム、及び配置配線装置 | |
JP2009145957A (ja) | ステートマシン及びこれを用いた半導体集積回路 | |
US9058436B1 (en) | Method and system for reducing the effect of component aging | |
JP2008077418A (ja) | メモリアクセス装置 | |
JP4866194B2 (ja) | 集積回路及びリコンフィギュラブル回路の入力データ制御方法 | |
TWI285836B (en) | Method and/or architecture implemented in hardware for the adjustment of messages with indeterministic length | |
JP5545054B2 (ja) | デバッグ回路及びデバッグシステム | |
JP5277533B2 (ja) | デジタル信号処理装置 | |
JP2016152523A (ja) | 再構成可能な論理デバイス | |
JP2004327483A (ja) | 半導体集積回路及び回路設計装置 | |
JP5467512B2 (ja) | 動作合成装置、動作合成方法、及び、動作合成プログラム | |
JP4829598B2 (ja) | 多ビット記憶装置及び多ビット記憶方法 | |
JP2011028790A (ja) | 半導体記憶装置及びリフレッシュ制御方法 | |
JP2009200823A (ja) | 記憶素子 | |
JP2012078240A (ja) | 半導体試験装置におけるドライバ波形生成回路 | |
JP2008283396A (ja) | メモリ、シフトレジスタ、集積回路及び処理装置 | |
JP5344634B2 (ja) | 半導体記憶装置およびその制御方法 | |
TW202232501A (zh) | 半導體積體電路及其設計方法、設計支援系統與程式 | |
JP2022119157A (ja) | 半導体集積回路及びその設計方法、設計支援システム、及びプログラム | |
JP2011044073A (ja) | 高位合成装置、高位合成方法および高位合成プログラム | |
JP5393626B2 (ja) | 情報処理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20090424 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20101101 |
|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A711 Effective date: 20120130 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120307 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120327 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20120807 |