新闻中心

EEPW首页>EDA/PCB>设计应用> 可在线升级的FPGA并行配置方法的实现

可在线升级的FPGA并行配置方法的实现

作者: 时间:2009-08-10 来源:网络 收藏

硬件电路的设计只提供了接口工作的内核和基础,只有在软件的控制下,接口才能发挥作用,硬件电路与软件程序是紧密相关的 [4]。本设计中采用 Altera公司的 EPF10K10ATC144-3,含有 576个逻辑单元和 6144个RAM位,其配置数据大小为 15000Bytes,微处理器给EPF10K10ATC144-3的配置程序如下:

本文引用地址://m.amcfsurvey.com/article/191963.htm

unsigned char FpgaConfig(void)
{
unsigned int iConfigDataByteCount;
unsigned char code * pConfigDataAddress;
pConfigDataAddress = 0x2000; //配置数据的起始地址
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 配置数据为0x3A98(15000)字节,升级成相同封装和引脚的
//EPF10K30ATC144-3 时,只需将0x3A98 改成0xC63E(50750)即可
{
CFG_CS_ = 1;

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

在不更改硬件板的条件下,若更改 FPGA芯片升级系统,升级成含有 1728个逻辑单元和 12288个 RAM位的 EPF10K30ATC144-3芯片时,由于与 EPF10K10ATC144-3具有相同的封装和引脚排列[3],因此硬件上可以直接更换 FPGA芯片来升级,而软件上只需将 Block1程序中对 FPGA配置的数据大小参数 15000改成 50750(见上程序注释)。而升级芯片的配置数据,则直接通过串口 IAP将配置数据写入 Block0高地址段即可。因此,能非常方便的在线完成 FPGA内部逻辑甚至更换 FPGA芯片时的系统升级。
4.结论
本文给出了基于 SST89V564RD处理器的 FPGA被动异步配置的软硬件实现,该方法充分利用了 SST89V564RD的 IAP技术以及分块大容量的 Flash存储技术,能快速、方便、灵活地对对 FPGA的内部逻辑功能进行,还可以完成在升级相同封装和引脚的 FPGA芯片时,进行整个系统的。本方法也适合于其他类似的微处理器。


上一页 1 2 3 下一页

评论


相关推荐

技术专区

关闭