計算機構成 第 1 回 ガイダンス veriloghdl のシミュレーション環境

16
計計計計計 計1計 計計計計計 VerilogHDL 計計計計計計計計計計計 計計計計計 計計計計

Upload: zytka

Post on 05-Jan-2016

56 views

Category:

Documents


0 download

DESCRIPTION

計算機構成 第 1 回 ガイダンス VerilogHDL のシミュレーション環境. 情報工学科 天野英晴. いまさらだが、、、. コンピュータは IT 社会の基盤部品 ノートブック、スマートフォーン、タブレット サーバー、クラウド、スーパーコンピュータ ビデオ機器、テレビ、ゲーム機器 ネットワーク機器 冷暖房、冷蔵庫、電気釜、洗濯機、掃除機だって制御はコンピュータ. しかし、概観の話は「計算機基礎」でやっている. 何をやるか?. CPU (中央処理装置)の設計をやり、シミュレーションをやりながら、内部構成を理解する。 - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: 計算機構成 第 1 回 ガイダンス VerilogHDL のシミュレーション環境

計算機構成 第 1回ガイダンス

VerilogHDLのシミュレーション環境

情報工学科天野英晴

Page 2: 計算機構成 第 1 回 ガイダンス VerilogHDL のシミュレーション環境

いまさらだが、、、

• コンピュータは IT社会の基盤部品–ノートブック、スマートフォーン、タブレット

–サーバー、クラウド、スーパーコンピュータ–ビデオ機器、テレビ、ゲーム機器–ネットワーク機器–冷暖房、冷蔵庫、電気釜、洗濯機、掃除機だって制御はコンピュータ

しかし、概観の話は「計算機基礎」でやっている

Page 3: 計算機構成 第 1 回 ガイダンス VerilogHDL のシミュレーション環境

何をやるか?• CPU(中央処理装置)の設計をやり、シミュレーションをやりながら、内部構成を理解する。

• RISC (Reduced Instruction Set Computer)の命令セット、構成を中心に据える

• ハードウェア記述言語でのディジタル回路設計を学ぶ• 設計した CPUは秋学期の実験で使う• FPGAでも ASICでも実装可能

– Verilog-HDLの記述方式、シミュレーション方法– 演算回路– ALUと選択構文– CPUのデータパス、レジスタとメモリ– プログラム格納型計算機– RISCの命令セットアーキテクチャ– 分岐命令– サブルーチンコールとスタック– 論理合成と設計最適化

Page 4: 計算機構成 第 1 回 ガイダンス VerilogHDL のシミュレーション環境

授業のやり方• テキスト:「作りながら学ぶコンピュータアーキテクチャ」 

       天野、西村著 培風館• 授業資料は http://www.am.ics.keio.ac.jpに掲示• 授業を 90分、演習を 90分→ 3単位はやや単位効率が悪いがその分調整する

• 演習は TAが面倒見てくれる。• 6時 15分には基本的に終わる。多くの人は 6時前に帰る。• 成績の付け方

– 試験+演習(各回 5点、間違うと 0点)により付ける– 休んだ場合、後から提出してもよい– この科目は楽に単位が取れるという意味で楽勝科目ではないが、

Aの比率は高い→普通に演習を提出し、試験前にちょっと勉強すれば Aが取れる!

Page 5: 計算機構成 第 1 回 ガイダンス VerilogHDL のシミュレーション環境

コンピュータアーキテクチャ

情報工学実験第 2 ( I/Oを含んだマイクロプロセッサ)

VLSI設計論 (MIPSの設計、レイアウト)

マイクロプロセッサアーキテクチャ特論 コンピュータアーキテクチャ特論

SoC設計論 SoC設計演習

3年春

3年秋

4年春

大学院

ディジタル回路 計算機構成同演習

授業の流れ 計算機基礎

2年秋

2年春

Page 6: 計算機構成 第 1 回 ガイダンス VerilogHDL のシミュレーション環境

コンピュータの構成

CPU

MemorySystem

Bridge

Disk

Key

Display

SystemBus

I/O  Bus

コンピュータの3要素

この授業でやるところ

Page 7: 計算機構成 第 1 回 ガイダンス VerilogHDL のシミュレーション環境

コンピュータのクラス

100 10000 100万 1億 100億

価格帯

性能

組み込みプロセッサ

デスクトップ、ラップトップ

タブレットスマートフォン

サーバー

データセンター用クラスタ

スーパーコンピュータ

特定のプログラムのみ動作コスト、消費電力が重要

最新の CPUを利用性能価格比グラフィック性能が重要

信頼性重視スループット重視

数値計算用特殊コンピュータ

Page 8: 計算機構成 第 1 回 ガイダンス VerilogHDL のシミュレーション環境

コンピュータの歴史2度の大変革

性能

年1960 1970 1980 1990 2000 2010

×1.3/年

×1.5/年

×1.22/年

単体コアの性能向上

ムーアの法則

メインフレームの時代

マイクロプロセッサ性能爆発時代

マルチコアの時代

Page 9: 計算機構成 第 1 回 ガイダンス VerilogHDL のシミュレーション環境

ハードウェア記述言語• HDL (Hardware Description Language)• 「計算機基礎」で習ったゲート接続図を使ったハードウェア設計は今は使われない– スケマティック設計と呼ばれる

• Verilog-HDLと VHDLの二つが標準– 最近は多くの CAD (Computer Aided Design)が両方を受け付ける

– CADによる論理合成、圧縮によってゲート接続図(ネットリスト)に変換される

• 最近は Cレベル設計も一般化– 将来は用途によって使い分けられるだろう– 大学院の授業で紹介、演習もある

Page 10: 計算機構成 第 1 回 ガイダンス VerilogHDL のシミュレーション環境

Verilogと VHDL

Verilog-HDL VHDL

出自 論理シミュレーション記述

仕様書

標準化 デファクトスタンダード

国際標準

記述 Pacal風(嘘) PL/I→ADA

特徴 広い範囲でシミュレーションは可能

記述が厳格

情報工学科では Verilog  HDLを採用

Page 11: 計算機構成 第 1 回 ガイダンス VerilogHDL のシミュレーション環境

Verilogの基本文法

/* 1bit adder */

module adder (

input a,b, output s);

assign s = a+b; // add a,b

endmodule

コメントは C言語と同じ日本語キャラクタはトラブルの元なので止めて下さい

ハードウェアモジュールはモジュール文で定義、パラメータの書き方は C言語と似ている。

なぜかセミコロンが要る

assign文は信号の「接続」「出力」を示す。

endmoduleで終わるここにはセミコロンをつけてはダメ

adder.v: 拡張子は .v、ファイル名はトップモジュール名と同じにする

Page 12: 計算機構成 第 1 回 ガイダンス VerilogHDL のシミュレーション環境

テストベンチ (test.v)

• シミュレーション制御のための記述module test; parameter STEP=10; reg ina, inb; wire outs; adder adder_1(.a(ina), .b(inb), .s(outs)); initial begin $dumpfile(“adder.vcd”); $dumpvars(0,adder_1); ina <= 1’b0; inb <= 1’b0; #STEP $display(“a:%b b:%b s:%b”, ina,inb,outs); ina <= 1’b0; inb <= 1’b1; #STEP…

Page 13: 計算機構成 第 1 回 ガイダンス VerilogHDL のシミュレーション環境

テストベンチの記述

parameter STEP=10;

reg ina, inb;

wire outs;

adder adder_1(.a(ina), .b(inb), .s(outs));

parameter文は後に述べるdefine文と似ているがより柔軟

reg文での宣言では値を記憶できる。wire文は信号に名前を付けるだけ。これは後の授業で紹介する。

別ファイルで宣言したモジュール名インスタンス名

入出力への接続ピリオド以下はローカルな名前を使う

Page 14: 計算機構成 第 1 回 ガイダンス VerilogHDL のシミュレーション環境

シミュレーションの制御initial begin $dumpfile(“adder.vcd”); $dumpvars(0,adder_1); ina <= 1’b0; inb <= 1’b0; #STEP $display(“a:%b b:%b s:%b”, ina,inb,outs); ina <= 1’b0; inb <= 1’b1; #STEP

initial文はシミュレーションを一回実行

波形ファイルを指定

記録する範囲を指定

reg文にはブロッキング代入 <=(これも後に紹介する)ここでは入力を制御時間消費

値の表示、プリント文と似ている%bで 2進数表示リターンは自動的に入る

Page 15: 計算機構成 第 1 回 ガイダンス VerilogHDL のシミュレーション環境

Verilog-HDLのシミュレーション

• Ikarus Verilogを利用〇コンパイラ型のフリーソフトウェア

• Linux, Windowsマシンにインストール可能• iverilog XX.vでコンパイル、必要なファイルを全部書く• vvp a.outで実行、かなり高速

〇 Verilog2000に対応×遅延付シミュレーションができない

• 波形 Viewerは gtkwave〇フリーソフトウェア

Linux,Windowsマシンにインストール可能gtkwave XX.vcdで起動基本的な Viewerの機能は全て持つ

×他の Viewerに比べて少し使いにくいかも、、

Page 16: 計算機構成 第 1 回 ガイダンス VerilogHDL のシミュレーション環境

後は実際にやってみよう演習加算を論理 AND(&)に置き換えてシミュレーションを実行しよう

andは予約語なので注意Webから tar fileを取って来る

tar xvf 1kai.tarで解凍提出は[email protected]: PARTHENON 学籍番号 名前名前はローマ字で書いてください