ZYNQ搭載 ADCボード「Cosmo-Z」>開発日記>2015年10月

2015年10月

助成金 次世代イノベーション創出プロジェクト2020に申し込んだ

2015.10.7

「次世代イノベーション創出プロジェクト2020」という助成金に申し込みました。

http://sogyoshien.tokyo/

Jisedai


まだ申請が終わっていない方もいると思うので詳しいテーマはまだ言えませんが、

どういう助成金かというと、

  • 東京都が定めたイノベーションマップというテーマに沿ったプロジェクトを支援
  • 他の企業や大学、公的研究機関との連携が必要
  • 最大8000万円 助成率 2/3まで

というものです。

8000万円もらえるのかすげー、と思うかもしれませんが、実はすごいリスクがあるのです。

助成率2/3というのがポイントで、もし、8000万円の助成金をもらいたいならば1億2000万円かかるプロジェクトを打ち立てて4000万円を自己負担しなければならないのです。その上消費税分は助成されないとか・・。

8000万円の助成金はプロジェクトが達成できたら支払われる、というものなので、助成金が下りるまでの間は金融機関に融資してもらなわなければなりません。

「助成金が下りたらお金を貸してください」という漠然とした融資の相談をすることになります。

 

そんで、万が一、目標が達成できなければゼロ。1億2000万円の負債を抱え誰も助けてくれないという、助成金なんだか罰ゲームなんだかわからないようなすごいプロジェクトです。

未踏ソフトとはだいぶん違いますね。未踏ソフトがぬるすぎるのかも。

 

そんな怖いプロジェクトに申し込んできました。

もちろん、もっと安い金額ですが。

moneybag

金融機関にも融資の話をしてきました。助成金が通ればOKですよ、とのこと。

それから、連携とはいっても、すべては助成金の審査が通ってからの話なので、申請の前に話をするには「助成金が通ったら連携してほしい」という、未来の仮定形で話さなけばならないのがつらいですね。

sun

申請書には目標という項目があって、「●●を達成する」という数値目標を書かなければなりません。この目標は数字で明確に書かなければならないのですが、後から変更はできません。

つまり、プロジェクトが始まる前に最終製品の数値目標を決めて、それを必ず達成しなければならない。で、達成できなければ助成金ゼロ。負債抱えてサヨナラ。目標の設定が甘いと突っ込まれる。

募集要項を見ると「申し込み時点でほぼ完成している研究はダメ」という規定があるので、確実にできるとわかっているものもダメなのです。だからといって、失敗してもダメ。

どうすればいいんだ。

今までに世の中にないような製品を開発するプロジェクトで、研究して、自分で決めた目標(変更不可)を達成して、必ず成功させなければならないという鬼のような助成金のようです。

 

結果:だめでした

 

 超高速のFFT回路 

2015.10.01

高速FFT回路をFPGAで作ろうとしています。

18bit 10Mワード/秒の速度で流れてくるADCのデータをつなぎ目無くFFTしたいのですが、どこまでいけるでしょう。

FFT回路の中央にあるのはバタフライ演算という回路ですが、1回のバタフライ演算を2クロックで計算するとして、200MHzで動かすとしたら・・

  • 4096ポイントのFFTなら、毎秒4000回 → サンプリングクロック 16MHz迄
  • 16384ポイントのFFTなら、毎秒870回 → サンプリングクロック 14MHz迄
  • 65536ポイントのFFTなら、毎秒190回 → サンプリングクロック 12.5MHz迄
  • 1048576ポイントのFFTなら、毎秒9.5回 → サンプリングクロック 9.9MHz迄

毎秒12~16Mでやってくるデータを「つなぎめなくFFT」できるわけです。

ちなみに、バタフライ演算というのは、

・A×W+B
・A×W-B

を求める複素数の計算ですが、本当に2クロックでできるでしょうか。

東工大の2年生のアルバイト君にFPGAの回路を設計してもらいました。紙でおおまかな設計図とタイミングチャートを書いてVivadoに落とし込んでいました。

Fft_1

Fft_2

Fft_3

Fft_4

VivadoのRTLシミュレータ上ではちゃんと動いたようです。これから、C言語で同じものを作って様々なタイプの入力信号を入れて、HDLのシミュレーションと、パソコンで計算した結果とが一致するかといったテストを行う予定ですが、Vivado HLSでHDLとCを使いこなせるともう少し楽になるのかもしれません。

今のFPGAは乗算器+加算器が掃いて捨てるほどある(600個とか)ので、ケチケチした最適化はしなくてもよさそうです。+1と-2した値の加減算のためにわざわざ別のDSPを使ったり、大富豪のようです。。

FFTを行う上でボトルネックになるのはDDR3メモリの読み書き速度でした。200MHzで18bitの信号を読み出してこようとすると、実部・虚部ともに18bitだから64bitのバス幅を使うことになります。

ZYNQのHPポートは250MHz 64bitが最高速度だから、バタフライ演算用データの読み出しと、バタフライ演算結果の書き込みで別のHPポートを使うことになります。

ZYNQの外部DDR3メモリは最高32bit 2GHzで動くとしたら、HPポート4個分の最高性能になります。実際はその半分くらいを見ておいて、2個のHPポートに全力で読み書きしたらいっぱいいっぱいです。

つまり、DSPブロックが余っているのでバタフライ演算自体はいくらでも速くできるけど、DDR3メモリの速度がボトルネックになるということになります。


© 2015 TokushuDenshiKairo Inc. All rights reserved