4

我正在为可重新配置的CPU 开发重新配置控制器。我尝试实现的功能之一是正确处理 CRC 错误,并允许在重新配置期间中止。我正在使用 Virtex7 板,如ug702.pdf(第 98 页)中所述,在 CRC 错误后重新加载比特流不是问题,也可以执行 ABORT,如ug470_7Series_Config.pdf(第 48 页)所示。

乍一看,它似乎按照文档中的描述工作,即在出现 CRC 错误时,我的重新配置控制器会通知 CPU,CPU 会为我的控制器提供新的比特流。此外,CPU 可以向我的控制器发送一个中止命令,控制器会按照文档中的说明中止它。

然而,它似乎只是偶尔起作用,有时整个系统冻结,有时我得到无意义的异常,有时似乎没有采取无条件跳转。

我不确定我是否在某个地方搞砸了,或者这是意料之中的,因为部分比特流所在的容器与管道和总线互连。我记得在一些 xilinx pdf 中读到,直到遇到比特流末尾的 desynch 命令才最终配置比特流。这是否意味着在将完整的部分比特流加载到结构上之前,结构不会受到影响,没有任何错误,因此不会影响设计的其余部分。或者是部分加载的部分比特流实际配置到 fpga 上并且可以在其输出上触发各种奇怪的信号?

4

0 回答 0