アプリ版:「スタンプのみでお礼する」機能のリリースについて

同期アップカウンタの設計で状態表を作ろうとしてるのですが、
2n進カウンタではないので、未使用状態からの”次の状態”の数値が分かりません。
考え方を教えてくれませんか。
例:12進カウンタなら、13~16の未使用状態からの“次の状態”です。

「同期式カウンタ」の質問画像

A 回答 (4件)

一般には電源オン時にリセットするので考慮する必要ありません


万一、12から15の状態になってしまっても正常な状態に復帰することを論理式に代入して確認すればいいです

この回答への補足

説明が悪かったのか、私の求めた回答と違いましたので、補足します。
何かの原因(実際、それが起こるかどうかは置いといて起こったとして)で13~16の未使用状態の“次の状態”に入る数値を知りたいのです。
ロックアウトの検証と状態図も作る予定なので、必要なことなのです。
お願いします。

補足日時:2009/12/20 21:40
    • good
    • 0

12~15は通常ありえない状態なわけですから、その次の状態は「何でも構わない」です。

どんな値でも問題ありません。

実際の設計方針としてどういう値にしておくかというと、

A) 通常動作中にノイズなどの誤動作で12~15になってしまった時に備えて、次のクロックでは0~11の中のどれかの値(0が無難でしょう)に戻るようにする

B)回路構成が単純になる(論理式が単純になる)ような値を選ぶ。

のどちらかにするのが普通かと思います。
Bの方は慣れないとちょっと難易度が高いですね。

この回答への補足

説明が悪かったのか、私の求めた回答と違いましたので、補足します。
何かの原因(実際、それが起こるかどうかは置いといて起こったとして)で13~16の未使用状態の“次の状態”に入る数値を知りたいのです。
ロックアウトの検証と状態図も作る予定なので、必要なことなのです。
お願いします。

補足日時:2009/12/20 21:41
    • good
    • 0

> 何かの原因(実際、それが起こるかどうかは置いといて起こったとして)で


> 13~16の未使用状態の“次の状態”に入る数値を知りたいのです。
> ロックアウトの検証と状態図も作る予定なので、必要なことなのです。

既に回答1・2で述べてられている通り、
13~16の「次の状態」がどうなるかは「設計者の自由」です。
12進カウンタという仕様を満たすためには
1行目「0000」の次状態は「0001」
2行目「0001」の次状態は「0010」

12行目「1011」の次状態は「0000」
という所までは、絶対に満たさなければならない条件なわけですが、

13行目以降の状態は、12進カウンタとしては使われていないわけですから、
その次状態がどんな値になっていようとも、
1行目~12行目が条件を満たしていれば「12進カウンタ」としては仕様通りの動作になります。

13行目以降については、設計者にとって都合の良い値を好き勝手に割り当ててしまえばいいのです。
    • good
    • 0

こういう未使用状態をどうするかは、一般に3つの方針があります。



1. リセットをかけることにして、もし不正な状態になったらどうするかは考えない
2. 不正な値になったら次のサイクルで正常な値に戻すような論理をいれる。
3. 不正な値になったら、有限なサイクル後に(必ずしも次のサイクルとは限らない)正常な値に戻すような論理をいれる。この場合とくにウォッシュアウトシーケンスなんていう呼び方をしたりします。

ウォッシュアウトをどう設計するかは、基本的には設計者の自由ですが、昔(ゲート数をちょっとでも減らすことが重要だった時代)には、職人技みたいなウォッシュアウトシーケンスがいくつもありました。

有名なのはジョンソンカウンタのウォッシュアウトシーケンスなんかでしょうか。標準ロジック4022の等価回路で上のほうにある2つのNORの部分です。
http://www.datasheetarchive.com/pdf-datasheets/D …

興味があるなら、とりあえずこの本をお勧めします。
http://www.amazon.co.jp/exec/obidos/search-handl …
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!