新聞中心

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

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

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

硬件電路的設(shè)計(jì)只提供了接口工作的內(nèi)核和基礎(chǔ),只有在軟件的控制下,接口才能發(fā)揮作用,硬件電路與軟件程序是緊密相關(guān)的 [4]。本設(shè)計(jì)中 采用 Altera公司的 EPF10K10ATC144-3,含有 576個邏輯單元和 6144個RAM位,其配置數(shù)據(jù)大小為 15000Bytes,微處理器給EPF10K10ATC144-3的配置程序如下:

本文引用地址:http://butianyuan.cn/article/191963.htm

unsigned char FpgaConfig(void)
{
unsigned int iConfigDataByteCount;
unsigned char code * pConfigDataAddress;
pConfigDataAddress = 0x2000; // 配置數(shù)據(jù)的起始地址
nCONFIG = 0;
while((nSTATUS==1) || (CONFIG_DONE == 1));
nCONFIG = 1;
while((nSTATUS==0);
iConfigDataByteCount = 0;
CFG_CS_ = 0;
while(CONFIG_DONE == 0)
{
while(RDYnBUSY == 0);
_CFG_ADDRESS = *pConfigDataAddress;
pConfigDataAddress++;
iConfigDataByteCount++;
if ((iConfigDataByteCount > 0x3A98) || ( nSTATUS==0) )
//EPF10K10ATC144-3 配置數(shù)據(jù)為0x3A98(15000)字節(jié),升級成相同封裝和引腳的
//EPF10K30ATC144-3 時,只需將0x3A98 改成0xC63E(50750)即可
{
CFG_CS_ = 1;

return ERROR;
}
}
CFG_CS_ = 1;
return SUCCESS;
}

在不更改硬件板的條件下,若更改 FPGA芯片升級系統(tǒng),升級成含有 1728個邏輯單元和 12288個 RAM位的 EPF10K30ATC144-3芯片時,由于與 EPF10K10ATC144-3具有相同的封裝和引腳排列[3],因此硬件上可以直接更換 FPGA芯片來升級,而軟件上只需將 Block1程序中對 FPGA配置的數(shù)據(jù)大小參數(shù) 15000改成 50750(見上程序注釋)。而升級芯片的配置數(shù)據(jù),則直接通過串口 IAP將配置數(shù)據(jù)寫入 Block0高地址段即可。因此,能非常方便的在線完成 FPGA內(nèi)部邏輯甚至更換 FPGA芯片時的系統(tǒng)升級。
4.結(jié)論
本文給出了基于 SST89V564RD處理器的 FPGA被動異步配置的軟硬件實(shí)現(xiàn),該方法充分利用了 SST89V564RD的 IAP技術(shù)以及分塊大容量的 Flash存儲技術(shù),能快速、方便、靈活地對對 FPGA的內(nèi)部邏輯功能進(jìn)行,還可以完成在升級相同封裝和引腳的 FPGA芯片時,進(jìn)行整個系統(tǒng)的。本方法也適合于其他類似的微處理器。


上一頁 1 2 3 下一頁

關(guān)鍵詞: FPGA 在線升級 并行 配置方法

評論


相關(guān)推薦

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

關(guān)閉