Enviar pesquisa
Carregar
Verilog-HDL Tutorial (14)
•
0 gostou
•
1,540 visualizações
Hiroki Nakahara
Seguir
Verilog-HDL Tutorial Using DE0 FPGA Board
Leia menos
Leia mais
Educação
Denunciar
Compartilhar
Denunciar
Compartilhar
1 de 53
Baixar agora
Baixar para ler offline
Recomendados
Verilog-HDL Tutorial (7)
Verilog-HDL Tutorial (7)
Hiroki Nakahara
Verilog-HDL Tutorial (12)
Verilog-HDL Tutorial (12)
Hiroki Nakahara
Magnum IO GPUDirect Storage 最新情報
Magnum IO GPUDirect Storage 最新情報
NVIDIA Japan
x86x64 SSE4.2 POPCNT
x86x64 SSE4.2 POPCNT
takesako
WebAssembly向け多倍長演算の実装
WebAssembly向け多倍長演算の実装
MITSUNARI Shigeo
2015年度先端GPGPUシミュレーション工学特論 第5回 GPUのメモリ階層の詳細(様々なメモリの利用)
2015年度先端GPGPUシミュレーション工学特論 第5回 GPUのメモリ階層の詳細(様々なメモリの利用)
智啓 出川
2015年度先端GPGPUシミュレーション工学特論 第2回 GPUによる並列計算の概念とメモリアクセス
2015年度先端GPGPUシミュレーション工学特論 第2回 GPUによる並列計算の概念とメモリアクセス
智啓 出川
多倍長整数の乗算と高速フーリエ変換
多倍長整数の乗算と高速フーリエ変換
京大 マイコンクラブ
Mais conteúdo relacionado
Mais procurados
深層学習フレームワークにおけるIntel CPU/富岳向け最適化法
深層学習フレームワークにおけるIntel CPU/富岳向け最適化法
MITSUNARI Shigeo
ブロケード FC ファブリックスイッチオペレーション講座(前編)
ブロケード FC ファブリックスイッチオペレーション講座(前編)
Brocade
FPGAを用いたEdge AIの現状
FPGAを用いたEdge AIの現状
Yukitaka Takemura
2015年度GPGPU実践基礎工学 第2回 GPGPUの歴史と応用例
2015年度GPGPU実践基礎工学 第2回 GPGPUの歴史と応用例
智啓 出川
研究動向から考えるx86/x64最適化手法
研究動向から考えるx86/x64最適化手法
Takeshi Yamamuro
トランザクションの並行処理制御
トランザクションの並行処理制御
Takashi Hoshino
Interrupt Affinityについて
Interrupt Affinityについて
Takuya ASADA
FC SAN Fabric環境におけるパフォーマンストラブルの対処法
FC SAN Fabric環境におけるパフォーマンストラブルの対処法
Brocade
The Forefront of the Development for NVDIMM on Linux Kernel (Linux Plumbers c...
The Forefront of the Development for NVDIMM on Linux Kernel (Linux Plumbers c...
Yasunori Goto
あるキャッシュメモリの話
あるキャッシュメモリの話
nullnilaki
ARM CPUにおけるSIMDを用いた高速計算入門
ARM CPUにおけるSIMDを用いた高速計算入門
Fixstars Corporation
Brocade SAN 製品概要
Brocade SAN 製品概要
Brocade
Dbts 分散olt pv2
Dbts 分散olt pv2
Takashi Kambayashi
FCスイッチゾーニング設定ガイド
FCスイッチゾーニング設定ガイド
Brocade
Page reclaim
Page reclaim
siburu
いまさら聞けない!CUDA高速化入門
いまさら聞けない!CUDA高速化入門
Fixstars Corporation
Cisco Connect Japan 2014:Cisco ASA 5500-X 次世代ファイアウォールの機能と、安定導入・運用方法
Cisco Connect Japan 2014:Cisco ASA 5500-X 次世代ファイアウォールの機能と、安定導入・運用方法
シスコシステムズ合同会社
PostgreSQL16新機能紹介 - libpq接続ロード・バランシング(第41回PostgreSQLアンカンファレンス@オンライン 発表資料)
PostgreSQL16新機能紹介 - libpq接続ロード・バランシング(第41回PostgreSQLアンカンファレンス@オンライン 発表資料)
NTT DATA Technology & Innovation
Pythonの理解を試みる 〜バイトコードインタプリタを作成する〜
Pythonの理解を試みる 〜バイトコードインタプリタを作成する〜
Preferred Networks
Hopper アーキテクチャで、変わること、変わらないこと
Hopper アーキテクチャで、変わること、変わらないこと
NVIDIA Japan
Mais procurados
(20)
深層学習フレームワークにおけるIntel CPU/富岳向け最適化法
深層学習フレームワークにおけるIntel CPU/富岳向け最適化法
ブロケード FC ファブリックスイッチオペレーション講座(前編)
ブロケード FC ファブリックスイッチオペレーション講座(前編)
FPGAを用いたEdge AIの現状
FPGAを用いたEdge AIの現状
2015年度GPGPU実践基礎工学 第2回 GPGPUの歴史と応用例
2015年度GPGPU実践基礎工学 第2回 GPGPUの歴史と応用例
研究動向から考えるx86/x64最適化手法
研究動向から考えるx86/x64最適化手法
トランザクションの並行処理制御
トランザクションの並行処理制御
Interrupt Affinityについて
Interrupt Affinityについて
FC SAN Fabric環境におけるパフォーマンストラブルの対処法
FC SAN Fabric環境におけるパフォーマンストラブルの対処法
The Forefront of the Development for NVDIMM on Linux Kernel (Linux Plumbers c...
The Forefront of the Development for NVDIMM on Linux Kernel (Linux Plumbers c...
あるキャッシュメモリの話
あるキャッシュメモリの話
ARM CPUにおけるSIMDを用いた高速計算入門
ARM CPUにおけるSIMDを用いた高速計算入門
Brocade SAN 製品概要
Brocade SAN 製品概要
Dbts 分散olt pv2
Dbts 分散olt pv2
FCスイッチゾーニング設定ガイド
FCスイッチゾーニング設定ガイド
Page reclaim
Page reclaim
いまさら聞けない!CUDA高速化入門
いまさら聞けない!CUDA高速化入門
Cisco Connect Japan 2014:Cisco ASA 5500-X 次世代ファイアウォールの機能と、安定導入・運用方法
Cisco Connect Japan 2014:Cisco ASA 5500-X 次世代ファイアウォールの機能と、安定導入・運用方法
PostgreSQL16新機能紹介 - libpq接続ロード・バランシング(第41回PostgreSQLアンカンファレンス@オンライン 発表資料)
PostgreSQL16新機能紹介 - libpq接続ロード・バランシング(第41回PostgreSQLアンカンファレンス@オンライン 発表資料)
Pythonの理解を試みる 〜バイトコードインタプリタを作成する〜
Pythonの理解を試みる 〜バイトコードインタプリタを作成する〜
Hopper アーキテクチャで、変わること、変わらないこと
Hopper アーキテクチャで、変わること、変わらないこと
Destaque
FPL15 talk: Deep Convolutional Neural Network on FPGA
FPL15 talk: Deep Convolutional Neural Network on 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
Naist2015 dec ver1
Naist2015 dec ver1
Hiroki Nakahara
FPGAX2016 ドキュンなFPGA
FPGAX2016 ドキュンなFPGA
Hiroki Nakahara
Verilog-HDL Tutorial (15) software
Verilog-HDL Tutorial (15) software
Hiroki Nakahara
Nested RNSを用いたディープニューラルネットワークのFPGA実装
Nested RNSを用いたディープニューラルネットワークのFPGA実装
Hiroki Nakahara
Verilog-HDL Tutorial (11)
Verilog-HDL Tutorial (11)
Hiroki Nakahara
Verilog-HDL Tutorial (9)
Verilog-HDL Tutorial (9)
Hiroki Nakahara
私のファミコンのfpsは530000です。もちろんフルパワーで(以下略
私のファミコンのfpsは530000です。もちろんフルパワーで(以下略
Hiroki Nakahara
Altera sdk for open cl アンケート集計結果(公開版)
Altera sdk for open cl アンケート集計結果(公開版)
Hiroki Nakahara
電波望遠鏡用の分光器をAltera SDK for OpenCL使ってサクッと作ってみた
電波望遠鏡用の分光器をAltera SDK for OpenCL使ってサクッと作ってみた
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
Destaque
(18)
FPL15 talk: Deep Convolutional Neural Network on FPGA
FPL15 talk: Deep Convolutional Neural Network on FPGA
Verilog-HDL Tutorial (15) hardware
Verilog-HDL Tutorial (15) hardware
Verilog-HDL Tutorial (13)
Verilog-HDL Tutorial (13)
Naist2015 dec ver1
Naist2015 dec ver1
FPGAX2016 ドキュンなFPGA
FPGAX2016 ドキュンなFPGA
Verilog-HDL Tutorial (15) software
Verilog-HDL Tutorial (15) software
Nested RNSを用いたディープニューラルネットワークのFPGA実装
Nested RNSを用いたディープニューラルネットワークのFPGA実装
Verilog-HDL Tutorial (11)
Verilog-HDL Tutorial (11)
Verilog-HDL Tutorial (9)
Verilog-HDL Tutorial (9)
私のファミコンのfpsは530000です。もちろんフルパワーで(以下略
私のファミコンのfpsは530000です。もちろんフルパワーで(以下略
Altera sdk for open cl アンケート集計結果(公開版)
Altera sdk for open cl アンケート集計結果(公開版)
電波望遠鏡用の分光器をAltera SDK for OpenCL使ってサクッと作ってみた
電波望遠鏡用の分光器をAltera SDK for OpenCL使ってサクッと作ってみた
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とガチンコバトル(公開版)
Semelhante a Verilog-HDL Tutorial (14)
汎用性と高速性を目指したペアリング暗号ライブラリ mcl
汎用性と高速性を目指したペアリング暗号ライブラリ mcl
MITSUNARI Shigeo
20140310 fpgax
20140310 fpgax
funadasatoshi
不揮発メモリとOS研究にまつわる何か
不揮発メモリとOS研究にまつわる何か
Ryousei Takano
Isca13 study
Isca13 study
Toshiya Komoda
2015年度GPGPU実践プログラミング 第5回 GPUのメモリ階層
2015年度GPGPU実践プログラミング 第5回 GPUのメモリ階層
智啓 出川
Page frame management
Page frame management
siburu
retrobsd-2012-JUL-07 at JNUG BSD BoF
retrobsd-2012-JUL-07 at JNUG BSD BoF
たけおか しょうぞう
CMSI計算科学技術特論A(7) 線形代数演算ライブラリBLASとLAPACKの基礎と実践2
CMSI計算科学技術特論A(7) 線形代数演算ライブラリBLASとLAPACKの基礎と実践2
Computational Materials Science Initiative
Cmc cmd slim
Cmc cmd slim
Shinji Shimojo
「Windows Azure でスーパーコンピューティング!」for Microsoft MVP camp 2014 大阪会場
「Windows Azure でスーパーコンピューティング!」for Microsoft MVP camp 2014 大阪会場
幸智 Yukinori 黒田 Kuroda
2021 03-09-ac ri-nngen
2021 03-09-ac ri-nngen
直久 住川
オープンソースコンパイラNNgenでつくるエッジ・ディープラーニングシステム
オープンソースコンパイラNNgenでつくるエッジ・ディープラーニングシステム
Shinya Takamaeda-Y
[DL Hacks]FPGA入門
[DL Hacks]FPGA入門
Deep Learning JP
ASPLOS2017: Building Durable Transactions with Decoupling for Persistent Memory
ASPLOS2017: Building Durable Transactions with Decoupling for Persistent Memory
Atsushi Koshiba
Shinichi Awamoto Bachelor Thesis
Shinichi Awamoto Bachelor Thesis
pflab
CUDAプログラミング入門
CUDAプログラミング入門
NVIDIA Japan
【旧版】2009/12/10 GPUコンピューティングの現状とスーパーコンピューティングの未来
【旧版】2009/12/10 GPUコンピューティングの現状とスーパーコンピューティングの未来
Preferred Networks
Native Memory Tracking
Native Memory Tracking
Takahiro YAMADA
OSC 2012 Hokkaido でのプレゼン資料
OSC 2012 Hokkaido でのプレゼン資料
Shin-ya Koga
オリジナルMIDIシーケンサ 開発ノート
オリジナルMIDIシーケンサ 開発ノート
you_ucchy
Semelhante a Verilog-HDL Tutorial (14)
(20)
汎用性と高速性を目指したペアリング暗号ライブラリ mcl
汎用性と高速性を目指したペアリング暗号ライブラリ mcl
20140310 fpgax
20140310 fpgax
不揮発メモリとOS研究にまつわる何か
不揮発メモリとOS研究にまつわる何か
Isca13 study
Isca13 study
2015年度GPGPU実践プログラミング 第5回 GPUのメモリ階層
2015年度GPGPU実践プログラミング 第5回 GPUのメモリ階層
Page frame management
Page frame management
retrobsd-2012-JUL-07 at JNUG BSD BoF
retrobsd-2012-JUL-07 at JNUG BSD BoF
CMSI計算科学技術特論A(7) 線形代数演算ライブラリBLASとLAPACKの基礎と実践2
CMSI計算科学技術特論A(7) 線形代数演算ライブラリBLASとLAPACKの基礎と実践2
Cmc cmd slim
Cmc cmd slim
「Windows Azure でスーパーコンピューティング!」for Microsoft MVP camp 2014 大阪会場
「Windows Azure でスーパーコンピューティング!」for Microsoft MVP camp 2014 大阪会場
2021 03-09-ac ri-nngen
2021 03-09-ac ri-nngen
オープンソースコンパイラNNgenでつくるエッジ・ディープラーニングシステム
オープンソースコンパイラNNgenでつくるエッジ・ディープラーニングシステム
[DL Hacks]FPGA入門
[DL Hacks]FPGA入門
ASPLOS2017: Building Durable Transactions with Decoupling for Persistent Memory
ASPLOS2017: Building Durable Transactions with Decoupling for Persistent Memory
Shinichi Awamoto Bachelor Thesis
Shinichi Awamoto Bachelor Thesis
CUDAプログラミング入門
CUDAプログラミング入門
【旧版】2009/12/10 GPUコンピューティングの現状とスーパーコンピューティングの未来
【旧版】2009/12/10 GPUコンピューティングの現状とスーパーコンピューティングの未来
Native Memory Tracking
Native Memory Tracking
OSC 2012 Hokkaido でのプレゼン資料
OSC 2012 Hokkaido でのプレゼン資料
オリジナルMIDIシーケンサ 開発ノート
オリジナルMIDIシーケンサ 開発ノート
Mais de 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
Mais de Hiroki Nakahara
(10)
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 (14)
1.
1 Verilog-HDL 講習会DE0編(14) Cyclone内蔵メモリM9Kを使う 2, August,
2013 鹿児島大学 中原 啓貴
2.
M9Kとは? • Altera社FPGA Cyclone
IIIに内蔵されているメモリ(RAM: Random Access Memory): 1個の容量は9Kbit • 複数のM9Kを組合せて大きなメモリとしても使用可能 • デュアルポートRAMをサポート • DE0搭載のFPGA (EP3C16) ‒ 56個のM9Kを搭載 (合計504Kbit) 利用可能数に限り有り! 2
3.
M9Kの構成 • 用途に応じて構成を変えることができる 3 構成 入力数
出力数 8192 x 1 13 1 4096 x 2 12 2 2048 x 4 11 4 1024 x 8 10 8 1024 x 9 9 9 512 x 16 8 16 512 x 18 8 18 256 x 32 7 32 256 x 36 7 36
4.
M9Kのモード • 同期式(クロック使用)のみサポート 4 Single-port RAM
Simple dual-port RAM True dual-port RAM Single-port ROM 他にも, Dual-port ROM, FIFO, Shift registerが構成可能
5.
M9KをROMとして使う 5
6.
M9Kのタイミングチャート • ROM構成時のタイミング(連続読み出し) 6 clock address q ADR1 DATA1 アドレスを セットする 次のクロックで ROMにセット ちょっと遅れて データが出てくる 次のクロックで 読み出し&次の アドレスをセット ADR2 DATA2
7.
仕様 • ROMに書かれたデータを1秒毎にLEDGに 表示する回路を作成 7
8.
状態遷移図 8 READ ADR Set Reset r_adr <= 3'b0; LEDG
<= 10'b0; clk_cnt <= 26'b0; NONE clk_cnt <= 26'b0; LEDG <= w_rdata (ROMのデータ); clk_cnt != 26'd50000000 clk_cnt <= clk_cnt + 1'b1 clk_cnt== 26'd50000000 r_adr <= r_adr + 1'b1; 20nsec (50MHzの逆数)を 50000000回カウントすると 1000000000 nsec = 1secになる
9.
9 • ピン配置が面倒くさいので、デフォルト のプロジェクトを読み込みましょう! (DE0に限った事ではないが、Terasic製品はサンプルCD-ROMの プロジェクトを改変するのが楽でお勧め) DE0付属のCD-ROM Demonstrations 内の "DE0_Top"フォルダの ファイル全てを C:¥verilog¥DE0_tutorial_14_M9K_basic¥ 内にコピー
10.
DE0_TOP.qpfをダブルクリック してQuartus IIを起動 10 Pin Plannerを開いてみると ピン配置が終わっている!
11.
Verilog-HDLを入力 11 ダブルクリック Verilog-HDLの テンプレートが 表示されるので コードを入力 コード入力したら保存を忘れずに!
12.
ROMの中身を用意 12 content.mif を作成する. テキストエディタを開いて content.mif を編集
13.
MIFファイルフォーマット 13 ワード数 8 (つまり入力3ビット),
ワード長 (出力) 10ビット アドレスとワードの表記法(基数)を 設定. ここでは2進数 (binary) アドレス : ワード の順番に ROMの中身を記述する
14.
MegaWizard を起動 14
15.
Create a new
custom megafunction variation を選択 15
16.
ROM 1-PORT を選択 16 Memory
Compiler -> ROM: 1-PORT を選択 Verilog-HDL を選択 ファイル名は ROM_LEDGに
17.
17 出力 (q)は10ビット ワード数は 8
個 メモリの種類は M9Kを指定
18.
18 チェックを外す
19.
19 Browseをクリックし mif ファイル (ROMの中身) を読み込む
20.
20 Files of type: で「MIF
files (*.mif)」を 選択 先程作成した「content.mif」を 選択する
21.
21
22.
22
23.
23 【重要】Instantiation template file
に チェックを付けることを忘れないこと!!
24.
ポップアップウインドウには Yesをクリック 24
25.
先程, 生成した Instantiation template
file をコピペ 25 作業用フォルダに できた ROM_LEDG_inst.v をテキストエディタで開く Quartus II のDE0_TOP.vにコピペ!
26.
26 入力する Verilog-HDL
27.
コンパイルを行う 27 「保存アイコン」を クリックして保存 「コンパイルアイコン」を クリックして コンパイルを行う コンパイル後、このウインドウが 表示されればOK
28.
Compilation Report と Project
Navigator にM9Kが 使用されていることが表示されます 28 Project Navigator(左上にある) の下のスクロールバーを右に スクロールする
29.
FPGAをプログラム 29
30.
動作確認 1秒毎にMIFファイルの中身が LEDGに表示されていますか? 30
31.
M9KをRAMとして使う 31
32.
Sinple-port RAM のタイミングチャート 32 clock address data wren q ADR1 DATA1 Write
アドレスと データを セットする 次のクロックで Read アドレスが RAMに取り込まれる ちょっと 遅れて データが 出てくる Readアドレスを セットする ADR2 DATA2 Write イネーブル をONにする 次のクロックで 書き込み完了 & Writeイネーブルを OFFにする
33.
今回の仕様 RAMを手で動かしてみる • スライドスイッチ SW[9:4]:
アドレス(6ビット) • スライドスイッチ SW[3:0]: データ(4ビット) • 押しボタンスイッチ BUTTON[2]: 書き込みイネーブル • LEDG[3:0]: RAMのデータ表示 33
34.
34 • ピン配置が面倒くさいので、デフォルト のプロジェクトを読み込みましょう! (DE0に限った事ではないが、Terasic製品はサンプルCD-ROMの プロジェクトを改変するのが楽でお勧め) DE0付属のCD-ROM Demonstrations 内の "DE0_Top"フォルダの ファイル全てを C:¥verilog¥DE0_tutorial_14_M9K_RAM¥ 内にコピー
35.
DE0_TOP.qpfをダブルクリック してQuartus IIを起動 35 Pin Plannerを開いてみると ピン配置が終わっている!
36.
Verilog-HDLを入力 36 ダブルクリック Verilog-HDLの テンプレートが 表示されるので コードを入力 コード入力したら保存を忘れずに!
37.
MegaWizard を起動 37
38.
Create a new
custom megafunction variation を選択 38
39.
RAM: 1-PORTを選択 39 Memory Compiler
-> RAM: 1-PORT を選択 Verilog-HDL を選択 ファイル名は M9K_RAMに
40.
40 出力 (q)は4ビット ワード数は 64
個 メモリの種類は M9Kを指定
41.
41 チェックを外す
42.
同一アドレスに読み込みと書き込みが同時 に発生した時の処理はデフォルトのまま (書き込みデータをそのまま読み出す) 42
43.
43 初期データ(RAMの中身)は blank (空っぽ)でOK RAMはデータが書かれる ことがあるから. もちろん, mifファイルで 初期データを指定してもよい
44.
44
45.
Instantiation Template File
生成の 指定を忘れないように! 45
46.
生成した Instantiation Temple
File を テキストエディタで開いてDE0_TOP.v にコピペ 46 作業用フォルダに できた M9K_RAM_inst.v をテキストエディタで開く Quartus II のDE0_TOP.vにコピペ!
47.
入力するVerilog-HDL 47
48.
コンパイルを行う 48 「保存アイコン」を クリックして保存 「コンパイルアイコン」を クリックして コンパイルを行う コンパイル後、このウインドウが 表示されればOK
49.
コンパイル後, Compilation Report
で M9Kのメモリ量を確認 (64 x 4 = 256ビットになってますか?) 49
50.
FPGAをプログラム 50
51.
データ: 1111とセットして 押しボタンを押す LEDGに1111 が表示される (アドレス000000に書き込まれた!) 動作確認 51 アドレス:
000000 データ: 0000 LEDGには何も表示されない データ: 0001とセットして 押しボタンを押す LEDGに0001 が表示される (アドレス000000に書き込まれた!)
52.
動作確認 52 アドレス: 000001 LEDGには何も表示されない (アドレス000001には何も書かれていない) データ: 0001とセットして 押しボタンを押す LEDGに0001
が表示される (アドレス000001に書き込まれた!) アドレス: 000000 LEDGには1111が表示される (先程のデータがRAMに残っている!)
53.
まとめ • M9Kの使い方を学習 ‒ ROM ‒ RAM ‒ いずれもSingle-Port • 課題 ‒ 様々な大きさのROMを作成し,
LEDGの表示パ ターンを変えてみよう 53
Baixar agora