ラベル Quartus の投稿を表示しています。 すべての投稿を表示
ラベル Quartus の投稿を表示しています。 すべての投稿を表示

2016年5月30日月曜日

BeMicro MAX10にNios IIを入れてLチカ(part 1:構成編)

トランジスタ技術2015年11月号 p61からの「第三章 [STEP2] コピペであっさり! 32ビット・コンピュータを作りこんで動かす」を試してみます。

前回マクニカさんの記事を参考にしたら、これが見事に「わかっている人向けの記事」だったので大いに悩んだのですが、今度は我が心の師匠・岩田利王氏の記事、きっと大丈夫です。でも、もしQurtusの操作についてわからないことがあれば、「FPGA電子工作スーパーキット」が参考になります。

ま、人の作ったもんだから何とかなるでしょ。

■と思ったら■

いきなり「前章で作成したmaxlabプロジェクトを開いて」と来ましたorz ということで、トラ技のダウンロードページから2015年11月号STEP1のプロジェクトをダウンロードして、Velilog下にあるmaxlabを適当な場所にコピーします。

Quartusを起動します。私のはQuartus Prime Lite 15.1.2です。

FileメニューのOpen Project...からmaxlabフォルダの中にあるmaxlab.pdfを開きます。ToolsメニューからQsysを選びます。

…と記事のまま書いてもブログにする意味がないので、以下は記事のわかりにくいところだけ説明します。

  1. Nios II プロセッサをシステムに追加する
  2. オンチップ・メモリをシステムに追加
  3. オンチップ・メモリのサイズを調整
  4. オンチップ・メモリの配線設定
    ちょっと悩みました。本には「マウスでクリックして繋ぐ」とありますが、どこをクリックしてもドラッグしても反応しません。クリックするのは「◯」のところです。例えば、 -<clk と ->clk1 を繋ぐ場合には、nios2_gen2_0のところにある ->clk の左にある「◯」と ->clk1 のところにある「◯」をクリックすると線が太くなって配線!となります。どうでもいいですが「はいせん!」とか書きたいですな(何がだ)。
  5. Nios IIがオンチップ・メモリから起動するように設定
    記事では「画面を閉じます」と書いてありますが、閉じるとこの後の辻褄があわなくなってしまうので閉じません。閉じるときにファイル名をnios2e.qsysにしていれば問題無いです。もし閉じてしまったら、またQuartusのToolsメニューからQsysを選びます。で、メモリベースアドレスの設定をするのですが、「図9のように」という本文の説明は大変わかりにくいです。配線図のところのonchip_memoryの下にあるs1の行の右に「BASE」という欄がありますので、ここをダブルクリックして記事にあるように「0x0001_0000」にしてみます。記事には0xついてないですが、付けます。
なお、記事はこれで「エラーが消えます」とあるのですが、「clk_0, clk_in_reset must be connected to a reset source」というエラーが残ってます。記事の図を見ても接続されていないですが、マクニカの記事だとつながっているのでつないで見たのですが、それだと最後の最後でコンパイルエラーがでます。


調査の結果わかったのは、Qsysでclk_0のckl_in_resetがexportされていないのが原因でした。clk_in_resetの行のExport欄をダブルクリックして表示が「reset」になるのを確認してください。こんな形になればOKです。雑誌の図だと「export」が隠れてて見えないんですよね…困ったもんだ。



■STEP2-2 Nios IIにI/Oを追加■

  1. 加速度センサとSPI通信するためのPIOを追加
    Qsysは開いたままです。1bitのoutputを3つと1bitのinputを1つ追加します。
  2. LED制御用PIOを追加
    width 8のoutputを1つ追加します。
  3. PIOの設定とそれぞれの接続設定をします。記事通りです。

■STEP3 FPGAに書き込む■

  1. Quartus IIで使うためのファイルを生成する
  2. Qsysで生成したファイルをQuartus IIに追加する
  3. MAX 10でNios II/eを使うための設定をする
  4. HDLソースとピン・アサインのファイルを更新
    QuartusのProject Navigator(右上の一覧)からmaxlabをダブルクリックするとmaxlab.vが表示されます。で、リスト1を打ち込みます。すぐお気づきかと思いますが、赤い文字だけが変更箇所ではないのでご注意を。あと「それらをアサインしましょう」はFileメニューからOpen Fileを選び、Files of typeをAll Filesにするとmaxlab.qsfが見えますので、開きます。もっと簡単な開き方ご存知の方、教えてくらさい。開くと雑誌リスト2の中身と大幅に違うものが出てくるのですが、set_global_assignmentは放置しておいて、set_location_assignmentを雑誌のリストと同じにしてみました。結果的にはそれでよかったみたい。
  5. コンパイルの後、FPGAにプログラムする
    ProcessingメニューからStart Compileを選びます。順調にいけば、0:errors, 22 warningsって感じで終わるはずです。

さて、あとはNios IIの上で走らせるソースをコンパイルしたりFPGAをコンフィグ(書き込みのこと)しなきゃいけないんですが、もう眠いっす。

続きは明日…無事動作しました。

2016年5月11日水曜日

悟空USB BlasterをMacOS上のVirtualBox上のUbuntuで。


Power LEDの豪快なズレなど全然気にならない1200円

USB BlasterはUSBからFPGAに書き込みをするためのアダプタ。Alteraの正規品は10万円ぐらいするけど、この互換品は1200円。Amazonでレビュー1件しかなかったけど、たくさん買ってちゃんと動いたって書いてあったので、買いました。

■Ubuntu上でUSB Blasterを認識させる■

MacOS X El Capitan 10.11.4、VirtualBoxのバージョンは5.0.20、ubuntuは14.04 LTSです。Quartus II Prime Lite Edition 15.1を入れてあります。

まず、VirtualBoxのDeviceメニュー>USB>Altera USB-Blaster [0400]を選択して、Ubuntuがデバイスを認識できるようにします。

Quartus / USB Blasterの設定はここを参考にしました。

まず設定ファイルを書きます。ターミナルを起動して
sudo vi /etc/udev/rules.d/altera-usb-blaster.rules
iをタイプしてから以下をコピペ
ATTR{idVendor}=="09fb", ATTR{idProduct}=="6001", MODE="666"
:wq<return>で保存。もちろんvim以外のエディタでもOKです。

Quartusを起動します。
cd <インストールディレクトリ>/altera_lite/15.1/quartus/bin
./quartus
Toolsメニュー>ProgrammerでProgrammerを起動


画面上の「Hardware Setup...」をクリック


Currently selected hardware:で「USB-Bluster [1-2]」を選び、Close
「Hardware Setup...」ボタンの右隣りが「USB-Bluster [1-2]に変わります。

■追記 5/11■

やっとQuartus Prime Lite on Ubuntu on MacでLチカまでたどり着きました。


2016年5月3日火曜日

MacでAlteraのQuartus Prime Liteを動かす(Ubuntu上

コンパイル通った記念w

FPGAやりたいけど開発ツールがWindows、というのがネックになって手を付けておりませんでした。いや、言い訳じゃなくて、そんだけWindowsが嫌い。Windows+Eclipseはもっと嫌い。Windows+Eclipse+Strutsはそれだけで退職しようかと思うレベルで嫌い。

…と、話が逸れましたが。

Linux版があるのは知ってたんですが、死ぬほど苦労した末にビルドを通してやっと半分ぐらいの機能が使える…というを印象があって敬遠してました。でも、今どきはそんな苦労しなくてもインストーラからさくっと使えると風のウワサに聞きまして。

というわけで、VirtualBoxにUbuntuを入れ、その上でAltera社のFPGA「MAX10」シリーズを使うための開発ツールQuartas Prime Liteを入れてみました。

まずVirtualBoxをインストールし、その上にUbuntuをインストールします。ちょっと古いけど、この記事を参考にしました。ありがとうございます。VirtualBoxには8GB割り当てています(母艦はiMac 5k, 3.2 GHz Core i5, 24GB, 外付けのSSD)。バージョンなど読み替えつつインストールしてください。なお、Quartus Prime Liteはダウンロード10GB+インストールサイズ20GBの合計30GBは食いますので、最初からその程度の容量+30GBぐらいは確保しておきましょう。
MacのVirtualBoxにLinuxのUbuntuをインストールする方法

私は上記で50GBしか確保しなかったら、スペースが足りないと言われてしまい、MAX10以外のデバイスをカットしてようやくインストールできました。これでは空きがギリギリになってしまうので、以下の手順で仮想マシンのディスク容量を確保しました。

Altera.comでユーザ登録をしてからダウンロード。死ぬほど時間がかかりますが、大人しくひたすらダウンロード。

ダウンロードしたらダウンロードディレクトリにある「Quartus-lite-15.1.2.193-linux.tar」をダブルクリックし、アーカイブマネージャで開き、さらに右クリックして解凍します。解凍し終わったらターミナルを起動し、ディレクトリを移動して ./setup.sh でインストーラを起動します。あとは画面の指示に従っていけばOK。

インストーラの最後で「デスクトップにアイコンを置く」っていうチェックボックスがあって、その方が便利なのでオンにしたのですが、何故かアイコンが残っていません。ぜひインストール完了時にQuartus Primeを起動してランチャーに登録しておいてください。あたしゃ起動の方法がわからなくて、結局インストーラをもう一回走らせるはめになりました。

ともかく、これで準備OKです。おお早朝始めたのにもう夕方だ…まぁ大部分はインストール待ち時間だったのですが。


その後、岩田利王さんのチュートリアルを参考にLチカを記述して、なんとかコンパイル通すところまでたどり着きました。すっかり夕食の時間です。

これで、フライングで注文してしまったMAX10がムダにならないで済みますw しかし、考えてみりゃ連休明けまで届かないですよね、今日頼んだものってorz

■追記 5/11■

やっとQuartus Prime Lite on Ubuntu on MacでLチカまでたどり着きました。