ソフトウェア工学特論 第1回 愛媛大学理工学研究科 電子情報工学専攻ソフトウェア分野 中原 啓貴 ソフトウェア工学特論 1 中原 is 誰? • FPGAをやったり、電波天文学をやったり、多値 論理をやったり、組込みシステムをやったり、、 • 節操がない • ビール大好き(特にGUINNESS) ARC(Applied Reconfigurable Computing) @Bochum にて地ビールを堪能中. まさか、このあとクレジットカードを失くすとは 思ってもみなかったよ!最悪だよ! ソフトウェア工学特論 2 はじめに • 第1回~7回はFPGA(エフピージーエー)を扱います • なんでやねん? • IntelがAltera(業界第2位)を買収したから! • ビッグウェーブに乗らないと! Alteraを2兆円で 買ったどー! IntelのブライアントCEO ソフトウェア工学特論 3 講義の内容 第1回: 第2回: 第3回: 第4回: 第5回: 第6回: 第7回: FPGAをざっくり解説 FPGAのアーキテクチャ FPGAの設計・CADツール 高位合成とFPGA CPUやGPU等を取り込むFPGA FPGAで電波望遠鏡・NIC・人工知能・株取引 FPGAでNES(ファミコン)を作る ソフトウェア工学特論 4 評価 • 出席点 • レポート: 第7回終了時に課題を出します • 発表点: ↓のマークが出たら議論して考えてみ ましょう. 内容に応じて加点します. なんでIntelは Alteraを 買収したんだ? 最新技術(わりとどーでもよい)を通して物事を考える練習をしましょう ソフトウェア工学特論 5 昔の人は… • 汎用ロジックICで回路を作ってました • 中原も4bit CPUを作ってみましたが… Amazonで 爆売れ ソフトウェア工学特論 6 汎用ロジック!? • 別名、おっさんホイホイIC • 昔の設計方法 ロジックを真理値表で書く ➔ カルノー図で書き直す ➔ AND-OR回路に設計 (うっ、学部生のころの記憶が…) ソフトウェア工学特論 7 小さくしたい!速くしたい! • 集積回路(LSI: Large Scale Integration)へ • 1971年: Intel社が世界初のマイクロプロセッサ4004を発表 小さくすると 速くなる? インテル・ミュージアム: http://japan.intel.com/contents/museum/index.html (面白いから一度見たほうがいいよ!) ソフトウェア工学特論 8 もっと小さくしたい!速くしたい! • VLSI (Very Large Scale Integration)へ… ソフトウェア工学特論 9 ARMの中の人も頑張りすぎ ソフトウェア工学特論 10 頑張りすぎだってば! ソフトウェア工学特論 11 もっともっと小さくしたい!速くしたい! • ULSI (Ultra Large Scale Integration)… もう単にLSIで いいです… なんでみんな微細化に 必死なんだろう? ソフトウェア工学特論 12 一方で微細化に暗い影が… • 消費電力の落とし穴(リーク電流) 微細化したら動作周波数が 上がってウハウ…あれ? ここまでの話を よーく覚えておこう ソフトウェア工学特論 13 FPGAに話は戻って… ソフトウェア工学特論 14 ASIC (Application Specific Integration Circuit) おすすめ ↓ JEITA, “LSIの製造工程”, http://semicon.jeita.or.jp/future/future_B04.html ソフトウェア工学特論 15 でも問題がありまして • Pros: • 性能(速さとか消費電力)がいいんだけど • Cons: • 開発期間が長い… • 一発勝負… • CPUのように数が出ないと 商売あがったりっすよ… CPU!CPU! 数が出ないと 商売あがったり? ソフトウェア工学特論 16 矛盾(→)をどうするか? • ASICのように専用回路の性能が欲しい • でも開発期間が長いんだよね… (さっさと作って市場に出したい!) • CPUのようにサクッと開発終わらせたい • でも性能が悪いんだよね… (他社のCPUやLSIより高性能!) プログラマブルできるLSI PLD (Programmable Logic Device) ソフトウェア工学特論 17 Programmable Array Logic (PAL)と Programmable ROM (PROM) おすすめ ↓ PAL PROM ソフトウェア工学特論 18 第二版を執筆中 第二版を執筆中 • 大事なことなので2回言いました(アカラサマ) ソフトウェア工学特論 19 Programmable Logic Array (PLA) • PROM+PAL=PLA ソフトウェア工学特論 20 Complex PLD (CPLD) ソフトウェア工学特論 21 CPLDの問題点 • AND-OR二段回路ベースなので大規模回路だ と回路規模が爆発してしまう 多段論理回路を 2段に圧縮するため 積項数が 爆発してしまう ソフトウェア工学特論 22 そこでFPGAですよ • Filed(現場で) • Programmable(プログラムできる) • Gate(論理ゲートの) • Array(集合体) http://www.xilinx.com/ (Xilinx社は業界No.1の企業です) ソフトウェア工学特論 23 初期のFPGAの構造 (アイランドスタイルという) ソフトウェア工学特論 24 様々な回路をプログラマブル可能 ソフトウェア工学特論 25 FPGAはどこでしょう? TERASIC社 DE4 開発ボード Digilent社 Spartan3E 評価ボード 他のチップ(LSI)は何? ソフトウェア工学特論 26 FPGAの適用例:プロトタイピング • 実働するモデル(プロトタイプ)を早期に製作 • 設計を様々な観点から検証 • ユーザーから早いフィードバックを得る • 早期に製品化へ ➔ ソフトウェア工学特論 27 さて、いろいろが疑問が… • どうやってプログラマブルにしているの? • どうやって回路を設計しているの? • 回路を設計するの面倒くさいんじゃ? • もっと性能アップしたり、設計しやすいFPGAっ てあるんですか? • 結局FPGAって何に使ってるの? • 中原はFPGAで何か作ったことあるの? ソフトウェア工学特論 28 ということで次回に • どうやってプログラマブルにしているの? ➔ FPGAのアーキテクチャ • どうやって回路を設計しているの? • 回路を設計するの面倒くさいんじゃ? • もっと性能アップしたり、設計しやすいFPGAっ てあるんですか? • 結局FPGAって何に使ってるの? • 中原はFPGAで何か作ったことあるの? ソフトウェア工学特論 29
© Copyright 2024 ExpyDoc