问题描述
在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数据表,可从以下位置获得:
没有回复内容