Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Kyoto dev caffe

646 views

Published on

レガシー勉強会にて LT資料

Published in: Engineering
  • Be the first to comment

  • Be the first to like this

Kyoto dev caffe

  1. 1. 京都Devかふぇ#4 〜レガシーシステム考古学〜 1 2018/11/22 なぜFPGAの人は日付フォルダーでバージョン管理をするのか なつたん @natsutan
  2. 2. FPGAとは 2 中身を自由に書き換えられる半導体。 最近Deep Learningでソフトウェアの人にも注目度アップ https://www.publickey1.jp/blog/18/fpgaaiproject_brainwavegoogletpubuild_2018.html https://prtimes.jp/main/html/rd/p/000000031.000016656.html
  3. 3. FPGAの開発フロー 3 Verilog-HDL, VHDL, C 論理合成 reg mem 配置配線 bitファイル 生成 bitstream コンパイル ソフトウェア 用語 リンク 実行ファイル FPGA業界では伝統的に、実行ファイルを作る度に、中間ファイル、一時ファイルも含めて 全部保存する文化がある。 結果、ソースコードはgit, svnを使いながらも、実体は日付で分けたディレクトリーで管理し てしまっている。なぜ? 配置配線が問題
  4. 4. 配置配線の難しさ 4 最小集合2分割問題 M S1 S2 ある集合Mに属する要素を、2つの集合に分け、何らかのコストを最小にする問題。 何気にNP困難 まさかの乱択アルゴリズム
  5. 5. 現場は大混乱 5 ソースコードも、オプションも同じなのに、コンパイ ルし直すと動かなくなった。 全盛期 の僕
  6. 6. まとめ  ビルド環境に乱択アルゴリズムが入る場合  全てのファイルを残しましょう  設計で乱数の影響をなくす様にするのが王道  乱数を制御する方法を調べよう  SEEDの指定  配置配線の制約  開発環境のバージョンアップで、コンパイル結果が変わるこ とを受け入れよう。  プロのFPGA使いは、開発環境のインストーラを全バージョ ン残している。  全てのファイルを残しましょう 6
  7. 7. 最後に 7 公開されているFPGAのプロジェクトが、ファイル 全部圧縮してあげてあるのはそういう理由です。 生暖かく見守ってください

×