最近在学习system generator,根据手册的指引,从getting_started提供的7个lab开始,逐一运行,在生成bitstream时,如果使用V5或V6器件,都没有问题,可以正常生成,但如果选择K7系列的器件,就会发生如下错误:
这个问题,在论坛上,有朋友遇到过类似问题,只是不是在sysgen中遇到的,原因是在ucf文件中没有指定clk时钟信号的IO/电平标准,或是通过-g UnconstrainedPins:Allow,指定bitGen选项字段,忽略对IO约束的检查,但是这个字段在planahead中能找到,如下图所示,但在ISE中找不到这个选项,那该如何指定bitGen选项呢?
为什么在V5、V6的ucf中就不用指定I/O,就可以直接由sysgen生成呢bitstream呢?
在如下图所示,cloking选项中,clock pin location默认是空的,在v5/v6中生成的工程中,ucf中也没有指定clk等引脚,那么直接生成的bitstream能用么(现在手边没有开发板能试一下);
我在K7生成的工程文件中,在ucf中指定了一个IO做为时钟输出,发现还是不行,错误如下图所示,仔细看了看K7的IO信息,好像找不到像V5那样标识为全局时钟或局域时钟的引脚,找到KC705的原理图,发现连用户时钟都是用差分的方式实现的,那么:K7的时钟方式同前几代的时钟用法是有什么本质区别么???
最后,我按照KC705中采用差分时钟的方式,在sysgen中生成的ISE工程中,把单端时钟改为差分时钟,编译就顺利通过了,但具体能不能在板上跑还不知道。 那么,
是不是在K7或是7系列FPGA中,就不能采用sysgen直接生成bitstream了么? 另外,发现使用core generator直接生成的IP核工程,K7也会遇到类似引脚约束的问题。
整理一下: 1:在ISE中,在哪个菜单下能够指定bitGen选项呢? 2:为什么在V5、V6的ucf中就不用指定I/O,就可以直接由sysgen生成bitstream呢,而K7就一定要指定呢? 3:没有指定I/O生的bitstream能用么?是不是最终还是要在ISE工程中把I/O加进去呢? 4:K7或是7系列FPGA是不是与V5或V6比有什么较大的变化,比如,是不是时钟信号都要采用差分的了?或是哪种类型标识的是能用于单端时钟呢?
5:对于K7,是不是不能由sysgen或是coregen生成的工程直接使用呢,或是说该如何才能直接生成,而不用修改其它文件,就能做最基本的验证呢?
以上问题,也查了相关sysgen的手册,可以里面并没有单独对k7器件有说明,接触7系列时间短,不知道看哪个资料能解决上述问题,希望有了解或遇到相关问题的朋友给予指点,十分感谢。 |