1. デコーダ、8bit加算器などの組み合わせ回路が設計できる。
2. n進カウンタなどの基本的な順序回路が設計できる。
3. 交通信号のようなシーケンス制御回路や、ストップウォッチ程度の論理回路が設計できる。
4. 前述のような基礎的な回路をVHDL言語で設計できる。
概要:
本講義では実践的な論理回路設計の能力を身につける事を目標とする。前期には、2学年の計算機基礎で学習した論理回路の知識をもとに,基本的な組み合わせ回路、順序回路の設計法について述べる。後期には基本的な回路を組み合わせた応用例、ストップウォッチや信号機などのシーケンサについて述べる。また、実際の設計ではデバイスの遅延時間やセットアップタイム、ホールドタイムなどを考慮しなければならないこと、フェイルセーフの考え方などについて述べる。また、後期後半ではVHDL言語による回路の設計を学ぶ。講義ではいくつかの設計課題が出される。課題は演習室のコンピュータ上で回路を作成し、実際にFPGAを使って回路を実現し動作確認するという実践的な方法で実施される。
授業の進め方・方法:
前半の論理回路記述の講義ではハンドアウトのプリント、後期のVHDL言語の講義では専門書を使用する。ただし、教科書というより参考書で、その本に沿って講義をするのでなく、設計時に参考にするものであ。講義ではいくつかの設計課題が出される。課題は演習室のコンピュータ上(EDAソフトquartusII)で回路を作成し、シミュレーションを経て、実際にFPGAを使って回路を実現し動作確認するという実践的な方法で実施される。
注意点:
定期試験の成績を70%、課題30%として評価する。
1.評価については、評価割合に従って行います。ただし、 適宜再試や追加課題を課し、加点することがあります。
2.中間試験を授業時間内に実施することがあります。
|
|
週 |
授業内容 |
週ごとの到達目標 |
前期 |
1stQ |
1週 |
ガイダンス、2進数,ブール代数、カルノー図の復習 |
2進<->10新変換ができる。ブール代数の意味、カルノー図の役割が説明できる
|
2週 |
ゲート回路、ド・モルガンの定理の復習 |
and,or,notゲートの動作を説明できる。ドモルガンの定理を示すことができ、証明できる。
|
3週 |
フリップフロップの種類、エッジトリガ型の動作 |
D、T、JKフリップフロップの動作、エッジトリガ型の動作を説明できる。
|
4週 |
論理デバイス、ファンイン、ファンアウト |
TTL, CMOS, PLD等のICの種類と内部の回路を説明できる。ファンイン、ファンアウト条件を満足しているか判定できる。
|
5週 |
スレショルド電圧,遅延時間、セットアップ,ホールドタイム |
スレショルド電圧の意味を説明できる。論理回路の遅延時間を計算できる。順序回路の最大動作周波数を求めることができる。
|
6週 |
スイッチ入力 quartus-IIの使い方 |
チャタリングの意味を説明できる。チャタリング除去回路を示し、動作原理を説明できる。quartus-IIで回路図作成ができる。
|
7週 |
組み合わせ回路の設計 |
7セグメントLEDデコーダの設計ができる
|
8週 |
組み合わせ回路の演習 遅延時間計算の演習 |
組み合わせ回路が設計できる。遅延時間が計算できる。
|
2ndQ |
9週 |
組み合わせ回路の演習 遅延時間計算の演習 |
組み合わせ回路が設計できる。遅延時間が計算できる。
|
10週 |
組み合わせ回路の設計 |
7セグメントLEDデコーダの回路をquartus上で回路図作成、コンパイルしてFPGAに実装できる
|
11週 |
加算回路の設計 |
全加算器が設計でき、複数ビットの加算器に拡張できる
|
12週 |
加算回路の設計 |
8bit加算回路をquartus上で作成、コンパイルしFPGAに実装できる
|
13週 |
順序回路の設計(同期式回路、2のn乗進カウンタ) |
同期式の回路について説明できる。2のn乗進カウンタを設計できる
|
14週 |
順序回路の設計(n進カウンタ) |
任意の状態遷移をするN進カウンタを設計できる
|
15週 |
順序回路の設計(n進カウンタ) |
ジョンソンカウンタを使った順序回路を設計できる
|
16週 |
|
|
後期 |
3rdQ |
1週 |
順序回路の設計演習 (チャタリング除去回路、同期回路) |
quatus上でチャタリング除去回路、同期回路を実装し動作を確認できる
|
2週 |
順序回路の設計演習 (前縁検出回路) |
quatus上で前縁検出回路を設計し、シミュレーションにより動作を確認できる。
|
3週 |
順序回路の設計演習 (N進カウンタ) |
quatus上でN進カウンタを設計し、シミュレーションで動作の確認ができる
|
4週 |
順序回路の設計演習 (N進カウンタFPGA実装) |
スイッチ押下でカウントするN進カウンタを、7segデコーダとともにFPGA上に実装し動作を確認できる
|
5週 |
リングカウンタ、ジョンソンカウンタ |
リングカウンタ、ジョンソンカウンタによるシーケンス回路を設計できる
|
6週 |
ハザードについて |
ハザードが発生するメカニズムを説明でき、回路への影響を説明でき、回避の方法を示すことができる
|
7週 |
順序回路の設計演習
|
順序回路が設計できる。 回路からタイミングチャートが書ける。
|
8週 |
順序回路の設計演習 |
タイミングチャートから回路が設計できる
|
4thQ |
9週 |
VHDL言語の基本構文 |
VHDL言語で全加算器を記述でき、シミュレーションできる
|
10週 |
VHDL言語でのチャタリング除去回路の設計演習 |
VHDL言語でのチャタリング除去回路を記述でき、シミュレーションできる
|
11週 |
VHDL言語 if文Case文 |
if文を使ってand or selector 回路を、Case文で7セグメントLEDデコーダを記述できる
|
12週 |
VHDL言語 8bit加算器 |
全加算器をcomponentとして8bit加算回路を記述できる
|
13週 |
VHDL言語 16進カウンタ |
case文を使ったカウンタ回路が記述できる。シミュレーションで確認できる。
|
14週 |
VHDL言語 n進カウンタ |
算術演算ライブラリを使ってカウンタが記述できる。プリスケーラ、n進カウンタ、7segデコーダをcomponennt文で接続し動作を確認できる
|
15週 |
VHDL言語 階層設計 |
コンポーネント文による階層設計ができる
|
16週 |
|
|
分類 | 分野 | 学習内容 | 学習内容の到達目標 | 到達レベル | 授業週 |
専門的能力 | 分野別の専門工学 | 情報系分野 | 計算機工学 | 基数が異なる数の間で相互に変換できる。 | 3 | 前1 |
整数を2進数、10進数、16進数で表現できる。 | 4 | 前1 |
基本的な論理演算を行うことができる。 | 4 | 前2 |
基本的な論理演算を組合わせて、論理関数を論理式として表現できる。 | 4 | 前2 |
論理式の簡単化の概念を説明できる。 | 4 | 前1 |
簡単化の手法を用いて、与えられた論理関数を簡単化することができる。 | 4 | 前1 |
論理ゲートを用いて論理式を組合せ論理回路として表現することができる。 | 4 | 前2,前7,前8,前9 |
与えられた組合せ論理回路の機能を説明することができる。 | 4 | 前2,前8,前9 |
組合せ論理回路を設計することができる。 | 4 | 前2,前7,前8,前9,前10,前11,前12 |
フリップフロップなどの順序回路の基本素子について、その動作と特性を説明することができる。 | 4 | 前3 |
レジスタやカウンタなどの基本的な順序回路の動作について説明できる。 | 4 | 前13,前14,前15,後1,後2,後3,後4,後5 |
与えられた順序回路の機能を説明することができる。 | 4 | 前15,後1,後2,後3,後4,後5 |
順序回路を設計することができる。 | 4 | 前15,後7,後8 |
メモリシステムを実現するために考案された主要な技術を説明できる。 | 3 | |
ハードウェア記述言語など標準的な手法を用いてハードウェアの設計、検証を行うことができる。 | 4 | 後9,後10,後11,後12,後13,後14,後15 |
分野別の工学実験・実習能力 | 電気・電子系分野【実験・実習能力】 | 電気・電子系【実験実習】 | 論理回路の動作について実験結果を考察できる。 | 3 | 前10,前12,後1,後2,後3,後4,後9,後10 |
ディジタルICの使用方法を習得する。 | 3 | 前4,前5,前8,前9,後13 |