NSL
Interface2011年2月号のNSLサンプルを試す1(クラスとプロパティの作成)
Interface2011年2月号の97ページからの”第5章 UMLで始めるFPGA/ASIC回路設計”を参考に書かれているサンプルを試してみることにした。
Papyrus(UMLエディタ)を立ち上げて、クラスを作成し、プロパティを設定するまで。
Interface2011年2月号のNSLサンプルを試す2(メソッド作成)
Papyrus上で、クラスにメソッドを作成している様子を書いた。
Interface2011年2月号のNSLサンプルを試す3(インスタンス作成)
Papyrus上で、クラス間のインスタンスを作成した。完成したらUML2NSLでUMLからNSLのスケルトンコードに変換した。
Interface2011年2月号のNSLサンプルを試す4(NSLをVerilogに変換してシミュレーション)
CQ出版社から落としたプロジェクト一式に入っている完成版のNSLファイルtimer7seg.nslを使って、Verilog、VHDL、SystemCへの変換を行ってみようと思う。
NSL CoreツールでVerilogに変換して、ISimでシミュレーションを行った。
Interface2011年2月号のNSLサンプルを試す5(インプリメントを試す)
NSLファイルをVerilogとVHDLに変換したものをISE12.4でインプリメントして、Spartan3 Starter Kit で動作させた。
電子サイコロをNSLで書いてみる1(Papyrusでクラス図を作成)
NSLの次の課題として電子サイコロを自分でNSLで書いてみた。NSLで電子サイコロを書き直すに当たって、イベントドリブンに変更した。Papyrusを立ち上げてクラス図を作った。
電子サイコロをNSLで書いてみる2(NSLに変換)
電子サイコロをNSLで書いてみる3(NSLをVerilogに変換してインプリント)
電
子サイコロをNSLファイルに変換して、メソッドの中身を書いていった。NSL
CoreでVerilogに変換して(Optimizeオプションをチェック)、ISE12.4
のプロジェクトを生成して、インプリントしてみた。できたビットファイルをSpartan3 Starter Kit
にダウンロードしたら、サイコロが動作した。
キャラクタ・ディスプレイ・コントローラをNSLで書こう1(メモリの生成テスト)
キャラクタ・ディスプレイ・コントローラをNSLで書きなおしてみようと思っている。
最初にキャラクタ・ジェネレータROMやフレーム・バッファRAMをどうやって書こうか?を考えた。NSLでは、チュートリアルの”
8.メモリ”にメモリの生成と初期化方法が書いてある。でも、こう書いた場合にBlockRAMを使ってくれるかどうか?という不安がある。それではということで、実際にやってみた。
キャラクタ・ディスプレイ・コントローラをNSLで書こう2(Papyrusでクラス図を作成)
キャラクタ・ディスプレイ・コントローラのクラス図をPapyrusで書いた。次に、UMLtoNSLでUMLをNSLのスケルトンに変換した。
キャラクタ・ディスプレイ・コントローラをNSLで書こう3(NSLを作成中)
キャラクタ・ディスプレイ・コントローラをNSLで書こう4(NSLを書いたがエラーだったがVerilogに変換)
キャラクタ・ディプレイ・コントローラをNSLで書き、NSL CoreでVerilogに変換することができた。
PlanAhead12.4でCharDispCtler のNSLコードのデバック
今
回の目的は、NSLで作ったCharDispCtler.vがきちんと論理合成出来て、インプリメントすることができるか?を確かめることだ。インプリメ
ント出来たら、シミュレーションをしてうまく動いていることを確認してから、ビットファイルをSpartan-3A Starter
Kitにダウンロードして動作させてみようと思っている。論理合成は終了した。
キャラクタ・ディスプレイ・コントローラをNSLで書こう5(シミュレーション1)
前回、PlanAheadのプロジェクトを作成して、ある程度のデバックができた。今回はISimでシミュレーションを行う。
キャラクタ・ディスプレイ・コントローラをNSLで書こう6(Spartan-3A Starter Kitにダウンロード)
NSLで作成したキャラクタ・ディスプレイ・コントローラを動作させたところ動作した。