コンピュータ援用論理設計

科目基礎情報

学校 奈良工業高等専門学校 開講年度 平成30年度 (2018年度)
授業科目 コンピュータ援用論理設計
科目番号 0052 科目区分 専門 / 必修
授業形態 講義 単位の種別と単位数 履修単位: 2
開設学科 情報工学科 対象学年 4
開設期 通年 週時間数 2
教科書/教材 適宜配布する
担当教員 山口 賢一,岩田 大志

到達目標

(1) Verilog HDL による設計および検証の手法を習得する。
(2) Verilog HDL によるCPU のシミュレーションを行い、 その構造と動作が理解できること。
(3) LSI 設計フローについて理解し、説明できること。
(4) LSI 設計の各フェーズについて理解し、説明できること 。

ルーブリック

理想的な到達レベルの目安標準的な到達レベルの目安未到達レベルの目安
評価項目1Verilog HDL による設計および検証の手法を理解し説明できる。Verilog HDL による設計および検証の手法を理解できる。Verilog HDL による設計および検証の手法を理解できない。
評価項目2LSI 設計フローについて理解し、説明できる。LSI 設計フローについて理解できる。LSI 設計フローについて理解できない。

学科の到達目標項目との関係

準学士課程(本科1〜5年)学習教育目標 (2) 説明 閉じる
JABEE基準 (d-1) 説明 閉じる
JABEE基準 (d-2b) 説明 閉じる
システム創成工学教育プログラム学習・教育目標 B-2 説明 閉じる
システム創成工学教育プログラム学習・教育目標 D-1 説明 閉じる

教育方法等

概要:
前期はハードウェア記述言語 Verilog HDL を用いた回路の基礎的記述法を習得した後,モデルコンピュータを例として取り上げ,CPU の設計法を学ぶ。
後期は,前期の演習を踏まえてLSI 設計において必要となる理論についての講義を行う。
授業の進め方・方法:
前期は,Verilog HDLによる設計演習を行い,コンピュータを用いた基本的な回路の設計方法を習得する。
後期は,講義により LSI設計における理論について学習し,その際に用いられる考え方,アルゴリズムなどを理解していく。
注意点:
関連科目
ディジタル回路,論理回路,コンピュータアーキテクチャ,回路理論,電子回路と関連する。

学習指針
集積回路技術の進歩により, 計算機(コンピュータ)は高性能化・高機能化し,その応用分野 はますます広がっている。
特に近年,携帯用の情報通信端末が急速に普及したことに伴い,コン ピュータの小型化・低消費電力化を可能とする設計手法は重要な課題である。
本講義では,前期 で演習を通じたコンピュータの設計手法の習得を目指し,後期では演習で得た知識を基に,実際の 設計フローや LSI 設計において必要となる知識の定着を目指す。

自己学習
学習した内容を適宜ノートにまとめることを要求するので,授業時間外に取り組んでおくこと。
目標を達成するためには,授業以外にも予習復習を怠らないこと。
特に,前期内容の VerilogHDL を用いた回路の記述法では,予習だけでなく,授業で習った内容が確実に利用できるよう,復習を欠かさないこと。

授業計画

授業内容 週ごとの到達目標
前期
1stQ
1週 ガイダンス,準備 授業で必要となるソフトウェアの設定を行うことができる。
2週 組合せ回路設計 1 半加算器,テストベンチを作成できる。
3週 組合せ回路設計 2 全加算器, 並列加算器, テストベンチを作成できる。
4週 組合せ回路設計 3 ALU 回路の仕様策定を理解することができる。
5週 組合せ回路設計 4 セレクタ, コンパレータなどを作成,検証できる。
6週 組合せ回路設計 5 ALU 回路, テストベンチを作成できる。
7週 組合せ回路設計 6 デコーダ, バレルシフタを作成,検証できる。
8週 組合せ回路設計 7 モジュールを組合わせた回路設計について理解する。
2ndQ
9週 順序回路設計 1 順序回路基本要素を作成,検証できる。
10週 CPU の設計 1 モデルコンピュータ,命令の実行制御方式を理解する。
11週 CPU の設計 2 アーキテクチャ,命令の実行制御方式を理解する。
12週 順序回路設計 2 有限状態機械を用いた順序回路を設計できる。
13週 CPU の設計 3 モデルコンピュータを設計,検証できる。
14週 順序回路設計 3 モジュールを組合わせた順序回路設計について理解する。
15週 前期末考査 与えられた仕様を満たす回路を正しく設計,検証できる。
16週 試験返却 間違ったポイントを正しく理解しなおすことができる。
後期
3rdQ
1週 LSI 設計 LSI の設計効率の向上について理解し説明できる。
2週 低位抽象度設計 ゲートレベル設計,レジスタ転送レベル設計を説明できる。
3週 高位抽象度設計 動作レベル設計,システムレベル設計を説明できる。
4週 設計資産の活用 IP,ビルディングブロック,マクロを説明できる。
5週 IP の設計フロー フロントエンド設計,バックエンド設計を説明できる。
6週 LSI 設計フロー LSI 機能設計を説明できる。
7週 HW-SW 協調設計 協調設計の重要性を説明できる。
8週 LSI の機能設計 スループットの向上,低電力手法を説明できる。
4thQ
9週 機能検証 形式検証について説明できる。
10週 論理合成 必要な制約条件と合成ツールについて説明できる。
11週 テスト設計手法 4 つの故障モデルとスキャンテストについて説明できる。
12週 フロアプラン レイアウト設計の第一段階について説明できる。
13週 電源配線,配置 レイアウトの最適化と配置ツールについて説明できる。
14週 CTS,配線 配線ルールを配慮した配線について説明できる。
15週 学年末考査 学習内容を理解し,正しく問題に答えることができる。
16週 試験返却 間違ったポイントを正しく理解しなおすことができる。

モデルコアカリキュラムの学習内容と到達目標

分類分野学習内容学習内容の到達目標到達レベル授業週
基礎的能力工学基礎工学実験技術(各種測定方法、データ処理、考察方法)工学実験技術(各種測定方法、データ処理、考察方法)物理、化学、情報、工学における基礎的な原理や現象を明らかにするための実験手法、実験手順について説明できる。3
実験装置や測定器の操作、及び実験器具・試薬・材料の正しい取扱を身に付け、安全に実験できる。3
実験データの分析、誤差解析、有効桁数の評価、整理の仕方、考察の論理性に配慮して実践できる。3
実験テーマの目的に沿って実験・測定結果の妥当性など実験データについて論理的な考察ができる。3
実験ノートや実験レポートの記載方法に沿ってレポート作成を実践できる。3
情報リテラシー情報リテラシー情報を適切に収集・処理・発信するための基礎的な知識を活用できる。3
論理演算と進数変換の仕組みを用いて基本的な演算ができる。3
コンピュータのハードウェアに関する基礎的な知識を活用できる。6前15,後1,後15
専門的能力分野別の専門工学情報系分野プログラミング代入や演算子の概念を理解し、式を記述できる。3前1
プロシージャ(または、関数、サブルーチンなど)の概念を理解し、これらを含むプログラムを記述できる。3前1
変数の概念を説明できる。2前1
データ型の概念を説明できる。2前3
制御構造の概念を理解し、条件分岐を記述できる。2前4
制御構造の概念を理解し、反復処理を記述できる。2前4
与えられた問題に対して、それを解決するためのソースプログラムを記述できる。2前13
ソフトウェア生成に必要なツールを使い、ソースプログラムをロードモジュールに変換して実行できる。2前13
与えられたソースプログラムを解析し、プログラムの動作を予測することができる。2前13
主要な言語処理プロセッサの種類と特徴を説明できる。2前13
ソフトウェア開発に利用する標準的なツールの種類と機能を説明できる。2前13
プログラミング言語は計算モデルによって分類されることを説明できる。2前13
主要な計算モデルを説明できる。2前13
要求仕様に従って、標準的な手法により実行効率を考慮したプログラムを設計できる。4前13
要求仕様に従って、いずれかの手法により動作するプログラムを設計することができる。4前13
要求仕様に従って、いずれかの手法により動作するプログラムを実装することができる。4前13
要求仕様に従って、標準的な手法により実行効率を考慮したプログラムを実装できる。4前13
ソフトウェアアルゴリズムの概念を説明できる。4前13
与えられたアルゴリズムが問題を解決していく過程を説明できる。4前13
同一の問題に対し、それを解決できる複数のアルゴリズムが存在しうることを説明できる。4前13
整列、探索など、基本的なアルゴリズムについて説明できる。4前13
時間計算量によってアルゴリズムを比較・評価できることを説明できる。4前13
領域計算量などによってアルゴリズムを比較・評価できることを説明できる。4前13
コンピュータ内部でデータを表現する方法(データ構造)にはバリエーションがあることを説明できる。4前13
同一の問題に対し、選択したデータ構造によってアルゴリズムが変化しうることを説明できる。4前13
リスト構造、スタック、キュー、木構造などの基本的なデータ構造の概念と操作を説明できる。4前13
リスト構造、スタック、キュー、木構造などの基本的なデータ構造を実装することができる。4前13
ソフトウェアを中心としたシステム開発のプロセスを説明できる。4前6,前13
ソースプログラムを解析することにより、計算量等のさまざまな観点から評価できる。4前6
同じ問題を解決する複数のプログラムを計算量等の観点から比較できる。4前6
計算機工学整数・小数をコンピュータのメモリ上でディジタル表現する方法を説明できる。4前3
基数が異なる数の間で相互に変換できる。4前3
整数を2進数、10進数、16進数で表現できる。4前3
小数を2進数、10進数、16進数で表現できる。4前3
基本的な論理演算を行うことができる。4前2
基本的な論理演算を組合わせて、論理関数を論理式として表現できる。4前2
論理式の簡単化の概念を説明できる。4前2
簡単化の手法を用いて、与えられた論理関数を簡単化することができる。4前2
論理ゲートを用いて論理式を組合せ論理回路として表現することができる。5前2
与えられた組合せ論理回路の機能を説明することができる。5前2
組合せ論理回路を設計することができる。5前2
フリップフロップなどの順序回路の基本素子について、その動作と特性を説明することができる。5前9
レジスタやカウンタなどの基本的な順序回路の動作について説明できる。5前9
与えられた順序回路の機能を説明することができる。4前9
順序回路を設計することができる。5前9
コンピュータを構成する基本的な要素の役割とこれらの間でのデータの流れを説明できる。4前11
プロセッサを実現するために考案された主要な技術を説明できる。4前11
メモリシステムを実現するために考案された主要な技術を説明できる。4前11
入出力を実現するために考案された主要な技術を説明できる。4前11
コンピュータアーキテクチャにおけるトレードオフについて説明できる。4前11
ハードウェア記述言語など標準的な手法を用いてハードウェアの設計、検証を行うことができる。5前15
要求仕様に従って、標準的なプログラマブルデバイスやマイコンを用いたシステムを構成することができる。4前15
コンピュータシステムネットワークコンピューティングや組込みシステムなど、実用に供せられているコンピュータシステムの利用形態について説明できる。4前15
集中処理システムについて、それぞれの特徴と代表的な例を説明できる。4前15
分散処理システムについて、特徴と代表的な例を説明できる。4前15
システム設計には、要求される機能をハードウェアとソフトウェアでどのように実現するかなどの要求の振り分けやシステム構成の決定が含まれることを説明できる。3前15
ユーザの要求に従ってシステム設計を行うプロセスを説明することができる。3前15
情報数学・情報理論集合に関する基本的な概念を理解し、集合演算を実行できる。3後1
集合の間の関係(関数)に関する基本的な概念を説明できる。3後1
ブール代数に関する基本的な概念を説明できる。3後1
論理代数と述語論理に関する基本的な概念を説明できる。3後1
離散数学に関する知識をアルゴリズムの設計、解析に利用することができる。3後1
コンピュータ上での数値の表現方法が誤差に関係することを説明できる。4後1
コンピュータ上で数値計算を行う際に発生する誤差の影響を説明できる。4後1
その他の学習内容オームの法則、キルヒホッフの法則を利用し、直流回路の計算を行うことができる。2後2
トランジスタなど、ディジタルシステムで利用される半導体素子の基本的な特徴について説明できる。3後2
少なくとも一つの具体的なコンピュータシステムについて、起動・終了やファイル操作など、基本的操作が行える。3前1
少なくとも一つの具体的なオフィススイート等を使って、文書作成や図表作成ができ、報告書やプレゼンテーション資料を作成できる。3前1
少なくとも一つのメールツールとWebブラウザを使って、メールの送受信とWebブラウジングを行うことができる。3前1
分野別の工学実験・実習能力情報系分野【実験・実習能力】情報系【実験・実習】与えられた問題に対してそれを解決するためのソースプログラムを、標準的な開発ツールや開発環境を利用して記述できる。3
与えられた仕様に合致した組合せ論理回路や順序回路を設計できる。3

評価割合

試験発表相互評価態度ポートフォリオその他合計
総合評価割合60400000100
基礎的能力0000000
専門的能力60400000100
分野横断的能力0000000