2019-12-09はじめにCosmo-ZのFPGAのソースをアップロードしました。下記のURLからダウンロードできます。※恐れ入りますが、ご購入のお客様のみダウンロードできます。Designを整理し、階層化したディスクリを負のパルスだけでなく、正のパルスにもかけられるようにしたスピードグレード-1版のZYNQでもタイミング制約を満たすようになったオシロモードでは、同時に計測できるのが8ch以下という制約がなくなったADCの分解能とチャネル数8ch,16ch,24ch,32ch,12bit,14bit,16bitを簡単に変更できるようにしたプロジェクト管理にNahiVivaを採用といった点が更新されました。今までのものとは全く異なる、完璧なバージョンとお考えください。2018.3をご用意ください。プロジェクトの解凍Cosmo-Zはそこそこ大きいVivadoプロジェクトなのですが、NahiVivaというツールを使ってソースのサイズは、わずか3.7MBに圧縮されています。解凍すると以下のようなフォルダが現れます。Vivado環境に合わせた設定の変更この中のSETTINGS.CMDを、お使いの環境に合わせて編集してください。VIVADO_VERSION=2018.3変更箇所は、Vivadoへのパスと、Vivadoのバージョンです。Vivadoのバージョンを2018.3以外に変更する場合には、このSETTINGS.CMDのほか、src/cosmoz_main_bd.tclの23行目にあるscripts_vivado_versionの設定も変更してください。-short]プロジェクトの作成このアーカイブには、Vivadoのプロジェクトファイル(.xpr)や、BlockDesignファイル(.bd)などは含まれていません。すべてTCLのソースから自動生成されます。プロジェクトを作成するには、open_project_gui.cmdをダブルクリックして起動してください。Designが作成されて、いろいろなコンポーネントが自動で追加されていきます。カスタイマイズ(パラメタライズ)プロジェクトが読み込まれると、上のほうにぐちゃっとした文字列がありますが、これは重要なので、見やすい位置に移動してください。ここに書いた内容ですべてのIPコアのパラメータがセットされます。変更可能なパラメータは、MAX_ADCCH=8とADC_BITS=12です。お使いのCosmo-Zの構成に合わせてADCのチャネル数(8,16,24,32)と、分解能(12,14,16)を設定します。普通、IPコアのパラメタライズは、BlockDesignのIPをダブルクリックして、IPコアの設定ダイアログを開いて設定を変更するのですが、たくさんのIPコアがある場合には設定漏れが生じて、バス幅のコンフリクトが発生するなどのケアレスミスが発生するので、TCLで一括で変更するようになっています。その参照元が*CONFIGS:*で始まるこのコメントです。14,16bitを切り替えるときの注意12bitと14/16bitでは、ADCに送っているクロック周波数の逓倍率が異なります。Cosmo-Zのデザインはデフォルトでは12bitに設定してリリースしていますが、14bitもしくは16bitで使用したい場合には以下の手順を行ってください。adcblockと入力します。adcblockの子IPが開くので、adcblock/inst_adcclkgen/inst_phase_shifted_clkgenをダブルクリックして開きます。clocksのところでCLK_OUT3の周波数が240.000になっているので、これを320にします。12bitの場合は240MHz14/16bitの場合は320MHzです。Bitstreamは使いません。-updateと入力してください。これで全IPのパラメタライズ子IPのUpdate操作が合わせて行われます。最初の一回目はIPをGenerateするので時間がかかりますが、2回目以降は5分くらいで論理合成がビルドが終わります。生成されたBitStreamはvivadoのプロジェクトフォルダの一つ上のフォルダにコピーされます。Vivadoは生成したBitStreamが深い階層にあるので、TCLで自動的に上のほうに上げてきているわけです。書き込みWindowsのファイル共有を使ってCosmo-Zにコピーします。エクスプローラで\cosmoz\shareを開き、cosmoz_main_wrapper.bitをコピーします。/dev/xdevcfgとやれば、新しいデザインで起動します。