GitHubとかにあげたくなったらどうすればいいのか調べてやってみたので記録しておきます.
まず,参考になるのはこちらのサイト方です.
自分でもやってみて,うまくいかない事があったので,やり方をメモします.
環境
- Vivado 2019.2
- Windows 10 Pro
やりかた
とりあえず,VivadoでWrite Tclします.
オプションはこのようにしました.Recreate block designとすることでBDも一緒に作ってくれる.この出力ディレクトリの関係をもとにTCLが作られるので,出力ディレクトリは配布するときと同じ関係になるようにする必要があります.
出力されたものを確認できました.
配布するディレクトリ(vivado_test)を新たに作ってそこにTCLやsrcをコピーし,VivadoでそのディレクトリにCDしsource ./display_lantency.tcl
しました.
pwd C:/Github/vivado_test ls WARNING: [Common 17-259] Unknown Tcl command 'ls' sending command to the OS shell for execution. It is recommended to use 'exec' to send the command to the OS shell. display_latency.tcl display_latency_def_val.txt display_latency_dump.txt ip_repo src
ERROR: [Vivado 12-172] File or Directory 'C:/Github/vivado_test/vivado/display_latency/display_latency.srcs/sources_1/bd/design_1/hdl/design_1_wrapper.v' does not exist
というエラーが発生.どうやらbdファイルがないようだ.確かにsrcには含まれていない.これってVivadoが勝手に生成してくれるやつなのでプロジェクト内部のものを自分でコピーしてやる必要がある.
自分の環境だとC:\Github\pubtest\vivado\display_latency\display_latency.srcs\sources_1\bd\design_1
にdbファイルがあった.このディレクトリを崩してはいけないようなので仕方なくこの構造のまま持っていきます.
なお,display_latency.srcs
には色々ありますが,生成されたtclを見ると
"vivado_test\vivado\display_latency\display_latency.srcs\sources_1\bd\design_1\hdl\design_1_wrapper.v" "vivado_test\vivado\display_latency\display_latency.srcs\sources_1\bd\design_1\design_1.bd" "vivado_test\vivado\display_latency\display_latency.srcs\sources_1\bd\design_1\synth\design_1.v"
の3つが必要そうなのでそれ以外は全部消しておきます.これら3つのファイルが正しいパスにある状態で再度開いてみます.
正常にいけました.
HLS で作ったIPは予め含んで於けばOKっぽい.
おわりに
このやり方で正しいのかわからないですし,正常に言ってるのもたまたまかもしれません.そもそもなんでこんなクソめんどくさいやり方をしなければいけないのかというと,プロジェクトに含まれるXilinxのIPをそのまま公開するわけにいかない,ということらしい.確かにそうだけど,もうちょっとなんかやり方ないのかなと思います.(大変すぎる).プロの方は自前のスクリプトを描いて自動化しているとかなんとか.
あれいまどうなってるか分からんですが、前は使い物にならなかったので、ウチではプロジェクト復元まわりは自前でtcl書いてその中でBDのtclをsourceしてる感じです。
— Kenta IDA (@ciniml) June 11, 2022
同じことしてる人多いんじゃないかなとおもいます。
はやくこれになりたい.今日はそんなところです.