Spartan-3配置 – 在SelectMAP配置模式下,什么是ABORT?是什么导致它发生?-Altera-Intel社区-FPGA CPLD-ChipDebug

Spartan-3配置 – 在SelectMAP配置模式下,什么是ABORT?是什么导致它发生?

问题描述

在SelectMAP配置模式下,什么是ABORT?是什么导致它发生?

解决/修复方法

ABORT是SelectMAP配置或回读序列的中断,当WRITE_B的状态在CS_B被断言时发生变化时发生。在配置ABORT期间,Spartan-3器件在接下来的四个CCLK周期内将一个32位状态字驱动到D [0:7]引脚。 ABORT序列完成后,您可以重新同步配置逻辑并恢复配置。

ABORT序列问题描述

在配置期间发出ABORT信号如下:

1.执行写入寄存器的部分配置。在256位下载之后,至少发生了一次写操作。

2.在CS_B仍然置位的情况下将/ WRITE引脚拉高(选择器件)。

注意:当SelectMAP WRITE信号有效(低电平)时,FPGA配置数据引脚为输入。当SelectMAP WRITE信号无效(高电平)时,FPGA配置引脚为输出。如果CS_B信号无效(高电平),则配置数据引脚进入3态状态。

3.如果CS_B保持置位(低电平),则BUSY变为高电平。如果RDWR_B保持设置为读控制(逻辑高电平),FPGA会将状态字驱动到数据引脚。

4.当CS信号被置低时,ABORT结束。

在回读期间发出ABORT信号如下:

1.执行写入寄存器的部分回读。

2.在CS_B仍处于置位状态时(选择器件),将/ WRITE引脚拉低。

注意:当SelectMAP WRITE信号有效(低电平)时,FPGA配置数据引脚为输入。当SelectMAP WRITE信号无效(高电平)时,FPGA配置引脚为输出。如果CS_B信号无效(高电平),则配置数据引脚进入3态状态。

3.如果CS_B保持置位(低电平),则BUSY变为高电平。

4.当CS信号被置低时,ABORT结束。

回读期间发生的ABORT后面没有状态字,因为RDWR_B信号设置为写控制(逻辑低)。

ABORT状态字

在配置ABORT序列期间,器件将状态字驱动到D [0:7]引脚。该状态字的关键如下:

D7:/ cfgerr(发生CRC错误)

D6:dalign(接口逻辑已收到同步字)

D5:rip(回读正在进行中)

D4:/ in_abort(ABORT正在进行中)

D3-D0:1111

ABORT序列持续四个CCLK周期。在这些周期中,状态字会更改以反映数据对齐和ABORT状态。典型的顺序如下:

11011111 => DALIGN = 1,IN_ABORT_B = 1

11001111 => DALIGN = 1,IN_ABORT_B = 0

10001111 => DALIGN = 0,IN_ABORT_B = 0

10011111 => DALIGN = 0,IN_ABORT_B = 1

在最后一个周期之后,可以重新加载同步字以建立数据对齐。

恢复配置

ABORT完成后(通过取消断言CS),必须重新同步器件。重新同步后,您可以通过发送ABORT发生时正在进行的最后一个配置数据包来恢复配置。或者,您可以从头重新开始配置。

有关ABORT和Spartan-3配置的更多信息,请参阅 Xilinx XAPP452 ):“Spartan-3高级配置架构”或Spartan-3数据表,可从以下位置获得:

http://www.xilinx.com/xlnx/xweb/xil_publications_display.jsp?category=/Data+Sheets/FPGA+Device+Families&iLanguageID=1

请登录后发表评论

    没有回复内容