MIG 7系列 - 使用Synplify与使用I / O低功耗特性的MIG设计时的行为不正确

描述

发现版本: MIG 7系列v1.6
版本已解决:请参阅(Xilinx答复45195)

当使用Synplify 2012.09综合启用了I / O低功耗特性的MIG 7系列FPGA DDR3设计时,Synplify会在顶层插入一个OBUF,然后在层次结构中插入一个IOBUFT_DCIEN。

这会创建冗余缓冲区。

当此网表在Vivado中实现时,会发生以下错误:

[放置30-49] I / O端口:ddr3_dqs_p [0]是输出但是IOS标准为DIFF_SSTL15_T_DCI,它只能支持双向端口

使用ISE工具实现时,NGDBuild会删除冗余OBUF,并且不会发生类似于Vivado流的错误:

信息:NgdBuild:649 - 删除冗余的'OBUF'符号'ddr3_dqs_p_obuf [3]'。与此符号关联的所有约束都将被忽略。

如果将Synplify设置为NOT插入I / O缓冲区,则不会发生此错误。

背景

发生此错误是因为Synplify当前缺少IOBUFDS_DCIEN原语的计时模型。

因此,原语变为黑盒,输出缓冲区被插入。

变通

要解决此问题,直到Synplify包含时序模型并阻止OBUF插入,可以在综合约束文件中应用与以下类似的属性:

define_attribute {p:ddr3_dqs_n [3:0]} {syn_insert_pad} {0} define_attribute {p:ddr3_dqs_p [3:0]} {syn_insert_pad} {0}


编辑 重设标签(回车键确认) 标为违禁 关闭 合并 删除

提问于 2018-07-31 13:09:54 +0800

这个帖子被标记为一个社区wiki

这个帖子是一个wiki(维基). 任何一个积分 >500的人都可以完善它