« プラシンとMPPCの測定結果 | トップページ | PCI-Xが使えるマシンにScientific Linux CERN 6のインストール »

2016.08.04

VivadoHLSとCosmo-Zでリアルタイム信号処理

Cosmo-Zで計測したデータに、リアルタイムで信号処理を行う回路を設計しています。

もちろんVHDLで書けなくはないのですが、できれば今回の案件からはC言語で設計したいと思い、FPGAマガジンを読みながら頑張っています。
(実際に頑張っているのは私ではなく、インターンの学生さんだったりする)

その数値計算というのは、ある種のレーダー(軍事ではない)の信号処理回路で、浮動小数点や複素数がたくさん出てくる計算です。

VivadoHLSだと、確かに、複雑な計算回路が簡単に書けます。

Hls1_2


しかも、何クロック目にどの部分の計算が行われて、

Hls2

最終的に何クロックで計算ができるかの見積もりを示してくれるのがスゴイと思います。

Hls3

Intervalは次のデータを受け入れるまでに必要なクロック数で、6クロック間隔を開けなければならないという意味ですが、このIntervalが必要になるのは浮動小数点数の積和が入っているためではないかと思います。

XILINXのFPGAでの浮動小数点計算は11クロック前後かかると思っていましたので。

クロック100MHzでInterval=6ということなので、およそ16MHzでやってくる信号をリアルタイムで処理できることになります。

Hls4

DSPブロックやBRAMもほとんど使わず、C言語で書いた回路が本当にこの速さで動くならば有難いですね。

|

« プラシンとMPPCの測定結果 | トップページ | PCI-Xが使えるマシンにScientific Linux CERN 6のインストール »

コメント

コメントを書く



(ウェブ上には掲載しません)


コメントは記事投稿者が公開するまで表示されません。



« プラシンとMPPCの測定結果 | トップページ | PCI-Xが使えるマシンにScientific Linux CERN 6のインストール »