FC2カウンター FPGAの部屋 ”Spartan3E Starter Kit”の目次
FC2ブログ

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

FPGAの部屋

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

”Spartan3E Starter Kit”の目次

Spartan3E Starter Kitは、DDR SDRAM コントローラを作りたいがために、最初に出力のためのLCDの表示回路を作成、次にデータを入力するためにロータリーエンコーダー回路を作成して、最後にDDR SDRAM コントローラを作って、ロータリーエンコーダー回路、LCDの表示回路に接続してテストした。
いまややりたいと思っているのはSPIコンフィグのテストです。

Spartan3E Starter KitのLCD(Spartan3E Starter KitのLCDをXilinxのプロセッサIP、PicoBlazeを使用して表示してみることにした)
Spartan3E Starter KitのLCD2(Spartan3E Starter KitのLCDの使い方をSpartan3E Starter Kitの初めからコンフィグROMに入っているプロジェクトs3esk_startupのマニュアルを見てお勉強した)
スパルタン3EスターターキットのLCD表示回路1(スパルタン3EスターターキットのLCD表示回路を作っているところだ。 LCDの上の列と下の列に右端から4つの16進数を表示する回路だ。ステートマシンを図示)
スパルタン3EスターターキットのLCD表示回路2(PicoBlazeの入出力ポートの仕様)
スパルタン3EスターターキットのLCD表示回路3(LCD表示回路も大分できて来た。アセンブラも書いて、シミュレーションをしてみた。シミュレーション波形を表示)
スパルタン3EスターターキットのLCD表示回路4(結構PicoBlazeのアセンブラにバグがありましたが、LCDに表示できるようになりました)
スパルタン3EスターターキットのLCD表示回路5(試せる様にスパルタン3EスターターキットのLCD表示回路のプロジェクトあり。足りないファイルを付加して、プロジェクトをインプリメントする方法)
スパルタン3EスターターキットのLCD表示回路まとめ(仕様を示した。スパルタン3EスタータキットのLCDの初期化方法。PicoBlaze用の入出力ポートの仕様。PicoBlazeのプログラムの説明)
スパルタン3EスターターキットのLCD表示回路その後(スタータキットのユーザーズマニュアルに書いてあるLCD操作タイミングとST7066Uのタイミングが違うのではないかというコメントをSimさんからいただいた。
確かにスタータキットのユーザーズマニュアルを見るとST7066Uを使っていると書いてある。ためしにST7066Uをターゲットにタイミングを書き換えてみた)

スパルタン3Eスタータキットのロータリーエンコーダ1(スパルタン3Eのロータリーエンコーダの回路ができた。ロータリーエンコーダの回路の仕様を説明)
スパルタン3Eスタータキットのロータリーエンコーダ2(スパルタン3Eスタータキットのロータリーエンコーダの回路の説明。スパルタン3Eスターターキットのロータリーエンコーダの回路のプロジェクトあり。)

Spartan3E Starter KitでのDDR SDRAMコントローラのテスト(Spartan3E Starter KitでDDR SDRAMコントローラを作成中。トップのDDRtest.vhdのport map)
DDR SDRAMコントローラ回路の途中経過(DDR SDRAMコントローラ回路は、以前Virtex2で作ってあったものをSpartan3Eに変更しているので、Spartan3Eには存在しないプリミティブを使用していた。Spartan3EではDCMの可変位相シフトが変更になった件)
Spartan3E Starter KitのDDR SDRAMコントローラについての疑問(Spartan3E Starter KitのDDR SDRAMコントローラがISEでインプリメントできるところまで来たが、どうしてもMAPでエラーが出てしまう。Spartan3ではインプリメントできたが、Spartan3Eでインプリメントできない)
Spartan3E Starter KitのDDR SDRAMコントローラについての疑問2(Spartan3Eのライブラリの説明書にFDDRCPE(ASYNC set/reset)とFDDRRSE(SYNC set/reset)がないことがわかった。ODDR2を使ってgeneric mapでSYNCとASYNCを切り替えるのだそうだ。さらに入力もIDDR2があるようなのでこれを使うことにした。 これでも最初と同様にエラーが出てしまった)
Spratan3E Starter KitのDDR SDRAMコントローラまとめ(Spratan3E Starter KitのDDR SDRAMコントローラがとりあえず動いてきた。Spartan3EでもFDDRCPE,FDDRRSEも使用できた。ODDR2でもどっちでも良いようだが、Internal Errorの危険があるので、今のところFDDRCPE,FDDRRSEを使うことにした。DDR SDRAMコントローラのタイミングチャートあり。IOB内のIFD_DELAYを使用して、DDRデータをちょうど良いところまで遅延して、FPGA内のクロックで受けることにした)
Spratan3E Starter KitのDDR SDRAMコントローラまとめ2(DDR SDRAMの論理シミュレーション波形から動作を説明している)
Spratan3E Starter KitのDDR SDRAMコントローラまとめ3(”Spratan3E Starter KitのDDR SDRAMコントローラまとめ”を良く見てみると、リード時のデータを3/4クロックずらすより、1/4クロックずらせて立下りエッジからデータをサンプルした方が受けられるIFD_DELAY_VALUEの値の幅が広くてよいと思った。シミュレーション波形で説明)
Spratan3E Starter KitのDDR SDRAMコントローラ(プロジェクト)(Spratan3E Starter KitのDDR SDRAMコントローラのプロジェクト(VHDL)あり。DDR SDRAMコントローラの中のcontrollerはNGCファイルである。(つまりソースはない))
Spratan3E Starter KitのDDR SDRAMコントローラの説明(Spratan3E Starter KitのDDR SDRAMコントローラの仕様の説明。シミュレーション波形で説明)
Verilog2001版DDR SDRAMコントローラーのインプリメント(Verilog2001版DDR SDRAMコントローラーのインプリメントの仕方をキャプチャ図を使って詳しく説明。プロジェクトを作って、VHDLファイルを追加するところまで)
Verilog2001版DDR SDRAMコントローラーのインプリメント2(Verilog2001版DDR SDRAMコントローラーのインプリメントの続き。使い方を説明)
  1. 2007年09月28日 18:43 |
  2. カテゴリ別の目次
  3. | トラックバック:0
  4. | コメント:0

コメント

コメントの投稿


管理者にだけ表示を許可する

トラックバック URL
http://marsee101.blog.fc2.com/tb.php/605-3f0af553
この記事にトラックバックする(FC2ブログユーザー)