トップ 一覧 Farm 検索 ヘルプ RSS ログイン

Diary/2008-7-21の変更点

  • 追加された行はこのように表示されます。
  • 削除された行はこのように表示されます。
!またまたFreeHDL
[続・FreeHDL|http://d.hatena.ne.jp/miyox/20061109]ではまって以来,
久しぶりにFreeHDLで遊ぼうと思ったら,またはまった.
今回は,Ubuntu Linux上にaptitudeでインストールした0.0.4.
で,過去の記憶を紐解きながらやってみてもうまくいかない.
仕方ないので,0.0.4をダウンロードして,
ドキュメントみながらサンプルをコンパイルしようとしてみるも

 v2cc: /usr/share/freehdl/lib/work/adder.vhdl: No such file or directory

と怒られてしまう.
で,仕方ないので,/usr/share/freehdl/lib/work/adder.vhdlを
用意してコンパイルしてみると,すんなり動作.
つまり,たとえば,freehdl-0.0.4/v2ccにあるtop.vhdlを
コンパイル/シミュレーションする手順としては,
 cp adder.vhdl /usr/share/freehdl/lib/work/
 gvhdl -c adder.vhdl
 gvhdl top.vhdl adder.o --libieee
 ./top
となる.

そうか,そういえば,サンプルは相対パスだし,
以前も自分のホームでコンパイルして,そのまま実行してたんだった.
v2cc.libsでいろいろ設定できるようにマニュアルには書いてあるようだけど
実際に,gvhdlを見ると,

  if (not -f "/usr/bin/freehdl-v2cc") {
    $freehdl_root_path = $ENV{'FREEHDL'};
    if ($freehdl_root_path ne "") { return; }
  } else {
    $freehdl_root_path = "/usr"; return;
  }

とかって,v2cc.libs呼び出される前に初期化ルーチンからリタンしている.
コンパイル事に/usr/share/freehdl/lib/work/にファイルがあれば
よいようなので,そんなスクリプト書いて逃げるかなあ.
ちなみに,自力で普通にコンパイルしようとしたらエラーで終了した.