Chip123 科技應用創新平台
標題:
請問xc2v4000+(FPGA)
[打印本頁]
作者:
happpyend
時間:
2007-5-20 06:14 PM
標題:
請問xc2v4000+(FPGA)
請問燒錄到FPGA和FLASH有什麼要注意的分別嗎?都是用同一個bit檔嗎?
; R+ g# S, N0 h9 ~
& z. f! I- d) @4 ?7 o$ s
還有就是說如果flash內已經有之前的燒錄檔了,納現再我要在灌一個新的怎麼辦?他會直接覆蓋過去嗎?
作者:
masonchung
時間:
2007-5-20 06:32 PM
FPGA直接燒錄的話如果重開機, 就要再燒一次
: j# o6 P o. j
如果是燒到flash的話 每次開機就會從flash讀到fpga
8 s7 V$ {9 ]8 _# `
FPGA就不用重燒啦
. ?: u0 _3 T' h9 s' {
) `* S, d) [& g, u
燒到flash 和FPGA的電路檔相同 ,但是要燒到flash必須先燒一個flash 載入的控制電路到FPGA
- |/ b# F; r& C1 _9 \
# {7 Y) Y6 ^! z; o
燒到flash的電路檔 只要位址沒有重複應該不會被蓋掉
& T1 {5 [1 P3 ?9 r" v# u
. E& z6 i! u. {+ K" K
[
本帖最後由 masonchung 於 2007-5-20 06:36 PM 編輯
]
作者:
happpyend
時間:
2007-5-20 07:32 PM
你說燒到flash必須先燒一個flash的載入的控制電路?
" [" L% f2 K: }, F' }9 s: J: W3 ]
那我要去哪邊取得阿?
D- X- i! M' W4 a% `9 s# ~/ K
3 k) w5 D. Y3 W1 e+ M- y
我ㄉ型號是xc2v6000(4000+)
作者:
masonchung
時間:
2007-5-20 07:56 PM
這跟你版子上 Flash的型號有關係
5 N3 r- `# V0 z+ S
2 x- v6 Q* V; A$ g7 ^! b- c3 }, i. z
一般有個default 檔 : LM_flash_load.bit
作者:
happpyend
時間:
2007-5-20 08:28 PM
不好意思,請問可以幫我找那個所謂的default檔ㄇ?我怎麼也找不到
c P) ?; _2 Z( H! u( l) s
$ N$ w& `5 G1 I9 u5 S- M1 g
而且要燒到flash,brd檔我也不知道該怎麼寫ㄟ,我只會燒到fpga的,直接指定燒錄檔位置
; |" d: M% y7 j6 u
8 |. B+ _# b/ a0 i
[General]
5 h& _: C$ o0 `" j. H( u/ n
Name = register AHB XC2V6000 -> fpga
0 I" P z; {: P( k+ R3 R
Priority = 1
, H. S+ h# M1 \
8 |/ c& n% C* L3 A+ Y- y
[ScanChain]
6 X! v0 W% P) G
TAPs = 2
' h6 N' R" t" E3 T9 W2 c
TAP0 = XC2V6000
$ N! D/ V; @5 a3 o+ Z( J, N8 a
TAP1 = XC9572XL
2 r. H2 H, [! e5 l* e0 H
) n3 C% V! w5 t) K! l4 j/ H
[Program]
& z* @. x7 j! }# ]- }" Z2 p5 ~' w
SequenceLength =1
5 T% \: f1 E; h0 S
Step1Method = Virtex2
( E6 x( n$ {, O4 T ^/ }5 p
Step1TAP = 0
@" Y, @# W9 S* ~- O/ ]
Step1File =register1.bit
( x8 ^" b) w- _1 m- _
% q; b J& r; M) ^" E) l
那請問燒到flash要怎麼加怎麼改?
作者:
jason_lin
時間:
2007-5-20 09:12 PM
標題:
回復 #5 happpyend 的帖子
對於FPGA跟flash燒錄方式解釋.
4 `+ O1 y! r5 ]; t1 Q. F
燒FPGA時,是Bit file,而大家把FPGA想像成RAM,燒完就工作,但電關掉,資料都不見了,所以重開機就要再燒一次,
3 r6 T4 x+ @2 ^0 H3 A( f- Q) C
要把FPGA拿來量產,那就必須搭配一顆flash或ROM,
3 d; G) u2 o# A/ c6 \5 J( L
而燒flash時,是mcs檔,原理就是一開機,硬體會去偵測download方式,然後自動download到FPGA,也就是說,每次重開機,
' @6 j4 C7 r: m7 T
硬體會把flash裡的設計線路,自動download到FPGA去執行,所以設計時只要注意download的模式(ex:spi flash模式,BPI flash模式,串列模式....等).
* s* y `$ T) d) m
所以一般開發時,都只燒FPGA來驗證function,量產就只燒flash^__^
作者:
masonchung
時間:
2007-5-20 09:23 PM
假設 flash 之 memory mapping 在 0x200000
6 ]9 e5 P6 z0 O- @* W; {/ R
至於LM_flash_load.bit 請你找找 .brd 檔範例 有兩個以上SequenceLength的,用他的Step1 File
* ^+ ], Q; U @7 @6 j4 `
ltxc2v4000_102c_xc2v6000_via_build1.bit ==> 這個應該是
6 p/ ?& p- g) N% h5 I% Z2 D
7 {2 n' l4 b9 ], H6 F
[General]
. x( G) y' D1 f3 P
Name = Download to flash (Addrress 0x200000)
; `8 b/ M0 `2 s; W# P) g
Priority = 1
; I7 z, [7 d+ F1 U0 D6 v7 j
' c4 H9 V7 a( S! n7 D; L. B4 ^
[ScanChain]
/ p( I+ Z s/ Q3 L7 ?9 M
TAPs = 2
3 S( [% ^+ O+ J7 B: z
TAP0 = XC2V6000
0 q) ^! ~4 F3 H1 Y
TAP1 = XC9572XL
! Z4 I% h; l0 O
$ _: {* \3 ^( k" m( t/ d: [ U
[Program]
0 c8 \8 \6 R% e) g; s
SequenceLength =3
; ]* V2 O' p* o1 @" }
Step1Method = Virtex2
/ }& |) ]" |; Q) J7 ^5 C
Step1TAP = 0
* T3 V0 H3 P$ ?( M
Step1File = ../LM_flash_load.bit
, ]5 l) Z2 t9 @. p9 m7 B4 L, B
Step2Method = IntelFlash
& m0 ?/ [# E$ t! k2 m
Step2TAP = 0x200000
4 z- h! T, f& ^7 F4 D
Step2File = register1.bit
! J8 H' a, \+ [1 p
Step3Method = IntelFlashVerify
0 X4 l8 s R' Y0 B6 v
Step3TAP = 0x200000
/ v+ H( T4 W1 ?& R. @6 u
Step3File = register1.bit
8 p" U' p" i) X) m" R
! n. h F# u! X. x# `( f
[
本帖最後由 masonchung 於 2007-5-20 09:28 PM 編輯
]
作者:
happpyend
時間:
2007-5-20 09:39 PM
ㄜ...不小心選到poor...不好意思...
, y) C8 b& P3 Y. Y
( ]% W* ^3 q) @4 r/ s6 y' F
你剛剛說的方法我在試試看....
作者:
happpyend
時間:
2007-5-20 09:48 PM
我試了還是不行ㄟ...錯誤訊息在附件中
" z: N5 S, @% F5 k0 l. c$ f) d2 ]
6 C& f2 y. d- X, p" N$ g
還是我哪邊還有沒設定之類的ㄇ?
作者:
masonchung
時間:
2007-5-20 09:57 PM
應該是 flash 的 Memory mapping 不對
, h4 d2 _ {) n* C+ j, T
+ E8 R0 W5 @1 t9 i
你這種設定是
# B! o' [; z+ J! S2 ~
FPGA ==> 0x000000
9 [; t1 m; }0 A D
Flash ==> 0x400000
! }* c# m* ^, @' y
0 l7 |# A- m/ w8 Q
Check 一下你的 Memory mapping 設定檔...
作者:
happpyend
時間:
2007-5-20 10:10 PM
SequenceLength = 3
0 L$ u% e" h) S7 J/ ]
Step1Method = Virtex2
- Y4 y& U0 p- R) e, L1 @
Step1TAP = 0
# j6 D" w: Q1 I9 I- S/ i
Step1File = ltxc2v4000_102cd_xc2v6000_via_build1.bit (清空flash的檔案?)
, K% F! Q- d) ^$ t& d9 N( O
Step2Method = INTELFLASH (??)
+ W1 Z2 G+ z/ w- Z; v
Step2TAP = 0x400000 (這邊是要填誰的位置阿?flash?fpga?)
' [3 B8 a: _: h h0 W1 y9 l
Step2File = register1.bit (怎麼跟下面的重複?燒兩次?)
, f7 @& M2 Y1 D" {$ \* t& T5 p
Step3Method = IntelFlashVerify (??)
$ K7 Q, p+ M+ W
Step3TAP = 0x400000 (這邊是要填誰的位置阿?flash?fpga?)
2 |7 j/ @: W5 t5 E: e: |
Step3File = register1.bit
. I% ^! u2 P$ p0 O/ G& s; A
$ ]# n$ v' n \1 f, O2 i0 l
這幾行是什麼意思阿?
7 h$ C: }5 T2 k P9 ^
6 s4 a( ], o& X2 p ~3 S4 L. I8 ~
我的附檔是memory mappingㄇ?
作者:
masonchung
時間:
2007-5-20 11:05 PM
[General]
6 R8 N9 `6 o! h4 k
Name = Download to flash (Addrress 0x400000)
8 Q; b" F: x$ {) q+ b: C9 M
Priority = 1
) W) p% T; K- o0 Z, ]
& m* H1 L( x# T
[ScanChain]
* ]. y; w+ C) K/ K* o
TAPs = 2
) V8 W. y- U0 H2 T7 V! i. p, F
TAP0 = XC2V6000
. j, y9 ]. E4 y
TAP1 = XC9572XL
3 b; t0 C2 B' j5 n
1 x# s6 D+ V0 l& p n# n
[Program]
( ^6 ?7 X3 _, q9 L
SequenceLength =3
$ t9 i+ u# g" Y4 A+ a/ d! `8 g
Step1Method = Virtex2
5 o) N8 O6 |* V0 r: I( S
Step1TAP = 0
x6 ]8 S; \. w/ a1 M1 d
Step1File = ../LM_flash_load.bit <==控制Flash開機後載入電路到FPGA (Logic Module)
0 W9 j6 M( V' Z5 f% x$ D! g, J/ y
Step2Method = IntelFlash <== 只是Flash廠牌代號
5 K: q9 R4 a8 a$ ?$ I8 k' k4 P
Step2TAP = 0x400000 <== Flash位置
# h" z% @( F, f8 s
Step2File = register1.bit
4 p; K* O2 ]7 G# n7 ?
Step3Method = IntelFlashVerify <== 檢查電路有無燒好用
, H# r! {7 Y. R) s/ t' I
Step3TAP = 0x400000 <== Flash位置
; T2 u1 T0 U6 a6 ]/ Q% N
Step3File = register1.bit
9 v3 J4 s0 G2 C$ z7 ~
+ b2 k+ \0 q. g; M
看來你要改S2成第二種設定 [1] OFF [2] ON
3 ]* [6 m* @6 H( `( C6 q% d
9 b9 C8 ?1 a, c! I0 L+ M
[
本帖最後由 masonchung 於 2007-5-20 11:12 PM 編輯
]
作者:
happpyend
時間:
2007-5-20 11:17 PM
標題:
回復 #12 masonchung 的帖子
一樣顯示
; U8 p# h0 U& w, M* m# _
error in board description file<step device/TAP>
% I4 g: u! m8 c1 }
+ [ y! w0 H7 E9 e7 @& O' J' O
.....難道是flash廠牌代號打錯??
! H( f+ A% t! Y+ R) S& x4 \
) U- e& j% v- o4 I6 |0 D3 \
還是燒錄flash的時候,有哪些特別要注意要設定或要條jumper的
作者:
masonchung
時間:
2007-5-20 11:59 PM
我記得有個Memory Mapping 的設定檔 和你的版子有關係
! \, k ^, G' R1 R0 u+ M Q8 {" k
但是一時想不起來啥名稱 好像是.arm 還是啥的...
作者:
happpyend
時間:
2007-5-21 12:21 AM
請看依下附檔
. o8 }- x, P4 v6 a- u5 g
, J, \* i' O( m, _
為什麼我按照LAB的流程
/ C$ g, c+ v% ?& f1 L) j
: z, Q# u" i$ `$ [. C; o
他把brd檔分開寫成兩組
' C( f9 f/ Y, J; ?) J- f6 u$ A
0 [+ ~4 Z& M/ I2 }/ W; l5 k
一組寫入FPGA
& C( h: T5 H+ g. R& C, {3 W8 _/ V+ l4 y
/ ?' k% T5 v0 F8 P" h: v
一組寫入FLASH
9 c& P( [5 C$ @- C8 r& D
" S( Y' I- v0 l' e7 Y$ p
然後先燒入一再燒錄二,而且他也沒有定義address的位子ㄟ
6 w" g7 A+ C4 A& Z; z' I; M
$ o7 `; ?9 D% l5 \: ]8 j$ l% {* U
請問這樣真的也可以嗎?布過我想應該可以八,他都已經編成講義了(2003年的很久之前的)
作者:
happpyend
時間:
2007-5-21 01:24 AM
請問附檔說的是什麼意思
- g% h7 ~' [; M0 q9 \' h \5 x
& s4 P# @0 s- T9 o
就是要燒錄到fpga一定要設定成jtag嗎?那cclk又是幹麻的?為什麼為起始設定
% B# L! g1 e- D6 e' p
3 s: F* u3 V R# X9 N+ b; Q& p6 b
用cclk就沒辦法燒錄了嗎?
作者:
happpyend
時間:
2007-5-21 01:30 AM
剛剛連結錯檔案...這個才是對的..
% T. J/ l5 s1 n3 f, G @( h
9 s5 B) q6 u- O" p# g
希望大大可以給我解答
- { c e8 y0 D' `! O
4 C( c, f- A% g9 q8 q; E- o
感謝賜教
作者:
tommywgt
時間:
2007-5-22 10:29 AM
你說講義的日期是2003年...
) K3 B( {' ], h3 f8 Q
編著者是誰啊???能說一下嗎?
作者:
happpyend
時間:
2007-5-22 12:26 PM
標題:
回復 #18 tommywgt 的帖子
http://access.ee.ntu.edu.tw/course/SOC_LAB/index.html
0 V7 \& B! w1 {& A/ I7 l" G
& Y6 i2 j+ b; K
這邊有連結~~你就可以看的到了
作者:
tommywgt
時間:
2007-5-22 02:18 PM
......
+ n1 ~: a0 J# X8 q& r
哈...哈...我笑了
2 g3 Z; Q2 D! z8 R
主啊, 請原諒我
作者:
tommywgt
時間:
2007-5-22 02:39 PM
我只能說這份教材有經過好多人repeat過, 按步就班的做都可以完成的
, { b9 @9 B: Z# K7 m b5 ~' @
至於tool的版本我就不敢打包票了....以上...Orz
作者:
happpyend
時間:
2007-5-22 06:51 PM
?????????
* b& _+ _: {: B& F
( X2 i/ w* D; x: |1 m3 F: K
笑什麼?
0 z: k; l( S5 r9 L) j s, Y
/ n* J3 e; l& B' k$ {4 b" X* e
我答非所問了嗎??
作者:
masonchung
時間:
2007-5-22 07:05 PM
你找到原創了,就是醬子~~~
作者:
tommywgt
時間:
2007-5-22 10:01 PM
噓...噓...不承認...哈
作者:
sieg70
時間:
2007-5-23 01:44 PM
標題:
回復 #17 happpyend 的帖子
A0 _, e0 u5 S" H; ~3 _0 {
(1)
: h. p' P0 |, C% @% p3 e% r
ERROR: Error in board description file (step device/TAP)
& U1 m8 | N' h
/ F5 K+ R* J" }- c
指你的board file .brd寫錯了, 無法對映到硬體實際JTAG scan chain架構
9 {% v$ K* `) e2 l; D
; o. d+ }6 ]6 b) \
(2)
1 }" C9 i9 w0 Z0 V
利用procards utility燒image到JATG與memory mapping無關
) }5 U# H3 a- F( \6 F
2 A# c0 x5 c( Z6 `# M1 F
(3)
8 k& E% W2 p3 k# X# ?0 O1 A0 M* l" u5 V
4.3 Configuring the FPGA from flash的資料是利用switch S2來決定兩件事
* n1 I, o# R) |7 m' W; n
a. boot時FPGA從PROM中load那一塊image
* F/ L7 {3 \5 t, `! G6 q7 X* k
b. FPGA在memory中的address配置
- {9 t& Q3 c4 U' y. o4 Y
$ ^* a9 r. v9 N( ?( M
(4)
1 J) _0 ^7 x' s8 ?
Step3TAP = 後面填的是這個scan chain中, 現在所看的device所對應的TAP controller編號
# Q. X5 @* y- J( R
Procards utility的pdf多kk就懂了
1 F, B: C O7 U; w% l
; g" c x/ d: q- Q! h! e2 z
(5) FPGA start clock設定是利用ISE在implement出FPGA image的一項設定, default是cclk
/ U4 h; ?* F$ K9 Q# E* u8 U! P, k: ]6 H
當你產生的image是要直接寫進FPGA中的configuration sram中的話, 設為JTAG, 因為現在是透過multi-ice/realview-ice的JTAG clock作為寫入動作的clock參考.
4 E/ {; P! L0 \$ `$ f
當你產生的image是先寫到PROM中, 在開機時才由FPGA去PROM中抓時, 設為CCLK, 因為這時從PROM
- c, |! _* O8 t8 M" y% @' O
中抓, 不論是Master serial或Slave serial機制, 都會用系統中的clock作寫入的依據
1 W2 N& C* n1 E! N
4 z. S, ]5 Z3 m
(6)
0 `( L: e v. T
你的癥結點在於brd file寫錯了, 另外, 有些基本功看來欠缺的有點嚴重, 建議你基本功先練好.
6 W; w0 W* P$ g4 u- K8 j
# X" w+ P' a5 H9 j
board file的寫法去找有到cic上過MP-SoC Prototyping and Verification的同學借講義看, 裡面有寫到
歡迎光臨 Chip123 科技應用創新平台 (http://chip123.com/)
Powered by Discuz! X3.2