高位合成に興味が出てきた話
最近、高位合成に今度は興味が出てきました。 といいますか、chiselにハマってたんですが、chiselもアルゴリズムをそのまま合成できるわけでないので、使い勝手が結局verilogと同じ気がしてきたんです。 要はあまり使いやすくないんです。
もっと使いやすいものはないかと、調べていると高位合成に行き着きました。
- 高位合成一覧
- High-level synthesis - Wikipedia
- wikiページが最も充実していました。ただ、最近のツールはあまり記載されていないようでした。
オープンソースの高位合成ツールを調べてみると以下が見つかりました。
Synthesijer (Java)
- Synthesijer
- Mac osXではsnapコマンドが使えなかったので断念しました
polyphony (Python)
- Polyphony: Pythonによる高位合成
- なぜかチュートリアル通りに進めると以下エラ〜メッセージが出て失敗してしまいました。。
「 "Nothing is generated because any module or function didn't called in global scope.")」
どうも最新のpythonに対応していないのかな?と思いました。
Karuta
- Welcome to Karuta’s documentation! — Karuta documentation
- こちらもsnapコマンドでした。。
snapコマンドは以下でインストールできるはずなのに。。なぜsnapコマンドが。。
brew install snapcraft
あとがき
どこかしらで、名前を聞く高位合成ですが、研究用途で使われるイメージが強く、実用的なイメージは持ってませんでした。
調べてみると、いろいろツールはありましたが、今のところ使いやすいオープンソースの高位合成ツールは ないのかもと思いました。 次はXilinx/Vivadoあたりを使ってみたくなりました。