LX9 MicroBoardを使ってみる

by K.I
2011/09/xx

Index


概要


[top]

インストール

ISE13.2インストール

DIGILENT

C:\Xilinx\13.2\ISE_DS\ISE\lib\nt\plugins\Digilent\libCseDigilentには、libCseDigilent.dll,libCseDigilent.xmlが入っているので、結局何もせずに、そのまま。

サンプルプログラム

サンプルプログラムをダウンロード

書込み

4bitで書込む

MCSファイルについて

追記: というのは間違いで、ROMデータはバイナリとして用意すれば良い。

FlashROMにユーザデータを入れる

bitファイルを書く

Core Generatorの使い方


1本当は、バイナリファイルを指定しなければならない。
2なんか、やり方を間違ってるのかもしれないが、分からないので、全部消してやり直した。
3説明がめんどくさいので省略。

[top]

ChipScope

ライセンスの取得

ChipScopeモジュールを組込む

Keep Hierarchy設定


4ライセンス取得自体に期限があるかもしれないけど。

[top]

インターフェース

PMOD

FPGA# I/O Signal PIN# PIN# I/O Signal FPGA#
F15 FPGA_PMOD1_P1 1 7 FPGA_PMOD1_P7 F14
F16 FPGA_PMOD1_P2 2 8 FPGA_PMOD1_P8 G14
C17 FPGA_PMOD1_P3 3 9 FPGA_PMOD1_P9 D17
C18 FPGA_PMOD1_P4 4 10 FPGA_PMOD1_P10 D18
GND 5 11 GND
+3.3V_LS1 6 12 +3.3V_LS1
FPGA# I/O Signal PIN# PIN# I/O Signal FPGA#
H12 FPGA_PMOD2_P1 1 7 FPGA_PMOD2_P7 K12
G13 FPGA_PMOD2_P2 2 8 FPGA_PMOD2_P8 K13
E16 FPGA_PMOD2_P3 3 9 FPGA_PMOD2_P9 F17
E18 FPGA_PMOD2_P4 4 10 FPGA_PMOD2_P10 F18
GND 5 11 GND
+3.3V_LS1 6 12 +3.3V_LS1

LED

FPGA# NetName
P4 FPGA_GPIO_LED1
L6 FPGA_GPIO_LED2
F5 FPGA_GPIO_LED3
C2 FPGA_GPIO_LED4

DIP

FPGA# NetName
B3 FPGA_DIP1
A3 FPGA_DIP2
B4 FPGA_DIP3
A4 FPGA_DIP4

Reset

FPGA# NetName
V4 USER_RESET

Clock

FPGA# SignalName Clock
V10(GCLK0) USER_CLOCK 40MHz(Programmable)
K15(GCLK9) CLOCK_Y2 66.7MHz(Programmable)
C10(GCLK13) CLOCK_Y3 100MHz(Programmable)
R8(GCLK31) BACKUP_CLOCK 66.7MHz

USB-UART

FPGA# SignalName
R7 USB_RS232_RXD
T7 USB_RS232_TXD

[top]

ISEメモ

MicroBoardがiMPACTに認識されない

ProjectManagerについて

エディタについて

iMPACTの設定が残らない

initialize chainできない

Number of LOCed IOBs

generate

        generate
                genvar p;
                for (p=0; p<POINT_N-1 ;p=p+1) begin : gen_dft_inst
                        bs_dft_unit bs_dft_inst (
                                 .clk(clk),
                                 .rst(rst),
                                 .in(bibun_out),
                                 .t(t[p]),
                        );
                end
        endgenerate
Normal generate
Number of Slice Registers 509 502
Number of Slice LUTs 1153 1153
Number of occupied Slices 362 360
Number of LUT Flip Flop pairs used 1182 1194

Program Failed

MIG参考

ひとりごと

ISE設定

Property_Name Value
Family Spartan6
Device XC6SLX9
Package CSG324
Speed −3

[top]

SDRAMの実験

SDRAMの仕様

SDRAMのクロック

SDRAMコマンド

Command CK CKE CS RAS CAS WE ADRS A10 BA Description
MRS H L L L L OPcode OPcode OPcode Mode Reg Set
REF H L L L H X X X Auto Reflesh
ACTIVE H L L H H Row X Bank Active Row
READ H L H L H Column EnableAP Bank Read Column
WRITE H L H L L Column EnableAP Bank Write Column
PRECHARGE H L L H L X AllBank Bank Precharge
NOP H L H H H X X X No Operation

JTAGによるデバッグ

TopJTAGを使ってみる

クロックを低速にする

ピン名の設定

stat SDRAMステート
2 PreCharge
3 Active & ROW
4 Write
5 Read
7 NOP

空きピンに出力

inout端子メモ

Mode Registor Set

BA1_BA0 An〜A7 A6〜A4 A3 A2〜A0
StdMode OpeMode CASLate BurstTyp BurstLen
0 0 0...0 2 or 3 IL/Seq 2〜16
A2 A1 A0 BurstLength
0 0 1 2
0 1 0 4
0 1 1 8
1 0 0 16
A3 BurstType
0 Sequential
1 Interleaved
A6 A5 A4 CASLatency
0 1 0 2
0 1 1 3

SDRAMデバッグメモ

とりあえず動作を確認


5ちなみにUSBによるJTAG接続は選べないので、パラレル接続のJTAGケーブルを使用している。
6実は前述の桑野さんの本には、書いてあったんだけど、後から気がついた。。
7この例ではシーケンサの関係でタイミング的にゆっくり書き込んでいるが、読出しと同様の速度で書き込むことも可能。


comments powered by Disqus