FC2カウンター FPGAの部屋 2011年01月21日
FC2ブログ

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

FPGAの部屋

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

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