首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

在verilog程序中仿真正确的模块,最后下到芯片上却完全不是那么回事,向大家请教一

在verilog程序中仿真正确的模块,最后下到芯片上却完全不是那么回事,向大家请教一

想在FPGA的右半边(module形式)实现个四位计数器,学习用,verilog程序绝对没错(这个程序太简单了,不可能错的),接的是内部时钟。可是下到芯片里后根本没有实现计数的功能,第0位和第1位是同样变化的,前两位也不太对。请用这大概是哪方面的错误?

另外,在用bitgen命令时,有错误:

ERRORhysDesignRules:9 - The network <modularCounter/GLOBAL_LOGIC1> is only partially routed.

请大家帮忙给看看是哪里出问题了?谢谢!

FPGA配置时不是有主动,从动模式吗?一个是外界给它时钟,一个它给外界供时钟,如果它没有的话,它怎么给外界供时钟阿?

我是新人,是不是我理解有问题啊,还请教教我,多谢了!

至于主题,芯片内是有时钟的,我测出来了,可能是片子上接好了吧。

引出来看过了,是有时钟的,40mhz。

在verilog程序中核心的不就是下面吗:

    always @(posedge CLK)
          count_int <= count_int + 1;

可是结果第0,1位的结果是同步变化的,都是20mhz

第2,3位的结果也不太对。这就根本没有计数的功能吗!

大概是哪里有问题啊?

应该不是这个问题吧,我在最初时就全部复零了。

我不理解的是第0,1位为什么同步变化,且频率都为20mhz,应该第0位20mhz,第1位10mhz才对嘛,怎么布线也不应该出现这种情况的吗。

是不是和

ERRORhysDesignRules:9 - The network <modularCounter/GLOBAL_LOGIC1> is only partially routed.

这个错误有关呢?

我用的-d选项,不进行DRC检查,这时就可以生成bit文件了,估计可能是这的问题吧。

应该是全局驱动器没有用的原因,很可能缺少BUFG之类的时钟驱动器。

bitgen -d生成的BIT文件可能会不能正常工作或者不能完全正常工作。

主要是有些器件有一些比较特殊的潜规则,而这些规则大家不知道。

因此,大家可能会偶尔作出违反这些规则的设计。这些设计原理上没错,需要一些修改才能真正在FPGA中得到实现。

前两天我用V4FX的时候,也碰到bitgen DRC出错的情况。经修改后,DRC PASS,设计真正好用了。

问题解决了,是开发工具的问题,我在ISE9.1下就不行,在8.2下就完全OK了,可能是我用的片子比较早了(S3),新的开发工具不太适用吧。Xilinx还不如把产品分层次,分别出开发工具呢,向TI DSP一样,这样也好维护,指向性也强。
返回列表