「アプリケーションラボ」は、Digi-Key社のご協力をいただいて、Digi-Key社が公開している新製品や技術情報を日本語でご紹介するWebページです。基礎技術から最新技術まで有益な情報を公開していますので、是非ご活用ください。
今回は、FPGAの開発をPython言語を使って効率よく実現する方法について解説した記事をご紹介します。
■PythonとJupyter NotebookでFPGAベース設計の構築とプログラミングを迅速化
最近はPython言語の利用がどんどん広がっていますが、今回の【アプリケーションラボ】の解説記事は、FPGAの開発にもPython言語を使って開発効率を上げようという話です。
ザイリンクス社のZynq-7000ファミリは、ARM Cortex-A9 MPCoreをハードマクロとして集積したFPGAで、マイコンとFPGAの中間のようなデバイスです。マイコンでプログラムを開発しながら、処理を高速化したい部分をFPGAに置き換えるというような使い方ができます。ザイリンクス社では、Zynq用にPythonで一括してプログラミングが可能なPYNQ(Python Productivity for Zynq)という開発環境を用意しています。
PYNQでは、オーバレイと呼ばれるライブラリ内にプログラマブルロジックの回路デザイン(ビットストリーム)がカプセル化されていて、Pythonからビットストリームを呼べる仕組みが用意されています。ザイリンクス社の開発ツールVivado HLSで生成したビットストリームなどを読み込んで利用できます。また、Pythonのプログラム作成にはJupyter Notebookというツールを利用します。
Jupyter Notebookは、Web上でPythonを実行できるオープンソースのデータ分析ツールで、notebookと呼ばれる形式のファイルにプログラムや文章、実行結果などをまとめて管理することができます。現在は、Python以外の言語にも対応しています。Anacondaという開発環境のパッケージを利用すると、Jupyter Notebookと共に、データ分析やグラフ描画など、Pythonで利用するライブラリをまとめてインストールできます。
PYNQ-Z1ボードは、Digilent社が開発したPYNQオープンソースフレームワーク用のハードウェアプラットフォームです。プログラマブルロジック回路を設計しなくても、ZynqデバイスをPYNQと共に効率よく使用できるように設計されています。また、ザイリンクス社のVivado WebPACKツールを無料で使用することができます。
ここで解説されているデバイスは、マルツオンラインのウェブサイトで購入できますので、是非参考にしてください。
PYNQ-Z1開発キット 【6003-410-017】 24,288円 |
|
PYNQ-Z1生産性向上キット 【240-114-1】 30,391円 |
|
下記の2本の解説記事も同時に公開しました。合わせて参考にしてください。
■5Gはまだ先:リモートIoT検出と制御に既製のLTE 4Gモジュールを使用 5Gが話題になっていますが、5Gの規格はまだ確定されていないので、現状はセルラー4G LTEネットワークで5Gに対応しなければなりません。ここでは、セルラーIoTアプリケーションと、これらのアプリケーションを実現するために必要な組み込み技術について解説し、最新のハードウェアおよびソフトウェア技術と利用可能なリソースをご紹介します。
■複数のプロトコルと互換性を持つメッシュネットワークデバイスの迅速な作成 メッシュネットワークでは、データを1つのデバイスから別のデバイスにホップさせながら次々と転送できます。また、個々のデバイスは同じネットワーク上にある他の全デバイスと通信できます。ここでは、ワイヤレスメッシュネットワークの基礎と、Silicon LabsのMighty GeckoワイヤレスSoCファミリならびに開発ツールを紹介します。
|