FPGAの部屋

FPGAやCPLDの話題やFPGA用のツールの話題などです。 マニアックです。 日記も書きます。

FPGAの部屋の有用と思われるコンテンツのまとめサイトを作りました。ご利用ください。 http://marsee101.web.fc2.com/index.html

カテゴリ: EDAツールについて

Sublime text 3 を使用していて、文字のハイライトなどのカラースキームを変更する方法を書いておく。

まずは、その名の通り”Sublime Textでカラースキーマを変更する”を参考にした。それを参考にすると、tmtheme-editor を使用すればいろいろなカラースキーマを選べて、色を変更することもできるようになる。
354a0ffa.png


左のペインでカラースキーマを選んで、自分の感性に近いカラースキーマをそのままでもよいが、自分のより好みになるように変えて .tmTheme として、C:\Users\<ユーザー名>\AppData\Roaming\Sublime Text 3\Packages\User にセーブして、Sublime textを再起動すればそのカラースキーマを選択することができる。
e977332e.png

Sublime Text3のシェアウェア料金を払って正式ユーザーになりました。

Verilog Automatic パッケージの AutoPort機能 と AutoInst機能を使いたいと思っていたので、やってみました。

まずは、AutoPort機能です。/*autoport*/を入れておきます。

module test2 (/*autoport*/);
input wire[1:0]a;
input wire b;
output reg [2:0]c,d;
inout wire e;

f874a977.png


SHIFT+F6 を押すと、自動的にポート宣言を入れてくれます。

module test2 (/*autoport*/
//inout
e,
//output
c,
d,
//input
a,
b);
input wire[1:0]a;
input wire b;
output reg [2:0]c,d;
inout wire e;

test1 test1_inst (/*autoinst*/);

360ed2cb.png



次は、 AutoInst機能ですが、これは、CTagsソフトウェアとSublime Text3 のCTagsパッケージをインストールする必要があります。これは下位モジュールをインスタンスする際に自動的にポートマッピングしてくれる機能です。

・Windows7の場合は、”exuberant ctags 日本語対応版”の ”Win32版(バイナリのみ) (ec58j2w32bin.zip 162,098 byte)”をインストールする必要があります。私は、Windows7 64bit版でしたが、Win32版でOKでした。

・ZIPを解凍して、出てきた ctags.exe をパスの通っているフォルダにコピーします。私は、C:\Windows\System32 フォルダにコピーしました。

・次に、Preferences -> Package Control から CTags パッケージをSublime Text3 にインストールします。(インストール方法はこちら

前提として、test1.v と test2.v と2つの Verilog HDL ファイルがあるフォルダが有るとします。先ほどAutoPort機能で使用したのが、test2.v です。下の図に示すように、この2つのファイルだけがフォルダに入っています。
20b52a45.png


test1.v の内容です。parameter とポートがありますが、parameter はAutoInst機能の対象ではないみたいです。

module test1 #(
parameter integer aaa = 1,
parameter integer bbb = 2
(/*autoport*/
input wire[1:0]a,
input wire b,
output reg [2:0]c,d,
inout wire e
);

・Sublim Text3 の Findメニューから Ctags -> Rebuild Tags を選択します。
f7db964a.png


・すると、Tagファイルが生成されます。
ab16b626.png


・test2.v の test1 のインスタンスのポート接続を書くところに /*autoinst*/ を書いておきます。

・test2.v の test1 のモジュール名にカーソルを持ってきて、SHIFT+F7 を押します。
314791b7.png


・test1.v のポートが test2.v の test1モジュールのインスタンスに挿入されます。
c0463832.png


更に、Alt+S を押すと、現在フォーカスされているファイルのシンボルが一覧表示されて、クリックするとその宣言された行にカーソルが行きます。
0ad45651.png


ALT+SHIFT+S を押すと、フォルダにある全てのファイルのシンボルが一覧表示されます。
6f0640b7.png

Geany というエディタをインストールしました。これもSublime Textと同様に学生実験で学生さんに教えてもらいました。
Geanyのページです。
Download»Releases から Windows なので、geany-1.23.1_setup.exe - Full Installer including GTK 2.16.をインストールしました。

シンボルも表示されて良い感じです。
37a963c6.png


シンボルをクリックすると定義されたところに飛びます。
1618e692.png


更に、文字のエンコーディングも日本語のEUCとかSHIFT-JISとか揃っています。
b4d10406.png


なかなか良さそうです。

長らくNotepad++をVHDLやVerilog HDLを書くときのエディタとして使ってきましたが、自動補完機能がおかしくなりやすいので、どうしようかと思っていました。今日、学生実験で学生さんに Sublime Text 3 を教えてもらったので書いておきます。

Sublime Text 3 はプログラマに人気のプラグインが豊富なカスタマイズできるエディタだそうです。

Sublime Text3をWindowsに入れてみた!初めての導入と簡単なカスタマイズまとめ”を見ながらインストール、カスタマイズをしました。とってもわかりやすいまとめに感謝です。

インストールしているプラグインは、以下の通りです。
{
"installed_packages":
[
"ConvertToUTF8",
"IMESupport",
"SystemVerilog",
"Verilog",
"Verilog Automatic"
]
}

自動補完もあるし、テンプレートも入る(自分でカスタマイズしたいのですが、まだ方法がわかりません)ので便利です。もっと勉強すると便利に使えそうです。
04265deb.png


・パッケージのインストール方法
パッケージのインストール方法は、Preferences -> Package Control を選択します。
cb53277c.png


ダイアログからInstall Package を選択します。
6745df42.png


出てきたダイアログで白い部分に検索テキストを入れればパッケージを検索してくれます。
630fe46a.png



・VHDLのシンタックス・ハイライト
VHDLのパッケージは上の、パッケージのインストール方法では出来ませんでした。その方法を書いておきます。
1.github.com/yangsu/sublime-vhdlから、sublime-vhdl-master.zipをダウンロードします。

2.Preferences -> Browse Packages... を選択します。
d5017b34.png


3.出てきたエクスプローラ上で、VHDLフォルダを新規作成します。
44436dfb.png


3.1.でダウンロードした sublime-vhdl-master.zip\sublime-vhdl-master の中身を新規作成したVHDLフォルダにコピーします。
b78eae99.png


4.Sublime Text 3 を再起動します。

これで、VHDLのハイライトもできるようになりました。これで、Notepad++から移行できます。
0c0e08a4.png


なお、VHDLのパッケージをインストールする方法は、”Syntax highligthing for VHDL”を参考にさせて頂きました。

Notepad++でNSLのキーワードの色が変わらないのが見にくいので、NSLのキーワードの色を変えて見やすくしようと思う。Notepad++のバージョンは5.8.6。

まずは、Notepad++の表示メニューからユーザー定義ダイアログを選択する。
00f69e63.png


ユーザー定義のダイアログが開く。新規作成ボタンをクリックする。
69c062dc.png


Create New Language...ダイアログでNSLと入力してOKボタンをクリックする。
NSL_Keyword_3_110120.png

拡張子をNSLにして、キーワードリストタブを選択し、キーワードを入れていく。input, output, func_in, func_outは色をわけようと思っている。なかなか何色にするかが難しい。
0ae1edcd.png


これで、キーワードの登録は終わりかな?
7a2eb12f.png


次に、コメント・数値設定タブをクリックして、コメントの形式と数値を設定する。
aa9c1f04.png


最後に演算子を設定する。
fa21f98d.png


これで終了なので、ダイアログのXボタンをクリックして、終了する。
この設定で、NSLが下のように見えるようになった。
f5cb3380.png


なおこの設定は、ユーザー定義ダイアログから、XMLファイルとして、Exportすることができる。多分これをImportすれば、他のNotepad++にインポートすることができると思う。今回は、NSL_define.xmlファイルとしてエクスポートした。
最後に、NSL_define.xmlファイルを下に示す。

<NotepadPlus>
    <UserLang name="NSL" ext="nsl nsh">
        <Settings>
            <Global caseIgnored="no" />
            <TreatAsSymbol comment="no" commentLine="no" />
            <Prefix words1="yes" words2="no" words3="no" words4="no" />
        </Settings>
        <KeywordLists>
            <Keywords name="Delimiters">000000</Keywords>
            <Keywords name="Folder+">declare module any</Keywords>
            <Keywords name="Folder-">}</Keywords>
            <Keywords name="Operators">- ! &amp; : [ ] ^ | ~ + &lt; = &gt;</Keywords>
            <Keywords name="Comment">1/* 2*/ 0//</Keywords>
            <Keywords name="Words1">alt any declare for generate goto interface label label_name m_clock module p_reset proc_name proc seq state state_name while finish if else</Keywords>
            <Keywords name="Words2">input output inout func_in func_out func_self reg variable integer wire function func mem </Keywords>
            <Keywords name="Words3">_readmemb _readmemh _finish _display _monitor #ifdef #define #else #endif #ifndef #undef #include</Keywords>
            <Keywords name="Words4"></Keywords>
        </KeywordLists>
        <Styles>
            <WordsStyle name="DEFAULT" styleID="11" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" />
            <WordsStyle name="FOLDEROPEN" styleID="12" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" />
            <WordsStyle name="FOLDERCLOSE" styleID="13" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" />
            <WordsStyle name="KEYWORD1" styleID="5" fgColor="0000FF" bgColor="FFFFFF" fontName="" fontStyle="0" />
            <WordsStyle name="KEYWORD2" styleID="6" fgColor="C600C6" bgColor="FFFFFF" fontName="" fontStyle="0" />
            <WordsStyle name="KEYWORD3" styleID="7" fgColor="800000" bgColor="FFFFFF" fontName="" fontStyle="0" />
            <WordsStyle name="KEYWORD4" styleID="8" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" />
            <WordsStyle name="COMMENT" styleID="1" fgColor="008000" bgColor="FFFFFF" fontName="" fontStyle="0" />
            <WordsStyle name="COMMENT LINE" styleID="2" fgColor="008000" bgColor="FFFFFF" fontName="" fontStyle="0" />
            <WordsStyle name="NUMBER" styleID="4" fgColor="FF8040" bgColor="FFFFFF" fontName="" fontStyle="0" />
            <WordsStyle name="OPERATOR" styleID="10" fgColor="8000FF" bgColor="FFFFFF" fontName="" fontStyle="0" />
            <WordsStyle name="DELIMINER1" styleID="14" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" />
            <WordsStyle name="DELIMINER2" styleID="15" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" />
            <WordsStyle name="DELIMINER3" styleID="16" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" />
        </Styles>
    </UserLang>
</NotepadPlus>


上のXMLを名前をつけてセーブして、Notepad++からインポートすれば、NSLのキーワード色付けができる(できました)。

ユーザー定義言語のやり方は、”How to create your own definition (user-defined language) of a Syntax Highlighting scheme”に書いてある。
ユーザー定義言語のXMLファイルは”Obtaining files related to user defined language.”にある。私もSystemVerilogとPicoBlazeを入れた。SystemCとXilinxの制約ファイルが無いのが残念だけど、自分で作れば良いと思う。誰か作った方がいたら公開してください。

(2011/01/22:追記)
if, else, function のキーワードが抜けていたので、上のNSL_define.xmlファイルをアップデートしました。
(22:32)演算子に[]を追加しました。
(2011/02/09:修正)

↑このページのトップヘ