まごころせいじつ堂

浜町庄金 研究開発  マイコンで遊んでばっかりで

Altera

FPGA評価ボード BeMicro MAX10 準備

 AlteraのFPGA MAX10の評価ボードが安いということで入手した。

BEMICROMAX10(ARROW)
BeMicro Max10, FPGA Evaluation Kit adopts Altera's non-volatile MAX 10 FPGA built on 55-nm flash process

約$30。前見た時は送料が同じくらいかかっていたのが今は無料だったので注文。4日で届いた。

準備としてMAX10の開発環境 Quartus II 15.0をWindows7(64bit)マシンにインストール。
Quartus II 開発ソフトウェア v15.0 の新機能(ALTERA)

BeMicro MAX10をWindowsマシンにUSB接続しただけではドライバのインストールに失敗する。ドライバはQuartusIIをインストールした C:¥altera¥15.0¥quartus¥drivers¥ を参照する。

2015MAX10

 まずはここまで。


DE0 QuartusIIのMegaWizardでPLLを使う

DE0の基板上のクロックは50MHz。搭載されているSDRAMは100MHzか133MHz動作なのでこれなんか必要だよなあPLLがあるはずだがどうやって使うんだろうと悩んでいたが解決した。
 これはメーカー/デバイスごと固有の設定であり、Verilog-HDLの記述でどうこうできる話ではない。 QuartusII(12.1sp1)では[Tools]→[MegaWizard Plug-in Manager]で呼び出す。
2013pll1
新規作成を選んで次へ。
2013pll2
ここでは出力する言語をverilog HDL、ファイル名はapll、使用するmegafunctionはI/O→ALTPLLを選択。
 2013pll3
ここからALTPLLの詳細設定画面。入力クロックは50MHzにする。
2013pll4
resetやlock信号は今回使わないのでチェックを外す。後はいくつか飛ばして以下の画面へ。
2013pll5
 c0~c4まで出力を設定できるが、ここではc0だけ。100MHzに設定。あとは飛ばす。
2013pll6
最終確認。[Finish]

メインの画面に戻って[File]→[Open...]でapll.bb.vを開く。以下の内容のダミーモジュールができる。

module apll (
	inclk0,
	c0);

	input	  inclk0;
	output	  c0;

endmodule
 これをつないでやれば良い。トップモジュールで定義したクロック入力をclk_50、PLLの出力をclkで分配すると
apll apll_0(clk_50,clk);
とすればよい。なおトップモジュールでクロック入力の名前を変えるとピンの対応付けが再度必要になるのでPinPlannerで定義する。これでチカチカ表示するのが二倍速になるのを確認した。

参考:
http://www.emb4fun.de/fpga/nutos1/

昔話:
昔はのう、クロック入力を分周してデューティ50%で使ってたんじゃ。例えば内部50MHz動作だと100MHzの発振器が必要で、当時CMOSでそんな出力のはなかったんでECLレベルの発振器を使っておったんじゃ……

FPGA開発キットDE0の紹介

DE0_01
Terasic - FPGA Main Boards - Cyclone III - Altera DE0 Boardの紹介。USBケーブル、ACアダプタ、USBケーブル、プローブ、開発キット一式の入ったDVDも同梱され、あとは32bitのWindows環境があればOK。ソフトウェアの詳細は次回にでも。今回は舐め回すように基板を見てみよう。
DE0_02
主役、試作も量産も 低コストFPGA Cyclone III[ALTERA]のEP3C16、LE(ロジック・エレメント)数15,408、RAMメモリbit数516,096、18×18乗算器56、最大ユーザI/O数346。PLLは4系統だがこのボードでは50MHzしか使っていない。
DE0_03
 FLASH MEMORY SPANSION S29AL032D 2M×16bitでEP3C16に接続されている。
DE0_04
SDRAM Zentel A3V64S40ETP 4M×16bit PC166 これもEP3C16に直結。
DE0_05
USBブラスター部分。USBtoパラレルのFT245BLとCPLDのALTERA MAXII EPM240T、これらはPCとのインターフェースでありユーザは中をいじれない。
DE0_06
コンフィギュレーションROM、EPCS4。EP3C16の初期化に必要。DE0の"RUN"モードではUSBブラスターがこの代わりに初期化データをEP3C16に転送する。"PROG"モードではUSBブラスターはEPCS4の内容を書き換える。"RUN"モードでPCと接続されていない場合はEPCS4からEP3C16へ初期化データが与えられる。購入時はデモンストレーションが書きこまれてある。
 DE0_07
基板右上にあるのはシリアルポートの端子。レベル変換してあるのでそのままD-Sub15コネクタへ接続可能。
DE0_10
オプションの16×2桁LCD。5V品でおそらく同等品が使えると思われる。(動作時のVdd-Vss実測値は約4.1Vでした)
2011/8/7追記:バックライトLED端子の電圧は約4.0V。やはり5V相当品の模様。
DE0_12
オプションの16×2桁LCDをDE0基板に取り付けるには次の点に注意。先にDE0基板側にピンヘッダをハンダ付けしてからLCDをハンダ付けすること。また、写真の左上、液晶フレームを固定している金属部分がEP3C16の上に当たり干渉するので折り曲げておく。こうしないときちんとピンヘッダをハンダ付けできない。
DE0_14
付属のACアダプタ。7.5V/0.8A。こんなに小さい。

その他のTerasic製品ではDE0-NanoDE1DE2-115があるが、あらかじめLEDや入出力インターフェースがあり集積度もそこそこで価格が安いDE0が入門には向いていると思われる。また、DE0はすでに多数のユーザに使われてYouTubeなどにも動画がアップされており資料探しには困らないだろう。

 
とりあえず購入直後のデモンストレーションを実行し動作確認。
次回はソフトウェアです。

評価の機会を与えてくださった@natsutanさんに感謝。これからいじり倒しますので。

 DE0自体、DigikeyやSolitonWaveその他扱いが多く入手も容易であり、最近このような本が出たので導入は非常に楽になりました。記述はVerilogのみですが、開発環境のインストールからFPGA入門、DE0周辺の使用方法ひととおりとNIOS II(プロセッサ)の使用例が書いてあります。
 
 できるだけこの本に載ってないことを詳細に書いていく予定です。
 
 
記事検索
プロフィール

hardyboy

カテゴリ別アーカイブ
月別アーカイブ
QRコード
QRコード
  • ライブドアブログ