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

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

FPGAの部屋

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

VHDLのパッケージファイルがISEに認識されずにエラーが出る

VHDLでパラメータやprocedure, functionなどを書いたパッケージファイルをVHDLのファイルでuseしているときに、パッケージをプロジェクトにいれているにもかかわらず、packageがないとエラーが出てしまった。(下のような感じでパッケージファイルをuseする)

library work;
use work.disp_timing_pack.all;


(上の例VHDLの記述は、この下の例とは関係ありません。)
その場合には、Project Navigator のLibrariesタブをクリックして、Librariesウインドウを表示し、パッケージファイルで右クリックする。右クリックメニューから、Sourece Properties...を選択する。
VHDL_Package_1_110119.png

File Properties ダイアログが開く。Include as Global File in Compile List をチェックして、OKボタンをクリックする。
VHDL_Package_2_110119.png

そうすると、Designタブに切り替えると、パッケージファイルがマーク付きで現れる。
VHDL_Package_3_110119.png

一度、これをやっておくと、次にチェックを外しても認識されているようだ。
確かめたのは、ISE12.4のISimで確かめた。どうにもパッケージファイルが見つからなくて困っていたので、やったら、Project Navigator に認識されたみたいだ。
  1. 2011年01月19日 17:31 |
  2. Xilinx ISEについて
  3. | トラックバック:0
  4. | コメント:0

電子サイコロをNSLで書いてみる1(Papyrusでクラス図を作成)

さて、NSLの次の課題として電子サイコロを自分でNSLで書いてみようと思う。電子サイコロはISE11.1のチュートリアルとして、”ISE11.1iのチュートリアル1(導入編)”で紹介してある仕様のものをそのままNSLで書いてみようと思う。
その前に、NSLのチュートリアルはすごく読みやすくて、良いチュートリアルなので、これで勉強しようと思う。

NSLで書き直すに当たって、イベントドリブンに書きなおそうと思う。
diceクラスのcommon operations として、チャタリング除去用の5msecのカウンタを作って、そのイベントでスイッチの値を取って評価する。5msecのカウンタの4回に1回、スイッチが押されていれば、サイコロのカウンタをアップする。というアプローチにしようと思っている。

それでは、Papyrusを立ち上げてクラス図を作ろう。下がクラス図を作った状態。dice, counter_1to6, hex_to_7segoutのクラスがある。hex_to_7segoutはサンプルのクラスをそのまま使用することにする。
NSL_Sample_38_110119.png

下の図がプロパティを設定し終えたところ。
NSL_Sample_39_110119.png

次にメソッドの作成。下の図がメソッドの作成が終了したところ。
NSL_Sample_40_110119.png

インスタンス生成も終了した。
NSL_Sample_41_110119.png

今回はこれで終了、次はNSLのスケルトンを生成して、NSLのメソッドを書いていく。
  1. 2011年01月19日 05:54 |
  2. NSL
  3. | トラックバック:0
  4. | コメント:0