不管是哪种配置模式,配置数据都是存储在 FPGA 中的 CMOS 锁存器中,每次掉电后数据都会丢失,上电之后重新配置。但是选择一个片外存储器如 SPI Flash 存储配置数据,并设置相应的配置模式,上电后可以自动配置 FPGA 。
Master Serial——最常用的 FPGA 配置模式
在主串模式下,由 FPGA 的 CCLK 管脚给 PROM 提供工作时钟,相应的 PROM 在 CCLK 的上升沿将数据。从 D0 管脚送到 FPGA 的 DIN 管脚。无论 PROM 芯片类型 ( 即使其支持并行配置 ),都只利用其串行配置功能。
Slave Serial——从串配置模式
在串行模式下,需要微处理器或微控制器等外部主机通过同步串行接口将配置数据串行写入 FPGA 芯片, 其模式选择信号 M[2:0]=3’b111。
DIN 输入管脚的串行配置数据需要在外部时钟CCLK 信号前有足够的建立时间。其中单片FPGA 芯片构成了完整的JTAG 链,仅用来测试芯片状态,以及支持 JTAG 在线调试模式,与从串配置模式没有关系。外部主机通过下拉 PROG_B启动配置并检测 INIT_B 电平,当 INIT_B 为高时,表明 FPGA 做好准备,开始接收数据。此时,主机开始提供 数据和时钟信号直到 FPGA 配置完毕且 DONE 管脚为高,或者 INIT_B 变低表明发生配置错误才停止。整个过程需要比配置文件大小更多的时钟周期,这是由于部分时钟用于时序建立,特别当 FPGA 被配置为等待 DCM锁存其时钟输入。
JTAG 配置模式
将模式配置管脚设置为 JTAG 模式,即 M[2:0]=3’b101时,FPGA 芯片上电后或者 PROG_B 管脚有低脉冲出现后,只能通过 JTAG 模式配置。JTAG 模式不需要额外的掉电非易失存储器,因此通过其配置的比特文件在 FPGA 断电后即丢失,每次上电后都需要重新配置。由于JTAG 模式已更改,配置效率高,是项目研发阶段必不可少的配置模式。
BPI 模式
该模式的时钟CCLK同样由FPGA提供,并行的数据比SPI模式的串行数据配置速度要快,但设计稍微复杂一点。
SelectMAP
SelectMAP 是早期的FPGA两类配置模式之一,相对于串行配置而言,与主串和从串模式相对应,有主并(Master SelectMAP)和从并(Slave SelectMAP)两种模式。对应Xilinx PlatformFlashPROM ,小容量的FPGA可以使用串行,大容量的FPGA一般为了加快速度,一般都是用并行。
从 SPARTEN-3E 开始,Xilinx 的 FPGA 增加了 SPI 和 BPI 接口第三方厂商的 FLash 两种模式。SelectMAP 模式FPGA没有地址线与 Flash 相连,Flash 内部使用 FPGA 提供的 CCLK 递增。而 BPI 模式下,FPGA 直接提供地址给 Flash。
参考链接
深耕在FPGA 扎根于视频领域
卓越于神经网络
本文分享自微信公众号 - 瓜大三哥(xiguazai_tortoise)。
如有侵权,请联系 [email protected] 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。