赛灵思
直播中

孙喆

7年用户 168经验值
私信 关注
[问答]

如何正确地为通用Spartan 6库中的100个引脚中的每个引脚选择驱动器模型?

大家好,我正在尝试模拟从Spartan6 100T FGG484 -3设备到Hyperlynx中的Micron MT41K256M16HA-125E的DDR3接口。
我遇到了许多问题,这些问题使我对模拟结果产生怀疑。首先,当我生成MIG核心时,我正在ISE 14.7中打开生成项目。
这合成正确;
但是当我尝试生成IBIS模型时,我收到以下警告:警告:后处理器 - 无法找到I / O端口mcb3_dram_ck_n(引脚K3)的IBIS模型D_SSTL15_OT50_LR_25。
该信号将在输出文件中列为无连接(NC)。无法找到所有差分存储器控制信号(时钟,上下数据选通)。
如果我打开生成的ibis文件,我可以看到这些引脚确实标记为“NC”。
当我在HyperLynx中通过.ref文件分配模型时,我得到以下错误:基于IBIS建模,以下控制器网络附加了不一致的差分引脚:时钟网:MEM1_CK_N ---引脚:U1.K3(非差分)IBIS
信号:mig_39_2.ibs [SPARTAN-6] mcb3_dram_ck_n引脚:U17.K7( - )IBIS信号:v80a.ibs [MT41J256M16HA] CK#时钟网络:MEM1_CK_P ---引脚:U1.K4(非差分)IBIS信号:mig_39_2
.ibs [SPARTAN-6] mcb3_dram_ck引脚:U17.J7(+)IBIS信号:v80a.ibs [MT41J256M16HA] CKData选通网络:MEM1_LDQS_N ---引脚:U1.N1(非差分)IBIS信号:mig_39_2.ibs [斯巴达]
-6] mcb3_dram_dqs_n引脚:U17.G3( - )IBIS信号:v80a.ibs [MT41J256M16HA] LDQS#数据选通网络:MEM1_LDQS_P ---引脚:U1.N3(非差分)IBIS信号:mig_39_2.ibs [SPARTAN-6
] mcb3_dram_dqs引脚:U17.F3(+)IBIS信号:v80a.ibs [MT41J256M16HA] LDQSData选通网络:MEM1_UDQS_N ---引脚:U1.V1(非差分)IBIS信号:mig_39_2.ibs [SPARTAN-6] mcb3_dram_udqs_n引脚:
U17.B7( - )IBIS信号:
v80a.ibs [MT41J256M16HA] UDQS #Data Strobe Net:MEM1_UDQS_P ---引脚:U1.V2(非差分)IBIS信号:mig_39_2.ibs [SPARTAN-6] mcb3_dram_udqs引脚:U17.C7(+)IBIS信号:v80a。
ibs [MT41J256M16HA] UDQSIf我忽略了这些,继续,然后在DDR向导中分配模型时,我收到以下错误:
继续超出此范围会产生以下错误:
R驱动器目录中的“spartan6.ibs”是通用的Spartan 6 ibis型号。
mig_39_2.ibs是Xilinx项目从MIG工具生成的模型。
如果我为组件选择通用的Spartan 6 Ibis型号,我不会收到此错误;
但后来我没有看到模拟器如何正确地为通用Spartan 6库中的100个引脚中的每个引脚选择驱动器模型。
所以我认为它是根据mig_39_2 ibis模型中的选择从通用Spartan 6库中获取ibis模型。
如果我继续选择MIG内核,那么在确定ODT模型时,我无法为控制器选择任何DQS信号。
这可能是因为没有为控制器分配差分信号的IBIS模型(根据第一个错误)。
我尝试手动修改从ISE项目生成的mig ibis文件,将差分信号从“NC”更改为“D_SSTL15_OT50_LR_25N”。
然而,这给出了与以前相同的错误。
在此模拟环境中设置模型的任何帮助将不胜感激。
干杯!皮特

回帖(6)

潘晶燕

2019-8-9 09:20:12
我相信UNTUNED,
不是DIFF_SSTL15_II的有效属性。
此外,IO标准适用于差分标准中的P引脚(N引脚暗示为引脚对的一部分)。
但是,UCF需要声明P和N信号(引脚)名称引脚号。
仔细阅读您的日志文件。
我相信你会明白为什么这不起作用。
你没有错误(因为它确实达到了比特流),但是警告和严重警告通常允许比特流,因为ISE对于完成并不挑剔。
用于较新设备的Vivado更严格,除非您将属性设置为特别允许,否则不会进行假设。
不幸的是,Vivado仅适用于7系列和更新的设备。
Austin Lesea主要工程师Xilinx San Jose
在原帖中查看解决方案
举报

潘晶燕

2019-8-9 09:35:29
合成正确,
是战斗的一小部分。
您必须在尝试获取IBIS模型之前实施它。
显然,您的设置中存在错误,因为如果IO被错误地约束(它看起来是这样),它将无法实现。
因此,为了获得有效的特定于引脚的IBIS模型,让设计能够合成,放置,路由并生成至少一次比特流。
Austin Lesea主要工程师Xilinx San Jose
举报

张雯雯

2019-8-9 09:48:36
嗨奥斯汀,
感谢您的快速回复。
当我说“合成”时,这是我的键盘。
我已经构建了完整的设计到bitfile生成。
我可以将这个文件编程和调试到FPGA中。我要求我的同事在我们的完整设计(包含coregen mig设计)上运行命令行bitgen命令,并且在尝试生成时,他在Linux环境中遇到类似错误
宜必思模型。有问题的错误差分信号在UCF中分配如下:NET“mcb3_dram_dqs”IOSTANDARD = DIFF_SSTL15_II |
OUT_TERM = UNTUNED_50; NET“mcb3_dram_udqs”IOSTANDARD = DIFF_SSTL15_II |
OUT_TERM = UNTUNED_50; NET“mcb3_dram_dqs_n”IOSTANDARD = DIFF_SSTL15_II |
OUT_TERM = UNTUNED_50; NET“mcb3_dram_udqs_n”IOSTANDARD = DIFF_SSTL15_II |
OUT_TERM = UNTUNED_50; NET“mcb3_dram_ck”IOSTANDARD = DIFF_SSTL15_II |
OUT_TERM = UNTUNED_50; NET“mcb3_dram_ck_n”IOSTANDARD = DIFF_SSTL15_II |
OUT_TERM = UNTUN***的任何其他建议。欢呼!
皮特。
举报

潘晶燕

2019-8-9 10:01:49
我相信UNTUNED,
不是DIFF_SSTL15_II的有效属性。
此外,IO标准适用于差分标准中的P引脚(N引脚暗示为引脚对的一部分)。
但是,UCF需要声明P和N信号(引脚)名称引脚号。
仔细阅读您的日志文件。
我相信你会明白为什么这不起作用。
你没有错误(因为它确实达到了比特流),但是警告和严重警告通常允许比特流,因为ISE对于完成并不挑剔。
用于较新设备的Vivado更严格,除非您将属性设置为特别允许,否则不会进行假设。
不幸的是,Vivado仅适用于7系列和更新的设备。
Austin Lesea主要工程师Xilinx San Jose
举报

更多回帖

发帖
×
20
完善资料,
赚取积分