2022.2(和更低)版本的 Vivado:Versal XPIO IOLOGIC 可能将捕获时钟反相

问题描述:

Versal XPIO IOLOGIC 包含 IDDR、IFD、IDELAY、ODDR、OFD 和 ODELAY。

将多个时钟布线到 IOLOGIC 内时,需对 IOLOGIC 内的一个或多个时钟进行局部反相,Vivado 存在某个问题,可能导致对 IOLOGIC 内的时钟进行错误反相。  

局部反相是在实现步骤期间确定的,因此该问题与设计运行有关。如果实现工具不使用 IOLOGIC 时钟的局部反相,那么不会出现此问题。 

如果对 IOLOGIC 进行错误的局部反相编程,那么捕获数据的时钟沿与期望的时钟沿将相反,这可能导致数据时钟对齐错误。

此问题最早出现在 2021.1 版本中,但支持 Versal 系列的所有 Vivado 版本中都普遍存在。

解决方法:

您可运行此处提供的脚本来检查设计是否在 IOLOGIC 内存在错误的局部时钟反相编程。

source -notrace pre_bitream.tcl

如果发现问题,此脚本将自动纠正反相编程,并且应在生成器件镜像之前运行此脚本。 

cells driven by XPIOLOGIC_X82Y2/GCLK_SIG_1_ have incorrect inversion in PDI
inverting cloc k pins on cell rx_data_in
found cell of type IDDRE1
flip IS_C_INVERTED
flip IS_CB_INVERTED

如未找到任何问题,此脚本将无任何输出。 

注释:应先运行时序分析,然后再应用此脚本。应先应用此脚本,然后再运行 pdi / write_device_image。

如果在应用此脚本后重新运行时序,那么在时序中将显示时钟路径内存在一个额外的反相器。这将导致时序分析错误。 

最新文章

最新文章