ラベル qucs の投稿を表示しています。 すべての投稿を表示
ラベル qucs の投稿を表示しています。 すべての投稿を表示

2018年5月26日土曜日

Ubuntu 18.04 もしくは Debian 9 で qucs(0.0.18) の digital simulation

qucs ( http://qucs.sourceforge.net/ ) は Ubuntu/Debian系のパッケージが
Ubuntu 14.10 時代で止まっている、という問題があります。

そのため、このバイナリパッケージを dpkg -i で今の Ubuntu 18.04 LTS や Debian 9 にむりやりインストールすると、digital simulation の Model( netlist format ) が VHDL のとき、シミュレーションに失敗します。


例えばこんな回路のシミュレーションをしてみると……Segmentation Failtとか……



これは、依存関係ありとして導入される freehdl (0.0.8-2.2) の freehdl-v2cc が正常に動作しないためです。そのため、これを呼んでいる qucsdigi も巻き添えとなっています。

簡単な対策は、apt install iverilog でverilog を導入し、ModelをVerilogとしてシミュレーションすることです。




VHDLの資産がない、簡単なモデルであれば、これでシミュレーションは出来るようになります。

もし Debian 8 や Ubuntu 14.04 LTS などで、qucs の digital simulation を VHDL ベースで使っている場合は、OSのメジャーバージョンアップに注意が必要です。qucs が正しく動作しなくなります。

で、対策なのですが、Debian 9の場合は以下の手順で VHDL の digital simulation は動くようになりました。

1. freehdl のバージョンを  freehdl (0.0.8-2.1) に下げてholdする。(-libも)
2. g++-4.9を入れる。
3. /usr/lib/pkgconfig/freehdl.pc を編集し、CXXコンパイラが g++ になっているところを g++-4.9 にする。
4. /usr/bin/qucsdigi を編集し、glibtool のとき --tag=CC をつける、という条件を、 libtool のとき、となるように書き換える。

とても つらい。誰かパッケージ作り直してもらえませんかね…ダメですかね…

ちなみに qucs からスピンアウトして spice ベースに移行した qucs-s
https://ra3xdh.github.io/
というものがあり、現在のバージョンは 0.0.20 なのですが、アナログ系のシミュレーションがメインのようで、論理回路のみのシミュレーションには向いてなさそうです。

論理回路の場合は、おそらくもっと別のソフトウェアを使うべきなのかも知れません。

本家のバージョンは 0.0.19 なのですが、追従できているのはWindowsとMacのみで、Linux については前述の通りUbuntuのパッケージングが0.0.18で止まっているわ、debian のほうはパッケージが削除されているわで惨憺たる状況です。需要無いんでしょうか…