ダウンロードするだけで、Emacs+Cygwin(+vim)が使えるすぐれもの

gnupackを導入しました。

http://gnupack.sourceforge.jp/docs/current/UsersGuide.html



フェイスのせってもしてあって、IMEも設定してくれているから、

何もしなくても格好よいEmacsで日本語がサクサク使えます。

くらいまーず はい

ところで、Emacsというと、M+x shellでbashとかコマンドプロンプトが

Emacs上で使えて便利なんですが、

このgnupackはそのままではEmacs上でCygwinが使えません。

ついでに、CygwinでIcarusも使えるようにすると、

Verilogのお勉強が便利だな~と思ったのでやってみました(・ω・)/

まずはCygwinでIcarusを使えるようにしてみます。



くらいまーず はい

当たり前ですが、初期状態で iverilog とか打ち込んでも、

そんなコマンドねーよと怒られます。


考えてみると、cdとかmkdirとかのコマンドも実際にはプログラムを呼び出している訳で、

C:\gnupack_basic-4.08a\app\cygwin\cygwin\bin

の中には、cd.exeとかwhich.exeとかが入ってます。


Icarusの方も、

C:\iverilog\bin

の中に、iverilog.exeとかgtkwave.exeが入ってる・・・


という事は、Cygwinのbinフォルダに、Icarusの実行ファイルを入れてしまえば使えるのでは・・・

と正しいのか良く分からない事が浮かんだので実行してみました。


まず

C:\iverilog\bin

の中身を

C:\gnupack_basic-4.08a\app\cygwin\cygwin\bin

に全部コピーします。


次に

C:\iverilog\lib

の中身を

C:\gnupack_basic-4.08a\app\cygwin\cygwin\lib

へコピーしました。


で再度立ち上げなおして、 iverilog と打ってみると、

ソースファイルよこせやと怒られました。

ソースを用意してVCDファイルをはかせてみましたが、

これで上手く動いているみたいです。


PATHを渡してあげるとか、スマートな方法が有りそうな気もしますが、

動いたので良しとします。


なんでもやって見るもんですね


くらいまーず はい

CygwinでIcarusを動かせたので、

今度はEmacs上でCygwinを使うための設定です。


まず下のリンクから、cygwin_mount.elを落としてきます。

http://www.emacswiki.org/cgi-bin/wiki/cygwin-mount.el


落としたLispファイルは下のフォルダにおきました。

C:\gnupack_basic-4.08a\app\emacs\site-lisp


C:\gnupack_basic-4.08a\home\.emacs.d

init.elに下の行を追加します。


(setenv "PATH" (concat "C:/gnupack_basic-4.08a/app/cygwin/cygwin/bin/" (getenv "PATH")))
(setq exec-path (cons "C:/gnupack_basic-4.08a/app/cygwin/cygwin/bin/" exec-path))
(require 'cygwin-mount)
(cygwin-mount-activate)


”C:/gnupack_basic-4.08a/app/cygwin/cygwin/bin/”の部分はインストールした場所によって変わってきます。


これでEmacsを立ち上げなおして、

M-x shell

と打つと、Emacs上でCygwinが使えるようになりました。


くらいまーず はい

これで、下みたいにEmacsの中だけでverilog書いてコンパイルして、シミュレーション結果を出力した後、

GTKwaveにVCDファイルを渡して波形表示させることが出来るようになりました。


くらいまーず はい