我调用的是ddr2 ip核,编译出现的两个问题
时间:10-02
整理:3721RD
点击:
ERROR:ConstraintSystem:58 - Constraint [source/IF_V1_top_01.ucf(41)]:INST"s6_ddr2_test_top_02/s6_ddr2_interface_02/xc6slx45_2ffg484_ddr2core_mig39_01/
memc3_wrapper_inst/mcb_ui_top_inst/mcb_raw_wrapper_inst/gen_term_calib.mcb_so
ft_calibration_top_inst/mcb_soft_calibration_inst/DONE_SOFTANDHARD_CAL*" does
not match any design objects.
在该路径下,我仔细查找了,有这个信号,如果注释掉可以通过。如果不注释掉怎么能够通过?求解
ERROR:MapLib:30 - LOC constraint V2 on DDR2_DQ is invalid: No such site on
the device. To bypass this error set the environment variable
'XIL_MAP_LOCWARN'.
上面的问题是引脚问题,我是按照硬件电路的引脚分配的,结果过编译出错,但是如果用ddr2自动生成的ucf,把引脚名字改掉就可以通过编译,难道是ddr2自动生成的引脚配置不可以改变么?如果这样的话感觉及其不合理,希望能够有大神给我解答一下,谢谢。
memc3_wrapper_inst/mcb_ui_top_inst/mcb_raw_wrapper_inst/gen_term_calib.mcb_so
ft_calibration_top_inst/mcb_soft_calibration_inst/DONE_SOFTANDHARD_CAL*" does
not match any design objects.
在该路径下,我仔细查找了,有这个信号,如果注释掉可以通过。如果不注释掉怎么能够通过?求解
ERROR:MapLib:30 - LOC constraint V2 on DDR2_DQ is invalid: No such site on
the device. To bypass this error set the environment variable
'XIL_MAP_LOCWARN'.
上面的问题是引脚问题,我是按照硬件电路的引脚分配的,结果过编译出错,但是如果用ddr2自动生成的ucf,把引脚名字改掉就可以通过编译,难道是ddr2自动生成的引脚配置不可以改变么?如果这样的话感觉及其不合理,希望能够有大神给我解答一下,谢谢。
由于自己找到了原因,所以我自己回答,给遇到同样问题的一个准确的答复。
我的解决方法如下,
1、DONE_SOFTANDHARD_CAL这个信号我在代码内部将
(*IOB = " FALSE " *) output reg DONE_SOFTANDHARD_CAL,
改为
(* keep = "TRUE" *) output reg DONE_SOFTANDHARD_CAL,//
能够顺利通过translate,当然也可以直接在ucf里面注释掉,到底有什么用处我也不知道。
2、我查了好久,很多人回复说是器件的引脚封装不对,我很纳闷,硬件的ucf是主管给的,咋可能有错啊,所以此类的回答我都忽略了,但是休息了一上午,我再看看主管给的ucf,发现型号不对,我的ddr2 ip核是xc6slx9 兼容16 和 25 ,但是主管给的ucf里面的是45,这蛋疼了,我立马问主管,主管说,“我让你对照pdf看有没有问题,你自己说的没问题,具体对不对我也不知道”,我当时就很无语,对照pdf,全都错了,我重新更改引脚配置,最终进行到了下一步。
有两个双向口,编译之后说我提供的引脚是单端的!OK,我要继续解决下一问题了,如果有大神了解的话可帮助一下,引脚在电路板已经固定了,我要怎么该 这个两个信号的引脚分配 DDR2_UDQS_P; DDR2_UDQS_N;
具体是什么问题呢?详细点