Jan 15, 2016

iverilogの開発版をUbuntuでコンパイルする

autoconf、flex、bison、gperf、C++コンパイラが必要
$ sudo apt-get install autoconf flex bison gperf build-essential
$ git clone https://github.com/steveicarus/iverilog
$ cd iverilog
$ autoconf
$ ./configure --prefix=$HOME/local
$ make -j`expr \`nproc\` + 1`
$ make install
$ export PATH=$HOME/local/bin:$PATH

Travis-CIでVerilog-HDLのプロジェクトを扱うための設定

ググっても見つからなかったのでメモ

方法1

Ubuntu標準のパッケージを使う。iverilogのバージョンが古くてもいいならこの方法を使う。

メリット

  • 手軽
  • 速い

デメリット

  • バージョンが古い(iverilog version 9ぐらい)

.travis.yml
sudo: false
compiler: iverilog
addons:
  apt_packages:
  - iverilog

script:
  - cd testbench
  - iverilog tb_some_module.v
  - vvp a.out

方法2

Travis-CIのコンテナ内でコンパイルする。
メリット
  • 最新バージョンを使える
デメリット
  • CIが走るたびにiverilogをコンパイルするため時間がかかる。Travis-CIのキャッシュ機能を使えば速くなりそう。

.travis.yml
sudo: false
compiler: iverilog
addons:
  apt_packages:
  - build-essential
  - gperf
  - bison
  - flex

before_install:
  - wget ftp://ftp.icarus.com/pub/eda/verilog/snapshots/pre-v10/verilog-20150513.tar.gz
  - tar xvf verilog-20150513.tar.gz
  - cd verilog-20150513
  - ./configure --prefix=`pwd`/iverilog
  - make -j`nproc`
  - make install
  - export PATH=`pwd`/iverilog/bin:$PATH
  - cd ..

script:
  - cd testbench
  - iverilog tb_some_module.v
  - vvp a.out


Nov 3, 2015

Quartus Prime 15.1がリリース

2015年11月2日にQuartus Prime 15.1がリリースされた。今までQuartus IIであった名前がQuartus Primeに変更された。また、エディション名も

  • Web Edition → Lite Edition
  • Subscription Edition → Standard Edition

に変更され、新たにPro Editonが追加された。

新しい論理合成エンジン「Spectra-Q」が注目の機能らしいが、今のところArria 10にしか対応してないっぽい。

見た目の変更点もあり、UIがフラットデザインっぽくなった。


https://www.altera.com/products/design-software/fpga-design/quartus-prime/overview.html
https://www.altera.com/products/design-software/fpga-design/quartus-prime/what-s-new.html

Jul 6, 2015

YUV444<->RGB888の変換

C言語でYUV420形式の動画を処理で取得した動画のフレームをRGB値で処理したい場合、各画素値をYUV444からRGB888へ変換する必要がある

以下はサンプルコード


YUV420形式の動画をRGB値で処理する場合、
  1. YUV420動画を1フレーム読み込む
  2. 読み込んだフレームの各ピクセルをYUV444→RGB888に変換
  3. 何か処理
  4. 各ピクセルをRGB888→YUV444に変換
  5. フレームを出力

という手順で処理すればいい

参考
https://en.wikipedia.org/wiki/YUV

Jul 4, 2015

C言語でYUV420形式の動画を処理

https://en.wikipedia.org/wiki/YUVを参考に書けば良い

以下はサンプルコード


サンプルコードでは動画を1フレームごとに読み込み、出力ファイルにそのまま出力している。

実行例にはこのへんのサンプル動画を使った

$ gcc sample_yuv.c -o sample_yuv
$ ./sample_yuv 576i25_mobcal_ter.yuv out.yuv 720 576
$ mplayer -demuxer rawvideo -rawvideo w=720:h=576:format=i420 out.yuv -loop 0