About Hidemi

主にFPGAに関する技術アイデアのための備忘録を展開しています。

Free HTML5 Template

興味のあること

  • 萌系アニメ
  • FPGA
  • 画像処理
  • 通信(Ethenret)
  • 高位合成

Features

画像処理をする高位合成処理系などの統合開発環境を構築を進めています。

高位合成処理

新フェーズを計画中。

統合環境

高位合成からFPGA化、Linuxディストリビューションからクロス開発環境までトータルで使いやすいプラットフォーム環境の開発を進めています。

クラウドFPGA

クラウド経由でFPGAを使用する実験を計画中。JavaScriptでクラウドに配置されているFPGAの書き換えを可能にしてリモートでアクセス可能にする機能を計画中。

Webで開発

Webブラウザ上でブロックモデリング開発を計画中。Webブラウザ→Vivado→FPGAの流れを計画中。

@hidemi_ishihara

Twtitterで呟いています。ブログに書く必要のないネタや速報はTwitterで、サポートもTwitterでご質問くださいませ。
https://twitter.com/hidemi_ishihara

RSS配信

RSS配信を復活しました。最新の5件分を配信中です。こちらのURLをRSSリーダに登録してください。
http://www.sweetcafe.jp/?rss

Blog

パーシャル・リコンフィグで自爆してみました

今回はVivado 2017.2でパーシャル・リコンフィグに挑戦してみました。

UG909にはVivadoのGUI上でパーシャル・リコンフィグができるチュートリアルがあるのでそのとおりに実践して自爆してみました。

まさか、宣言通りに自爆の道を歩むとは思いませんでした・・・(^-^;

モジュールの構成

ターゲットボードはZYBOにして、topとパーシャル・リコンフィグ用にアップカウンタとダウンカウンタを用意しました。

デフォルトはアップカウンタを想定です。

モジュール階層が存在するとパーシャル・リコンフィグを選択できるようになります。

パーシャル・リコンフィグ用に変換するよ!とインフォメーションされます。

フローメニューにパーシャル・リコンフィグが増えました。

じゃぁ、カウンタをパーシャル・リコンフィグ対象にしちゃいましょう。

パーシャル名は適当に・・・

OK押すと、山吹色の菱型マークでパーシャルになったことを示しています。

そして、フローメニューのパーシャリ・リコンフィグをポチッと押してウィザードに進みます。

パーシャル対象は次のようにcount_upとcount_downです。

「+」を押して、次のように増やしていきます。

次はコンフィグなのですがここからが難しい。

パーシャルってある意味、カスタムの中のカスタム設計なのにここで手動でカスタム設定するとこの後の設定がうまく設定することができません。

そこで、Autoで設定していきます。

count_upとcount_downのコンフィグが作成されました。

どうせ、Autoしなきゃいけないんだったら、初めから自動で読み込んでくれればいいのに・・・

次は起動設定です。

ここもAutoで設定しないと自爆コースです。

自動で次のように作成されれば正解、それ以外は自爆コースです。

最後にサマリーです。

OK押すとVivadoの下側にインプリメント対象が追加されていると思います。

とりあえず、初回でいきなりインプリしちゃいます。

最初だよと聞いてくるのでOKします。

まずはパーシャル対象モジュールからSynthesisが始まります。

Vivadoの下側ね。

それが終わるとトップ階層のSynthesisです。

よし!インプリメントに進んだぞ!

これはうまく行きそうだ!

エラー発生!

なにやら、HD.RECONFIGYABLEが設定されていないって・・・

HD.RECONFIGYABLEは最初のモジュール合成で設定しなければいけないパラメータです。

あれ?自動でやってくれないの?

「最初は?」って、聞いてきたから、てっきり、自動で設定してくれるんだと思ったよ。

もしや、自爆ルートに迷い込んじゃった?

どれどれ、設定されてないかプロパティを見てみようではないか!

あれれぇ〜?

ちゃんと設定されてるよぉ〜???

GUIではこれ以上進めることができず、自爆しました。

淡々と書いているが今日の自爆と書いた部分では全てかなりハマり込んでいろいろ試行錯誤しました。

もちろn、tclコマンド撃ちまくりです。

それでも解決できませんでした。

パーシャル・リコンフィグは昔ながらのコマンドラインでやるのが無難そうだな。

次回はいつになるかわからないが、コマンドベースでパーシャル・リコンフィグに挑戦します。

2017年06月28日 22時29分46秒 - Permament Link

GTxの解決法

昨日のGTHの実機不具合はケーブルとかコネクタ付近も疑ったりしたんだけど、やっぱり、GTHのウィザードが怪しい。

なんと言っても、QPLLのパラメータとReference Clockの値がウィザードを立ち上げるごとに変わったりするの。

「原因はおまえだろぉ〜!!!」と、勝手に決めつけて「QPLLのパラメータなんか消えてしまえぇ〜!!!」とパラメータ値を0になるような周波数を選んで、物理的に入力してる周波数も変えてみたら・・・。

何事もなく動いた。

「あれ?マジ・・・(^-^;」

完璧に安定して動いている。

「まぁ、いいかぁ〜、動いたんだしぃ〜」

「製品じゃなくって、実験回路だし・・・」

GUIの値が正常にコードへ引き継がれていないのかな?

その後、パーシャルリコンフィグで自爆しました。

それは超大作なので明日にでも描こう・・・

2017年06月28日 01時03分21秒 - Permament Link

GTxの罠

ここ2、3日、UltraScale+のGTHで遊んでました。

ちょっと、カスタムプロトコル通信がしたくてGTHをいぢってみました。

Virtex2-Proの頃も資料少なくて、試行錯誤でHD-SDIを実装したなぁ〜とか思いつつ・・・

今回もハマるかと思ってたら・・・

GTHはIP Integratorでは呼び出せないんですね

なので、外でIP作ります。

ウィザード呼び出して作ってみましょう。

今回はZCU102でHDMIポートを使ってみたので、HDMIを選択してみた。

やりたいのはカスタム通信なのでどれでもいいだけどね。

まず、3ポート要らないので1ポートに削ってみた。

クロックはTx/Rx別々でQPLLから引きたいのでPLLを修正した。

そしたら、意図しない入力に接続されたので修正してみた。

QPLLパラメータって設定しなきゃいけないよね。

あと、データ揃えたいので8b/10bにしてみた。

出来上がった回路を右クリックすると・・・

なんと!

「Open IP Example Design..」って、メニューがあるじゃないですか!

まぁ、GTHって接続が多くて面倒だからインスタンスでも作ってくれるんだろうと思ってたら・・・

あれれ?

新しいVivadoが開いた。

なんとまぁ、シミュレーションベンチまで入っているではありませんか!

これで動作確認完了。

論理的には・・・

ここからが大変だった・・・

だって、シミュレーションと実機の動作が違うだもん(苦笑)

実機で動きやしない。

っうか、深追いしてないけどウィザードのバグでしょ。

たぶん・・・。

カスタムGTHは気をつけたほうが良いよ。

2017年06月27日 00時58分24秒 - Permament Link

Vivado 2017.2がリリース

Viviado 2017.2がリリースされましたね。

それ自体は良いのですが、SDx 2017.1はどこへ行ったのやら?

SDxとのバージョンがかけ離れていくんですがぁ〜!!!

さて、Vivado 2017.2のフルインストールは約48GB弱です。

いつもながら、ディスク容量が5GBを切っているのでそのままではインストールすることができません。

さて、いつものように古いバージョンは削除して、新しいバージョンを入れて自爆しますかね?(^-^;

私がインストールする基本はほんとにZynqだけです(今回は事情によりArtixも入れている)。

これで約10GBです。

それでも大きい。

さてさて、Vivado 2017.2のファーストインプレッションはお馴染みのプロジェクト・バージョンアップです。

2017.1のプロジェクトからは特にバージョンアップ無しで移行することができました。

各IPに関しては細かなリビジョンアップはあったものの、大幅バージョンアップしている気配はなさそうです。

ようやく、プロジェクト構成も落ち着いてきたということでしょうか?

私の方は特に大きな問題が見つからなければ、数日後に2017.2へ移行します。

MiniZed

AvnetからMiniZedがリリースされているけど、シングルコアのZynqということで割り切った評価ができるボードで良いと思います。

Arty-Z7は他の評価ボードに比べると価格も仕様も中途半端で購入自体を躊躇ってしまうボードである。

MiniZedは技適を取ってくれれば、今後のプラットフォームのターゲットに置きたいかな?

MiniZedだけでは面白味がないのでArudinoシールドを付けて遊んでみたい。

今、考えているシールドは2つ。

TFT液晶かGPSでロガーするか?って感じかな。

品名 代理店 価格 URL
1.8インチ TFT液晶+MicroSDシールド 秋月 \3,680- http://akizukidenshi.com/catalog/g/gM-08398/
GPSシールド スイッチサイエンス \5,618 https://www.switch-science.com/catalog/2637/
2017年06月21日 23時58分25秒 - Permament Link

いつの間にやら6月も中盤を過ぎていた

4月、5月、6月は暇だ^2と言いつつも、いろんなイベントがあって忙しかった。

夏コミ(C92)も当落日が合ったことも忘れているくらい5月があっという間に過ぎ去ってしまったような気がする。

今回の夏コミは当選していた。

初の東7ホール。

いわゆる、東の果てなのだ。

東8ホールには女子更衣室があるのでコスプレイヤーの出入りは多いと思うけど、東7、8ホールって一般参加者が通り過ぎていくのには遠い場所だと思う。

さてさて、今回はネタがないのでそんなに気合が入っていない状態です(^-^;

たぶん、次のネタのどれかで構成して薄い本を目指します。

  • ツールネタ
    • Vivado 2017.1ネタ
    • VisualStudio Codeネタ
  • FPGAネタ
    • 5月はくだらないものを開発してしまったのでその開発秘話
    • OS実装系の話
  • 高位合成ネタ
    • Z-Turn向けに準備したSDSoC環境の使用方法
  • 俺々Linuxディストリビューションネタ
    • Yocto Project最新情報
  • 初心者ネタ

いつものようにガーベッジコレクションなのでタイトルは「AGPF V2.0」とする予定です。

そうそう、4月の技術書典では「AGPF V1.0」の前作にあたる「FPGA GO」が並んでいた時はFPGAのキーワードで立ち寄ってくれる人が多かったのですが「FPGA GO」が完売して「AGPF V1.0」だけになった時、立ち寄る人が急に減った面白い傾向にありました。

一目見てFPGAとわからないよね。

今度は鏡でも置いて鏡に映すと「FPGA」となるようにしようかな?

2017年06月20日 01時42分33秒 - Permament Link