FPGA時代に学ぶ 集積回路のしくみ

FPGA時代に学ぶ 集積回路のしくみ

FPGAの広がりにより,ディジタル集積回路の設計は広い分野で学ばれている。動作するしくみから設計の仕方までを丁寧に解説。

ジャンル
発行年月日
2019/06/21
判型
A5
ページ数
208ページ
ISBN
978-4-339-00924-8
FPGA時代に学ぶ 集積回路のしくみ
在庫あり
2営業日以内に出荷致します。

定価

2,970(本体2,700円+税)

カートに入れる

電子版を購入

購入案内

  • 内容紹介
  • まえがき
  • 目次
  • 著者紹介

FPGAの広がりにより,ディジタル集積回路の設計は,電気・電子工学,情報工学,システム工学,ロボット工学など広い分野で学ばれている。本書では,集積回路の中身が動作するしくみから設計の仕方まで基本的な内容を丁寧に解説。

本書は,ディジタル集積回路を初めて学ぶ人たちに向けた教科書である。パソコンの頭脳部であるCPUや,スマートフォンの多種多様な機能を実現するSoC(System On a Chip)は,ディジタル集積回路の仲間である。また,FPGAは,内部の論理機能をユーザーが自由に変えられるディジタル集積回路である。ディジタル回路が,0と1の電気信号で動作することを知っている人は多い。ただその先,ディジタル集積回路にはそもそも何が集積され,それがどんなしくみで動くのかを学ぼうとすると,素子について少し学ばねばならずハードルが若干高い。特に,情報工学や情報科学,システム工学,ロボット工学などを学ぶ学生は,電子工学を専門に学ぶ学生と異なり,カリキュラムの関係で必ずしも物性や量子力学を学んでいない。こういった学生が集積回路を学ぶ際に,素子の詳しい物性や電気的特性を理解するところから始めてしまうと,集積回路の話に行き着く前につまずくか,興味を失ってしまうということが少なくない。一方,演習授業や研究で,FPGAを使ってディジタル集積回路を設計し,機器を制御するといった機会がどんどん増えている。結果として,集積回路の基本的なしくみと設計方法を学ぶ人たちの裾野が広がっている。こういった現実をふまえ,本書では,ディジタル集積回路のしくみを学ぶうえで必要最小限の項目だけを厳選し,解説した。ディジタル集積回路のチップには,素直なオンオフ動作をするノーマルなスイッチ素子と,オンオフ動作もつなぎ方もまったく正反対の「あまのじゃく」なスイッチ素子が詰まっている。これらのスイッチ素子は,それぞれ自分の得意な場面で力を発揮するだけでなく,ときには不得意な部分を互いに補い合って動作する。小さなチップの中に広がるそんな理想的な世界を,少しでも感じていただけたら幸いである。なお,本書の内容は,著者が芝浦工業大学の情報工学科において,講義と演習で使用してきた資料をもとに書き下ろしたものである。

本書の使い方として,ディジタル集積回路の基本的なしくみを学ぶ読者は,1章から12章まで順に読んでいただきたい。一方,FPGAを使った演習等で,FPGAのしくみとVerilog HDLを使った設計について学ぼうとする読者は,1章から3章3. 1節までざっと目を通した後,12章以降をお読みいただきたい。実際にFPGAに触れ,集積回路にさらに興味がわいたら,ぜひ3章に戻ってそこから先を読み進めていただきたい。少し発展的な内容は,まめ知識という名前のコラムにして載せた。

共著で書く場合と異なり,本書は一人で執筆したため,共著者間で互いに内容をチェックし合うような機会がなかった。このため,その分野の第一人者である二人の先生に,原稿の査読をお願いした。

FPGAとVerilog HDLの章(12~14章)については,天野英晴教授(慶應義塾大学)に,また,集積回路の動作速度と遅延時間の章(5~6章)については,黒田忠広教授(慶應義塾大学)に原稿を読んでいただき,たいへん有益なご指摘とアドバイスをいただいた。本書の企画段階で章立てを決める際には,佐々木昌浩准教授(芝浦工業大学)から貴重な助言をいただいた。また,コロナ社には,編集と出版の多大な労をとっていただいた。この場をお借りして,心より感謝を申し上げたい。

2019年3月 宇佐美 公良

1. 集積回路とは
1.1 なにが集積されているのだろうか
1.2 スイッチ素子を使ってどんなことができるのか
1.3 集積回路の発展の道筋とムーアの法則
章末問題
引用・参考文献

2. スイッチ素子の正体とオンオフするしくみ
2.1 MOSトランジスタの基本構造
2.2 pn接合の基礎知識
2.3 MOSトランジスタがオンオフするしくみ
章末問題

3. CMOS組合せ回路
3.1 CMOS論理ゲート回路
3.2 CMOS複合ゲート回路
3.3 レイアウトパターン
 3.3.1 CMOSインバータのレイアウトパターン
 3.3.2 レイアウトパターンにおけるトランジスタのLとW
 3.3.3 NAND回路のレイアウトパターン
章末問題
引用・参考文献

4. 集積回路の製造方法
4.1 製造の流れ
4.2 フォトリソグラフィ
4.3 マスク
4.4 前工程
4.5 後工程
4.6 歩留り
章末問題
引用・参考文献

5. 集積回路の動作速度はどんなしくみで決まるのか
5.1 動作速度に影響を与える充電動作と放電動作
5.2 MOSトランジスタを流れる電流
5.3 集積回路における寄生容量
章末問題
引用・参考文献

6. CMOS回路の遅延時間
6.1 CMOSインバータの遅延時間
6.2 RC遅延モデル
6.3 RC遅延モデルの応用
章末問題
引用・参考文献

7. スイッチとしての弱点と伝送ゲートのしくみ
7.1 スイッチとしてのMOSトランジスタの弱点
7.2 伝送ゲート
章末問題

8. CMOS記憶回路と動作のしくみ
8.1 ラッチ回路
8.2 フリップフロップ回路
8.3 SRAM回路
 8.3.1 SRAMのメモリセルの構造
 8.3.2 SRAMの読出し動作と書込み動作
章末問題

9. 集積回路のタイミング設計
9.1 組合せ回路の遅延時間
9.2 フリップフロップ回路の遅延時間とタイミング
9.3 同期回路とタイミング設計
 9.3.1 セットアップ時間の制約
 9.3.2 ホールド時間の制約
9.4 クロックスキューとクロックツリー生成(CTS)
章末問題

10. 集積回路の設計方式と設計フロー
10.1 設計フロー
10.2 RTL設計
10.3 セルライブラリ
10.4 論理合成
10.5 自動レイアウト
10.6 タイミング検証
10.7 レイアウト検証
章末問題
引用・参考文献

11. 低消費電力設計
11.1 集積回路の消費電力はなぜ注目を浴びるようになったのか
11.2 集積回路で電力消費が起こるしくみ
11.3 代表的な低消費電力設計技術
 11.3.1 クロックゲーティング
 11.3.2 パワーゲーティング
章末問題
引用・参考文献

12. FPGAとそのしくみ
12.1 FPGAとは
12.2 FPGAの内部構造としくみ
12.3 FPGAの設計手順
章末問題
引用・参考文献

13. Verilog HDLの基本文法
13.1 モジュール単位で記述する
13.2 識別子
13.3 予約語
13.4 論理値
13.5 数値の表現方法
13.6 データ型と信号の定義
13.7 演算子
13.8 書式とコメント
章末問題

14. Verilog HDLでのRTL記述方法
14.1 組合せ回路のRTL記述方法
 14.1.1 基本的な記述方法とassign文
 14.1.2 条件によって代入値を変えたい場合の記述方法とfunction文
14.2 順序回路のRTL記述方法
 14.2.1 フリップフロップやレジスタの記述方法とalways文
 14.2.2 リセット付きレジスタの記述方法
 14.2.3 カウンタの記述方法
14.3 モジュールの階層化とインスタンス
14.4 シミュレーション用記述
章末問題
引用・参考文献

章末問題解答
索引