Vengineerの妄想(準備期間)

人生は短いけど、長いです。人生を楽しみましょう!

俺様FPGAの論理合成ツール Yosys と VTR の対抗馬である nextpnr とは?

@Vengineerの戯言 : Twitter SystemVerilogの世界へようこそすべては、SystemC v0.9公開から始まった 

はじめに

SymbiFlow での論理合成に使われている Yosys。そして、配置配線は、VTR 。

今回取り上げる Yosys + nextpnr は、配置配線として、nextpnr を使うというものです。

Yosys + nextpnr

論文は、2019年3月25日に出ています。Yosys+nextpnr: an Open Source Framework from Verilog to Bitstream for Commercial FPGAs

github は、こちら:GitHub - YosysHQ/nextpnr: nextpnr portable FPGA place and route tool

2018年のスライド : The nextpnr FOSS FPGA place-and-route tool, Clifford Wolf, Symbiotic EDA

サポートしているデバイスは、

  • Lattice iCE40 devices supported by Project IceStorm
  • Lattice ECP5 devices supported by Project Trellis
  • Lattice Nexus devices supported by Project Oxide
  • Gowin LittleBee devices supported by Project Apicula
  • (experimental) Cyclone V devices supported by Mistral

Gowin って、確か中国のFPGAベンダーだったと。

GUI付きのツールもあり、Windowsでも動くようです。

VPR との違いは、入力ファイルがBLIFではなく、json 。 そして、Packer, Placer, Router の後の Bitstream Generation まで行えます。VPR の場合は、FASMを使います。

Device Database API なるもので、Packer, Placer, Router がその Device Database API 経由でアーキテクチャの情報にアクセスする感じのようです。

Python API がある。

おわりに

Yosys は知っていましたが、nextpnr は知りませんでした。。。VTR (VPR) が実質デファクトスタンダート的な扱いになっているところに、nextpnr を投入。

SYMBIOTIC EDAという会社が「YOSYS - SYMBIOTIC EDA EDITION」というものを扱っているようです。

Yosys の開発者は、Clifford Wolfさんですが、Homepage of Claire Wolf になっています。LinkedIn で調べても出てこなかった理由がこれでした。 2017年9月から2020年10月までSymbiotic EDAのCTO, Co-Founderをやっていたみたいです。 現在は、YosysHQのCTO, Co-Founderです。こちらが新しいサイトTwitter ID @oe1cxw