ISE14.x的MIG做DDR3控制器
我用ISE14.x的MIG做DDR3控制器,MIG自动生成example_design和_design,我用example_design文件夹下的工程,在ISE下能综合、能实现、能生成.bit文件,现在我想把这个工程用于一个K7(K7 325t的一个芯片)的板子,就要改动example_design/par/example_top.ucf,但是我按照板子的原理图 改好了.ucf 后,再在ISE下生成.bit文件时,Map报错了,错误信息为:
ERRORack:1107 - Pack was unable to combine the symbols listed below into a
single IOB component because the site type selected is not compatible.
问题描述完毕。
请问怎么解决啊?急!
改约束改的不完全,不知道你是不是只改的引脚。ddr3的控制器也得修改时序约束和相关位置约束,重新生成一个吧,修改还不如重新生成来得快。
如果重新生成的话,ISE自动分配DDR3的引脚,最后还是要对照电路原理图修改引脚啊!
情况是这样的:
画电路原理图的人向我提供了一个.ucf文件(不妨称为A.ucf吧),其中有 引脚约束“NET…… LOC……” 和 区域约束“INST……LOC……”,
我在ISE自动生成的example_top.ucf里按照A.ucf修改了 引脚约束。example_top.ucf里关于区域约束的语句 有一些A.ucf里有,而有一些A.ucf里没有。example_top.ucf里的区域约束语句 ,如果A.ucf里有,就修改到与A.ucf里的一致;如果A.ucf里没有,就在example_top.ucf里将其注释掉或删去。
我记得ise的ip向导生成ddr3的ip核时,会让你选地址bank,数据bank,时钟bank,你先看看画原理图的人把地址引脚、数据引脚、时钟引脚分别给你放在了哪个bank里,生成的时候直接改进去。
该问题原因:
你是手动 gvim example.ucf文件,并自己手动填写的吧;DDR3的引脚是有专用的高速逻辑区域的,你要在
生成过程中添加约束的时候,选择下面的那个选项;然后自己填写相应引脚名称就可以了。这样你会发现和你自己手动打开再去写,文件内容是不一样的。
6楼说的对。
指定了DDR3的 BANK 就固定了DDR3的相关引脚。 PCB要连对了才行。
很有用,受教啦
看看 3q
xilinx mig规定,designer不能随意改动ucf和hdl中的某些parameter,如果需要改动,需在mig中修改,然后重新生成
至于管教分配,有一页有两个选项,一个选项是让你对一个个的管脚进行具体的分配,另一个是只指定data,address,cmd,control等信号对应的byte group,并不具体到每一个管脚的分配
学习学习...
很有用,tks
不能在生成后自己修改的,要是可以的话,干嘛让在生成的时候让你添加约束呢
不能在生成后自己修改的,要是可以的话,干嘛让在生成的时候让你添加约束呢
看看,学习!
看完帖子,收获很大啊
学习一下
挺好的 谢谢
