Submit Search
Upload
Verilog-HDL Tutorial (9)
•
0 likes
•
1,966 views
Hiroki Nakahara
Follow
Verilog-HDL Tutorial Using DE0 FPGA Board
Read less
Read more
Education
Report
Share
Report
Share
1 of 71
Download now
Download to read offline
Recommended
Verilog-HDL Tutorial (14)
Verilog-HDL Tutorial (14)
Hiroki Nakahara
FPL15 talk: Deep Convolutional Neural Network on FPGA
FPL15 talk: Deep Convolutional Neural Network on FPGA
Hiroki Nakahara
Verilog-HDL Tutorial (12)
Verilog-HDL Tutorial (12)
Hiroki Nakahara
Nested RNSを用いたディープニューラルネットワークのFPGA実装
Nested RNSを用いたディープニューラルネットワークのFPGA実装
Hiroki Nakahara
FPGAX2016 ドキュンなFPGA
FPGAX2016 ドキュンなFPGA
Hiroki Nakahara
Verilog-HDL Tutorial (15) hardware
Verilog-HDL Tutorial (15) hardware
Hiroki Nakahara
Verilog-HDL Tutorial (13)
Verilog-HDL Tutorial (13)
Hiroki Nakahara
Verilog-HDL Tutorial (11)
Verilog-HDL Tutorial (11)
Hiroki Nakahara
Recommended
Verilog-HDL Tutorial (14)
Verilog-HDL Tutorial (14)
Hiroki Nakahara
FPL15 talk: Deep Convolutional Neural Network on FPGA
FPL15 talk: Deep Convolutional Neural Network on FPGA
Hiroki Nakahara
Verilog-HDL Tutorial (12)
Verilog-HDL Tutorial (12)
Hiroki Nakahara
Nested RNSを用いたディープニューラルネットワークのFPGA実装
Nested RNSを用いたディープニューラルネットワークのFPGA実装
Hiroki Nakahara
FPGAX2016 ドキュンなFPGA
FPGAX2016 ドキュンなFPGA
Hiroki Nakahara
Verilog-HDL Tutorial (15) hardware
Verilog-HDL Tutorial (15) hardware
Hiroki Nakahara
Verilog-HDL Tutorial (13)
Verilog-HDL Tutorial (13)
Hiroki Nakahara
Verilog-HDL Tutorial (11)
Verilog-HDL Tutorial (11)
Hiroki Nakahara
Verilog-HDL Tutorial (15) software
Verilog-HDL Tutorial (15) software
Hiroki Nakahara
Naist2015 dec ver1
Naist2015 dec ver1
Hiroki Nakahara
私のファミコンのfpsは530000です。もちろんフルパワーで(以下略
私のファミコンのfpsは530000です。もちろんフルパワーで(以下略
Hiroki Nakahara
電波望遠鏡用の分光器をAltera SDK for OpenCL使ってサクッと作ってみた
電波望遠鏡用の分光器をAltera SDK for OpenCL使ってサクッと作ってみた
Hiroki Nakahara
Altera sdk for open cl アンケート集計結果(公開版)
Altera sdk for open cl アンケート集計結果(公開版)
Hiroki Nakahara
Tensor flow usergroup 2016 (公開版)
Tensor flow usergroup 2016 (公開版)
Hiroki Nakahara
A Random Forest using a Multi-valued Decision Diagram on an FPGa
A Random Forest using a Multi-valued Decision Diagram on an FPGa
Hiroki Nakahara
(公開版)FPGAエクストリームコンピューティング2017
(公開版)FPGAエクストリームコンピューティング2017
Hiroki Nakahara
(公開版)Reconf研2017GUINNESS
(公開版)Reconf研2017GUINNESS
Hiroki Nakahara
2値ディープニューラルネットワークと組込み機器への応用: 開発中のツール紹介
2値ディープニューラルネットワークと組込み機器への応用: 開発中のツール紹介
Hiroki Nakahara
2値化CNN on FPGAでGPUとガチンコバトル(公開版)
2値化CNN on FPGAでGPUとガチンコバトル(公開版)
Hiroki Nakahara
FCCM2020: High-Throughput Convolutional Neural Network on an FPGA by Customiz...
FCCM2020: High-Throughput Convolutional Neural Network on an FPGA by Customiz...
Hiroki Nakahara
ROS User Group Meeting #28 マルチ深層学習とROS
ROS User Group Meeting #28 マルチ深層学習とROS
Hiroki Nakahara
FPGAX2019
FPGAX2019
Hiroki Nakahara
SBRA2018講演資料
SBRA2018講演資料
Hiroki Nakahara
DSF2018講演スライド
DSF2018講演スライド
Hiroki Nakahara
ISCAS'18: A Deep Neural Network on the Nested RNS (NRNS) on an FPGA: Applied ...
ISCAS'18: A Deep Neural Network on the Nested RNS (NRNS) on an FPGA: Applied ...
Hiroki Nakahara
ISMVL2018: A Ternary Weight Binary Input Convolutional Neural Network
ISMVL2018: A Ternary Weight Binary Input Convolutional Neural Network
Hiroki Nakahara
FPGA2018: A Lightweight YOLOv2: A binarized CNN with a parallel support vecto...
FPGA2018: A Lightweight YOLOv2: A binarized CNN with a parallel support vecto...
Hiroki Nakahara
FPT17: An object detector based on multiscale sliding window search using a f...
FPT17: An object detector based on multiscale sliding window search using a f...
Hiroki Nakahara
Verilog-HDL Tutorial (8)
Verilog-HDL Tutorial (8)
Hiroki Nakahara
Verilog-HDL Tutorial (7)
Verilog-HDL Tutorial (7)
Hiroki Nakahara
More Related Content
Viewers also liked
Verilog-HDL Tutorial (15) software
Verilog-HDL Tutorial (15) software
Hiroki Nakahara
Naist2015 dec ver1
Naist2015 dec ver1
Hiroki Nakahara
私のファミコンのfpsは530000です。もちろんフルパワーで(以下略
私のファミコンのfpsは530000です。もちろんフルパワーで(以下略
Hiroki Nakahara
電波望遠鏡用の分光器をAltera SDK for OpenCL使ってサクッと作ってみた
電波望遠鏡用の分光器をAltera SDK for OpenCL使ってサクッと作ってみた
Hiroki Nakahara
Altera sdk for open cl アンケート集計結果(公開版)
Altera sdk for open cl アンケート集計結果(公開版)
Hiroki Nakahara
Tensor flow usergroup 2016 (公開版)
Tensor flow usergroup 2016 (公開版)
Hiroki Nakahara
A Random Forest using a Multi-valued Decision Diagram on an FPGa
A Random Forest using a Multi-valued Decision Diagram on an FPGa
Hiroki Nakahara
(公開版)FPGAエクストリームコンピューティング2017
(公開版)FPGAエクストリームコンピューティング2017
Hiroki Nakahara
(公開版)Reconf研2017GUINNESS
(公開版)Reconf研2017GUINNESS
Hiroki Nakahara
2値ディープニューラルネットワークと組込み機器への応用: 開発中のツール紹介
2値ディープニューラルネットワークと組込み機器への応用: 開発中のツール紹介
Hiroki Nakahara
2値化CNN on FPGAでGPUとガチンコバトル(公開版)
2値化CNN on FPGAでGPUとガチンコバトル(公開版)
Hiroki Nakahara
Viewers also liked
(11)
Verilog-HDL Tutorial (15) software
Verilog-HDL Tutorial (15) software
Naist2015 dec ver1
Naist2015 dec ver1
私のファミコンのfpsは530000です。もちろんフルパワーで(以下略
私のファミコンのfpsは530000です。もちろんフルパワーで(以下略
電波望遠鏡用の分光器をAltera SDK for OpenCL使ってサクッと作ってみた
電波望遠鏡用の分光器をAltera SDK for OpenCL使ってサクッと作ってみた
Altera sdk for open cl アンケート集計結果(公開版)
Altera sdk for open cl アンケート集計結果(公開版)
Tensor flow usergroup 2016 (公開版)
Tensor flow usergroup 2016 (公開版)
A Random Forest using a Multi-valued Decision Diagram on an FPGa
A Random Forest using a Multi-valued Decision Diagram on an FPGa
(公開版)FPGAエクストリームコンピューティング2017
(公開版)FPGAエクストリームコンピューティング2017
(公開版)Reconf研2017GUINNESS
(公開版)Reconf研2017GUINNESS
2値ディープニューラルネットワークと組込み機器への応用: 開発中のツール紹介
2値ディープニューラルネットワークと組込み機器への応用: 開発中のツール紹介
2値化CNN on FPGAでGPUとガチンコバトル(公開版)
2値化CNN on FPGAでGPUとガチンコバトル(公開版)
More from Hiroki Nakahara
FCCM2020: High-Throughput Convolutional Neural Network on an FPGA by Customiz...
FCCM2020: High-Throughput Convolutional Neural Network on an FPGA by Customiz...
Hiroki Nakahara
ROS User Group Meeting #28 マルチ深層学習とROS
ROS User Group Meeting #28 マルチ深層学習とROS
Hiroki Nakahara
FPGAX2019
FPGAX2019
Hiroki Nakahara
SBRA2018講演資料
SBRA2018講演資料
Hiroki Nakahara
DSF2018講演スライド
DSF2018講演スライド
Hiroki Nakahara
ISCAS'18: A Deep Neural Network on the Nested RNS (NRNS) on an FPGA: Applied ...
ISCAS'18: A Deep Neural Network on the Nested RNS (NRNS) on an FPGA: Applied ...
Hiroki Nakahara
ISMVL2018: A Ternary Weight Binary Input Convolutional Neural Network
ISMVL2018: A Ternary Weight Binary Input Convolutional Neural Network
Hiroki Nakahara
FPGA2018: A Lightweight YOLOv2: A binarized CNN with a parallel support vecto...
FPGA2018: A Lightweight YOLOv2: A binarized CNN with a parallel support vecto...
Hiroki Nakahara
FPT17: An object detector based on multiscale sliding window search using a f...
FPT17: An object detector based on multiscale sliding window search using a f...
Hiroki Nakahara
Verilog-HDL Tutorial (8)
Verilog-HDL Tutorial (8)
Hiroki Nakahara
Verilog-HDL Tutorial (7)
Verilog-HDL Tutorial (7)
Hiroki Nakahara
More from Hiroki Nakahara
(11)
FCCM2020: High-Throughput Convolutional Neural Network on an FPGA by Customiz...
FCCM2020: High-Throughput Convolutional Neural Network on an FPGA by Customiz...
ROS User Group Meeting #28 マルチ深層学習とROS
ROS User Group Meeting #28 マルチ深層学習とROS
FPGAX2019
FPGAX2019
SBRA2018講演資料
SBRA2018講演資料
DSF2018講演スライド
DSF2018講演スライド
ISCAS'18: A Deep Neural Network on the Nested RNS (NRNS) on an FPGA: Applied ...
ISCAS'18: A Deep Neural Network on the Nested RNS (NRNS) on an FPGA: Applied ...
ISMVL2018: A Ternary Weight Binary Input Convolutional Neural Network
ISMVL2018: A Ternary Weight Binary Input Convolutional Neural Network
FPGA2018: A Lightweight YOLOv2: A binarized CNN with a parallel support vecto...
FPGA2018: A Lightweight YOLOv2: A binarized CNN with a parallel support vecto...
FPT17: An object detector based on multiscale sliding window search using a f...
FPT17: An object detector based on multiscale sliding window search using a f...
Verilog-HDL Tutorial (8)
Verilog-HDL Tutorial (8)
Verilog-HDL Tutorial (7)
Verilog-HDL Tutorial (7)
Recently uploaded
世界を変えるクレーンを生み出そう! 高知エンジニアリングキャンプ2024プログラム
世界を変えるクレーンを生み出そう! 高知エンジニアリングキャンプ2024プログラム
Kochi Eng Camp
東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2
東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2
Tokyo Institute of Technology
生成AIの回答内容の修正を課題としたレポートについて:お茶の水女子大学「授業・研究における生成系AIの活用事例」での講演資料
生成AIの回答内容の修正を課題としたレポートについて:お茶の水女子大学「授業・研究における生成系AIの活用事例」での講演資料
Takayuki Itoh
次世代機の製品コンセプトを描く ~未来の機械を創造してみよう~
次世代機の製品コンセプトを描く ~未来の機械を創造してみよう~
Kochi Eng Camp
The_Five_Books_Overview_Presentation_2024
The_Five_Books_Overview_Presentation_2024
koheioishi1
ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学
ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学
ssusere0a682
TokyoTechGraduateExaminationPresentation
TokyoTechGraduateExaminationPresentation
YukiTerazawa
2024年度 東京工業大学 工学院 機械系 大学院 修士課程 入試 説明会 資料
2024年度 東京工業大学 工学院 機械系 大学院 修士課程 入試 説明会 資料
Tokyo Institute of Technology
Recently uploaded
(8)
世界を変えるクレーンを生み出そう! 高知エンジニアリングキャンプ2024プログラム
世界を変えるクレーンを生み出そう! 高知エンジニアリングキャンプ2024プログラム
東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2
東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2
生成AIの回答内容の修正を課題としたレポートについて:お茶の水女子大学「授業・研究における生成系AIの活用事例」での講演資料
生成AIの回答内容の修正を課題としたレポートについて:お茶の水女子大学「授業・研究における生成系AIの活用事例」での講演資料
次世代機の製品コンセプトを描く ~未来の機械を創造してみよう~
次世代機の製品コンセプトを描く ~未来の機械を創造してみよう~
The_Five_Books_Overview_Presentation_2024
The_Five_Books_Overview_Presentation_2024
ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学
ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学
TokyoTechGraduateExaminationPresentation
TokyoTechGraduateExaminationPresentation
2024年度 東京工業大学 工学院 機械系 大学院 修士課程 入試 説明会 資料
2024年度 東京工業大学 工学院 機械系 大学院 修士課程 入試 説明会 資料
Verilog-HDL Tutorial (9)
1.
1 Verilog-HDL 講習会DE0編(9) 順序回路記述(4) ∼複雑な状態遷移図∼ 31, July,
2013 鹿児島大学 中原 啓貴
2.
DE0_Default もどきを作ってみよう (DE0ボードの電源を入れたときの動作) 2 3Hzのクロック に同期して 4桁同時に カウントアップ 25 Hzのクロックに同期して 4ビット毎に左右にスライド
3.
回路を並列に動作させる • なにも一つの回路で制御する必要はない! • 今回は2つの状態遷移図に分けよう! 3
4.
LEDGスライドの状態遷移図 4 000 001 010 101
100 011 Reset LEDG <= 11110 _00000; is_right_shift <= 1; NONE LEDG <= 01111 _00000; is_right_shift <= 1; is_right_shift == 1; LEDG <= 00111 _10000; is_right_shift == 1; LEDG <= 00011_11000; is_right_shift == 1; LEDG <= 00001_11100; 110 is_right_shift == 1; LEDG <= 00000_11110; is_right_shift == 1; LEDG <= 00000_01111; NONE LEDG <= 00000_11110; is_right_shift == 0; is_right_shift == 0; LEDG <= 00001_11100; is_right_shift == 0; LEDG <= 00011_11000; is_right_shift == 1; LEDG <= 00111 _10000; is_right_shift == 0; LEDG <= 01111_00000; is_right_shift == 0; LEDG <= 11110_00000;
5.
カウントアップの状態遷移図 5 000 001 010
011 111 110 101 100 Reset HEX_D <= 1000000; HEX_DP <= 0; NONE HEX_D <= 1111001; HEX_DP <= 1; NONE HEX_D <= 0100100; HEX_DP <= 0; NONE HEX_D <= 0110000; HEX_DP <= 1; NONE HEX_D <= 0011001; HEX_DP <= 0; NONE HEX_D <= 0010010; HEX_DP <= 1; NONE HEX_D <= 0000010; HEX_DP <= 0; NONE HEX_D <= 1111000; HEX_DP <= 1; NONE HEX_D <= 1000000; HEX_DP <= 0;
6.
どうやって実装するか? • 並列動作する回路なので独立に設計 • 各回路の設計後、1つにまとめる 6
7.
まずはLEDGスライド回路を 設計してFPGA上で動作させる 7
8.
8 • ピン配置が面倒くさいので、デフォルト のプロジェクトを読み込みましょう! (DE0に限った事ではないが、Terasic製品はサンプルCD-ROMの プロジェクトを改変するのが楽でお勧め) DE0付属のCD-ROM Demonstrations 内の "DE0_Top"フォルダの ファイル全てを C:¥verilog¥DE0_tutorial_9_LEDG_Slide¥ 内にコピー
9.
DE0_TOP.qpfをダブルクリック してQuartus IIを起動 9 Pin Plannerを開いてみると ピン配置が終わっている!
10.
Verilog-HDLを入力 10 ダブルクリック Verilog-HDLの テンプレートが 表示されるので コードを入力 コード入力したら保存を忘れずに!
11.
そろそろモジュール階層を 意識して記述しましょう • 最後に各回路をマージするので、サブ・ モジュールにLEDGスライド回路を記述する • サブ・モジュールは別のVerilog-HDLファイルに 記述する ‒
可読性を上げるため • トップモジュールにべた書きは読みにくい!! • トップモジュールはFPGA外部の信号線定義のみに留める ‒ 次の設計のときに読み込んで再利用可能 • FPGAボードが変ってもインスタンス化して接続し直すだけで 再利用可能 11
12.
Verilog-HDL ファイルの 新規追加 12 新規作成をクリック Verilog HDL Fileを 選択し「OK」
13.
タイミングの生成 • 50MHz (DE0ボードのクロック)から25Hz をどうやって生成? 13 25
Hz ということは, 1周期= 1 / 25 = 0.04 [sec] 25Hz ということは, 0.04 / 2 = 0.02 [sec] 毎にHigh と Low を切り替えればよい 50MHz 50 MHz ということは, 1周期= 1 / 50x106 = 0.02x10-6 [sec] つまり, 0.02 / (0.02 x 10-6) = 100,000 クロック毎に High と Lowを切り替えればよい
14.
入力するVerilog-HDL (LEDG_Slide.v) 14
15.
入力するVerilog-HDL (LEDG_Slide.v) 15
16.
16 入力する Verilog-HDL (LEDG_Slide.v)
17.
LEDG_Slide.vを入力したら保存 17 保存ボタンをクリック ファイル名「LEDG_Slide.v」として「保存」
18.
保存するとタブの表示が変ります 18
19.
入力するVerilog-HDL (DE0_TOP.v) • 単にLEDG_Slideをインスタンス化するだけ 19 リセット信号は押しボタン[0]とした. 負論理であることに注意!
20.
コンパイルを行うとプロジェクトに 認識されます 20
21.
シミュレーションの設定 21 Project Navigatorで 「DE0_TOP」を右クリックし 「Settings」を選択 Simulation を選択 Tool
name は「ModelSim-Altera」 Format は 「Verilog-HDL」 Time scale は「1 ns」
22.
テストベンチ・テンプレート生成 22 Processing -> Startメニューから Start
Test Bench Template Writer を選択
23.
テストベンチ 読み込み設定 23 Project Navigatorで 「DE0_TOP」を右クリックし 「Settings」を選択 Compile test
benchを選択し, Test Benches... をクリック New... をクリック
24.
テストベンチ設定 24 Test bench name
は「DE0_TOP」 Top level module in test bench は「DE0_TOP_vlg_tst」 テストベンチファイルを追加
25.
テストベンチファイル読み込み 25 プロジェクトを置いているフォルダに 「simulation」フォルダができているので、 「modelsim」フォルダをクリック。 すると、テンプレート「DE0_TOP.vt」が あるはず。 テストベンチ「DE0_TOP.vt」を選択
26.
確認を行う 26
27.
シミュレーションの設定確認 27
28.
ModelSim起動 28
29.
29 テストベンチ を編集 1. Library タブをクリック 2.
rtl_work を展開 3. DE0_TOP_vlg_tst を右クリックし 「Edit」を選択
30.
30 タイム スケールを 確認
31.
入力するテストベンチ 31
32.
32 ReCompile を実行し シミュレーションの準備を行います DE0_TOP_vlg_tst を右クリックし 「ReCompile」を選択
33.
波形をWaveウインドウに追加 33
34.
LEDG_Slideの信号を追加 34
35.
Gen_CLK25Hzの信号を追加 35
36.
表示を見やすくするため, Divider を追加しましょう 36 右クリックして「Add」を選択し 「New Divider」を選択
37.
コマンドラインに run 50ms
を入力 37 Add Cursor をクリックしカーソルを追加 25Hz間隔になっているか チェックしてみよう
38.
FPGA上で動作を確認 38 25 Hzのクロックに同期して 4ビット毎に左右にスライド
39.
次はカウントアップ回路を 設計してFPGA上で動作させる 39
40.
40 • ピン配置が面倒くさいので、デフォルト のプロジェクトを読み込みましょう! (DE0に限った事ではないが、Terasic製品はサンプルCD-ROMの プロジェクトを改変するのが楽でお勧め) DE0付属のCD-ROM Demonstrations 内の "DE0_Top"フォルダの ファイル全てを C:¥verilog¥DE0_tutorial_9_CountUp_7SEG¥ 内にコピー
41.
DE0_TOP.qpfをダブルクリック してQuartus IIを起動 41 Pin Plannerを開いてみると ピン配置が終わっている!
42.
Verilog-HDLを入力 42 ダブルクリック Verilog-HDLの テンプレートが 表示されるので コードを入力 コード入力したら保存を忘れずに!
43.
Verilog-HDL ファイルの 新規追加 43 新規作成をクリック Verilog HDL Fileを 選択し「OK」
44.
タイミングの生成 • 50MHz (DE0ボードのクロック)から3Hzを どうやって生成? 44 3Hz
ということは, 1周期= 1 /3 = 0.04 [sec] 3Hz ということは, 0.04 / 2 = 0.02 [sec] 毎にHigh と Low を切り替えればよい 50MHz 50 MHz ということは, 1周期= 1 / 50x106 = 0.02x10-6 [sec] つまり, 0.02 / (0.02 x 10-6) = 100,000 クロック毎に High と Lowを切り替えればよい 自分で考えてみよう
45.
入力するVerilog-HDL (CountUp_7SEG.v) 45
46.
入力するVerilog-HDL (CountUp_7SEG.v) 46
47.
47 入力するVerilog-HDL (CountUp_7SEG.v)
48.
CountUp_7SEG.vを保存 48 保存ボタンをクリック ファイル名「CountUp_7SEG.v」として「保存」
49.
入力する Verilog-HDL (DE0_TOP.v) 49
50.
入力するテストベンチ 50
51.
シミュレーションで動作を確認 51
52.
FPGA上で動作を確認 52 3Hzのクロック に同期して 4桁同時に カウントアップ
53.
最後に設計した各回路を 読み込んで1つの回路にする 53
54.
54 • ピン配置が面倒くさいので、デフォルト のプロジェクトを読み込みましょう! (DE0に限った事ではないが、Terasic製品はサンプルCD-ROMの プロジェクトを改変するのが楽でお勧め) DE0付属のCD-ROM Demonstrations 内の "DE0_Top"フォルダの ファイル全てを C:¥verilog¥DE0_tutorial_9_DE0_Default¥ 内にコピー
55.
DE0_TOP.qpfをダブルクリック してQuartus IIを起動 55 Pin Plannerを開いてみると ピン配置が終わっている!
56.
【準備】先程設計したVerilog- HDLファイルをコピーしておく 2個のファイル「LEDG_Slide.v」「CountUp_7SEG.v」を C:verilogDE0_tutorial_9_DE0_Defaultにコピー 56
57.
Verilog-HDLを入力 57 ダブルクリック Verilog-HDLの テンプレートが 表示されるので コードを入力 コード入力したら保存を忘れずに!
58.
先程設計したVerilog-HDL ファイルを読み込みましょう 58 右クリックして 「Settings ...」を 選択 「Files」を選択 「...」を選択
59.
Verilog-HDLファイルの選択 59 先程コピーしたファイル 「CountUp_7SEG.v」 「LEDG_Slide.v」 を選択して「開く」を クリック
60.
60 【Tips】他のファイルをインスタンシェー ション(呼出し)する場合は, コピペすると楽! Verilog-HDLの記述 (DE0_Top.v) 「LEDG_Slide」をテキストエディタで 開いて,
モジュール宣言部をコピペ
61.
あとは信号を記述しましょう 61
62.
同様にコピペ… 62 「CountUp_7SEG」を テキストエディタで 開いて, モジュール宣言部をコピペ
63.
記述するVerilog-HDL (DE0_TOP.v) 63
64.
今回設計した回路 64 DE0_Top LED_Slide_inst CountUp_7SEG_inst CLOCK_50 RESET_N LEDG CLOCK_50 RESET_N HEX_D HEX_DP CLOCK_50 BUTTON[0] LEDG HEX0_D HEX0_DP HEX1_D HEX1_DP HEX2_D HEX2_DP HEX3_D HEX3_DP
65.
【別ファイルで設計するメリット】 FPGAボードを変更しても使い回しできる! 65 Spartan III FPGA
Boardに変更!! (インスタンシエーションの信号名を付け替えるだけでOK) LED_Slide_inst CountUp_7SEG_inst CLOCK_50 RESET_N LEDG CLOCK_50 RESET_N HEX_D HEX_DP CLK50 PUSH[0] LED_GREEN HEX0_D HEX0_DP HEX1_D HEX1_DP HEX2_D HEX2_DP 7セグが減っても増えてもOK
66.
別ファイルで設計するメリット はたくさんある! • FPGAボードが変わっても、インスタンシエーョ ン時に信号線名を変えるだけでOK • 回路を分割設計するので,
設計対象が小さくな る. ‒ 設計がしやすくなる ‒ ミスも減る ‒ バグ検出も容易 • 設計毎に過去の資産として使い回しできる 66
67.
コンパイルを行う 67 「保存アイコン」を クリックして保存 「コンパイルアイコン」を クリックして コンパイルを行う コンパイル後、このウインドウが 表示されればOK
68.
コンパイル後, 読み込んだファイルが Project Navigator
に表示されます 68
69.
FPGA上で動作を確認 69 3Hzのクロック に同期して 4桁同時に カウントアップ 25 Hzのクロックに同期して 4ビット毎に左右にスライド
70.
まとめ • 複雑な回路は並列化して状態遷移図をわける ‒ 設計が楽になるので、是非わけましょう! ‒ Verilog-HDLファイルを読み込む方法を学習 ‒ 状態遷移図間の通信は次回で • 所望のクロックを生成する方法を学習 ‒ 入力周波数から所定の周波数を 生成できるようになった •
ただし、誤差あり • 入力周波数以上の周波数は生成できない… (実はFPGA内のある回路を使うとできます) 70
71.
課題 • 下記のLEDGを指定した周波数で点滅する 回路を作成し, FPGA上で動作を確認 ‒ LEDG[0]:
2 Hz ‒ LEDG[1]: 1 Hz ‒ LEDG[2]: 0.333 Hz ‒ LEDG[3]: 0.5 Hz • 各LED表示回路毎にプロジェクトを作成し て, 全てが完成したら1つのプロジェクト に読み込むように設計しよう 71
Download now