FPGA MAX10 (3)

前回に引き続いて、MAX10のテストをしました。
今回は、以下ボード回路図を参考にI/Oのテストをしてみました。

https://service.macnica.co.jp/library/121809
https://service.macnica.co.jp/article_files/121809/max10_board_revb1p04__1.pdf

PB0とPB1を押すことで、違うLED(0-7)のパターンを点灯します。
PBもLEDも0と1が逆になっており、ちょっと戸惑いました。

コンパイルまでの操作は、(1)のときと同じです。
[Tools]->[Programmer]を起動して、[Edit]->[Add File]でsofファイルを選択します。
その後、(2)のときと同様、ハードウェア設定して、USBブラスターで転送します。

Pin Plannerでは、PB(PushButton)を2つ、LEDを8つを登録します。(今回はClockは使っていませんが、一応登録)


PB0を押したとき

PB1を押したとき

これを基本にまた次に進みたいと思います。
しかしLEDが明るすぎて目がいたいです (^^;

FPGA MAX10 (2)

このブログの初めに扱って以来、久しぶりとなってしまったMAX10をテストしました。
久しぶりとなってしまったのは、やはりUSB-Blasterなしでは転送が手間だったことが大きかったです。そして今回これを手に入れたので、使ってみました。

参考サイト : http://i8087.hatenablog.com/entry/20160427/1461756898

このサイトにある、LEDの点滅を実際に試してみました。
環境は前回と同じで、手順もUSB-Blasterに書き込むところ以外は同じです。HDLは、Verilogではなく、VHDLをそのまま使わせていただきました。

新しいプロジェクト作成

デバイス設定

VHDL選択

ソース作成

Pin Planner

Start Compilation

ハードウェア設定 – USB-Blaster選択(ドライバーは、Quartusインストールディレクトリにあり)

Startで転送

転送後すぐにLEDが高速で点滅

やはりUSB-Blasterは便利ですね。
今回は動作確認だけですが、次はVerilogで何か作りたいと思います。

FPGA MAX10

最初の投稿は、一番やりたかったFPGA(field-programmable gate array)。

https://ja.wikipedia.org/wiki/FPGA

CQ出版社「MAX10 実験キットで学ぶFPGA&コンピュータ」を購入して、勉強を始めました。
評価ボードは何にするか迷ったのですが、マクニカのWebサイトの記事がわかりやすかったのと、USBシリアルでTeraTermを使って書き込みが可能なのこと、そしてキャンペーン価格だった、ということで Odysseyにしました。(BLEでスマホからプログラムを呼び出せるのも面白い特徴です)

[概要編] MAX® 10 評価キット Odyssey の FPGA に microUSB ポート経由でコンフィギュレーション・データを転送してLチカ!
https://store.macnica.co.jp/library/115105

接続するときのドライバーとTeraTerm設定ファイル
http://www.m-pression.com/ja/solutions/boards/odyssey/odyssey-downloads
SiLabs USB Virtual Serial Port Driver
(Silabs-CDC_Install.zip)
http://www.m-pression.com/documents/10157/cf7a1227-ed65-4f6b-b8c5-0e7c13f356fd

(TERATERM.INI)
http://www.m-pression.com/documents/10157/1beb61af-2f1a-4935-a8f6-fd1ec3f01d07


それから今回、下記の記事に大変お世話になりました。(このサイトのコード、設定値を使わせていただきました)

Impression 製 Odyssey MAX10 評価キットを使ってFPGAをはじめてみる
https://theoriesblog.blogspot.jp/2016/05/impression-odyssey-max10-fpga.html

今回テストしたのは。ボード上のボタンを押すとLEDが光るという基本のLチカですが、ツールの機能が豊富で難しく感じました。
(まだまだほんの一部しか使っていないのですが・・)しかしながらまずは第一歩です。

環境: Quartus Prime ver15.1.1 Build 189(書籍付録DVD) / Windows 10
プロジェクト作成

ソースコードの追加

コンパイルは、[Processing]->[Start Analysis & Elaboration]

[Pin Planner]起動(メニューバーのアイコン)

再度コンパイル(メニューバーのアイコン[Start Compilation])

この時点で下記のようなファイルがoutput_filesフォルダに出力されます。

[Tools]->[Programmer]を起動して、[Edit]->[Add File]で上記.sofファイルを選択します。

.jbcファイルの作成[File]->[Create jAM,JBC,SVF or ISC File …]

.jbcファイルの転送(TeraTermでSiLabasのシリアルポートを選択)

デフォルトで空いている、パーソナリティ07に書き込み

できた!!

ちなみにパーソナリティの確認

何もでてこない模様

BLE通信のiOSアプリで確認

接続できた。パーソナリティも表示。

ADC and Audio Monitor では、音量に応じて、LEDがレベルメータのように光りました。

次はシミュレータとか使ってみたいと思います。