LoginSignup
3
2

More than 3 years have passed since last update.

Tang-NanoでAnalyzer Oscilloscopeを使ってみる

Last updated at Posted at 2020-09-26

目的

 Tang-Nanoと言うボードが去年(2019)の終わりごろに売り出されていた。
 一年近く立っており、今更気が付いた訳ですが。
 乗っているFPGAの規模は1152LUTと書かれているので、xilinxのxc6lx9の1/5位て所かな。
 但しLUT4なので、xc6lx9がLUT6なのを考慮すると1/8位ってとこ。
 CPLDに比べれば大容量、でも大げさな事は出来ないだろうな。
 6502とかZ80なんか入りそうにないので、遊びどころが狭くて苦しいな。
 しかし、何この値段。
 s*でのボードの値段は535円、m*でのチップ一個より安いじゃないか。
 ◆◆◆ よし、チップ単体より安いボードを使ってみよう ◆◆◆
 まあ、サポートとか輸送費等も考慮すると、一概に高い安いとかの判定はつけられないだろうが。
Tang-Nano

経緯

 流石に日本国内では535円では買えないので、適当にチョイスして購入(800円)。まあ、値段は許容範囲かな。
 ハードはUSB TYPE-Cでつなげるだけ。ドライバーはソフトと一緒に入ってくる。
 ソフトの導入は、Tang-Nanoで検索すればやり方が出てきた。
 SiPeed Tang Nanoの環境構築(Windows編)を参考にした。
 ただ、管理者モード云々の記述が有るが、しなくても書き込みは出来た。
  ※Programmer -> Edit -> Cable Setting -> Cable -> Cable SettingのFrequencyが2.5MHzに設定されていた。
 ライセンスは上記に書かれている、- server address 45.33.107.56 - port: 10559 で動作するはず。
  ※LANケーブルを外すと使えなくなる。外部サーバに頼るのはアマチュアと言えど一抹の不安が...。
 サンプルプロジェクトも上記に書かれている。Tang-Nano-examples
  ※但し一つ注意が必要です。
   某所で買ったLCD(JST-4300-E3V03)はクロックが10MHz前後。
   サンプルは33MHZ動作なのでそのままだと、うすボケ表示となる。まあ写れば動作は出来ているとは言える。
   修正にはPLLのクロックを10MHzにすれば良し。
   Tools -> IP Core Generator の画面で、Target Deviceの横のフォルダマークをクリック、gowin_pll-> gowin_pll.ipcを選択。
   IP Customizationの画面が開くので、CLKOUTDの EXxpected Frequencyを10にして再コンパイルすれば治る。

 これだけでは、ここに書かれた情報なんか要らないと言われると悲しいので、よそ様ではあまり書かれていないAnalyzer Oscilloscopeについて少々解説したい。
 Analyzer Oscilloscopeて何ですかと言われたら、signaltapやchipscopeみたいなものですと言っとこう。
 FPGAの動作信号をパソコン画面に表示してくれる優れもの、追加ハード無し、無料で出来まっせ。
 その道のプロはシミュレーションで動作検証するらしいが、素人では環境構成方法がむずかしく、そこで躓く。
 アマチュアは、直接FPGA君にお伺いします。但し、LUTとかメモリを食うのが難点ですが。

Analyzer Oscilloscopeの使い方

 Analyzerの使い方にはマニュアルが有ります。Gowin Analyzer Oscilloscope
 しかし、これ60ページ近くあり、しかも英語。(中国語バージョンも有った)
 そこで、斜め読みの結果を軽く解説。判らなければ、原本を読んでくださいと言っておこう。
 これを使うには、次の様な操作をステップを踏んで実行します。

1.gaoファイルの作成。

 予めソースをコンパイルを実行しておく。
 1.1 File -> Newで GAO Config Fileを選択してOK。
 1.2 ダイアログが現れるので、そのままNEXT。
  ※Liteを選択するとトリガなしになるが、LUTの消費が減るのでGW1Nには嬉しいかも。
   今回の場合、Standard = 512LUT Lite = 162LUTという結果になっている。
 1.3 Nameにファイル名を適当に設定してNext
 1.4 FinishでDesignビューに***.gaoが出来ているので、選択する事により編集操作が可能となる。
Image2.jpg

2.gaoファイルの編集。

 ***.gaoの選択でTrigger OptionとCaputure Optionの設定が可能となる。()内は取り合えず設定した内容。
 2.1 Trigger Option
  3箇所の設定が必要、ダブルクリックでダイアログが開くので設定入力。
  1)Trigger Ports  「+」クリックでSearch Netsが開くので、トリガ信号を設定("counter[10]"を指定)
  2)Match Units   トリガ条件を設定(Match Typeを"Basic w/edges"とし"counter[10]"がValue"R"で立ち上がりトリガ!の設定となる)
  3)Expressions   トリガ条件の組み合わせ(ここは取り合えず"M0"だけ)
Image7.jpg
 2.2 Caputure Option
  1)Sample Clock  キャプチャーの基準となる信号を設定(sys_clkを指定)
  2)Capture    キャプチャー幅を設定(サイズは256、位置は128で中央でトリガ)
            ※これを増やすと解析しやすくなるが、利用できるメモリが無くなる。
  3)Capture Signals 表示する信号(counter[0]-[3],[10]を指定)
Image6.jpg
 2.3 設定完了したらコンパイルを実行する。
 2.4 Tools -> GOWIN Analyzer Oscilloscopeで、Oscilloscope画面が開く。

3.Analyzer Oscilloscopeの実行

 3.1 Enable Programmerをチェックするとプログラマー画面がプルダウンする。
 3.2 書き込み釦(右端)を押す。上に有る赤かったPlease...が緑のReady...に変わる。
Image2.jpg
 3.3 実行釦(三角)を押すと、実行中に変化。
 3.4 トリガがかかると、キャプチャー結果が表示される。
 3.5 拡大縮小(+-...)釦も活用して波形を確認。
Image3.jpg

Tang-NanoでのAnalyzer Oscilloscopeの評価

 1.このお値段で、この機能は秀逸だと思う。
 2.シミュレーションの知識不要で、実機の信号が確認可能。
 3.信号が目に見えるので、ロジックの動作が非常に判りやすい。
 4.signaltapやchipscopeを使っていれば、操作性にさほど違和感はない。
 5.この程度の単純な設定で、約500LUTとメモリ1Blockを使用。GW1Nにはちと荷が重いかな。
  ※Liteに設定すれば162LUT、これぐらいなら使えるかもね。
   但し、トリガが効かなくなるので、キャプチャーは運任せ。
   一本でいいから、トリガソースを用意してほしいな。

感想

 元々GW1N単体で纏まった処理をするのは無理で有り、マイコンに任すべきだろう。
 GW1Nは10-200MHzの高速信号を処理して、マイコンに渡すような役回りだろうが、アマチュアには使いどころがなかなか難しい。
 しかし、この値段とAnalyzer Oscilloscope機能を前面に押し出して、FPGAの啓蒙に使えないかな。
 電子回路の教育用として、技術教育に売り込めばいいのに。なんせこの値段なんだから売り込みやすいだろうに。
 口で説明するより、実物はインパクトが有るよ。更に拡張性も十分だし。
 しかも、最初に使ったFPGAを、将来も使う可能性はかなり高いだろう。
 まあ、ドライバーとライセンス管理には、再検討が必要かも知れないが。
 なお、上記記載内容は全て無保証であり、各自の責任においてご利用願います。

3
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
2