新聞中心

EEPW首頁(yè) > EDA/PCB > 設(shè)計(jì)應(yīng)用 > 可在線升級(jí)的FPGA并行配置方法的實(shí)現(xiàn)

可在線升級(jí)的FPGA并行配置方法的實(shí)現(xiàn)

作者: 時(shí)間:2009-08-10 來(lái)源:網(wǎng)絡(luò) 收藏

2.2 SST89V564RD微處理器片內(nèi) Flash應(yīng)用劃分
SST89V564RD微處理器片內(nèi) Flash兩塊( 64K+8K)中, Block1分成 64個(gè)扇區(qū),每個(gè)扇區(qū)包括 128個(gè)字節(jié),總共 8K字節(jié);Block0分成 512個(gè)扇區(qū),每個(gè)扇區(qū)包括 128個(gè)字節(jié),總共 64K字節(jié)[2]。
微處理器兩塊 Flash地址應(yīng)用劃分為: Block0中,低地址段 0x0000~0x1FFF存放對(duì) Block1進(jìn)行擦寫的 IAP程序,高地址段 0x2000~0xFFFF存放 配置數(shù)據(jù)。 Block1的所有空間用來(lái)存放上電啟動(dòng)時(shí)對(duì) 進(jìn)行配置以及配置完后的 IAP操作程序。微處理器默認(rèn)下從 Block1啟動(dòng)。當(dāng)程序運(yùn)行在 IAP命令狀態(tài)時(shí),可以通過(guò)設(shè)置特功能寄存器 SFCF使程序運(yùn)行在 Block0或 Block1,來(lái)對(duì)另一 Flash塊進(jìn)行擦寫或升級(jí)。
由于 Block0和 Block1的低 8K字節(jié)的地址相同,因此在編程應(yīng)用程序到 Flash中時(shí),編程器將 Block1的地址定義在 0x10000~0x11FFF地址段,在編譯程序時(shí)需要將 Block1的程序定位在 0x10000~0x11FFF之間才能正確燒寫。
3.軟件設(shè)計(jì)
微處理器狀態(tài)流程如圖 3所示,在上電啟動(dòng)時(shí),微處理器從 Block1啟動(dòng),讀取 Block1中 0x2000開始的配置數(shù)據(jù),完成對(duì) 的配置。配置完成以后,微處理器處于 IAP狀態(tài),既可以通過(guò)串口 IAP指令來(lái)對(duì) Block0高地址段的 FPGA配置數(shù)據(jù)進(jìn)行擦寫或升級(jí),也可以通過(guò)串口 IAP指令切換微處理器跳到 Block0中低地址段運(yùn)行,來(lái)對(duì) Block1中的程序進(jìn)行擦寫或升級(jí)。
由于 Block0中低地址段存放的只是對(duì) Block1進(jìn)行擦寫的 IAP程序,因此無(wú)需擦寫或升級(jí)該部分程序。升級(jí)只限于當(dāng)更改 FPGA邏輯功能時(shí)升級(jí) Block0高地址段的配置數(shù)據(jù),或者更改了 FPGA芯片時(shí)更改 Block1中的配置數(shù)據(jù)參數(shù)以及 Block0中高地址段的配置數(shù)據(jù)。當(dāng)程序運(yùn)行在 Block0中,要切換到 Block1運(yùn)行重新配置 FPGA時(shí),將產(chǎn)生復(fù)位信號(hào),復(fù)位微處理器和 FPGA使微處理器重新對(duì) FPGA進(jìn)行配置。



評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉