2013.x / 2014.1  – 当寄存器位于子模块中且具有KEEP属性时,端口上的IOB属性不起作用-Xilinx-AMD社区-FPGA CPLD-ChipDebug

2013.x / 2014.1 – 当寄存器位于子模块中且具有KEEP属性时,端口上的IOB属性不起作用

描述

在我的设计中,我在子模块中有一个输出寄存器,其上附有KEEP属性。

输入/输出块(IOB)属性通过XDC设置为输出端口,但不受尊重。

发生以下严重警告,触发器(FF)以SLICE结束。

[放置30-722]终端’XX’将IOB约束设置为TRUE,但它未连接到FLOP元件或连接的FLOP元件无法进入I / O

根据综合设计,由于KEEP属性,在FF和OBUF之间插入虚拟LUT1,否则网络名称将丢失。

但是,opt_design能够删除LUT1,并且IOB属性成功传播到寄存器。

即使我手动将寄存器锁定到OLOGIC站点,也无法遵守LOC约束。

可以看到不同的严重警告。

[Vivado 12-2285]无法设置实例’xxx’的LOC属性,loc被阻止

为什么寄存器无法被放入IOB?

这是一个布局错误,已提交变更请求。

解决方法是将IOB应用于叶寄存器单元。

这允许寄存器被置于IOB中,尽管LUT1被插入到综合中。

请登录后发表评论

    没有回复内容