在對狀態(tài)寄存器進(jìn)行寫操作之后,開始寫入配置內(nèi)容,V5系列SRAM型FPGA共需要配置1538320個(gè)32bit的配置字:
00000000 Data word 1
Data word n
Data word n + 1
00000000 Data wordlast (1538320)
在配置內(nèi)容寫入FPGA后,還需要對FAR、CRC、CMD等寄存器進(jìn)行寫操作,完成配置過程。
30000001 Type 1 write1 words to CRC
33FE37CA CRC value
30008001 Type 1 write1 words to CMD
0000000A GRESTORE
20000000 Type 1 NOOP
30008001 Type 1 write1 words to CMD
00000003 LFRM
3000C001 Type 1 write1 words to MASK
00000000 Data word 1
00000000 CTL0register value
20000000 Type 1 NOOP
…
20000000 Type 1 NOOP
30008001 Type 1 write1 words to CMD
00000005 START
20000000 Type 1 NOOP
30002001 Type 1 write1 words to FAR
003F8000 FAR value
3000C001 Type 1 write1 words to MASK
00400000 Data word 1
3000A001 Type 1 write1 words to Control Register 0
00400000 ControlRegister 0 value
30000001 Type 1 write1 words to CRC
0C90449E CRC value
30008001 Type 1 write1 words to CMD
0000000D DESYNCH
20000000 Type 1 NOOP
…
20000000 Type 1 NO OP
發(fā)送完以上配置結(jié)束,如果配置成功,DUT會(huì)將DONE信號(hào)拉高。
2.回讀比較
回讀的過程和配置過程類似,也是先對DUT的狀態(tài)寄存器進(jìn)行寫操作,然后通過RDWR_B信號(hào)拉高控制對DUT進(jìn)行bit流回讀,回讀時(shí)序如下:
Write
寫總線寬度和同步字
FFFFFFFF Dummy Word
000000BB Bus WidthSync Word
11220044 Bus WidthDetect
FFFFFFFF Dummy Word
AA995566 Sync Word
寫狀態(tài)寄存器
20000000 Type 1 NOOPWord 0
30008001 Type 1 Write1 Word to CMD
0000000B SHUTDOWNCommand
20000000 Type 1 NOOPWord 0
30008001 Type 1 Write1 Word to CMD
00000007 RCRC Command
20000000 Type 1 NOOPWord 0
20000000 Type 1 NOOPWord 0
20000000 Type 1 NOOPWord 0
20000000 Type 1 NOOPWord 0
20000000 Type 1 NOOPWord 0
20000000 Type 1 NOOPWord 0
30008001 Type 1 Write1 Word to CMD
00000004 RCFG Command
20000000 Type 1 NOOPWord 0
30002001 Type 1 Write1 Word to FAR
00000000 FAR Address= 00000000
28006000 Type 1 Read0 Words from FDRO
48177910 Type 2 Read 1,538,320Words from FDRO
20000000 Type 1 NOOPWord 0
20000000 .. Type 1 31more NOOPs Word 0
讀bit流
Read
00000000 Packet DataRead FDRO Word 0
...
00000000 Packet Data Read FDRO Word 1538319
寫狀態(tài)寄存器
Write
20000000 Type 1 NOOPWord 0
30008001 Type 1 Write1 Word to CMD
00000005 STARTCommand
20000000 Type 1 NOOPWord 0
30008001 Type 1 Write1 Word to CMD
00000007 RCRC Command
20000000 Type 1 NOOPWord 0
30008001 Type 1 Write1 Word to CMD
0000000D DESYNCHCommand
20000000 Type 1 NOOPWord 0
20000000 Type 1 NOOP Word 0
通過以上讀寫指令操作,可以完成對FPGAbit流的回讀。
在ISE中bit流生成時(shí)勾選以下三個(gè)選項(xiàng),將會(huì)生成rbd(回讀)文件和msd(掩碼)文件,
在ucf文件中添加如下約束,確保SELECTMAP32接口在配置完后仍然保持:
CONFIGCONFIG_MODE=S_SELECTMAP32+READBACK ;
回讀過程中,將回讀的32bit內(nèi)容依次與存儲(chǔ)在片外PROM中的rbd文件比較,注意其中msd文件中為1對應(yīng)的rbd中的bit位不需要比較。如果比較結(jié)果除不需要比較的bit位以外其他都一致,則比較結(jié)果正確,否則判斷發(fā)生故障?;刈x比較可以用來檢測FPGA的配置區(qū)域邏輯是否發(fā)生單粒子翻轉(zhuǎn)。
評(píng)論