« Cosmo-Zの開発にGitを導入 | トップページ | Cosmo-ZのDACとADC »

2016.07.19

Cosmo-ZのVivado化デザインをはじめました

Cosmo-Zの設計を本格的にVivado化することを検討しています。

えっ!?いまさら!??と思うかもしれません。

はい、そうです。今のCosmo-Zの設計はISEで、VHDLで作られています。

だから、ISEのソースをお客様に渡しても、どこをどう修正すれば自分の研究に適合できるかが非常にわかりづらいと思います。

そこで、Vivado化して、AXIとかステートマシンとかを全部隠してしまって、お客様(=研究者)が簡単に使えるようIPブロックを積み重ねた設計に変えていこうというわけです。

でも、ISEで作ったプロジェクトをそのままVivadoに取り込んでも、こうなってしまい、

Cosmoz_vivado_x

何がなんだかさっぱりわかりません。

お客様(=研究者)にしてみれば、Interconnectとか、クロック生成器とかUSBモジュールとかは本質的ではないものです。

そこで、いままで作ってきたCosmo-Zのデザインをいったん破棄して、トップダウンで再度設計しなおすことにしました。

Cosmo-Zの機能をすごくわかりやすく図にすると、こんな感じです。

Cosmoz_top

Cosmo-Zのお客様は「物理や電気の様々な研究室」なので、波形をどう取り込むかは研究によってまちまちです。特に、波形の加工(フィルタを入れたり、相関の計算をしたり、ロックインアンプを入れたりなど)やトリガに関してはほんとうにみんな違います。

また、メモリ内に蓄えられたデータを数値計算(たとえばベイズ推定したりとか、行列計算したりとか)するような場合のロジックをVivado HLやSDSoCで書いて、それをCosmo-Zのデザインに容易に組み込めるようにしなければならないと考えています。

そこで、上のような構造のデザインに変えていこうと思うわけです。

このようなポンチ絵を描いたら、特電の優秀なアルバイトさんやインターンさんがVivadoのブロックデザインにしてくれました。

Cosmoz_vivado_top


これをgitで管理して複数の人で同時に開発を進められるようにしようと思っています。

|

« Cosmo-Zの開発にGitを導入 | トップページ | Cosmo-ZのDACとADC »

コメント

コメントを書く



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




« Cosmo-Zの開発にGitを導入 | トップページ | Cosmo-ZのDACとADC »