| BACK | NEXT | U P | HOME |
ちょっと古くなった気がしないでもないけれど、これがわかっていないとツールに使われるだけになるから...(ツールは使う物だからね。(^^;;)
■RTL図とは
Register Transfer Level図の略で、1つの機能ブロックを記述するときに、FFの接続及び組み合わせ論理回路)との接続を明快に記述した、最小機能ブロックを記述するのに適した図です。
作成時には以下の4点に注意して作成します。
例1としてD-FFを使用してJK-FFを作る例を示します。
JK-FFブロック(JK-FFと同様な動作をするブロック)の構造を記述します。
JK-FFの場合、1クロック前の状態で動作が変化するため、フィードバックする線を用意します。
ResetがPower On時Lowのように明らかな場合アサートする方向のみ記述します。
同様にグローバルクロックでClkをドライブする場合は極性のみ記述します。
組み合わせ論理回路の部分は楕円を使用して表現します。
| J | K | Q | NEXT |
| 0 | 0 | 0 | 0 |
| 0 | 0 | 1 | 1 |
| 0 | 1 | 0 | 0 |
| 0 | 1 | 1 | 0 |
| 1 | 0 | 0 | 1 |
| 1 | 0 | 1 | 1 |
| 1 | 1 | 0 | 1 |
| 1 | 1 | 1 | 0 |
ここでnextにあたる部分がD-FFのD入力に接続すればJK-FFをエミュレートできるわけですからnextをDに入れ替えておきましょう。
| J | K | Q | D |
| 0 | 0 | 0 | 0 |
| 0 | 0 | 1 | 1 |
| 0 | 1 | 0 | 0 |
| 0 | 1 | 1 | 0 |
| 1 | 0 | 0 | 1 |
| 1 | 0 | 1 | 1 |
| 1 | 1 | 0 | 1 |
| 1 | 1 | 1 | 0 |
真理値表から有意の部分のみ抽出します。
| J | K | Q | D |
| 0 | 0 | 1 | 1 |
| 1 | 0 | 0 | 1 |
| 1 | 0 | 1 | 1 |
| 1 | 1 | 0 | 1 |
論理圧縮します。
| J | K | Q | D |
| - | 0 | 1 | 1 |
| 1 | - | 0 | 1 |
論理式 (!K&Q)|(J&!Q)
上記真理値を回路図になおします。
RTL図にはめ込みます。
余談ですが組み合わせ論理回路部の回路を見たときセレクタで実現可能なような気がしませんか。
同様に例2として4bitダウンカウンタを、D-FFを使用して作ってみましょう。
ダウンカウンタのRTL図を作成します。
JK-FFと同様に1クロック前の状態で次の動作が変化するため、フィードバックする線を用意します。
カウント値変更用の組み合わせ論理回路A(CombA)、キャリーアウト生成用の組み合わせ論理回路はミーリ出力として取り出すための組み合わせ論理回路B(CombB)を用意します。
|
| ||
if ...then ...elseの構造をした論理はセレクタを使用すると設計が早くすむ場合が多いのでCombAはセレクタとCombCの新たな構造を定義してCombAを記述してみましょう。
|
|
|
各出力にまとめます。
|
|
|
|
|
|
|
|
CombCを回路図で表現します。
全部を組み合わせると4bitダウンカウンタの完成です。
| BACK | NEXT | U P | HOME |