Xilinx FPGA的上电配置过程-7系列和zynq对比

一、7系列FPGA的启动模式

以nexys开发板为例,其他系列的fpga上电过程基本相同。

分为4种模式:

JTAG下载

FPGA作为从设备,接受外部设备(如PC、上位机等)的JTAG写入bit流,完成内部ram的配置。

这种模式的典型场景就是使用PC通过vivado进行烧写bit,烧写完毕即完成了FPGA内ram的配置,掉电丢失,需要重新烧写。

SPI闪存设备启动

FPGA作为主设备,上电后主动通过QSPI对板上flash芯片读取bin,完成内部ram的配置。

这样自动完成了上电过程,对用户是无感的,所以达到了掉电不丢失的效果。

这种模式的典型场景是使用PC通过vivado进行烧写bin,需要在烧写时选的flash芯片型号,烧写较慢,掉电不丢失。

micro SD卡启动

FPGA作为主设备,上电后主动通过SDIO对板上SD卡的发起读取bit,完成内部ram的配置。

这种方式,掉电不丢失。

U盘启动

FPGA作为主设备,上电后主动通过USB对U盘发起读取bit,完成内部ram的配置。

这种方式,掉电不丢失。

 

二、zynq系列FPGA的启动模式

 

zynq有两种启动模式:

JTAG启动

FPGA作为从设备,接受外部设备(如PC、上位机等)的JTAG写入bit流,完成内部ram的配置。

与7系列FPGA的烧写过程一致,掉电丢失。

arm核发起的bootrom启动

Zynq会先启动arm核,通过内部的rom执行启动模式判断,然后选择从SPI FLASH、SD和JTAG这几个设备中启动。

过程如下:

传统的SRAM型FPGA都是通过JTAG接口、外置非易失性存储器(PROM、FLASH)或者外部处理器一次性将程序下载到FPGA中配置。而Zynq芯片则不同,其内部集成了处理器硬核和可编程逻辑,所以它的配置启动是分阶段的。

  • Stage 0:bootROM过程,Zynq芯片PS部分有片上ROM和RAM,在芯片上电或者复位后,其中一个处理器会执行片上ROM的代码进行初始化,判断启动设备(boot device),将启动设备上的FSBL(first boot loader)代码拷贝到片上RAM内。
  • Stage 1:启动设备包括SPI FLASH、SD和JTAG,FSBL代码是用户自己定制的,拷贝到片上RAM后执行。包括初始化PS部分配置、配置PL部分逻辑、加载和执行SSBL(second boot loader)或应用程序。
  • Stage 2:上一阶段后硬件已经配置完成。这一阶段是可选的,完成Linux系统启动过程(U-BOOT)

通过Zynq芯片的启动过程可以看到上电或者复位后片内处理器首先启动,然后根据MODE引脚判断启动方式,Zedboard的启动可以通过Quad-SPI FLASH、SD卡或者JTAG接口,如下表:

管脚

MIO6

MIO5MIO4MIO3MIO2
跳线JP11JP10JP9JP8JP7
JTAG Mode
Cascade JTAG    0
Independent JTAG    1
Boot Device
JTAG 000 
Quad-SPI 100 
SD card 110 

PLL Mode

PLL used0    
PLL bypass1    

JTAG启动

  • 上电后,片上ROM程序执行,初始化后判断从SPI FLASH启动。
  • 等待JTAG加载比特流(bitstream)到片上RAM执行

QSPI启动

  • 上电后,片上ROM程序执行,初始化后判断从SPI FLASH启动。
  • 从SPI FLASH拷贝FSBL到片上RAM执行
  • FSBL执行,处理器从SPI FLASH读取比特流(bitstream)配置Zynq的PL部分
  • PL配置完成后执行,点亮LED

SD卡启动

  • 上电后,片上ROM程序执行,初始化后判断从SD卡启动。
  • 从SD卡拷贝FSBL到片上RAM执行,FSBL配置FPGA,蓝色LED(LD12)变亮说明配置完成。
  • 从SD读取SSBL,开始Uboot过程(启动Linux),启动过程中VGA输出了一个Demo演示图像。
  • 串口监视程序会显示Linux启动过程(需要上电前打开putty窗口),启动完成后,板上OLED会显示一个Digilent demo图像。

 

 

 

  • 3
    点赞
  • 31
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值