Ryuz's tech blog

FPGAなどの技術ブログ

ツール

Zynq/ZynqMPのクロス開発環境を構築してみた

はじめに 私はこれまで ZYBO(Zynq-7000) や KV260(ZynqMP) の Linux 環境を活用してセルフコンパイル環境をメインに活用してきました。 Linux では gcc も rust も動きますので、OpenCV などの C++ や Rust などネイティブコンパイラでバージョン依存の強い…

Windows版 GOWIN EDA を WSL2のコマンドラインから使う工夫とか

はじめに GOWIN の FPGA は低価格で買えるものも多いため、夏休みの自由研究的に使う方も多いのではないでしょうか? GOWIN EDA はユーザー登録を行って、ライセンスファイルを発行してもらわないと使う事が出来ません。 私は、USBを繋いでプログラムを行っ…

(備忘録) SystemC インストール

SystemC を WSL2 の Ubuntu 20.04 に入れてみたのでメモ。 git clone -b 2.3.3 https://github.com/accellera-official/systemc.git cd systemc export CXX=g++ autoreconf . mkdir objdir cd objdir ../configure --prefix=$HOME/.opt/systemc-2.3.3 make -…

Ultra96V2のDebianでDocker動かしてみた

はじめに 最近いろんなところで Docker の活用を聞きますし、私自身も多少は使ったことはあったのですが、Raspberry PI4 のおかげで aarch64 での利用も増えてきているようですので、Ultra96 でも動かないか挑戦してみました。 例によって、ikwzm氏のDebain…

vivadoのプロジェクトからファイルリストを得る

ほぼ自分用のメモですが、いつも忘れるのでここに tcl 張っておきます。 set f [open "file_list.txt" w] foreach fname [get_files] { puts $f $fname } close $f なかなか tcl 慣れない...

Vitis/Vivadoのバージョンを切り替える

概要 複数のバージョンの Vivado や Vitis を共存させて切り替えながら使いこなしている人も多いと思います。 特に最近私がコマンドラインから使う機会が増えてきたのですが、不用意に settings64.sh を実行すると、他のツールとの競合もあったりして Vivado…

Verilator に Clang と Ninja を使ってみる

Verilator のコンパイルを速くしたい 実行速度は爆速の Verilator ですが、ソースの規模が大きくなってくるとコンパイル時間が長くなってきます。 こちらで、Clang使うと少し早くなると紹介されていたのですが、なかなか手を出せずにいたところ cmake で使う…

Ultra96V2でNFS使ってみた

概要 Ultra96V2 の SDカード容量が心細くなってきたのと、以前にSDを酷使し続けて壊してしまった反省もあって、データをネットワーク越しに置くことでSDカードの容量不足と負担を減らそうという試みです。 Ultra96で使っているのはこちらのDebianイメージで…

Verilator勉強会

Verilator勉強会で発表させていただきました Verilator勉強会 2021/05/29 私の資料はこちら 基本的には過去記事のこれやこれのお話をさせて頂きました。 感想 私の発表はともかく、Verilator の中についてしっかり追いかけておられる @Vengineer氏 や @msyks…

C++の動作モデル書いてみた(主にVerilator用)

はじめに 前回に続くネタです。これ自体は特に Verilator に依存しているわけではなく汎用のC++ライブラリとして記述してるのでいろいろできると思うのですが、ひとまずは Verilator と C++ モデルを接続動作させるのに使っています。 何を作っているのか 作…

Verilatorやってみた

はじめに どうも界隈でVerilatorなるものを耳にするようになったので少し試してみました。 結論から言うと、いろいろ制約はあるものの シミュレーション速度が爆速である テストベンチをC++で書くので OpenCV などが使いやすい の2点から、シミュレーション…