FC2カウンター FPGAの部屋 EDAツールについて
fc2ブログ

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

FPGAの部屋

FPGAの部屋の有用と思われるコンテンツのまとめサイトを作りました。Xilinx ISEの初心者の方には、FPGAリテラシーおよびチュートリアルのページをお勧めいたします。

Sublime Textでカラースキーマを変更する

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

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

左のペインでカラースキーマを選んで、自分の感性に近いカラースキーマをそのままでもよいが、自分のより好みになるように変えて .tmTheme として、C:\Users\<ユーザー名>\AppData\Roaming\Sublime Text 3\Packages\User にセーブして、Sublime textを再起動すればそのカラースキーマを選択することができる。
tmtheme-editor_2_170918.png
  1. 2017年09月18日 11:57 |
  2. EDAツールについて
  3. | トラックバック:0
  4. | コメント:0

Sublime Text3の AutoPort機能 と AutoInst機能

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;

sublime_text3_9_131117.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*/);

sublime_text3_10_131117.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つのファイルだけがフォルダに入っています。
sublime_text3_11_131117.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 を選択します。
sublime_text3_12_131117.png

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

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

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

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

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

ALT+SHIFT+S を押すと、フォルダにある全てのファイルのシンボルが一覧表示されます。
sublime_text3_17_131117.png
  1. 2013年11月17日 18:09 |
  2. EDAツールについて
  3. | トラックバック:0
  4. | コメント:0

Geany エディタ

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

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

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

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

なかなか良さそうです。
  1. 2013年11月17日 09:39 |
  2. EDAツールについて
  3. | トラックバック:0
  4. | コメント:0

Sublime Text3 エディタ

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

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

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

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

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

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

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

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


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

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

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

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

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

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

なお、VHDLのパッケージをインストールする方法は、”Syntax highligthing for VHDL”を参考にさせて頂きました。
  1. 2013年11月01日 04:53 |
  2. EDAツールについて
  3. | トラックバック:0
  4. | コメント:0

Notepad++でNSLのキーワードの色を変える

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

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

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

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

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

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

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

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

これで終了なので、ダイアログのXボタンをクリックして、終了する。
この設定で、NSLが下のように見えるようになった。
NSL_Keyword_8_110120.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:修正)
  1. 2011年01月21日 04:05 |
  2. EDAツールについて
  3. | トラックバック:0
  4. | コメント:0

Notepad++にChange Makersプライグインを入れる

以前のNotepad++には、変更された箇所が黄色の線で示され、セーブしたら緑色の線で示される機能があった。この機能がどうしても欲しかったので、調べてみるとNotepad++用プライグインのサイトがあって、そこにChange Makersがあった。このプラグインを入れると、私の希望の機能が実現できるようだ。
早速、Change MakersのサイトからUnicode用のプラグインをダウンロードした。
ダウンロードした内容(下の図)をNotepad++を閉じてから、Notepad++のフォルダの下のpluginsフォルダにコピーする。
Change_Makers_1_100210.png

すべてコピーしないと動かないようだ。
Notepad++を起動すると左脇に1列増えている。まだChange Makersがイネーブルされていないので、変更しても表示されない。プラグインメニューからChange Makersを選んで、Disable Pluginのチェックを外すと有効になる。
Change_Makers_2_100210.png

更に左脇の増えている1列が気になるので、それを削除しよう。やはりプラグインメニューからPlugin Maker Marign のSecond View: Show Margin のチェックを外す。こうすると左脇の余計なマージンがなくなるはずだ。
Change_Makers_3_100210.png

これで、Notepad++の画面で文字を入力してみると、黄色い金平糖マークが表示される。
Change_Makers_4_100210.png

次に、そのファイルをセーブすると緑の金平糖マークになる。
Change_Makers_5_100210.png

とりあえず目的は達したが、いろいろなプラグインがあるようなので、後で見てみよう。

(追記)
いままでの記述はWindwos XPだったが、Vistaでは挙動が違うようだ。まずは、Change Makersが最初から有効になっていた。
Plugin Maker MarignのSecond View: Show Margin のチェックは外せなかった。その代わりにNppPlugin_PluginMargin.dll を入れなくても怒られずに、入れなければ左脇の余計なマージンは出てこない。どうなるか分からないが、これでやってみようと思う。(自己責任でお願いします)
  1. 2010年02月10日 05:51 |
  2. EDAツールについて
  3. | トラックバック:0
  4. | コメント:0

Notepad++のセッションの利用法

Notepad++でHDLファイルをいじっていると、このプロジェクト(プロジェクトA)を編集しているのだけど、ちょっとこっちのプロジェクト(プロジェクトB)を編集したいというときがある。その場合に、数多くのプロジェクトAのファイルの中にプロジェクトBのファイルがちょこっと混じっていると、どうも見にくいし、ミスる可能性が増える。
そのような場合にはNotepad++ のセッション機能を使うと良いと思う。
さて、それじゃ使ってみよう。2つのVHDLファイルが開いている状態で、ファイルメニューから”セッションを保存”を選択。
Notepad++_Session_1_091218.png

保存ダイアログが開くので、idram.sessoin と名前をつけてセッションを保存する。
Notepad++_Session_2_091218.png

これでセッションが保存できた。
例えば、他のプロジェクトを編集しいて、今、保存したセッションを読み込むには、
1. ファイルメニューから”すべて閉じる”を選択して、全部ファイルを閉じる。
2. ファイルメニューから”セッションを読み込む”を選択する。
3. ダイアログからidram.session を選択して開くボタンを押すと、さっきのファイル構成が再現される。

色々なセッションを作れば、そのプロジェクトのファイルだけを手軽に編集することができるだろう。
  1. 2009年12月19日 00:01 |
  2. EDAツールについて
  3. | トラックバック:0
  4. | コメント:0
»