こんにちは!とぷぅです。

前回は IP の使い方について簡単にご説明いたしました。

IP の基本的な生成方法、使い方を知ってからはデザイン記述への抵抗が少なくなりました。

また IP に関するサポートも担当することが出来るようになり、うれしく思っています。

 

 

先日、ステートマシンを使って、シーケンスを組んでいくサポートを行うことになりました。

ステートマシンは研修で習って以来使用してなかったので、書き方のイメージしか浮かばず、

細かい文法などは思い出せませんでした。

 

「研修のときの資料を見返すか…」

と思い、資料を探していたところを先輩に目撃されました。

 

先輩 「何を探しているの?」

とぷぅ 「研修時の資料です。ステートマシンの書き方を忘れてしまって……」

先輩 「資料探すよりも早く書き方が分かって、簡単に記述をする方法があるよ」

 

 

と、方法を教えてくれました。

それはDesign Template という便利な機能です。

今回はその使い方についてご説明いたします。とても簡単です。

1.Design Template の使い方

 

1 - 1.   Text editor を開き、Editor の上部の Insert template のマークをクリック。( 図 1 )

図 1. テキストエディタを開いた画面

 

1 - 2.    図 2 のような画面が出てくるので、自分が挿入したいテンプレートを選択。

今回は例としてステートマシンのテンプレートを挿入します。

Verilog → Full Designs → State Machines → 4 - State Mealy State Machine を選択し(プレビュー画面の中に HDL が表示されます)、Insert をクリック。

図 2. Design templateの画面

 

1 - 3.   テキストエディタに選択したデザインが挿入されます。( 図 3 )

図 3. デザイン挿入後のエディタ画面

 

あとは、モジュール名や信号名などを自分の回路仕様に合わせて編集し、ステートマシン動作を記述していくだけ!

非常に簡単です。

 

 

他に挿入できるテンプレートとしましては VHDL や System Verilog などのハードウェア言語はもちろん、tcl コマンドや SDC 制約のコマンドもありました。

 

 

私はこの便利さに感動しつつ、いろいろな項目を見ていくうちにあることに気づきました。

それは各項目の中に User というものがあるということです。

 

 

これはその名の通り、ユーザがテンプレートを作成し、保存できる機能です。

今回はその使い方をご説明いたします。(私は User の項目を選択し、Preview にコードを入力すれば良いと思っていましたが、そうではありませんでした......)

2.ユーザ・テンプレートの作り方

 

2 - 1.   まずはベースとなるテンプレートを選択します。今回は先ほどの例でも選択した 4 - State Mealy State Machine を再度選択します。( 図 4 )

図 4. 任意のテンプレート選択後の画面

 

2 - 2.   Preview  ウィンドウ内で編集し、close を選択します。今回は例として s4 = 4 という記述を加えました。( 図 5 )

図 5. 変更後のテンプレート画面

 

2 - 3.   Close をクリックした後、ユーザ・テンプレートとして保存するかどうかのメッセージが表示されるので Yes  をクリック ( 図 6 )。

その後 User template name にテンプレートの名前を入力します( 図 7 )。

図 6. save の実行選択画面
図 7. ユーザ・テンプレート名の入力画面

 

2 - 4.   User の項目にテンプレートが追加されます。( 図 8 )

図 8. 追加されたテンプレート

 

このように既存テンプレートを編集し、ユーザ・テンプレートとして保存する方法以外にも User の項目を右クリックし、New から新規作成する方法もあります (図 9 )。

図 9. New からユーザ・テンプレートを作成

 

2 - 5.   ユーザ・テンプレートの保存ディレクトリを指定する。

ユーザ・テンプレートの保存場所は Tools → Options → Text Editor の User templates library directory で保存先のディレクトリを指定することにより変更可能です。(デフォルトはプロジェクトディレクトリ内です。)

 

別のプロジェクトでユーザ・テンプレートを使用することもできます。

その場合は新規プロジェクト作成時点でユーザ・テンプレートが保存されているディレクトリを指定してくれています。

 

エディタ画面の上部にこんな便利な機能が隠れているとは思いませんでした。

Summary

・  design template を用いれば、設計工数を削減できる

・テンプレートは RTL 記述だけでなく、SDC 制約コマンドや Tcl コマンドもあるので

 ちょっとコマンドを忘れてしまったときなどに便利

・自分のオリジナルのテンプレートを作成し、使いまわすことが可能

とぷぅの他の記事

  『IPをつかってみよう~IPの中身を見たい~』
   

IP の中身を見るために奮闘したお話。

 

  『テストベンチアレルギー解消』
   

テストベンチのコツをつかめる記事です。

     
  『タイミング解析~ FPGA の入力遅延の定義~』
   

タイミング解析の入出力遅延についてまとめました。