狠狠撸

狠狠撸Share a Scribd company logo
ハードウエア設計演習
小山 幸伸
大分工業高等専門学校
このスライド内でいうハードウエアっ
て何??
ハードウェア(機構系) ハードウェア(電子系)
今回は取り扱わない
ハードウエア(電子系)??
アナログ系 デジタル系
一部取り扱うけど,この授業のメイン
ディッシュではない.
基礎演習, 工学実験の復習
? 74??シリーズや14???シリーズなどのロジックICの動作
確認をブレッドボード上でした(はず)。
? 回路が大規模になると、配線,デバッグ, 仕様変更が大変。
7400
では今までの知識を動員して,複雑な
デジタル回路を作成しましょう.
何か他の手立ては無いの??
デジタル回路の開発手段
ごく小規模な回路で,手戻りが想定されないような試
作品であれば,74シリーズや14???シリーズで作成
するのも解のひとつ.
比較的大規模な回路を取り扱い,回路設計が何度も
変わるなど,手戻りが発生する場合は,他の手段が
必要.
プログラマブル?デバイスの利用
XILINX CoolRunner-II
XC2C32A6VQ44C
XILINX SPARTAN-6LX
XC6SLX9-2TQG144C
? CPLD
(Complex Programmable
Logic Device)
FPGA
(Field-programmable gate array)
2000円くらい300円くらい
CPLDとFPGAの大別
CPLD FPGA
プログラミング
素子
Flash/EEPRO
M, 不揮発性
SRAM
揮発性
集積度 小~中 中~大
利用例 シンプルな制御 より複雑な制御,
データ処理系
プログラマブルデバイスの利用例
いずれも、入力信号の処理に、
XILINXのFPGAを利用している。
約10,000
アンテナ
66アンテナ
相関器
High Performance
Computing(HPC)は天文と
素粒子で盛ん.
24時間観測できる電波天文
では,時々刻々とデータが増
えるため,一度取得したデー
タをアーカイブして,あとで
PC
クラスターで並列計算では間
に合わない.
専用計算機の必要性.
ALMA
Correlator17,066 Xilinx Field Programmable Gate Arrays (FPGA).
Grape Super
Computer
http://prc.nao.ac.jp/blog/?cat=1
5
他のプログラマブルデバイス(FPGA)の利用
例
レポート箇所なので,略
「ハードウエア記述言語」
ハードウェア記述言語
Hardware Description Language (HDL)と
は、デジタル集積回路を設計するための
? コンピュータ言語です。
電子回路の復習
様々な論理回路
A B Z
L L L
L H L
H L L
H H H
A B Z
L L L
L H H
H L H
H H H
A B Z
L L L
L H H
H L H
H H L
A Z
L H
H L
(1) Z=A?
B
(2) Z=A+B
(3) Z=A’
(4) Z=A’B+AB’
ハードウェア記述言語の色々
? Verilog HDL
?
? VHDL (VHSIC HDL,
?      Very High Speed Integrated Circuits
HDL)
?
? SystemC など
NOT回路(not_gate.vhdl) 
①
1: library IEEE;
2: use IEEE.STD_LOGIC_1164.all;
3:
4: entity NOT_GATE is
5: port(
6: A : in std_logic;
7: Z : out std_logic);
8: end NOT_GATE;
9:
ライブラリ名
パッケージ名
エンティティ部は、1つの設
計単位を表現し、回路名(エ
ンティティ名)と外部のイン
ターフェイスを定義します。
NOT回路(not_gate.vhdl) 
②
10: architecture NOT_GATE_A of NOT_GATE is
11: begin
12: Z <= not A;
13: end NOT_GATE_A;
アーキテクチャーは、
エンティティ定義された
回路の内部動作を定義
する。
アーキテチャー名
エンティティ名
ここまでは、AとZの関係を定義したのみ。
動作確認には、Aに入力する必要あり。
シミュレーターを用いた
シミュレーション
? GHDL: VHDLのコンパイラの実装のひとつ。
? GTKWave: 入出力波形の可視化。
動作確認のための、Testbenchの作成 ①
(not_gate_tb.vhdl)
1: library IEEE;
2: use
IEEE.STD_LOGIC_1164.all;
3:
4: entity NOT_GATE_TB is
5: end NOT_GATE_TB;
6:
7: architecture SIM of
NOT_GATE_TB is
8: signal A : std_logic;
9: signal Z : std_logic;
空のエンティティ
シミュレーション用のアーキテクチャー名
SIMを定義する。
信号名とデータ?タイプを指定する。
続:動作確認のための、Testbenchの作成 ②
(not_gate_tb.vhdl)
10: component NOT_GATE
11: port(
12: A : in std_logic;
13: Z : out std_logic
14: );
15: end component;
16:
ポートを定義する。
続:動作確認のための、Testbenchの作成 ③
(not_gate_tb.vhdl)
17: begin
18: not_gate0: NOT_GATE port
map(A, Z);
19:
20: process begin
21: A <= ‘0’; wait for 10
us;
22: A <=‘1’; wait for 10
us;
23: A <=‘0’; wait for 10
us;
24: assert (false) report
“Simulation End!” severity
failure;
25: end process;
26: end SIM;
ポートAに信号を与える。
テストベンチを停止するコマンド。
GHDLの実行方法
? $ gdhl --clean
? $ ghdl –a
not_gate.vhdl
? $ ghdl –a
not_gate_tb.vhdl
?     
? $ ghdl –e not_gate
? $ ghdl –e not_gate_tb
?       
? $ ghdl –r not_gate_tb
? –vcd=hoge.vcd         
? $ gtkwave hoge.vcd       
以前の実行時の設定をクリアする。
vhdlファイルを解析する。
実行ファイルを作る。
実行する。
可視化する。
狈翱罢回路の入出力の可视化
2009年, CPLDのシェア
Xilinx Altera Etc
2009年, FPGAのシェア
Xilinx Altera Etc
/fpgacentral/fcamp-
may2010fpgaecosystemxilinx
プログラマブルデバイスのシェア
最近のハードウェア関係の話題
2016 ソフトバンクによるARMの買収
2015 インテルによるAlteraの買収
Xilinx Altera
開発環境 ISE Quartus
主要な開発言
語
VHDL Verilog
Alteraの方が,初学者向け教材が豊富だった.
付録
演習問題1
? 下記のプログラミングを行い、
動作確認せよ。
1. AND回路
2. OR回路
1. NAND回路
2. NOR回路
3. XOR回路
1. 3入力NAND回路
? ANDとNOTによって構成される、
下記の回路をプログラムし、動
作確認せよ。
演習問題2
? 半加算器をプログラムし、動作
確認せよ。
? 全加算器をプログラムし、動作
確認せよ(Component使用)
A B C S
L L L L
L H L H
H L L H
H H H L
A B X C S
L L L L L
L L H L H
L H L L H
L H H H L
H L L L H
H L H H L
H H L H L
H H H H H
定義した半
加算器を
使い回す。
AND回路(and.vhdl)
library IEEE;
use
IEEE.STD_LOGICc_1164.
all;
entity AND is
port(
A : in std_logic;
B : in std_logic;
Z : out std_logic);
end and_or;
architecture AND_A of
AND is
begin
Z <= A and B;
end AND_A;
? タイムチャート
础狈顿回路の入出力の可视化

More Related Content

Hardware