LogiClover開発ブログ

LogiCloverは、趣味でFPGAを使った電子工作をしているサークルです。主に開発中の出来事や技術メモを投稿します

ISE Webpackでchipscopeが使えるようになっていたので試してみた

FPGA開発ツールには、実機でデバッグできるロジアナがついていることがありますが、Xilinxのオンチップロジアナ「Chipscope」はライセンスを購入しないと使用することができませんでした。
Xilinxの新しいツールのVivadoでは、ILAといわれるロジアナがフリーで使えるようになっています。
先日、ISEのライセンスを取り直したところ、WebpackのライセンスでChipscopeが使えるようにシレっと変更されていたため、試しに使ってみました。

Chipscopeの詳しい使い方はほかにも詳しいサイトがあるため、適宜割愛します。

1.プロジェクトにchipscopeを組み込むファイルを追加する。
ファイルマネージャーで右クリックし、New fileを選択します。
f:id:logiclover:20170331220523p:plain

通常のIPを追加するときと同様にファイルを作っていきます。
特に必要な設定はありません。
f:id:logiclover:20170331220525p:plain

次に、作成したchipscopeのファイルをダブルクリックすると、Core Inserterが起動します。
この画面で見たい信号を選択します。
f:id:logiclover:20170331220528p:plain

この画面で見る信号を選択します。
詳細は割愛します。
f:id:logiclover:20170331220532p:plain

設定をしたあと、ビットストリームファイルを生成します。
FPGAにbitファイルを書き込めば、FPGA内にロジアナが組み込まれます。
書き込んだ後、iMPACTを閉じないとJTAGが解放されないようなので注意しましょう。

書き込みが完了したら、Processesの一番下にある「Analyze Design Using Chipscope」を起動するとchipscopeが起動します。
f:id:logiclover:20170331221349p:plain
このように、FPGA内の信号を見ることができます。
これはオーディオの波形を観測しています。

というわけでISE webpackでもchipscopeが使えるようになりました。
VivadoやAlteraのツールではすでに無料で使えるため、やっとという感じです。

シルバーウィーク開発合宿

2016年 9/22~9/25にLogiClover開発合宿を行いました。
作業はhastech、ぽよ氏と私kamiyaの3人で、基板テストからソフト実装まで様々なことをやりました。概要を下記に記します。

Comet Audio Effectorの機能拡張

MFT2016で展示していたFPGAを使ったオーディオエフェクタのEQバンド数を拡張しました。
FPGA内でパラメトリックイコライザを直列に接続して実現しています。
また、周波数応答もすべての応答を加算することで最終的な応答を描画しています。
f:id:logiclover:20170429165252j:plain

高速ADCボードの試作

f:id:logiclover:20170429165253j:plain
FPGAで高速信号処理を行うアプリケーションを作成するために、高速ADCを載せたボードの試作を行いました。
ユニバーサル基板に回路一式を実装してSirius Spartan6ボードでHDLを書いてデータを確認するところまでぽよ氏が実装しました(すごい)

LogiClover名刺のSW実装

光オーディオ出力をする名刺を作っています。USB経由での音声データ転送のための通信と、SPIFlashの実装を行いました。
SPI Flashへのデータの転送は、Tera Termからxmodemで行います。

新基板の動作確認

その他改版を行った基板の実装とテストを行いました。ある程度改版を行って設計的にもある程度煮詰まりつつあります。
またこれから基板を作るに当たってのライブラリ等設計ルールの検討など改めて再考慮する箇所を検討しました。

まとめ

正式に新規メンバとして参加したぽよ氏が基板を作ってHDLを書いてADCを動かしたことが何と言ってもすごいところでした。
FPGA開発特にHDLはだいぶ難しいところがあり、ほとんど勉強会のようになっていました。

ちなみにhastech氏は明日から海外出張だそうです。。

KICADの他のプロジェクトから回路をコピーする

KiCADでは、普通のコピーペーストを使って異なるプロジェクトから回路をコピーすることができません。
ほかのプロジェクトから回路をコピーする方法をまとめました。

使用したKiCADは4.0.1です。

1.回路をペーストしたいプロジェクトのフォルダにコピー元の回路図を入れる。
f:id:logiclover:20170331215318j:plain

ちなみに、コピーしただけではKiCAD上で回路図は見えません。

2.ペーストするプロジェクトの回路図で階層シートを作成する

右側にある「階層シートの作成」ボタンで階層シートを作成します。
f:id:logiclover:20170331215324p:plain

階層シートを回路図上に書くと、作成するシートの名前を聞いてきますので、先ほどフォルダ内にコピーしたファイルのファイル名を入力します。
f:id:logiclover:20170331215325j:plain


回路図が既に存在しているといわれますが、OKを押します。
f:id:logiclover:20170331215326j:plain


この作業をすることで、コピーした回路図を同じプロジェクトの回路図階層として扱うことができます。
f:id:logiclover:20170331215327j:plain


3.回路をコピー&ペーストする

ここまで来ればあとは通常のコピー&ペーストと同様です。

回路図ブロックを選択し、「ブロックを保存」を押します。

ブロックのコピーではないので注意が必要です。
f:id:logiclover:20170331215328p:plain


階層ナビゲータで張り付けたい回路図に移り、画面上部の貼り付けボタンを押せば回路図がペーストできます。
f:id:logiclover:20170331215329p:plain

MAKER FAIRE TOKYO 2016参加

8/5~8/6に開催されたMaker Faire Tokyo2016にて、ISGK InstrumentsさんのブースでLogiCloverの作品を展示してもらうことができました。
LogiCloverでは、LogiCloverフォームファクタを活用したエフェクタ Comet Audio Effectorを展示しました。
今回の展示は私hastech,とkamiyaに加え、ぽよ氏にもご協力いただきました。

展示の様子
f:id:logiclover:20170331222653j:plain


Comet Audio Effectorは入力した音声に対してイコライザー処理をすることができます。
展示では、ロータリーエンコーダーを回して音色が変化する様子をデモしました。


来場者からの評価はまずまずで、基板から自分たちで作っているの? どのくらいの値段で実現しているのか? などのコメントをいただきました。

また、「このボードはどこで買ってきたのか?」「いくらで売っているのか?」というご質問をいただきました。
これは今回の反省点の一つで、私たちが「基板自体」を作っているということをうまく来場者に伝えられていなかったためだと思います。
LogiCloverでは、プロトタイピングのプラットフォームそのものを作っています。

販売についてですが、LogiCloverとしては当初MFTでの評判を考慮したうえで、販売するかどうかを決定する予定でいました。
結果として、今回多くの方から、販売をしてほしいという声をいただいたため、現在販売方法等含め検討をしている段階です。
現段階では、スイッチサイエンス様等に委託販売をしていただく形が現実的かと思っていますが、詳細が決まりましたらWeb上で告知させていただきます。

今後の目標
今回の展示をするにあたって、基板のラインナップをそろえるのに時間がかかってしまい、イコライザ以外の機能を実現することができませんでした。
今後はComet Audio Effectorにディレイやコーラスなどのエフェクトを入れて展示をしたいと思っています。

海の日開発合宿

2016年 7/15~7/18に LogiClover開発合宿を行いました。

今年夏に開催されるMaker Faire Tokyo2016にて ISGK Instrumentsさんのブースで展示していただけることになり、展示物の制作を行いました。

展示物はLogiCloverフォームファクタを活用したエフェクタです。

今回の作業はhastech,と私kamiyaに加え、ぽよ氏にもご協力いただきました。







FPGADSPを行うエフェクタの実装

f:id:logiclover:20170429165820j:plain
外観(開発中のもの)

こちらが実際に動作している動画です。(音量にご注意ください)

使っている基板は
Sirius Spartan6 (FPGAボード)
Procyon AD/DA (音声入出力ボード)
Atria LPC1830 (マイコンボード)
の3種類です。

FPGAで音声入力にデジタル信号処理を施して出力し、処理のパラメータをマイコンで計算し反映しています。

FPGAと音声入出力ボード、マイコンそれぞれの通信を、基板をスタックするだけで実現することができており設計を大幅に効率化しています。

DSPの実装

FPGADSPの実装と、外部から係数設定を行うための通信仕様策定と実装を行いました。

フィルタ係数計算の実装

LPF, HPF, BPFなどフィルタの係数計算をマイコンが行えるように実装しました。

画面描画ライブラリの移植

前回開発合宿時にPSP液晶制御は実装していましたがPSoCペリフェラルに依存していたので、プラットフォーム非依存になるよう移植を行いました。

操作用基板の作成・実装

フィルタ係数の変更を行えるよう、LED付きのロータリエンコーダやボタン基板の実装と通信(I2C)を実装しました。



LEDドライバの実装

f:id:logiclover:20170429165842j:plain

エフェクタとは別にLEDパネルのドライバ実装も行いました。

ぽよ氏が一晩でやってくれました



まとめ

最近の開発は過去の設計資産活用やデバッグノウハウからか、製作が随分楽になってきました。

また今回のLPC基板(Atria)やその他改版した基板や新しい基板が増えてきて、フォームファクタも少しずつ賑わってきていてわくわくしています。

エフェクタの方も引き続きMFT2016に向けブラッシュアップを行います。