大阪大学大学院情報科学研究科 今井正治 …imai/class/digital/pdf...n...
TRANSCRIPT
![Page 1: 大阪大学大学院情報科学研究科 今井正治 …imai/class/DIGITAL/PDF...N 進カウンタ その他のカウンタ まとめ 2006/10/31 ©2006, Masaharu Imai 14 同期式カウンタ](https://reader034.vdocument.in/reader034/viewer/2022042316/5f0559987e708231d4128767/html5/thumbnails/1.jpg)
2006/10/31 ©2006, Masaharu Imai 1
第4章 カウンタ
大阪大学 大学院情報科学研究科
今井 正治
[email protected]://www-ise1.ist.osaka-u.ac.jp/~imai/
![Page 2: 大阪大学大学院情報科学研究科 今井正治 …imai/class/DIGITAL/PDF...N 進カウンタ その他のカウンタ まとめ 2006/10/31 ©2006, Masaharu Imai 14 同期式カウンタ](https://reader034.vdocument.in/reader034/viewer/2022042316/5f0559987e708231d4128767/html5/thumbnails/2.jpg)
2006/10/31 ©2006, Masaharu Imai 2
講義内容
カウンタとは何か?非同期式カウンタと同期式カウンタ
アップダウン・カウンタ
N 進カウンタ
その他のカウンタ
まとめ
![Page 3: 大阪大学大学院情報科学研究科 今井正治 …imai/class/DIGITAL/PDF...N 進カウンタ その他のカウンタ まとめ 2006/10/31 ©2006, Masaharu Imai 14 同期式カウンタ](https://reader034.vdocument.in/reader034/viewer/2022042316/5f0559987e708231d4128767/html5/thumbnails/3.jpg)
2006/10/31 ©2006, Masaharu Imai 3
カウンタとは?パルスの個数の計測
基本は Tフリップ・フロップ
カウンタの応用ディジタル値の計測
周期的な信号の分周
タイマー
カウンタの機能の分類アップ・カウンタ(Up Counter)/ダウン・カウンタ(Down Counter)非同期式(Asynchronous)カウンタ/同期式(Synchronous)カウンタ
![Page 4: 大阪大学大学院情報科学研究科 今井正治 …imai/class/DIGITAL/PDF...N 進カウンタ その他のカウンタ まとめ 2006/10/31 ©2006, Masaharu Imai 14 同期式カウンタ](https://reader034.vdocument.in/reader034/viewer/2022042316/5f0559987e708231d4128767/html5/thumbnails/4.jpg)
2006/10/31 ©2006, Masaharu Imai 4
Tフリップ・フロップ(TFF)
入力パルスが入るたびに出力が反転
CLR T Q’
‘0’ ー ‘0’
‘1’ QCLR
T Q
TFF
![Page 5: 大阪大学大学院情報科学研究科 今井正治 …imai/class/DIGITAL/PDF...N 進カウンタ その他のカウンタ まとめ 2006/10/31 ©2006, Masaharu Imai 14 同期式カウンタ](https://reader034.vdocument.in/reader034/viewer/2022042316/5f0559987e708231d4128767/html5/thumbnails/5.jpg)
2006/10/31 ©2006, Masaharu Imai 5
DFFによるTFFの実現
D Q
DFFCK QCLR
T_in
Q_out
clear
![Page 6: 大阪大学大学院情報科学研究科 今井正治 …imai/class/DIGITAL/PDF...N 進カウンタ その他のカウンタ まとめ 2006/10/31 ©2006, Masaharu Imai 14 同期式カウンタ](https://reader034.vdocument.in/reader034/viewer/2022042316/5f0559987e708231d4128767/html5/thumbnails/6.jpg)
2006/10/31 ©2006, Masaharu Imai 6
JKFFによるTFFの実現
J Q
CK
JKFF
QCLR
K
Q_outT_in
clear
‘1’
‘1’
J Q
CK
JKFF
QCLR
K
Q_outT_in
clear
![Page 7: 大阪大学大学院情報科学研究科 今井正治 …imai/class/DIGITAL/PDF...N 進カウンタ その他のカウンタ まとめ 2006/10/31 ©2006, Masaharu Imai 14 同期式カウンタ](https://reader034.vdocument.in/reader034/viewer/2022042316/5f0559987e708231d4128767/html5/thumbnails/7.jpg)
2006/10/31 ©2006, Masaharu Imai 7
講義内容
カウンタとは何か?非同期式カウンタと同期式カウンタ
非同期式カウンタ
同期式カウンタ
アップダウン・カウンタ
N 進カウンタ
その他のカウンタ
まとめ
![Page 8: 大阪大学大学院情報科学研究科 今井正治 …imai/class/DIGITAL/PDF...N 進カウンタ その他のカウンタ まとめ 2006/10/31 ©2006, Masaharu Imai 14 同期式カウンタ](https://reader034.vdocument.in/reader034/viewer/2022042316/5f0559987e708231d4128767/html5/thumbnails/8.jpg)
2006/10/31 ©2006, Masaharu Imai 8
TFFを用いた非同期式カウンタの実装
Ripple Carry Counter
T
CLR
Q
Q2 Q3
T
TFF
T
CLR
Q
Q1
T
CLR
Q
Q0
T
CLR
Q
CLR
TFFTFFTFF
![Page 9: 大阪大学大学院情報科学研究科 今井正治 …imai/class/DIGITAL/PDF...N 進カウンタ その他のカウンタ まとめ 2006/10/31 ©2006, Masaharu Imai 14 同期式カウンタ](https://reader034.vdocument.in/reader034/viewer/2022042316/5f0559987e708231d4128767/html5/thumbnails/9.jpg)
2006/10/31 ©2006, Masaharu Imai 9
JKFFを用いた非同期式カウンタの実装
J
K
CKQ
Q
J
K
CKQ
Q
‘1’ ‘1’Q0
J
K
CKQ
Q
‘1’Q1
J
K
CKQ
Q
‘1’Q2 Q3
T
CLRCLR CLR CLRCLR
![Page 10: 大阪大学大学院情報科学研究科 今井正治 …imai/class/DIGITAL/PDF...N 進カウンタ その他のカウンタ まとめ 2006/10/31 ©2006, Masaharu Imai 14 同期式カウンタ](https://reader034.vdocument.in/reader034/viewer/2022042316/5f0559987e708231d4128767/html5/thumbnails/10.jpg)
2006/10/31 ©2006, Masaharu Imai 10
非同期式カウンタの動作
T
Q0
Q1
Q2
Q3
![Page 11: 大阪大学大学院情報科学研究科 今井正治 …imai/class/DIGITAL/PDF...N 進カウンタ その他のカウンタ まとめ 2006/10/31 ©2006, Masaharu Imai 14 同期式カウンタ](https://reader034.vdocument.in/reader034/viewer/2022042316/5f0559987e708231d4128767/html5/thumbnails/11.jpg)
2006/10/31 ©2006, Masaharu Imai 11
非同期式カウンタでの遅延
T
Q0
Q1
Q2
Q3
![Page 12: 大阪大学大学院情報科学研究科 今井正治 …imai/class/DIGITAL/PDF...N 進カウンタ その他のカウンタ まとめ 2006/10/31 ©2006, Masaharu Imai 14 同期式カウンタ](https://reader034.vdocument.in/reader034/viewer/2022042316/5f0559987e708231d4128767/html5/thumbnails/12.jpg)
2006/10/31 ©2006, Masaharu Imai 12
非同期式カウンタの問題点
段数が多い場合に,遅延時間が長くなる
出力に期待しない遷移が現れる
出力をデコードして使用する場合には,ハザードの原因になり得る
例
⎟⎟⎟⎟⎟
⎠
⎞
⎜⎜⎜⎜⎜
⎝
⎛
⇒
⎟⎟⎟⎟⎟
⎠
⎞
⎜⎜⎜⎜⎜
⎝
⎛
⇒
⎟⎟⎟⎟⎟
⎠
⎞
⎜⎜⎜⎜⎜
⎝
⎛
⇒
⎟⎟⎟⎟⎟
⎠
⎞
⎜⎜⎜⎜⎜
⎝
⎛
⇒
⎟⎟⎟⎟⎟
⎠
⎞
⎜⎜⎜⎜⎜
⎝
⎛
=
⎟⎟⎟⎟⎟
⎠
⎞
⎜⎜⎜⎜⎜
⎝
⎛
1
0
0
0
0
0
0
0
0
1
0
0
0
1
1
0
0
1
1
1
Q
Q
Q
Q
3
2
1
0
![Page 13: 大阪大学大学院情報科学研究科 今井正治 …imai/class/DIGITAL/PDF...N 進カウンタ その他のカウンタ まとめ 2006/10/31 ©2006, Masaharu Imai 14 同期式カウンタ](https://reader034.vdocument.in/reader034/viewer/2022042316/5f0559987e708231d4128767/html5/thumbnails/13.jpg)
2006/10/31 ©2006, Masaharu Imai 13
講義内容
カウンタとは何か?非同期式カウンタと同期式カウンタ
非同期式カウンタ
同期式カウンタ
アップダウン・カウンタ
N 進カウンタ
その他のカウンタ
まとめ
![Page 14: 大阪大学大学院情報科学研究科 今井正治 …imai/class/DIGITAL/PDF...N 進カウンタ その他のカウンタ まとめ 2006/10/31 ©2006, Masaharu Imai 14 同期式カウンタ](https://reader034.vdocument.in/reader034/viewer/2022042316/5f0559987e708231d4128767/html5/thumbnails/14.jpg)
2006/10/31 ©2006, Masaharu Imai 14
同期式カウンタ
後段になるほど,ANDゲートの入力数が増える
J
K
CKQ
Q
J
K
CKQ
Q
‘1’
Q1
J
K
CKQ
Q
Q2
J
K
CKQ
Q
Q3 Q4
T
![Page 15: 大阪大学大学院情報科学研究科 今井正治 …imai/class/DIGITAL/PDF...N 進カウンタ その他のカウンタ まとめ 2006/10/31 ©2006, Masaharu Imai 14 同期式カウンタ](https://reader034.vdocument.in/reader034/viewer/2022042316/5f0559987e708231d4128767/html5/thumbnails/15.jpg)
2006/10/31 ©2006, Masaharu Imai 15
リップル・キャリー型同期式カウンタ
ゲートの入力線数は一定
J
K
CKQ
Q
J
K
CKQ
Q
‘1’
Q1
J
K
CKQ
Q
Q2
J
K
CKQ
Q
Q3 Q4
T
![Page 16: 大阪大学大学院情報科学研究科 今井正治 …imai/class/DIGITAL/PDF...N 進カウンタ その他のカウンタ まとめ 2006/10/31 ©2006, Masaharu Imai 14 同期式カウンタ](https://reader034.vdocument.in/reader034/viewer/2022042316/5f0559987e708231d4128767/html5/thumbnails/16.jpg)
2006/10/31 ©2006, Masaharu Imai 16
同期式カウンタと非同期式カウンタの比較
非同期式カウンタ 同期式カウンタ
特徴
回路構成は簡単
クロック(カウント信号)の変化はFFのスイッチング遅延時間の
限界まで早くできる
カウント値が安定するのに必要な時間が長い
出力にハザードが発生する
回路構成は少し複雑
クロックはキャリーの伝播遅延時間とFFのスイッチング遅延時間で決まる(非同期式より遅い)
カウント値が安定するのに必要な時間が短い
出力にハザードが発生しない
用途
低速の回路
高い周波数のクロックの分周回路
通常のディジタル回路
![Page 17: 大阪大学大学院情報科学研究科 今井正治 …imai/class/DIGITAL/PDF...N 進カウンタ その他のカウンタ まとめ 2006/10/31 ©2006, Masaharu Imai 14 同期式カウンタ](https://reader034.vdocument.in/reader034/viewer/2022042316/5f0559987e708231d4128767/html5/thumbnails/17.jpg)
2006/10/31 ©2006, Masaharu Imai 17
講義内容
カウンタとは何か?非同期式カウンタと同期式カウンタ
アップダウン・カウンタ非同期式ダウン・カウンタ
同期式ダウン・カウンタ
アップ・ダウン・カウンタ
N 進カウンタ
その他のカウンタ
まとめ
![Page 18: 大阪大学大学院情報科学研究科 今井正治 …imai/class/DIGITAL/PDF...N 進カウンタ その他のカウンタ まとめ 2006/10/31 ©2006, Masaharu Imai 14 同期式カウンタ](https://reader034.vdocument.in/reader034/viewer/2022042316/5f0559987e708231d4128767/html5/thumbnails/18.jpg)
2006/10/31 ©2006, Masaharu Imai 18
アップ・カウンタのエンティティ記述
library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;
entity up_counter_16 isport (
clock: in std_logic;clr_b: in std_logic;q_out: out std_logic_vector ( 3 downto 0 ) );
end entity up_counter_16;
![Page 19: 大阪大学大学院情報科学研究科 今井正治 …imai/class/DIGITAL/PDF...N 進カウンタ その他のカウンタ まとめ 2006/10/31 ©2006, Masaharu Imai 14 同期式カウンタ](https://reader034.vdocument.in/reader034/viewer/2022042316/5f0559987e708231d4128767/html5/thumbnails/19.jpg)
2006/10/31 ©2006, Masaharu Imai 19
アップ・カウンタのビヘイビア記述
architecture behavior of up_counter_16 isbegin
process( clock, clr_b ) variable reg: std_logic_vector ( 3 downto 0 );
beginif ( clr_b = '0' ) then
reg := "0000"; elsif ( clock'event and clock = '1' ) then
reg := reg + 1;end if;q_out <= reg;
end process;end architecture behavior;
![Page 20: 大阪大学大学院情報科学研究科 今井正治 …imai/class/DIGITAL/PDF...N 進カウンタ その他のカウンタ まとめ 2006/10/31 ©2006, Masaharu Imai 14 同期式カウンタ](https://reader034.vdocument.in/reader034/viewer/2022042316/5f0559987e708231d4128767/html5/thumbnails/20.jpg)
2006/10/31 ©2006, Masaharu Imai 20
非同期式アップカウンタの基本構成
J
K
CK
Q
Q
J
K
CK
Q
Q
‘1’ ‘1’Q0
J
K
CK
Q
Q
‘1’Q1
J
K
CK
Q
Q
‘1’Q2 Q3
T
![Page 21: 大阪大学大学院情報科学研究科 今井正治 …imai/class/DIGITAL/PDF...N 進カウンタ その他のカウンタ まとめ 2006/10/31 ©2006, Masaharu Imai 14 同期式カウンタ](https://reader034.vdocument.in/reader034/viewer/2022042316/5f0559987e708231d4128767/html5/thumbnails/21.jpg)
2006/10/31 ©2006, Masaharu Imai 21
非同期式アップ・カウンタの動作
T
Q0
Q1
Q2
Q3
![Page 22: 大阪大学大学院情報科学研究科 今井正治 …imai/class/DIGITAL/PDF...N 進カウンタ その他のカウンタ まとめ 2006/10/31 ©2006, Masaharu Imai 14 同期式カウンタ](https://reader034.vdocument.in/reader034/viewer/2022042316/5f0559987e708231d4128767/html5/thumbnails/22.jpg)
2006/10/31 ©2006, Masaharu Imai 22
ダウン・カウンタのエンティティ記述
library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;
entity dn_counter_16 isport (
clock: in std_logic;clr_b: in std_logic;q_out: out std_logic_vector ( 3 downto 0 ) );
end entity dn_counter_16;
![Page 23: 大阪大学大学院情報科学研究科 今井正治 …imai/class/DIGITAL/PDF...N 進カウンタ その他のカウンタ まとめ 2006/10/31 ©2006, Masaharu Imai 14 同期式カウンタ](https://reader034.vdocument.in/reader034/viewer/2022042316/5f0559987e708231d4128767/html5/thumbnails/23.jpg)
2006/10/31 ©2006, Masaharu Imai 23
ダウン・カウンタのビヘイビア記述
architecture behavior of dn_counter_16 isbegin
process( clock, clr_b ) variable reg: std_logic_vector ( 3 downto 0 );
beginif ( clr_b = '0' ) then
reg := "0000"; elsif ( clock'event and clock = '1' ) then
reg := reg - 1;end if;q_out <= reg;
end process;end architecture behavior;
![Page 24: 大阪大学大学院情報科学研究科 今井正治 …imai/class/DIGITAL/PDF...N 進カウンタ その他のカウンタ まとめ 2006/10/31 ©2006, Masaharu Imai 14 同期式カウンタ](https://reader034.vdocument.in/reader034/viewer/2022042316/5f0559987e708231d4128767/html5/thumbnails/24.jpg)
2006/10/31 ©2006, Masaharu Imai 24
非同期式ダウン・カウンタの構成方法
方法1: FFの出力信号の変換
内部状態の「1の補数」を出力
方法2: FFへの逆位相入力
Qを次段のクロック信号に加える
方法3: FFの動作モードの変更
立上りエッジトリガFFを利用
![Page 25: 大阪大学大学院情報科学研究科 今井正治 …imai/class/DIGITAL/PDF...N 進カウンタ その他のカウンタ まとめ 2006/10/31 ©2006, Masaharu Imai 14 同期式カウンタ](https://reader034.vdocument.in/reader034/viewer/2022042316/5f0559987e708231d4128767/html5/thumbnails/25.jpg)
2006/10/31 ©2006, Masaharu Imai 25
1の補数
10進数バイナリコード
1の補数 10進数バイナリコード
1の補数
1000 0111
0110
0101
0100
0011
0010
0001
0000
1001
1010
1011
1100
1101
1110
1111
8
9
10
11
12
13
14
15
0 0000 1111
1 0001 1110
2 0010 1101
3 0011 1100
4 0100 1011
5 0101 1010
6 0110 1001
7 0111 1000
![Page 26: 大阪大学大学院情報科学研究科 今井正治 …imai/class/DIGITAL/PDF...N 進カウンタ その他のカウンタ まとめ 2006/10/31 ©2006, Masaharu Imai 14 同期式カウンタ](https://reader034.vdocument.in/reader034/viewer/2022042316/5f0559987e708231d4128767/html5/thumbnails/26.jpg)
2006/10/31 ©2006, Masaharu Imai 26
1の補数を用いた非同期式
ダウン・カウンタの実現
内部状態の「1の補数」を出力
J
K
CK
Q
Q
J
K
CK
Q
Q
‘1’ ‘1’
Q0
J
K
CK
Q
Q
‘1’
Q1
J
K
CK
Q
Q
‘1’
Q2 Q3
T
![Page 27: 大阪大学大学院情報科学研究科 今井正治 …imai/class/DIGITAL/PDF...N 進カウンタ その他のカウンタ まとめ 2006/10/31 ©2006, Masaharu Imai 14 同期式カウンタ](https://reader034.vdocument.in/reader034/viewer/2022042316/5f0559987e708231d4128767/html5/thumbnails/27.jpg)
2006/10/31 ©2006, Masaharu Imai 27
‘1’ ‘0’ ‘1’ ‘0’
‘1’ ‘0’
‘1’ ‘0’ ‘1’ ‘0’ ‘1’ ‘0’ ‘1’ ‘0’
‘1’ ‘0’ ‘1’ ‘0’ ‘1’ ‘0’ ‘1’ ‘0’ ‘1’ ‘0’ ‘1’ ‘0’‘1’ ‘0’ ‘1’ ‘0’
1の補数を用いた非同期式
ダウン・カウンタの動作
T
Q0
Q1
Q2
Q3
Q0
Q1
Q2
Q3
![Page 28: 大阪大学大学院情報科学研究科 今井正治 …imai/class/DIGITAL/PDF...N 進カウンタ その他のカウンタ まとめ 2006/10/31 ©2006, Masaharu Imai 14 同期式カウンタ](https://reader034.vdocument.in/reader034/viewer/2022042316/5f0559987e708231d4128767/html5/thumbnails/28.jpg)
2006/10/31 ©2006, Masaharu Imai 28
逆位相入力を用いた非同期式ダウン・カウンタの実現
クロックに逆位相の入力を与える
J
K
CK
Q
Q
J
K
CK
Q
Q
‘1’ ‘1’0Q
TJ
K
CK
Q
Q
‘1’1Q
J
K
CK
Q
Q
‘1’2Q Q3
![Page 29: 大阪大学大学院情報科学研究科 今井正治 …imai/class/DIGITAL/PDF...N 進カウンタ その他のカウンタ まとめ 2006/10/31 ©2006, Masaharu Imai 14 同期式カウンタ](https://reader034.vdocument.in/reader034/viewer/2022042316/5f0559987e708231d4128767/html5/thumbnails/29.jpg)
2006/10/31 ©2006, Masaharu Imai 29
‘0’
‘0’
‘0’
‘0’
‘1’ ‘0’ ‘1’ ‘0’
‘1’ ‘0’
‘1’ ‘0’ ‘1’ ‘0’ ‘1’ ‘0’ ‘1’ ‘0’
‘1’ ‘0’ ‘1’ ‘0’ ‘1’ ‘0’ ‘1’ ‘0’ ‘1’ ‘0’ ‘1’ ‘0’‘1’ ‘0’ ‘1’ ‘0’
逆位相入力を用いた非同期式ダウン・カウンタの動作
T
Q0
Q1
Q2
Q3
Q0
Q1
Q2
Q3
![Page 30: 大阪大学大学院情報科学研究科 今井正治 …imai/class/DIGITAL/PDF...N 進カウンタ その他のカウンタ まとめ 2006/10/31 ©2006, Masaharu Imai 14 同期式カウンタ](https://reader034.vdocument.in/reader034/viewer/2022042316/5f0559987e708231d4128767/html5/thumbnails/30.jpg)
2006/10/31 ©2006, Masaharu Imai 30
動作モードの変更による非同期式ダウン・カウンタの実現
立上りエッジトリガのFFの利用
J
K
CK
Q
Q
J
K
CK
Q
Q
‘1’ Q0
J
K
CK
Q
Q
Q1
J
K
CK
Q
Q
Q2 Q3
T
![Page 31: 大阪大学大学院情報科学研究科 今井正治 …imai/class/DIGITAL/PDF...N 進カウンタ その他のカウンタ まとめ 2006/10/31 ©2006, Masaharu Imai 14 同期式カウンタ](https://reader034.vdocument.in/reader034/viewer/2022042316/5f0559987e708231d4128767/html5/thumbnails/31.jpg)
2006/10/31 ©2006, Masaharu Imai 31
‘0’
‘0’
‘0’
‘0’
‘1’ ‘0’ ‘1’ ‘0’
‘1’ ‘0’
‘1’ ‘0’ ‘1’ ‘0’ ‘1’ ‘0’ ‘1’ ‘0’
‘1’ ‘0’ ‘1’ ‘0’ ‘1’ ‘0’ ‘1’ ‘0’ ‘1’ ‘0’ ‘1’ ‘0’‘1’ ‘0’ ‘1’ ‘0’
動作モードの変更による非同期式ダウン・カウンタの動作
T
Q0
Q1
Q2
Q3
Q0
Q1
Q2
Q3
![Page 32: 大阪大学大学院情報科学研究科 今井正治 …imai/class/DIGITAL/PDF...N 進カウンタ その他のカウンタ まとめ 2006/10/31 ©2006, Masaharu Imai 14 同期式カウンタ](https://reader034.vdocument.in/reader034/viewer/2022042316/5f0559987e708231d4128767/html5/thumbnails/32.jpg)
2006/10/31 ©2006, Masaharu Imai 32
非同期式カウンタの分類
エッジトリガ2段目以降の入
力の位相出力Q 出力Q
立下り 正相 アップ ダウン
立下り 逆相 ダウン アップ
立上り 正相 ダウン アップ
立上り 逆相 アップ ダウン
![Page 33: 大阪大学大学院情報科学研究科 今井正治 …imai/class/DIGITAL/PDF...N 進カウンタ その他のカウンタ まとめ 2006/10/31 ©2006, Masaharu Imai 14 同期式カウンタ](https://reader034.vdocument.in/reader034/viewer/2022042316/5f0559987e708231d4128767/html5/thumbnails/33.jpg)
2006/10/31 ©2006, Masaharu Imai 33
講義内容
カウンタとは何か?非同期式カウンタと同期式カウンタ
アップダウン・カウンタ非同期式ダウン・カウンタ
同期式ダウン・カウンタ
アップ・ダウン・カウンタ
N 進カウンタ
その他のカウンタ
まとめ
![Page 34: 大阪大学大学院情報科学研究科 今井正治 …imai/class/DIGITAL/PDF...N 進カウンタ その他のカウンタ まとめ 2006/10/31 ©2006, Masaharu Imai 14 同期式カウンタ](https://reader034.vdocument.in/reader034/viewer/2022042316/5f0559987e708231d4128767/html5/thumbnails/34.jpg)
2006/10/31 ©2006, Masaharu Imai 34
同期式ダウン・カウンタの状態推移
現在の状態 次の状態 現在の状態 次の状態
Q3 Q2 Q1 Q0 Q2 Q1 Q0 Q2 Q1 Q0 Q2 Q1 Q0Q3 Q3 Q3
1 1 1 11 1
100001
110000
1100001
1110000
1 1 1 00 1
010101
011001
0101010
1001100
00000001
00000000
1 1 1 00 0
011001
1101010
01010 1
1001100
11111110
11111111
![Page 35: 大阪大学大学院情報科学研究科 今井正治 …imai/class/DIGITAL/PDF...N 進カウンタ その他のカウンタ まとめ 2006/10/31 ©2006, Masaharu Imai 14 同期式カウンタ](https://reader034.vdocument.in/reader034/viewer/2022042316/5f0559987e708231d4128767/html5/thumbnails/35.jpg)
2006/10/31 ©2006, Masaharu Imai 35
FFの状態を変化させる条件Q0 Q1
10
11
01
00
Q0 10110100
Q2Q3
1111
1111
1111
1111
Q0 Q1
10
11
01
00
Q1 10110100
Q2Q3
0011
0011
0011
0011
Q0 Q1
10
11
01
00
Q2 10110100
Q2Q3
0001
0001
0001
0001
Q0 Q1
10
11
01
00
Q3 10110100
Q2Q3
0000
0000
0001
0001
![Page 36: 大阪大学大学院情報科学研究科 今井正治 …imai/class/DIGITAL/PDF...N 進カウンタ その他のカウンタ まとめ 2006/10/31 ©2006, Masaharu Imai 14 同期式カウンタ](https://reader034.vdocument.in/reader034/viewer/2022042316/5f0559987e708231d4128767/html5/thumbnails/36.jpg)
2006/10/31 ©2006, Masaharu Imai 36
同期式ダウン・カウンタの構成
J
K
CKQ
Q
J
K
CKQ
Q
‘1’
Q0
J
K
CKQ
Q
Q1
J
K
CKQ
Q
Q2 Q3
T
![Page 37: 大阪大学大学院情報科学研究科 今井正治 …imai/class/DIGITAL/PDF...N 進カウンタ その他のカウンタ まとめ 2006/10/31 ©2006, Masaharu Imai 14 同期式カウンタ](https://reader034.vdocument.in/reader034/viewer/2022042316/5f0559987e708231d4128767/html5/thumbnails/37.jpg)
2006/10/31 ©2006, Masaharu Imai 37
講義内容
カウンタとは何か?非同期式カウンタと同期式カウンタ
アップダウン・カウンタ非同期式ダウン・カウンタ
同期式ダウン・カウンタ
アップ・ダウン・カウンタ
N 進カウンタ
その他のカウンタ
まとめ
![Page 38: 大阪大学大学院情報科学研究科 今井正治 …imai/class/DIGITAL/PDF...N 進カウンタ その他のカウンタ まとめ 2006/10/31 ©2006, Masaharu Imai 14 同期式カウンタ](https://reader034.vdocument.in/reader034/viewer/2022042316/5f0559987e708231d4128767/html5/thumbnails/38.jpg)
2006/10/31 ©2006, Masaharu Imai 38
アップダウン・カウンタのエンティティ記述
library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;
entity updn_counter_16 isport (
clock: in std_logic;clr_b: in std_logic;u_db: in std_logic;q_out: out std_logic_vector ( 3 downto 0 ) );
end entity updn_counter_16;
![Page 39: 大阪大学大学院情報科学研究科 今井正治 …imai/class/DIGITAL/PDF...N 進カウンタ その他のカウンタ まとめ 2006/10/31 ©2006, Masaharu Imai 14 同期式カウンタ](https://reader034.vdocument.in/reader034/viewer/2022042316/5f0559987e708231d4128767/html5/thumbnails/39.jpg)
2006/10/31 ©2006, Masaharu Imai 39
アップダウン・カウンタのビヘイビア記述(1)architecture behavior of updn_counter_16 isbegin
process( clock, clr_b ) variable reg: std_logic_vector ( 3 downto 0 );
beginif ( clr_b = '0' ) then
reg := "0000"; elsif ( clock'event and clock = '1' ) then
if ( u_db = '1' ) then -- upreg := reg + 1;
elsif ( u_db = '0' ) then – downreg := reg - 1;
![Page 40: 大阪大学大学院情報科学研究科 今井正治 …imai/class/DIGITAL/PDF...N 進カウンタ その他のカウンタ まとめ 2006/10/31 ©2006, Masaharu Imai 14 同期式カウンタ](https://reader034.vdocument.in/reader034/viewer/2022042316/5f0559987e708231d4128767/html5/thumbnails/40.jpg)
2006/10/31 ©2006, Masaharu Imai 40
アップダウン・カウンタのビヘイビア記述(2)else
reg := "XXXX";end if;
end if;q_out <= reg;
end process;end architecture behavior;
![Page 41: 大阪大学大学院情報科学研究科 今井正治 …imai/class/DIGITAL/PDF...N 進カウンタ その他のカウンタ まとめ 2006/10/31 ©2006, Masaharu Imai 14 同期式カウンタ](https://reader034.vdocument.in/reader034/viewer/2022042316/5f0559987e708231d4128767/html5/thumbnails/41.jpg)
2006/10/31 ©2006, Masaharu Imai 41
アップ・ダウン・カウンタ
実現の方針1段目: 必ず反転
2段目: カウント・アップ/カウント・ダウンを指示する信号の値によって,Q0 またはQ0 のいずれかを選択し
て反転信号とする。
3段目以降:カウント・アップ/カウント・ダウンを指示する信号の値によって,前段の出力(Qi またはQi )の
いずれかを選択する。その値と前段の反転信号との論理積をその段の反転信号とする。
![Page 42: 大阪大学大学院情報科学研究科 今井正治 …imai/class/DIGITAL/PDF...N 進カウンタ その他のカウンタ まとめ 2006/10/31 ©2006, Masaharu Imai 14 同期式カウンタ](https://reader034.vdocument.in/reader034/viewer/2022042316/5f0559987e708231d4128767/html5/thumbnails/42.jpg)
2006/10/31 ©2006, Masaharu Imai 42
同期式アップダウン・カウンタの構成
J PR Q
CK
K CLR Q
preset
clear
up/dw
clock
J PR Q
CK
K CLR Q
J PR Q
CK
K CLR Q
J PR Q
CK
K CLR Q
‘1’
![Page 43: 大阪大学大学院情報科学研究科 今井正治 …imai/class/DIGITAL/PDF...N 進カウンタ その他のカウンタ まとめ 2006/10/31 ©2006, Masaharu Imai 14 同期式カウンタ](https://reader034.vdocument.in/reader034/viewer/2022042316/5f0559987e708231d4128767/html5/thumbnails/43.jpg)
2006/10/31 ©2006, Masaharu Imai 43
マルチプレクサのエンティティ記述
library ieee;use ieee.std_logic_1164.all;
entity mux_2 isport(
s_in: in std_logic;d_in0: in std_logic;d_in1: in std_logic;d_out: out std_logic );
end entity mux_2;
d_in0d_in1
d_out
s_in
![Page 44: 大阪大学大学院情報科学研究科 今井正治 …imai/class/DIGITAL/PDF...N 進カウンタ その他のカウンタ まとめ 2006/10/31 ©2006, Masaharu Imai 14 同期式カウンタ](https://reader034.vdocument.in/reader034/viewer/2022042316/5f0559987e708231d4128767/html5/thumbnails/44.jpg)
2006/10/31 ©2006, Masaharu Imai 44
マルチプレクサのビヘイビア記述
architecture behavior of mux_2 isbegin
process( s_in, d_in0, d_in1 ) variable d_nxt: std_logic;
beginif s_in = '0' then
d_nxt := d_in0;elsif s_in = '1' then
d_nxt := d_in1;else
d_nxt := 'X';end if;d_out <= d_nxt after Tpd;
end process;end architecture behavior;
![Page 45: 大阪大学大学院情報科学研究科 今井正治 …imai/class/DIGITAL/PDF...N 進カウンタ その他のカウンタ まとめ 2006/10/31 ©2006, Masaharu Imai 14 同期式カウンタ](https://reader034.vdocument.in/reader034/viewer/2022042316/5f0559987e708231d4128767/html5/thumbnails/45.jpg)
2006/10/31 ©2006, Masaharu Imai 45
講義内容
カウンタとは何か?非同期式カウンタと同期式カウンタ
アップダウン・カウンタ
N 進カウンタ
非同期式 N進カウンタ
同期式 N進カウンタ
その他のカウンタ
まとめ
![Page 46: 大阪大学大学院情報科学研究科 今井正治 …imai/class/DIGITAL/PDF...N 進カウンタ その他のカウンタ まとめ 2006/10/31 ©2006, Masaharu Imai 14 同期式カウンタ](https://reader034.vdocument.in/reader034/viewer/2022042316/5f0559987e708231d4128767/html5/thumbnails/46.jpg)
2006/10/31 ©2006, Masaharu Imai 46
N進カウンタの設計
強制リセット法所定の値(N)に達したとき,強制的にリセットをかけて初期値(0)に戻す
「ヒゲ」が発生する
カウンタ値修正法所定の値の一つ手前の値(N -1)に達したとき,次のクロックが初段のFFに入るのを止め,そのクロックの立下りでリセットをかけて初期値(0)に戻す
![Page 47: 大阪大学大学院情報科学研究科 今井正治 …imai/class/DIGITAL/PDF...N 進カウンタ その他のカウンタ まとめ 2006/10/31 ©2006, Masaharu Imai 14 同期式カウンタ](https://reader034.vdocument.in/reader034/viewer/2022042316/5f0559987e708231d4128767/html5/thumbnails/47.jpg)
2006/10/31 ©2006, Masaharu Imai 47
強制リセット法を用いた10進カウンタ
J
K
CK
Q
Q
J
K
CK
Q
Q
‘1’ Q0
J
K
CK
Q
Q
Q1
J
K
CK
Q
Q
Q2 Q3
T
CLRCLR CLR CLR
clear
![Page 48: 大阪大学大学院情報科学研究科 今井正治 …imai/class/DIGITAL/PDF...N 進カウンタ その他のカウンタ まとめ 2006/10/31 ©2006, Masaharu Imai 14 同期式カウンタ](https://reader034.vdocument.in/reader034/viewer/2022042316/5f0559987e708231d4128767/html5/thumbnails/48.jpg)
2006/10/31 ©2006, Masaharu Imai 48
強制リセット法の問題点
リセット信号の幅が狭いと誤動作する例: リセットがかかる場合Q1=‘1’であるが,リセットがかかるために, Q1は‘1’から‘0’に変化する。その結果,FF2のクロック入力が立下り,リセットされたQ2の値が‘1’に反転してしまう。その時点では, Q3はすでにリセットされているため,リセット信号はもとに戻っている。
対策リセットが確実に行われるようにするため,リセット信号のパルスの幅を広げる。(単安定バイブレータなどを用いる)
![Page 49: 大阪大学大学院情報科学研究科 今井正治 …imai/class/DIGITAL/PDF...N 進カウンタ その他のカウンタ まとめ 2006/10/31 ©2006, Masaharu Imai 14 同期式カウンタ](https://reader034.vdocument.in/reader034/viewer/2022042316/5f0559987e708231d4128767/html5/thumbnails/49.jpg)
2006/10/31 ©2006, Masaharu Imai 49
強制リセット法を用いた10進カウンタの改善
J
K
CK
Q
Q
J
K
CK
Q
Q
‘1’ Q0
J
K
CK
Q
Q
Q1
J
K
CK
Q
Q
Q2 Q3
T
CLRCLR CLR CLR
clearMM
![Page 50: 大阪大学大学院情報科学研究科 今井正治 …imai/class/DIGITAL/PDF...N 進カウンタ その他のカウンタ まとめ 2006/10/31 ©2006, Masaharu Imai 14 同期式カウンタ](https://reader034.vdocument.in/reader034/viewer/2022042316/5f0559987e708231d4128767/html5/thumbnails/50.jpg)
2006/10/31 ©2006, Masaharu Imai 50
カウンタ値修正法
所定の値から 0 に戻るときの各FFの状態の変
化パターン1 ⇒ 0 の場合
0 ⇒ 0 の場合
例: 10進カウンタ
Q3 と Q0 : 1 ⇒ 0Q2 と Q1 : 0 ⇒ 0
カウント値 Q3 Q2 Q1 Q0
9 (N – 1) 1 0 0 1
0 0 0 0 0
![Page 51: 大阪大学大学院情報科学研究科 今井正治 …imai/class/DIGITAL/PDF...N 進カウンタ その他のカウンタ まとめ 2006/10/31 ©2006, Masaharu Imai 14 同期式カウンタ](https://reader034.vdocument.in/reader034/viewer/2022042316/5f0559987e708231d4128767/html5/thumbnails/51.jpg)
2006/10/31 ©2006, Masaharu Imai 51
FFiの状態変化が 1 ⇒ 0 の場合
場合1-a: FFiへの入力が 1 ⇒ 0 の場合FFi への入力の変化にともなって, FFiの値が変化する
よって,FFi への入力は修正する必要がない
場合1-b: FFiへの入力が 0 ⇒ 0 の場合FFi への入力を修正する必要がある
状態N-1のときに1の値をとる全てのFFの出力およびクロックのANDと前段の出力のORをFFiのクロックに入力する
![Page 52: 大阪大学大学院情報科学研究科 今井正治 …imai/class/DIGITAL/PDF...N 進カウンタ その他のカウンタ まとめ 2006/10/31 ©2006, Masaharu Imai 14 同期式カウンタ](https://reader034.vdocument.in/reader034/viewer/2022042316/5f0559987e708231d4128767/html5/thumbnails/52.jpg)
2006/10/31 ©2006, Masaharu Imai 52
FFiの状態変化が 0 ⇒ 0 の場合
場合2-a: FFiへの入力が 1 ⇒ 0 の場合FFi への入力の変化にともなって, FFiの値が変化してしまうので,FFi への入力を修正する
カウンタの値がN -1のときに0となる信号をFFiのJ入力端子に入力する( FFiより上位のFFについて,出力が1となるFFの出力のNANDでよい)
場合2-b: FFiへの入力が 0 ⇒ 0 の場合FFi への入力を修正する必要がない
![Page 53: 大阪大学大学院情報科学研究科 今井正治 …imai/class/DIGITAL/PDF...N 進カウンタ その他のカウンタ まとめ 2006/10/31 ©2006, Masaharu Imai 14 同期式カウンタ](https://reader034.vdocument.in/reader034/viewer/2022042316/5f0559987e708231d4128767/html5/thumbnails/53.jpg)
2006/10/31 ©2006, Masaharu Imai 53
例題でのカウンタ値の修正
カウント値 Q3 Q2 Q1 Q0
9 (N – 1) 1 0 0 1
0 0 0 0 0
カウンタ値の修正方法
(1-b) 不要(2-b) (2-a) 不要(1-a)
![Page 54: 大阪大学大学院情報科学研究科 今井正治 …imai/class/DIGITAL/PDF...N 進カウンタ その他のカウンタ まとめ 2006/10/31 ©2006, Masaharu Imai 14 同期式カウンタ](https://reader034.vdocument.in/reader034/viewer/2022042316/5f0559987e708231d4128767/html5/thumbnails/54.jpg)
2006/10/31 ©2006, Masaharu Imai 54
カウンタ値修正法を用いた非同期式10進カウンタ
J
K
CK
Q
Q
J
K
CK
Q
Q
‘1’ ‘1’0Q
J
K
CK
Q
Q
‘1’1Q
J
K
CK
Q
Q
‘1’Q2 Q3
T
CLRCLR CLR CLRclear
![Page 55: 大阪大学大学院情報科学研究科 今井正治 …imai/class/DIGITAL/PDF...N 進カウンタ その他のカウンタ まとめ 2006/10/31 ©2006, Masaharu Imai 14 同期式カウンタ](https://reader034.vdocument.in/reader034/viewer/2022042316/5f0559987e708231d4128767/html5/thumbnails/55.jpg)
2006/10/31 ©2006, Masaharu Imai 55
講義内容
カウンタとは何か?非同期式カウンタと同期式カウンタ
アップダウン・カウンタ
N 進カウンタ
非同期式 N進カウンタ
同期式 N進カウンタ
その他のカウンタ
まとめ
![Page 56: 大阪大学大学院情報科学研究科 今井正治 …imai/class/DIGITAL/PDF...N 進カウンタ その他のカウンタ まとめ 2006/10/31 ©2006, Masaharu Imai 14 同期式カウンタ](https://reader034.vdocument.in/reader034/viewer/2022042316/5f0559987e708231d4128767/html5/thumbnails/56.jpg)
2006/10/31 ©2006, Masaharu Imai 56
例: 同期式5進カウンタの設計
同期式5進カウンタの状態遷移表
現在の状態 次の状態
Q2 Q1 Q0 Q2 Q1 Q0
0 0 0 0 0 0 1
1 0 0 1 0 1 0
2 0 1 0 0 1 1
3 0 1 1 1 0 0
4 1 0 0 0 0 0
状態
カウント値 S0
S1
S2S3
S4
![Page 57: 大阪大学大学院情報科学研究科 今井正治 …imai/class/DIGITAL/PDF...N 進カウンタ その他のカウンタ まとめ 2006/10/31 ©2006, Masaharu Imai 14 同期式カウンタ](https://reader034.vdocument.in/reader034/viewer/2022042316/5f0559987e708231d4128767/html5/thumbnails/57.jpg)
2006/10/31 ©2006, Masaharu Imai 57
同期式5進カウンタのカルノー図
Q0
Q0 0 1
00 1 0
01 1 0
11 - -
10 0 -
Q2Q1
-010--11
0101Q2Q1
1000
10Q1
Q1
-010--11
1001Q2Q1
0000
10Q2
Q2
01
02122
QQQQQQQ
++=′ 01011 QQQQQ +=′ 02120 QQQQQ +=′
![Page 58: 大阪大学大学院情報科学研究科 今井正治 …imai/class/DIGITAL/PDF...N 進カウンタ その他のカウンタ まとめ 2006/10/31 ©2006, Masaharu Imai 14 同期式カウンタ](https://reader034.vdocument.in/reader034/viewer/2022042316/5f0559987e708231d4128767/html5/thumbnails/58.jpg)
2006/10/31 ©2006, Masaharu Imai 58
同期式5進カウンタの回路図D
CKQ
QC
DCK
Q
QC
DCK
Q
QC
Q0
Q1
Q2
clearT
01
02122
QQQQQQQ
++=′
01011 QQQQQ +=′
02120 QQQQQ +=′
![Page 59: 大阪大学大学院情報科学研究科 今井正治 …imai/class/DIGITAL/PDF...N 進カウンタ その他のカウンタ まとめ 2006/10/31 ©2006, Masaharu Imai 14 同期式カウンタ](https://reader034.vdocument.in/reader034/viewer/2022042316/5f0559987e708231d4128767/html5/thumbnails/59.jpg)
2006/10/31 ©2006, Masaharu Imai 59
同期式5進と寄生3進カウンタ
現在の状態 次の状態
Q2 Q1 Q0 Q2 Q1 Q0
0 0 0 0 0 0 11 0 0 1 0 1 02 0 1 0 0 1 1
6 1 1 0 1 1 17 1 1 1 1 0 1
3 0 1 1 1 0 04 1 0 0 0 0 05 1 0 1 1 1 0
状態
カウント値
S0
S1
S2S3
S4
S5
S6S7
M1
M2
M1
M2
![Page 60: 大阪大学大学院情報科学研究科 今井正治 …imai/class/DIGITAL/PDF...N 進カウンタ その他のカウンタ まとめ 2006/10/31 ©2006, Masaharu Imai 14 同期式カウンタ](https://reader034.vdocument.in/reader034/viewer/2022042316/5f0559987e708231d4128767/html5/thumbnails/60.jpg)
2006/10/31 ©2006, Masaharu Imai 60
より安全な同期式5進カウンタ(1)
現在の状態 次の状態
Q2 Q1 Q0 Q2 Q1 Q0
0 0 0 0 0 0 11 0 0 1 0 1 02 0 1 0 0 1 1
6 1 1 0 1 1 17 1 1 1 0 0 0
3 0 1 1 1 0 04 1 0 0 0 0 05 1 0 1 1 1 0
状態
カウント値
S0
S1
S2S3
S4
S5
S6S7
M1
M2
![Page 61: 大阪大学大学院情報科学研究科 今井正治 …imai/class/DIGITAL/PDF...N 進カウンタ その他のカウンタ まとめ 2006/10/31 ©2006, Masaharu Imai 14 同期式カウンタ](https://reader034.vdocument.in/reader034/viewer/2022042316/5f0559987e708231d4128767/html5/thumbnails/61.jpg)
2006/10/31 ©2006, Masaharu Imai 61
より安全な同期式5進カウンタ(1)のカルノー図
Q0
Q0 0 100 1 001 1 011 1 010 0 0
Q2Q1
101001110101
Q2Q1
100010Q1
Q0
101001111001
Q2Q1
000010Q2
Q0
012
012
0122
QQQQQQQQQQ
+
+
=′ 01011 QQQQQ +=′ 01020 QQQQQ +=′
![Page 62: 大阪大学大学院情報科学研究科 今井正治 …imai/class/DIGITAL/PDF...N 進カウンタ その他のカウンタ まとめ 2006/10/31 ©2006, Masaharu Imai 14 同期式カウンタ](https://reader034.vdocument.in/reader034/viewer/2022042316/5f0559987e708231d4128767/html5/thumbnails/62.jpg)
2006/10/31 ©2006, Masaharu Imai 62
より安全な同期式5進カウンタ(1)の回路図
DCK
Q
QC
DCK
Q
QC
DCK
Q
QC
Q0
Q1
Q2
clearT
012
012
0122
QQQQQQQQQQ
+
+
=′
01011 QQQQQ +=′
01020 QQQQQ +=′
![Page 63: 大阪大学大学院情報科学研究科 今井正治 …imai/class/DIGITAL/PDF...N 進カウンタ その他のカウンタ まとめ 2006/10/31 ©2006, Masaharu Imai 14 同期式カウンタ](https://reader034.vdocument.in/reader034/viewer/2022042316/5f0559987e708231d4128767/html5/thumbnails/63.jpg)
2006/10/31 ©2006, Masaharu Imai 63
より安全な同期式5進カウンタ (2)
現在の状態 次の状態
Q2 Q1 Q0 Q2 Q1 Q0
0 0 0 0 0 0 11 0 0 1 0 1 02 0 1 0 0 1 1
6 1 1 0 0 0 07 1 1 1 0 0 0
3 0 1 1 1 0 04 1 0 0 0 0 05 1 0 1 0 0 0
状態
カウント値
S0
S1
S2S3
S4
S5
S6S7
M1
M2
![Page 64: 大阪大学大学院情報科学研究科 今井正治 …imai/class/DIGITAL/PDF...N 進カウンタ その他のカウンタ まとめ 2006/10/31 ©2006, Masaharu Imai 14 同期式カウンタ](https://reader034.vdocument.in/reader034/viewer/2022042316/5f0559987e708231d4128767/html5/thumbnails/64.jpg)
2006/10/31 ©2006, Masaharu Imai 64
より安全な同期式5進カウンタ(2)のカルノー図
Q0
Q0 0 100 1 001 1 011 0 010 0 0
Q2Q1
001000110101
Q2Q1
100010Q1
Q0
001000111001
Q2Q1
000010Q2
Q0
0122 QQQQ =′
012
0121
QQQ
QQQQ
+
=′ 020 QQQ =′
![Page 65: 大阪大学大学院情報科学研究科 今井正治 …imai/class/DIGITAL/PDF...N 進カウンタ その他のカウンタ まとめ 2006/10/31 ©2006, Masaharu Imai 14 同期式カウンタ](https://reader034.vdocument.in/reader034/viewer/2022042316/5f0559987e708231d4128767/html5/thumbnails/65.jpg)
2006/10/31 ©2006, Masaharu Imai 65
より安全な同期式5進カウンタ(2)の回路図
DCK
Q
QC
DCK
Q
QC
DCK
Q
QC
Q0
Q1
Q2
clearT
0122 QQQQ =′
012
0121
QQQ
QQQQ
+
=′
020 QQQ =′
![Page 66: 大阪大学大学院情報科学研究科 今井正治 …imai/class/DIGITAL/PDF...N 進カウンタ その他のカウンタ まとめ 2006/10/31 ©2006, Masaharu Imai 14 同期式カウンタ](https://reader034.vdocument.in/reader034/viewer/2022042316/5f0559987e708231d4128767/html5/thumbnails/66.jpg)
2006/10/31 ©2006, Masaharu Imai 66
非同期リセットと同期リセット
フリップ・フロップは,非同期リセットを行うものと同期リセットを行うものの2種類に分類される。
非同期リセットを行うFFでは,リセット信号がアクティブになった場合にすぐさまFFの状態がリセットされる。
同期リセットを行うFFでは,リセット信号がアクティブになったとしてもすぐにはFFの状態がリセットされない。FFの状態がリセットされるのは,リセット信号がアクティブになった直後のクロックの立上り(または立下り)である。
![Page 67: 大阪大学大学院情報科学研究科 今井正治 …imai/class/DIGITAL/PDF...N 進カウンタ その他のカウンタ まとめ 2006/10/31 ©2006, Masaharu Imai 14 同期式カウンタ](https://reader034.vdocument.in/reader034/viewer/2022042316/5f0559987e708231d4128767/html5/thumbnails/67.jpg)
2006/10/31 ©2006, Masaharu Imai 67
非同期リセットと同期リセット
clock
reset
非同期リセット
同期リセット
![Page 68: 大阪大学大学院情報科学研究科 今井正治 …imai/class/DIGITAL/PDF...N 進カウンタ その他のカウンタ まとめ 2006/10/31 ©2006, Masaharu Imai 14 同期式カウンタ](https://reader034.vdocument.in/reader034/viewer/2022042316/5f0559987e708231d4128767/html5/thumbnails/68.jpg)
2006/10/31 ©2006, Masaharu Imai 68
強制リセット法による同期式カウンタの実現
同期式N進カウンタは強制リセット法でも実現で
きる。
同期リセット型のFFを用いる場合
カウント値がN-1になった時にリセットを行えばよい。
非同期リセット型のFFを用いる場合
カウント値がNになった場合にリセットを行えばよい。
![Page 69: 大阪大学大学院情報科学研究科 今井正治 …imai/class/DIGITAL/PDF...N 進カウンタ その他のカウンタ まとめ 2006/10/31 ©2006, Masaharu Imai 14 同期式カウンタ](https://reader034.vdocument.in/reader034/viewer/2022042316/5f0559987e708231d4128767/html5/thumbnails/69.jpg)
2006/10/31 ©2006, Masaharu Imai 69
例:非同期リセット型のFFを用いた同期式10進カウンタ
非同期リセット型の同期式16進カウンタを用いて,次のようにして同期式10進カウンタを実装で
きる。Q3=‘1’ and Q1=‘1’の場合にリセットすればよい。 Q3 Q2 Q1 Q0CK
CL
![Page 70: 大阪大学大学院情報科学研究科 今井正治 …imai/class/DIGITAL/PDF...N 進カウンタ その他のカウンタ まとめ 2006/10/31 ©2006, Masaharu Imai 14 同期式カウンタ](https://reader034.vdocument.in/reader034/viewer/2022042316/5f0559987e708231d4128767/html5/thumbnails/70.jpg)
2006/10/31 ©2006, Masaharu Imai 70
例: 同期リセット型のFFを用いた同期式10進カウンタ
同期リセット型の同期式16進カウンタを用いて,次のようにして同期式10進カウンタを実装できる。
Q3=‘1’ and Q0=‘1’の場合にリセットすればよい。
Q3 Q2 Q1 Q0CK
CL
![Page 71: 大阪大学大学院情報科学研究科 今井正治 …imai/class/DIGITAL/PDF...N 進カウンタ その他のカウンタ まとめ 2006/10/31 ©2006, Masaharu Imai 14 同期式カウンタ](https://reader034.vdocument.in/reader034/viewer/2022042316/5f0559987e708231d4128767/html5/thumbnails/71.jpg)
2006/10/31 ©2006, Masaharu Imai 71
講義内容
カウンタとは何か?非同期式カウンタと同期式カウンタ
アップダウン・カウンタ
N 進カウンタ
その他のカウンタリング・カウンタ
ジョンソン・カウンタ
グレイコード・カウンタ
まとめ
![Page 72: 大阪大学大学院情報科学研究科 今井正治 …imai/class/DIGITAL/PDF...N 進カウンタ その他のカウンタ まとめ 2006/10/31 ©2006, Masaharu Imai 14 同期式カウンタ](https://reader034.vdocument.in/reader034/viewer/2022042316/5f0559987e708231d4128767/html5/thumbnails/72.jpg)
2006/10/31 ©2006, Masaharu Imai 72
リング・カウンタ
状態遷移図 状態割り当てOne-hot Codeシフトレジスタによって実現可能
S1
S2
S3
S4
S5
S6
状態 Q0 Q1 Q2 Q3 Q4 Q5
S0 0 0 0 0 0 0S1 1 0 0 0 0 0S2 0 1 0 0 0 0S3 0 0 1 0 0 0S4 0 0 0 1 0 0S5 0 0 0 0 1 0S6 0 0 0 0 0 1
S0
![Page 73: 大阪大学大学院情報科学研究科 今井正治 …imai/class/DIGITAL/PDF...N 進カウンタ その他のカウンタ まとめ 2006/10/31 ©2006, Masaharu Imai 14 同期式カウンタ](https://reader034.vdocument.in/reader034/viewer/2022042316/5f0559987e708231d4128767/html5/thumbnails/73.jpg)
2006/10/31 ©2006, Masaharu Imai 73
リング・カウンタのエンティティ記述
library ieee;use ieee.std_logic_1164.all;
entity ring_cnt_6 isgeneric(
nbit: natural := 6 );port (
clock: in std_logic;clear: in std_logic;q_out: out std_logic_vector( nbit-1 downto 0 ) );
end entity ring_cnt_6;
![Page 74: 大阪大学大学院情報科学研究科 今井正治 …imai/class/DIGITAL/PDF...N 進カウンタ その他のカウンタ まとめ 2006/10/31 ©2006, Masaharu Imai 14 同期式カウンタ](https://reader034.vdocument.in/reader034/viewer/2022042316/5f0559987e708231d4128767/html5/thumbnails/74.jpg)
2006/10/31 ©2006, Masaharu Imai 74
リング・カウンタのアーキテクチャ記述(1)architecture behavior of ring_cnt_6 isbegin
process( clock, clear )constant zero: std_logic_vector( nbit-1 downto 0 )
:= ( others => '0' );variable s_reg: std_logic_vector( nbit-1 downto 0 );variable carry: std_logic;
beginif clear = '1' then
s_reg := ( others => '0' );
![Page 75: 大阪大学大学院情報科学研究科 今井正治 …imai/class/DIGITAL/PDF...N 進カウンタ その他のカウンタ まとめ 2006/10/31 ©2006, Masaharu Imai 14 同期式カウンタ](https://reader034.vdocument.in/reader034/viewer/2022042316/5f0559987e708231d4128767/html5/thumbnails/75.jpg)
2006/10/31 ©2006, Masaharu Imai 75
リング・カウンタのアーキテクチャ記述(2)elsif falling_edge( clock ) then
if s_reg = zero thens_reg( 0 ) := '1';
elsecarry := s_reg( nbit-1 );for i in nbit-1 downto 1 loop
s_reg( i ) := s_reg( i - 1 );end loop;s_reg( 0 ) := carry;
end if;end if;q_out <= s_reg;
end process;end architecture n_behavior;
![Page 76: 大阪大学大学院情報科学研究科 今井正治 …imai/class/DIGITAL/PDF...N 進カウンタ その他のカウンタ まとめ 2006/10/31 ©2006, Masaharu Imai 14 同期式カウンタ](https://reader034.vdocument.in/reader034/viewer/2022042316/5f0559987e708231d4128767/html5/thumbnails/76.jpg)
2006/10/31 ©2006, Masaharu Imai 76
リングカウンタの動作
Q0
Q1
Q2
clock
clear
Q3
Q4
Q5
![Page 77: 大阪大学大学院情報科学研究科 今井正治 …imai/class/DIGITAL/PDF...N 進カウンタ その他のカウンタ まとめ 2006/10/31 ©2006, Masaharu Imai 14 同期式カウンタ](https://reader034.vdocument.in/reader034/viewer/2022042316/5f0559987e708231d4128767/html5/thumbnails/77.jpg)
2006/10/31 ©2006, Masaharu Imai 77
リング・カウンタの構成方法
D
CK
Q
QCLR
D
CK
Q
QCLR
D
CK
Q
QCLR
D
CK
Q
QCLR
D
CK
Q
QCLR
D
CK
Q
QCLR
Q0 Q1 Q2 Q3 Q4 Q5
CLKCLR
![Page 78: 大阪大学大学院情報科学研究科 今井正治 …imai/class/DIGITAL/PDF...N 進カウンタ その他のカウンタ まとめ 2006/10/31 ©2006, Masaharu Imai 14 同期式カウンタ](https://reader034.vdocument.in/reader034/viewer/2022042316/5f0559987e708231d4128767/html5/thumbnails/78.jpg)
2006/10/31 ©2006, Masaharu Imai 78
講義内容
カウンタとは何か?非同期式カウンタと同期式カウンタ
アップダウン・カウンタ
N 進カウンタ
その他のカウンタリング・カウンタ
ジョンソン・カウンタ
グレイコード・カウンタ
まとめ
![Page 79: 大阪大学大学院情報科学研究科 今井正治 …imai/class/DIGITAL/PDF...N 進カウンタ その他のカウンタ まとめ 2006/10/31 ©2006, Masaharu Imai 14 同期式カウンタ](https://reader034.vdocument.in/reader034/viewer/2022042316/5f0559987e708231d4128767/html5/thumbnails/79.jpg)
2006/10/31 ©2006, Masaharu Imai 79
ジョンソン・カウンタ
状態遷移図 状態割り当て
S0S1
S2
S3S4
S5
状態 Q0 Q1 Q2 Q3
S0 0 0 0 0
0
0
0
1
1
1
1
S1 1 0 0
S2 1 1 0
S3 1 1 1
S4 1 1 1
S5 0 1 1
S6 0 0 1
S7 0 0 0
特徴:
・回路が簡単なので、高速動作が可能。
・隣接する状態コード間のハミング距離が1なので,ハザードが起きない。
S6
S7
![Page 80: 大阪大学大学院情報科学研究科 今井正治 …imai/class/DIGITAL/PDF...N 進カウンタ その他のカウンタ まとめ 2006/10/31 ©2006, Masaharu Imai 14 同期式カウンタ](https://reader034.vdocument.in/reader034/viewer/2022042316/5f0559987e708231d4128767/html5/thumbnails/80.jpg)
2006/10/31 ©2006, Masaharu Imai 80
ジョンソン・カウンタの構成方法
D
CK
Q
QCLR
D
CK
Q
QCLR
D
CK
Q
QCLR
Q0 Q1 Q2
D
CK
Q
QCLR
Q3
CLOCKCLR
![Page 81: 大阪大学大学院情報科学研究科 今井正治 …imai/class/DIGITAL/PDF...N 進カウンタ その他のカウンタ まとめ 2006/10/31 ©2006, Masaharu Imai 14 同期式カウンタ](https://reader034.vdocument.in/reader034/viewer/2022042316/5f0559987e708231d4128767/html5/thumbnails/81.jpg)
2006/10/31 ©2006, Masaharu Imai 81
ジョンソン・カウンタのエンティティ記述
library ieee;use ieee.std_logic_1164.all;
entity jhonson_counter isgeneric(
nbit: natural := 4 );port (
clock: in std_logic;clr_b: in std_logic;q_out: out std_logic_vector ( 3 downto 0 ) );
end entity jhonson_counter;
![Page 82: 大阪大学大学院情報科学研究科 今井正治 …imai/class/DIGITAL/PDF...N 進カウンタ その他のカウンタ まとめ 2006/10/31 ©2006, Masaharu Imai 14 同期式カウンタ](https://reader034.vdocument.in/reader034/viewer/2022042316/5f0559987e708231d4128767/html5/thumbnails/82.jpg)
2006/10/31 ©2006, Masaharu Imai 82
ジョンソン・カウンタのアーキテクチャ記述(1)architecture behavior of jhonson_counter isbegin
process ( clock, clr_b )variable reg: std_logic_vector ( nbit-1 downto 0 );variable carry: std_logic;begin
if ( clr_b = '0' ) thenreg := ( others => '0' );
![Page 83: 大阪大学大学院情報科学研究科 今井正治 …imai/class/DIGITAL/PDF...N 進カウンタ その他のカウンタ まとめ 2006/10/31 ©2006, Masaharu Imai 14 同期式カウンタ](https://reader034.vdocument.in/reader034/viewer/2022042316/5f0559987e708231d4128767/html5/thumbnails/83.jpg)
2006/10/31 ©2006, Masaharu Imai 83
ジョンソン・カウンタのアーキテクチャ記述(2)elsif ( clock'event and clock = '1' ) then
carry := not ( reg( nbit-1 ) );for i in nbit-1 downto 1 loop
reg( i ) := reg ( i - 1 );end loop;reg( 0 ) := carry;
end if;q_out <= reg;
end process;end architecture behavior;
![Page 84: 大阪大学大学院情報科学研究科 今井正治 …imai/class/DIGITAL/PDF...N 進カウンタ その他のカウンタ まとめ 2006/10/31 ©2006, Masaharu Imai 14 同期式カウンタ](https://reader034.vdocument.in/reader034/viewer/2022042316/5f0559987e708231d4128767/html5/thumbnails/84.jpg)
2006/10/31 ©2006, Masaharu Imai 84
ジョンソン・カウンタの動作
Q0
Q1
Q2
clock
clear
Q3
![Page 85: 大阪大学大学院情報科学研究科 今井正治 …imai/class/DIGITAL/PDF...N 進カウンタ その他のカウンタ まとめ 2006/10/31 ©2006, Masaharu Imai 14 同期式カウンタ](https://reader034.vdocument.in/reader034/viewer/2022042316/5f0559987e708231d4128767/html5/thumbnails/85.jpg)
2006/10/31 ©2006, Masaharu Imai 85
講義内容
カウンタとは何か?非同期式カウンタと同期式カウンタ
アップダウン・カウンタ
N 進カウンタ
その他のカウンタリング・カウンタ
ジョンソン・カウンタ
グレイコード・カウンタ
まとめ
![Page 86: 大阪大学大学院情報科学研究科 今井正治 …imai/class/DIGITAL/PDF...N 進カウンタ その他のカウンタ まとめ 2006/10/31 ©2006, Masaharu Imai 14 同期式カウンタ](https://reader034.vdocument.in/reader034/viewer/2022042316/5f0559987e708231d4128767/html5/thumbnails/86.jpg)
2006/10/31 ©2006, Masaharu Imai 86
グレイコード(Gray Code)
10進数バイナリ
コード
グレイ
コード10進数
バイナリ
コード
グレイ
コード
1000 1100
1101
1111
1110
1010
1011
1001
1000
1001
1010
1011
1100
1101
1110
1111
8
9
10
11
12
13
14
15
0 0000 0000
1 0001 0001
2 0010 0011
3 0011 0010
4 0100 0110
5 0101 0111
6 0110 0101
7 0111 0100
![Page 87: 大阪大学大学院情報科学研究科 今井正治 …imai/class/DIGITAL/PDF...N 進カウンタ その他のカウンタ まとめ 2006/10/31 ©2006, Masaharu Imai 14 同期式カウンタ](https://reader034.vdocument.in/reader034/viewer/2022042316/5f0559987e708231d4128767/html5/thumbnails/87.jpg)
2006/10/31 ©2006, Masaharu Imai 87
グレイコード・カウンタの構成方法
DFF
D0D1D2
D3
CKCLR
Q0Q1Q2
Q3
Grayto
Binary
clock
clear
NextState
Function
![Page 88: 大阪大学大学院情報科学研究科 今井正治 …imai/class/DIGITAL/PDF...N 進カウンタ その他のカウンタ まとめ 2006/10/31 ©2006, Masaharu Imai 14 同期式カウンタ](https://reader034.vdocument.in/reader034/viewer/2022042316/5f0559987e708231d4128767/html5/thumbnails/88.jpg)
2006/10/31 ©2006, Masaharu Imai 88
カウンタの比較
種類 周期 特徴
バイナリ・カウンタ 2N 基本のカウンタ
リング・カウンタ N 高々1ビットが ’1’
ジョンソン・カウンタ 2N ハザードなし
グレイ・コード・カウンタ 2N ハザードなし
![Page 89: 大阪大学大学院情報科学研究科 今井正治 …imai/class/DIGITAL/PDF...N 進カウンタ その他のカウンタ まとめ 2006/10/31 ©2006, Masaharu Imai 14 同期式カウンタ](https://reader034.vdocument.in/reader034/viewer/2022042316/5f0559987e708231d4128767/html5/thumbnails/89.jpg)
2006/10/31 ©2006, Masaharu Imai 89
講義内容
カウンタとは何か?非同期式カウンタと同期式カウンタ
アップダウン・カウンタ
N 進カウンタ
その他のカウンタ
まとめ
![Page 90: 大阪大学大学院情報科学研究科 今井正治 …imai/class/DIGITAL/PDF...N 進カウンタ その他のカウンタ まとめ 2006/10/31 ©2006, Masaharu Imai 14 同期式カウンタ](https://reader034.vdocument.in/reader034/viewer/2022042316/5f0559987e708231d4128767/html5/thumbnails/90.jpg)
2006/10/31 ©2006, Masaharu Imai 90
まとめ (1)カウンタは、ディジタル値の計測、周期的な信号の分周、タイマーの実装などに用いられる
カウンターには、アップ・カウンタ、ダウン・カウンタ、アップダウン・カウンタの3種類がある
カウンタの実装方法には、同期式と非同期式の2種類がある
カウンタの実装方法のバリエーションとして、リング・カウンタ、ジョンソン・カウンタ、グレイコード・カウンタなどがある
![Page 91: 大阪大学大学院情報科学研究科 今井正治 …imai/class/DIGITAL/PDF...N 進カウンタ その他のカウンタ まとめ 2006/10/31 ©2006, Masaharu Imai 14 同期式カウンタ](https://reader034.vdocument.in/reader034/viewer/2022042316/5f0559987e708231d4128767/html5/thumbnails/91.jpg)
2006/10/31 ©2006, Masaharu Imai 91
まとめ (2)ダウン・カウンタの実現方法には、1の補数を出力する方法、トグル信号の位相を変更する方法、FFの動作モードを変更する方法がある
非同期式N進カウンタの実現方法には、強制リセット法、およびカウンタ値修正法がある
同期式N進カウンタは、ステートマシンとして設計する
N進カウンタの設計では、予定していない状態に陥らないための工夫が必要である(冗長な状態の除去、リセット)