FPGA BPI加载时间计算

FPGA BPI加载时间计算

1、并行NOR FLASH是存储和传输比特流的常用选项,因为x16的数据总线可提供比SPI FLASH更快的配置,此外,NOR FLASH还可提供更大的容量。
BPI配置接口
FPGA BPI加载时间计算_第1张图片
CCLK:该引脚是除JTAG之外的所有配置模式的初始配置时钟源。同步读取模式下CCLK必须与BPI FLASH相连接以便顺序输出数据;异步读取模式下CCLK悬空,不直接为BPI FLASH提供时钟,由FPGA内部使用来生成地址和采样数据。
EMCCLK:该引脚为外部主配置时钟输入。此输入提供外部时钟,FPGA配置控制器在从比特流标头读取EMCCLK命令后切换使用此时钟而不是CCLK(内部配置时钟)。EMCCLK可实现更可预测的配置时间,因为时钟容差由所选的外部振荡器决定。(同SPI FLASH相同)
RS[1:0]:预留引脚。用于多bit程序,以在多版本之间进行选择并提供回退功能。当检测到配置错误时,RS [1:0]被主动为低以加载回退bit文件。
2、BPI FLASH配置实例
下图中EMCCLK外部输入80MHz时钟,RS引脚为预留引脚,如不需要修订程序则悬空处理。
FPGA BPI加载时间计算_第2张图片
3、BPI FLASH配置时序
在BPI配置模式下,FPGA始终以异步读取模式从NOR flash开始读取。 即从给定的起始地址递增地址总线,NOR flash发送回比特流数据。
当在比特流头中读取同步命令时,FPGA配置控制器对连接的BPI FLASH的读配置寄存器(RCR)执行异步写操作以设置同步模式和延迟位。
在成功写入RCR之后,FPGA控制器然后启动同步读取并读取比特流数据内容。配置完成后,保持同步读取模式。
4、配置时钟最大频率计算
要计算传输的最大频率需要考虑到BPI FLASH输出时钟规范(BPI datasheet)及电路的延迟。公式1如下:
最大频率=﷩/(Tchqv+Tbpiddc+Tbd) 公式1
Tchqv(Flash clock to out):BPI FLASH手册中有明确说明该时钟的输出数值。如PC28F00AP30TF,其Tchqv为17ns,如下图:
在这里插入图片描述
Tbpiddc(FPGA data setup):FPGA手册中有明确说明,FPGA的数据配置时间。如XC7K325T,其Tbpiddc为4ns,如下图:
在这里插入图片描述
Tbd(Board delay):经验值每英寸165ps。
假设Tbd为0.2ns,则最大频率 = 1/((17+4+0.2)ns) = 47MHz,最大频率为47MHz,实际选择需要考虑到CCLK的容错按照±50%,CCLK1.5应小于47MHz。
5、同步及异步读取模式下的配置时间
配置时间=bit文件大小/(最大频率
数位宽据) 公式2
简单来说,将CCLK引脚接至FPGA并使用该时钟进行数据读取时为异步读取模式,其CCLK采用典型值6MHz,对于大小为162,187,488 Bits的bit文件来说,其配置时间则为:162,187,488Bit/(6M16) = 1.689s
使用外部EMCCLK时钟为同步读取模式,若外部使用40MHz的时钟,则配置时间为(使用EMCCLK时钟时则不需要考虑时钟的容错):162,187,488Bit/(40M
16) = 253ms
6、软件配置
在ConfigRate选项中可配置速率。
FPGA BPI加载时间计算_第3张图片

你可能感兴趣的:(FPGA)