SlideShare a Scribd company logo
ハードウエア設計演習
小山 幸伸
新領域融合研究センター/国立情報学研究所
大分工業高等専門学校
「ハードウエア記述言語」
 ハードウェア記述言語
 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=AB (2) Z=A+B
(3) Z=A’
(4) Z=A’B+AB’
基礎演習, 工学実験の復習
 74??シリーズや14???シリーズなどのロジックICの動
作確認をブレッドボード上でした(はず)。
 回路が大規模になると、配線,デバッグ, 仕様変更が大
変。
7400
プログラマブル・デバイスの利用
XILINX CoolRunner-II
XC2C32A6VQ44C
XILINX SPARTAN-6LX
XC6SLX9-2TQG144C
• CPLD
(Complex Programmable
Logic Device)
FPGA
(Field-programmable gate array)
2000円くらい300円くらい
プログラマブルデバイスの利用例
いずれも、入力信号の処理に、
XILINXのFPGAを利用している。
約10,000
アンテナ
66アンテナ
ハードウェア記述言語の色々
 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回路の入出力の可視化
付録
演習問題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

PDF
Hardware
PPTX
たぶんできる!Verilog hdl
PDF
Reconf_201409
PDF
FPGA startup 第一回 LT
PDF
Synthesijer.Scala (PROSYM 2015)
PDF
20130819 jjugnslt
PDF
Reconf 201506
PDF
マルチパラダイム型高水準ハードウェア設計環境の検討
Hardware
たぶんできる!Verilog hdl
Reconf_201409
FPGA startup 第一回 LT
Synthesijer.Scala (PROSYM 2015)
20130819 jjugnslt
Reconf 201506
マルチパラダイム型高水準ハードウェア設計環境の検討

What's hot (12)

PDF
CMSI計算科学技術特論B(14) OpenACC・CUDAによるGPUコンピューティング
PPT
ADVENTURE_Thermalの概要
PDF
FPGA・リコンフィギャラブルシステム研究の最新動向
PDF
FPGAによるHDMI to LVDS変換器
PDF
ACRiウェビナー:岩渕様ご講演資料
PDF
高位合成ツールVivado hlsのopen cv対応
PDF
FPGAのトレンドをまとめてみた
PDF
ICD/CPSY 201412
PDF
PythonとVeriloggenを用いたRTL設計メタプログラミング
PPTX
Makerの「道具」としてのLSI ~「LED点滅用のLSIをつくって   Lチカをやってみた」のココロ~(MakerFaireTokyo2014)
PPTX
高速シリアル通信を支える技術
PDF
FPGAX6_hayashi
CMSI計算科学技術特論B(14) OpenACC・CUDAによるGPUコンピューティング
ADVENTURE_Thermalの概要
FPGA・リコンフィギャラブルシステム研究の最新動向
FPGAによるHDMI to LVDS変換器
ACRiウェビナー:岩渕様ご講演資料
高位合成ツールVivado hlsのopen cv対応
FPGAのトレンドをまとめてみた
ICD/CPSY 201412
PythonとVeriloggenを用いたRTL設計メタプログラミング
Makerの「道具」としてのLSI ~「LED点滅用のLSIをつくって   Lチカをやってみた」のココロ~(MakerFaireTokyo2014)
高速シリアル通信を支える技術
FPGAX6_hayashi
Ad

Viewers also liked (13)

PDF
Dialnet las actitudesdelosdocenteshacialaformacionentecnolo-498346
PDF
Problemas resueltos-cadenas-de-markov
DOCX
Informe tecnico plancha
PPTX
Media Evaluation Q2
PPTX
Presentación de prueba en slideshare
PPTX
Plantilladelproyectobloqueiv 150412234024-conversion-gate01 (1)
PPTX
La magia de la transformación publicar
PPTX
Bronquiolitis pediatría
PDF
Higiene pessoal produtos (ativ. básica)
PDF
Distribuição Gama de Probabilidade - Resolução de Questão
PPTX
#DIS2017 - How can A.I. Help us build a better world
PDF
Cartilla modelo accidentes_transito
PPTX
Tarea del seminario 3
Dialnet las actitudesdelosdocenteshacialaformacionentecnolo-498346
Problemas resueltos-cadenas-de-markov
Informe tecnico plancha
Media Evaluation Q2
Presentación de prueba en slideshare
Plantilladelproyectobloqueiv 150412234024-conversion-gate01 (1)
La magia de la transformación publicar
Bronquiolitis pediatría
Higiene pessoal produtos (ativ. básica)
Distribuição Gama de Probabilidade - Resolução de Questão
#DIS2017 - How can A.I. Help us build a better world
Cartilla modelo accidentes_transito
Tarea del seminario 3
Ad

Similar to Hardware Design Exercises (20)

PPTX
STARC RTL設計スタイルガイドによるVerilog HDL並列記述の補強
PDF
Android上での3D(OpenGL)描画の基礎とNDKによる実践的高速化手法
PDF
1072: アプリケーション開発を加速するCUDAライブラリ
PDF
2012.10.23 rh forum
PPTX
Internet of Things
KEY
DE0でラジコンカー作ってみた 関西de0 fpga勉強会20120519
PDF
第2回 某社Arduino勉強会 ハンズオン
PDF
Groovyで楽にSQLを実行してみよう
PDF
PF部第19回資料 poor man's JTAG
PPTX
PDF
Bluetooth Low Energy入門講座 -part2
PPTX
VHDL-2008が好きなんです
PPTX
Javaで簡単にgpgpu aparapi
PPTX
Java 9で進化する診断ツール
PDF
Glfw3,OpenGL,GUI
PDF
Vivado hls勉強会1(基礎編)
PDF
Db2 v11.5.4 高可用性構成 & HADR 構成パターンご紹介
KEY
NVIDIA Japan Seminar 2012
PDF
Dalvik仮想マシンのアーキテクチャ 改訂版
STARC RTL設計スタイルガイドによるVerilog HDL並列記述の補強
Android上での3D(OpenGL)描画の基礎とNDKによる実践的高速化手法
1072: アプリケーション開発を加速するCUDAライブラリ
2012.10.23 rh forum
Internet of Things
DE0でラジコンカー作ってみた 関西de0 fpga勉強会20120519
第2回 某社Arduino勉強会 ハンズオン
Groovyで楽にSQLを実行してみよう
PF部第19回資料 poor man's JTAG
Bluetooth Low Energy入門講座 -part2
VHDL-2008が好きなんです
Javaで簡単にgpgpu aparapi
Java 9で進化する診断ツール
Glfw3,OpenGL,GUI
Vivado hls勉強会1(基礎編)
Db2 v11.5.4 高可用性構成 & HADR 構成パターンご紹介
NVIDIA Japan Seminar 2012
Dalvik仮想マシンのアーキテクチャ 改訂版

More from Yukinobu Koyama (20)

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

Hardware Design Exercises