SlideShare 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ファイルを解析する。
実行ファイルを作る。
実行する。
可視化する。
NOT回路の入出力の可視化
2009年, CPLDのシェア
Xilinx Altera Etc
2009年, FPGAのシェア
Xilinx Altera Etc
https://www.slideshare.net/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;
 タイムチャート
AND回路の入出力の可視化

More Related Content

PPTX
Hardware Design Exercises
Yukinobu Koyama
 
PPTX
たぶんできる!Verilog hdl
cahara_mitsu
 
PDF
Reconf_201409
Takefumi MIYOSHI
 
PDF
FPGA startup 第一回 LT
Yamato Kazuhiro
 
PDF
Synthesijer.Scala (PROSYM 2015)
Takefumi MIYOSHI
 
PDF
20130819 jjugnslt
Shinya Takebayashi
 
PDF
Reconf 201506
Takefumi MIYOSHI
 
PDF
マルチパラダイム型高水準ハードウェア設計環境の検討
Shinya Takamaeda-Y
 
Hardware Design Exercises
Yukinobu Koyama
 
たぶんできる!Verilog hdl
cahara_mitsu
 
Reconf_201409
Takefumi MIYOSHI
 
FPGA startup 第一回 LT
Yamato Kazuhiro
 
Synthesijer.Scala (PROSYM 2015)
Takefumi MIYOSHI
 
20130819 jjugnslt
Shinya Takebayashi
 
Reconf 201506
Takefumi MIYOSHI
 
マルチパラダイム型高水準ハードウェア設計環境の検討
Shinya Takamaeda-Y
 

What's hot (7)

PDF
FPGAによるHDMI to LVDS変換器
I_HaL
 
PDF
高位合成ツールVivado hlsのopen cv対応
marsee101
 
PDF
ICD/CPSY 201412
Takefumi MIYOSHI
 
PPTX
Makerの「道具」としてのLSI ~「LED点滅用のLSIをつくって   Lチカをやってみた」のココロ~(MakerFaireTokyo2014)
Junichi Akita
 
PPTX
高速シリアル通信を支える技術
Natsutani Minoru
 
PDF
ACRiウェビナー:岩渕様ご講演資料
直久 住川
 
PDF
PythonとVeriloggenを用いたRTL設計メタプログラミング
Shinya Takamaeda-Y
 
FPGAによるHDMI to LVDS変換器
I_HaL
 
高位合成ツールVivado hlsのopen cv対応
marsee101
 
ICD/CPSY 201412
Takefumi MIYOSHI
 
Makerの「道具」としてのLSI ~「LED点滅用のLSIをつくって   Lチカをやってみた」のココロ~(MakerFaireTokyo2014)
Junichi Akita
 
高速シリアル通信を支える技術
Natsutani Minoru
 
ACRiウェビナー:岩渕様ご講演資料
直久 住川
 
PythonとVeriloggenを用いたRTL設計メタプログラミング
Shinya Takamaeda-Y
 
Ad

Similar to Hardware (20)

PDF
コンピュータシステムの理論と実装1
H T
 
PDF
2012研究室紹介(大川)
猛 大川
 
PDF
Introduction of FPGA
Imaoka Micihihiro
 
PDF
Ptt391
Takefumi MIYOSHI
 
PDF
kagami_comput2015_1
swkagami
 
PPTX
Cortex-M0プロセッサから自作して Lチカをやってみた
Junichi Akita
 
PDF
kagami_comput2016_01
swkagami
 
PDF
kagamicomput201701
swkagami
 
PPTX
Starc verilog hdl2013d
Kiyoshi Ogawa
 
PDF
PythonとPyCoRAMでお手軽にFPGAシステムを開発してみよう
Shinya Takamaeda-Y
 
PDF
kagamicomput201801
swkagami
 
PPTX
Fpga programming introduction
YukiFukuda3
 
PDF
Pythonによる高位設計フレームワークPyCoRAMでFPGAシステムを開発してみよう
Shinya Takamaeda-Y
 
PPTX
Myoshimi extreme
Masato Yoshimi
 
PDF
Python physicalcomputing
Noboru Irieda
 
PPTX
FPGAって、何?
Toyohiko Komatsu
 
PPTX
自作LSIコミュニティの可能性
Junichi Akita
 
PDF
ソフトウェア技術者はFPGAをどのように使うか
なおき きしだ
 
PDF
FPGAスタートアップ資料
marsee101
 
PDF
NANDからテトリスへ_前編.pdf
ヴィスコ・テクノロジーズ株式会社
 
コンピュータシステムの理論と実装1
H T
 
2012研究室紹介(大川)
猛 大川
 
Introduction of FPGA
Imaoka Micihihiro
 
kagami_comput2015_1
swkagami
 
Cortex-M0プロセッサから自作して Lチカをやってみた
Junichi Akita
 
kagami_comput2016_01
swkagami
 
kagamicomput201701
swkagami
 
Starc verilog hdl2013d
Kiyoshi Ogawa
 
PythonとPyCoRAMでお手軽にFPGAシステムを開発してみよう
Shinya Takamaeda-Y
 
kagamicomput201801
swkagami
 
Fpga programming introduction
YukiFukuda3
 
Pythonによる高位設計フレームワークPyCoRAMでFPGAシステムを開発してみよう
Shinya Takamaeda-Y
 
Myoshimi extreme
Masato Yoshimi
 
Python physicalcomputing
Noboru Irieda
 
FPGAって、何?
Toyohiko Komatsu
 
自作LSIコミュニティの可能性
Junichi Akita
 
ソフトウェア技術者はFPGAをどのように使うか
なおき きしだ
 
FPGAスタートアップ資料
marsee101
 
NANDからテトリスへ_前編.pdf
ヴィスコ・テクノロジーズ株式会社
 
Ad

More from Yukinobu Koyama (20)

PPTX
Dagik earthのための ヒューマンインターフェースの提案
Yukinobu Koyama
 
PPTX
Code for Nabari 第3回定例ミーティング
Yukinobu Koyama
 
PPTX
20190129 nit oita-koyama
Yukinobu Koyama
 
PPTX
大分県下の全市町村版5374アプリ用オープンデータの整備
Yukinobu Koyama
 
PPTX
Development of low cost geomagnetic observation system by using Magneto-imped...
Yukinobu Koyama
 
PPTX
背面投影型Dagik Earthのための球面マルチタッチパネルの開発
Yukinobu Koyama
 
PPTX
20151028koyama
Yukinobu Koyama
 
PPTX
20151102koyama
Yukinobu Koyama
 
PPTX
20150817koyama
Yukinobu Koyama
 
PPTX
20140311京大所内
Yukinobu Koyama
 
PPT
20121020
Yukinobu Koyama
 
PPTX
20140429 egu
Yukinobu Koyama
 
PPT
Or2013 poster
Yukinobu Koyama
 
PPT
Sgepss2013 koyama
Yukinobu Koyama
 
PPT
Iugonet 20130524 poster
Yukinobu Koyama
 
PPT
Iugonet 20130522
Yukinobu Koyama
 
PPT
Iugonet 20100616
Yukinobu Koyama
 
PPT
Iugonet 20100916
Yukinobu Koyama
 
PPT
Iugonet 20130301
Yukinobu Koyama
 
PPT
Iugonet 20100816 system
Yukinobu Koyama
 
Dagik earthのための ヒューマンインターフェースの提案
Yukinobu Koyama
 
Code for Nabari 第3回定例ミーティング
Yukinobu Koyama
 
20190129 nit oita-koyama
Yukinobu Koyama
 
大分県下の全市町村版5374アプリ用オープンデータの整備
Yukinobu Koyama
 
Development of low cost geomagnetic observation system by using Magneto-imped...
Yukinobu Koyama
 
背面投影型Dagik Earthのための球面マルチタッチパネルの開発
Yukinobu Koyama
 
20151028koyama
Yukinobu Koyama
 
20151102koyama
Yukinobu Koyama
 
20150817koyama
Yukinobu Koyama
 
20140311京大所内
Yukinobu Koyama
 
20121020
Yukinobu Koyama
 
20140429 egu
Yukinobu Koyama
 
Or2013 poster
Yukinobu Koyama
 
Sgepss2013 koyama
Yukinobu Koyama
 
Iugonet 20130524 poster
Yukinobu Koyama
 
Iugonet 20130522
Yukinobu Koyama
 
Iugonet 20100616
Yukinobu Koyama
 
Iugonet 20100916
Yukinobu Koyama
 
Iugonet 20130301
Yukinobu Koyama
 
Iugonet 20100816 system
Yukinobu Koyama
 

Hardware