Submit Search
有限状態遷移機械(FSM)設計
2 likes
3,433 views
Kiyoshi Ogawa
FPGAでVerilog-HDLを使って論理回路設計のうち有限状態遷移機械(FSM)設計を行う教材。ASMチャートを利用。
Technology
Read more
1 of 28
Download now
Download to read offline
1
2
Most read
3
4
Most read
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Most read
21
22
23
24
25
26
27
28
More Related Content
PDF
NDTスキャンマッチング 第1回3D勉強会@PFN 2018年5月27日
Kitsukawa Yuki
PDF
組み込み関数(intrinsic)によるSIMD入門
Norishige Fukushima
PDF
はじめてのKrylov部分空間法
tmaehara
PDF
[データマイニング+WEB勉強会][R勉強会] R言語によるクラスター分析 - 活用編
Koichi Hamada
PDF
Jetson活用セミナー ROS2自律走行実現に向けて
Fixstars Corporation
PDF
簡単な算数でできる文章校正
hirokiky
PPTX
3Dマップを活用したVisual Localization
Hajime Taira
PPTX
You Only Learn One Representation: Unified Network for Multiple Tasks
harmonylab
NDTスキャンマッチング 第1回3D勉強会@PFN 2018年5月27日
Kitsukawa Yuki
組み込み関数(intrinsic)によるSIMD入門
Norishige Fukushima
はじめてのKrylov部分空間法
tmaehara
[データマイニング+WEB勉強会][R勉強会] R言語によるクラスター分析 - 活用編
Koichi Hamada
Jetson活用セミナー ROS2自律走行実現に向けて
Fixstars Corporation
簡単な算数でできる文章校正
hirokiky
3Dマップを活用したVisual Localization
Hajime Taira
You Only Learn One Representation: Unified Network for Multiple Tasks
harmonylab
What's hot
(20)
PDF
PRML上巻勉強会 at 東京大学 資料 第1章前半
Ohsawa Goodfellow
PPTX
Go-ICP: グローバル最適(Globally optimal) なICPの解説
Yusuke Sekikawa
PDF
べき乗則・パレート分布・ジップの法則
Hiroyuki Kuromiya
PPTX
Structured Light 技術俯瞰
Teppei Kurita
PDF
ベイズ最適化
MatsuiRyo
PDF
3次元レジストレーションの基礎とOpen3Dを用いた3次元点群処理
Toru Tamaki
PDF
20190825 vins mono
Takuya Minagawa
PDF
ChatGPTがもたらす未来予測
Koji Fukuoka
PDF
VisualSFMとMeshLabとCloudCompareによるドローン撮影画像を用いたデジタル地図作成
Hiroshi Yamaguchi
PDF
3次元レジストレーション(PCLデモとコード付き)
Toru Tamaki
PPTX
[DL輪読会]PointNet++: Deep Hierarchical Feature Learning on Point Sets in a Metr...
Deep Learning JP
PPTX
ORB-SLAMの手法解説
Masaya Kaneko
PDF
最適化超入門
Takami Sato
PPTX
ベイズファクターとモデル選択
kazutantan
PPTX
機械学習の応用例にみる認知症診断と将来の発症予測
Momoko Hayamizu
PDF
研究効率化Tips Ver.2
cvpaper. challenge
PDF
G2o
Fujimoto Keisuke
PPTX
[DL輪読会]Graph R-CNN for Scene Graph Generation
Deep Learning JP
PDF
【DL輪読会】Motion Policy Networks
Deep Learning JP
PDF
階層的クラスタリング入門の入門
Mas Kot
PRML上巻勉強会 at 東京大学 資料 第1章前半
Ohsawa Goodfellow
Go-ICP: グローバル最適(Globally optimal) なICPの解説
Yusuke Sekikawa
べき乗則・パレート分布・ジップの法則
Hiroyuki Kuromiya
Structured Light 技術俯瞰
Teppei Kurita
ベイズ最適化
MatsuiRyo
3次元レジストレーションの基礎とOpen3Dを用いた3次元点群処理
Toru Tamaki
20190825 vins mono
Takuya Minagawa
ChatGPTがもたらす未来予測
Koji Fukuoka
VisualSFMとMeshLabとCloudCompareによるドローン撮影画像を用いたデジタル地図作成
Hiroshi Yamaguchi
3次元レジストレーション(PCLデモとコード付き)
Toru Tamaki
[DL輪読会]PointNet++: Deep Hierarchical Feature Learning on Point Sets in a Metr...
Deep Learning JP
ORB-SLAMの手法解説
Masaya Kaneko
最適化超入門
Takami Sato
ベイズファクターとモデル選択
kazutantan
機械学習の応用例にみる認知症診断と将来の発症予測
Momoko Hayamizu
研究効率化Tips Ver.2
cvpaper. challenge
G2o
Fujimoto Keisuke
[DL輪読会]Graph R-CNN for Scene Graph Generation
Deep Learning JP
【DL輪読会】Motion Policy Networks
Deep Learning JP
階層的クラスタリング入門の入門
Mas Kot
Ad
Viewers also liked
(15)
PDF
【Interop Tokyo 2015】 DC 6: Cisco UCS 管理ツールご紹介
シスコシステムズ合同会社
PDF
Cisco Connect Japan 2014:Cisco ASA 5500-X 次世代ファイアウォールの機能と、安定導入・運用方法
シスコシステムズ合同会社
PDF
Cisco Connect Japan 2014:データセンターを支える 最新 Cisco Unified Computing System ご紹介
シスコシステムズ合同会社
PPTX
お絵かきのお話(~nw構成図ってどんな感じで書いてます?~)
Tatsuya Maruno
PPTX
誰にでも分かる「IPネットワーク」の図の描き方がない!?
Yasuo Igano
PPTX
ネットワーク機器のAPIあれこれ入門(NetOpsCoding#2)
Kentaro Ebisawa
PDF
中国にOpenflowを入れてきた話
cloretsblack
PDF
ポケモンGoをスマートグラスで表示してみた話
Keiichiro Fujii
PDF
ロードバランスへの長い道
Jun Kato
PPTX
社内ネットワーク改善の過程で分かった物理ゆえの闇と脆弱性そしてネットワークの基礎入門
zaru sakuraba
PPTX
Go言語でのステート管理
明 高橋
PDF
ネットワークでなぜ遅延が生じるのか
Jun Kato
PDF
0528 kanntigai ui_ux
Saori Matsui
PDF
女子の心をつかむUIデザインポイント - MERY編 -
Shoko Tanaka
PDF
見やすいプレゼン資料の作り方 - リニューアル増量版
MOCKS | Yuta Morishige
【Interop Tokyo 2015】 DC 6: Cisco UCS 管理ツールご紹介
シスコシステムズ合同会社
Cisco Connect Japan 2014:Cisco ASA 5500-X 次世代ファイアウォールの機能と、安定導入・運用方法
シスコシステムズ合同会社
Cisco Connect Japan 2014:データセンターを支える 最新 Cisco Unified Computing System ご紹介
シスコシステムズ合同会社
お絵かきのお話(~nw構成図ってどんな感じで書いてます?~)
Tatsuya Maruno
誰にでも分かる「IPネットワーク」の図の描き方がない!?
Yasuo Igano
ネットワーク機器のAPIあれこれ入門(NetOpsCoding#2)
Kentaro Ebisawa
中国にOpenflowを入れてきた話
cloretsblack
ポケモンGoをスマートグラスで表示してみた話
Keiichiro Fujii
ロードバランスへの長い道
Jun Kato
社内ネットワーク改善の過程で分かった物理ゆえの闇と脆弱性そしてネットワークの基礎入門
zaru sakuraba
Go言語でのステート管理
明 高橋
ネットワークでなぜ遅延が生じるのか
Jun Kato
0528 kanntigai ui_ux
Saori Matsui
女子の心をつかむUIデザインポイント - MERY編 -
Shoko Tanaka
見やすいプレゼン資料の作り方 - リニューアル増量版
MOCKS | Yuta Morishige
Ad
More from Kiyoshi Ogawa
(20)
PPTX
Misracompliant20162020
Kiyoshi Ogawa
PDF
High Quality Design with Hcd and hazop
Kiyoshi Ogawa
PDF
Deep learningwithgithubanddocker
Kiyoshi Ogawa
PDF
Deep learningwithgithubanddocker
Kiyoshi Ogawa
PDF
Nagoya2018
Kiyoshi Ogawa
PDF
Hazop tokyo201809
Kiyoshi Ogawa
PPTX
Who like C++ coding standard
Kiyoshi Ogawa
PDF
Who enjoy a coding standard? ver. 0.30
Kiyoshi Ogawa
PDF
Who enjoy a coding standard? ver. 0.20
Kiyoshi Ogawa
PDF
Who enjoy a coding standard?
Kiyoshi Ogawa
PDF
機械と標準
Kiyoshi Ogawa
PDF
TOPPERS as an IoT OS(kernel)
Kiyoshi Ogawa
PDF
How can we resolve problems.
Kiyoshi Ogawa
PDF
Datamining Introduction using R with Raspbian on Raspberry Pi 3B.
Kiyoshi Ogawa
PDF
Hazop Safety and Security at Fukui 2017(2/2)
Kiyoshi Ogawa
PDF
Hazop Safety and Security at Fukui 2017(1/2)
Kiyoshi Ogawa
PDF
Hazop and triz by/of/for the children(3/3)
Kiyoshi Ogawa
PDF
Hazop and triz by/of/for the children(2/3)
Kiyoshi Ogawa
PDF
Hazop and triz by/of/for the children(1/3)
Kiyoshi Ogawa
PDF
Raspberrypitraining20171027
Kiyoshi Ogawa
Misracompliant20162020
Kiyoshi Ogawa
High Quality Design with Hcd and hazop
Kiyoshi Ogawa
Deep learningwithgithubanddocker
Kiyoshi Ogawa
Deep learningwithgithubanddocker
Kiyoshi Ogawa
Nagoya2018
Kiyoshi Ogawa
Hazop tokyo201809
Kiyoshi Ogawa
Who like C++ coding standard
Kiyoshi Ogawa
Who enjoy a coding standard? ver. 0.30
Kiyoshi Ogawa
Who enjoy a coding standard? ver. 0.20
Kiyoshi Ogawa
Who enjoy a coding standard?
Kiyoshi Ogawa
機械と標準
Kiyoshi Ogawa
TOPPERS as an IoT OS(kernel)
Kiyoshi Ogawa
How can we resolve problems.
Kiyoshi Ogawa
Datamining Introduction using R with Raspbian on Raspberry Pi 3B.
Kiyoshi Ogawa
Hazop Safety and Security at Fukui 2017(2/2)
Kiyoshi Ogawa
Hazop Safety and Security at Fukui 2017(1/2)
Kiyoshi Ogawa
Hazop and triz by/of/for the children(3/3)
Kiyoshi Ogawa
Hazop and triz by/of/for the children(2/3)
Kiyoshi Ogawa
Hazop and triz by/of/for the children(1/3)
Kiyoshi Ogawa
Raspberrypitraining20171027
Kiyoshi Ogawa
有限状態遷移機械(FSM)設計
1.
有限状態遷移機械(FSM)設計 © 渡部謹二, 小川清 2013/03/03 (c)watabe.kinji, nagoya.kaizen@gmail.com
2.
FSM設計はじめに 組み合わせ論理回路 入力の組み合わせだけで出力が決まる 有限状態遷移機械(FSM :
Finate State Machine) 順序論理回路、状態機械(state machine)ともいう 入力とその回路の状態で次の状態が決まる ミーリ(Mealy)型 状態と入力の組み合わせで出力を決定する ムーア(Moore)型 ひとつの状態につき一つの出力を決定する 2013/03/03 (c)watabe.kinji, nagoya.kaizen@gmail.com
3.
FSM設計状態遷移図 FSM設計を示すのに状態遷移図をつかう 状態遷移図とは? 状態、入力、出力からなる図 同期式設計の場合は同期クロック1つごとに状態遷移する xk/yl Qi 2013/03/03 xk/yl Qj (c)watabe.kinji, nagoya.kaizen@gmail.com Qi
4.
FSM設計状態遷移図からVerilog記述へ INIT_STATE module test_state(rst,clk,in_a,); input rst,clk,in_a; in_a が0 A_STATE B_STATE 2013/03/03 in_a が1 parameter
INIT_STATE = 3’b001; parameter A_STATE = 3’b010; parameter B_STATE = 3’b100; reg[2:0] state; always @(posedge clk or posedge rst) begin (省略) end endmodule (c)watabe.kinji, nagoya.kaizen@gmail.com
5.
FSM設計状態遷移図からVerilog記述へ 書式はD-FFの記述と同じ 状態変数をreg宣言する 状態名を割り当てる 各状態に数値を割り当てる(2進数でよい) 状態名をparameter文で記述すると分かりやすい always文 中のcase文で各状態における動作と 状態遷移を記述する 状態変数でビット幅を多くとっても回路合成時に最適 化する 各状態は1クロックごとに遷移する 出力がないと結果が見えないのでoutputを指定 2013/03/03 (c)watabe.kinji, nagoya.kaizen@gmail.com
6.
FSMの回路合成について エンコーディング方式によ り合成する回路が異なる コンパイラのオプションなど でエンコーディング方式が 選択できる エンコーディング方式によ り回路規模や安定性に違 いがある コンパイラによって得手不 得手がある。いろいろやっ て回路で確かめ。 2013/03/03 (c)watabe.kinji, nagoya.kaizen@gmail.com
7.
状態遷移表の作成 状態から状態への遷移を表にする 図ではなぜ遷移が無いかを書き切れない 遷移の表記漏れを防げる 2013/03/03 リセット (c)watabe.kinji, nagoya.kaizen@gmail.com
8.
状態遷移表に基づく設計 同時に多くの状態が遷移する条件を同時に処理 case(in_a) in_0:begin state <= A_STATE; end default:begin
//default include in_1(これでいいか) if (state == A_STATE) state <= B_STATE; else state <= A_STATE; end endcase 2013/03/03 (c)watabe.kinji, nagoya.kaizen@gmail.com
9.
状態遷移表に基づいた設計の回路 論理が単純だ と回路も単純 FPGAに配線 する時に合理 的かどうかは 別 設計条件の 間違いは見 つけられない 2013/03/03 (c)watabe.kinji, nagoya.kaizen@gmail.com
10.
状態遷移の鍵 電源投入時の過渡現象 電源投入時の状態遷移図(表)を作る 再設定(reset)時の過渡現象 同時に2つの事象が起きた場合に不定か どうか 2013/03/03 (c)watabe.kinji, nagoya.kaizen@gmail.com
11.
実習 自動販売機のVerilog HDL回路記述を行う 状態遷移図、遷移表、ASMチャートを記述 記述が正しいかどうか検証を行う テストベンチ記述方法の補足 グループ演習: 2013/03/03 テスト計画、テストベンチ記述、報告&レビュー 仕様および回路記述の修正 周辺回路の設計 (c)watabe.kinji, nagoya.kaizen@gmail.com
12.
外形設計 clk nickel_in dime_in quarter_in reset dispense nickel_out dime_out collect 2013/03/03 clk:クロック reset:リセット nickel_in:5㌣投入 dime_in:10㌣投入 quarter_in:25㌣投入 dispense:ドリンク送出 nickel_out:5㌣返却 dime_out:10㌣返却 collect:硬貨受け取り (c)watabe.kinji, nagoya.kaizen@gmail.com
13.
dime_in dime_in nickel_in FIFTEEN quarter_in dispense nickel_out nickel_in dime_in TEN dime_in quarter_in nickel_in TWENTY_FIVE dime_in dispense dime_out nickel_in 2013/03/03 IDLE dime_in quarter_in dispense dime_out nickel_out quarter_in dispense dime_out quarter_in dispense nickel_in FIVE TWENTY OWE_DIME dime_in dispense nickel_out quarter_in dispense dime_out nickel_in nickel_in dispense THIRTY quarter_in (c)watabe.kinji, nagoya.kaizen@gmail.com
14.
実習検証計画を立ててみよう 状態遷移図は正しいか?状態遷移表を書いたか? ASMチャートとどちらがよいか? 状態遷移図を正しく設計記述しているか? 何を証拠にするか? 網羅率(coverage) 2013/03/03 すべての状態を網羅しているテストセットか? すべての状態遷移を網羅しているテストセットか? (c)watabe.kinji, nagoya.kaizen@gmail.com
15.
いろいろな視点を導入する 同時にボタンを押したら? 同時とはどれぐらいの時間精度か? 順番が逆になったら? 信号が連続でやってきたら 状態遷移が二順目になったら?(☆) 非同期部にエラーが隠れている場合が多い 2013/03/03 モジュールの接合部 リセットのタイミング、順番など (c)watabe.kinji, nagoya.kaizen@gmail.com
16.
実習、中入り 検証は難しかったか? どのような視点を取り入れたか? どのようにすれば網羅率、効率が上がるか? 検証のしやすい設計だったか? 保守性、(拡張性、再利用性)はどうか? (例)商品のバリエーションが増えたら、価格が上がっ たら 状態間、状態経路の依存性が小さいか? 状態数を圧縮できないか? 2013/03/03 サブステート、サブカウンタなどを利用できないか? (c)watabe.kinji, nagoya.kaizen@gmail.com
17.
検証、テスト計画 仕様検討時に検証・テスト方法も考えてお くと良い 設計にも役に立つ 設計時の検討事項を利用する 2013/03/03 状態遷移図を構成するためのユースケース (シナリオ)は検証・テストに利用でき、設計と テスト設計の分業に役立つ (c)watabe.kinji, nagoya.kaizen@gmail.com
18.
お疲れ様でした 本資料に関して不明な点は小川清 (nagoya.kaizen@gmail.com)までご連絡ください 2013/03/03 (c)watabe.kinji, nagoya.kaizen@gmail.com
19.
付録:流れ図(flow chart)による設計 2013/03/03 (c)watabe.kinji, nagoya.kaizen@gmail.com
20.
なぜ流れ図ではFSM(回路)記述し 辛いのか 流れ図には時間の概念があいまいになっ ている 1クロックで行うことごとに処理を分けなければ ならない FSMでは並列度を上げれば一つのクロックで どれだけの処理でも行うことができる FSMはレジスタの操作に最低1クロックかかる 2013/03/03 レジスタ操作が一つの状態に相当する (c)watabe.kinji, nagoya.kaizen@gmail.com
21.
ASM図の紹介 流れ図の一つでFSMの設計に用いる 2013/03/03 流れ図に時間の概念を導入したもの FSMの振る舞い(behavior)を記述する (c)watabe.kinji, nagoya.kaizen@gmail.com
22.
ASM図 Algorithmic state machine chart 2013/03/03 右図は自動車 速度コントロー ラの例 (c)watabe.kinji, nagoya.kaizen@gmail.com
23.
ASM図の部品 状態箱(state box) 条件出力/レジスタ操作 箱(conditional output or
register operation box) 決定箱(decision box) 2013/03/03 レジスタの値の操作に 相当する 条件分岐を示す (c)watabe.kinji, nagoya.kaizen@gmail.com
24.
ASM図 データ構成を決定する 状態ボックスなしのASM図へ流 れ図を変換する 記述したASM図(状態箱なし)は ASM箱にまとめる ASM箱は一つの状態に対応する 2013/03/03 つまり条件出力/レジスタ操作箱を越 えると別の状態にする 決定箱はいくつ含んでも良い (c)watabe.kinji, nagoya.kaizen@gmail.com
25.
補足:「条件出力/レジスタ操作箱」 について money=0; n_o=0; d_o=0; dispense =0 collect=0; 2013/03/03 この箱では1クロック で行うレジスタ操作 (レジスタへの代入 を含む演算)を記述 する (c)watabe.kinji, nagoya.kaizen@gmail.com
26.
「条件出力/レジスタ 操作箱を越えると別 の状態になる」、「並 列処理はいくつでも可 能」であるので左のよ うな状態はOK 2013/03/03 もちろん分けてもOK つまり縦列のレジスタ 操作はNG (c)watabe.kinji, nagoya.kaizen@gmail.com
27.
フローチャートからASMチャートへ1 信号名、レジスタ名を決定する 流れ図を「信号」と「条件出力/レジスタ操 作ブロック」、「決定ボックス」で表現する 2013/03/03 (c)watabe.kinji, nagoya.kaizen@gmail.com
28.
流れ図からASM図へ2 Dispenc e=0 Collect =0 Dispenc e=0 Collect =0 Money> 0 Money> 0 Money> =10 Money> =5 Dispenc e=0 Collect =0 D_o= 1 N_o= 1 D_o= 0 N_o= 0 Money> =10 Money> =5 Money> 0 D_o= 1 N_o= 1 D_o= 0 N_o= 0 ASM図を状態に分ける 各状態の最初に状態箱をつける 2013/03/03 (c)watabe.kinji, nagoya.kaizen@gmail.com Money> =10 Money> =5 D_o= 1 N_o= 1 D_o= 0 N_o= 0
Download