在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 4039|回复: 9

[原创] FPGA项目记录2--MCU验证

[复制链接]
发表于 2015-8-6 22:36:31 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
前段时间,综合的时候,发现我们的项目有些时候很不稳定,有时候又运行的很好。我看了下我们的代码,时钟太多,都是门控时钟,时序很难满足,而且时序就算满足了,还是有些模块的寄存器写不进去,或者写进去的值不对。综合报告是bufg不够用,我用的synplify_pro综合的,然后ise来map,pr,最后,我把rtl改了改就都通过了。用synplify写约束,感觉约束不太管用,效果不大,我就算约束不要用全局时钟,可是synplify还是要用,特别是有些输出信号是时钟的引脚,我约束不要在这个引脚插入全局时钟,可综合的时候,还是要插入,有些引脚我约束了,确实不会插入,比如输入引脚,我约束不插入全局时钟,就不会插入,有些时钟频率低的时钟就可以不用插入全局时钟,不如jtag时钟,和iic都,都只有几百K,在这种时钟比较多的情况下,应该可以这样权衡吧。有高手知道怎么做么?求指导哈。主要是把能同时用的门控时钟就尽量用一个时钟,避免太多同样的时钟,做验证嘛,和ASIC肯定没法比了,还好改了就通过了。
请问大家遇到这样的问题,一般怎么弄呢?

synplify中关闭自动插入bufg.
.sdc文件:
define_global_attribute syn_noclockbuf 1


源代码:
module my_test(data, clk) ;
output data;
input clk / synthesis syn_noclockbuf=1 /;   前面的斜杠后面和后面的斜杠前面 要记得加*。我如果加了这个发不出来。
发表于 2015-8-6 22:41:32 | 显示全部楼层
看到门控时钟赶紧躲
 楼主| 发表于 2015-8-6 22:45:09 | 显示全部楼层
本帖最后由 ligang1986718 于 2015-8-6 22:47 编辑

回复 2# dongzhiqing


   往哪里躲啊?躲不了啦。所以,很苦逼啊,让我写约束,我已经无能为力了啊,只有该门控了。把几十个门控时钟用其中2个,稳定性还是提高了一点。我就算把全部的门控都改了,route也占85%左右(资源占30%左右)。
发表于 2015-8-7 10:41:22 | 显示全部楼层
什么叫寄存器无法写入,或者写进去不对,如果是Timing问题的话,根本谈不上功能测试。
先得约束好。gated clock难close timing,看看有没有可能改成clock enable。
发表于 2015-8-7 12:13:33 | 显示全部楼层
路过帮顶!
 楼主| 发表于 2015-8-11 22:07:59 | 显示全部楼层
回复 4# legendbb


   就是写寄存器后,读寄存器的值不是期望的值,修改策略,或者重新综合,或者稍微改改代码就正确了,这些好难搞啊。有时候交换下管脚,结果就不对,比如交换前,串口打印正确,交换后,串口没有打印信息,交换的两个管脚绝对和串口没有关系。      时钟门控没法改成使能信号,因为太多了,不是一两个信号这样。
    现在是综合基本没问题,模块都调通了,就是有点担心,要是什么时候改点东西,结果又不对,就恼火啊。
    大家遇到这种情况一般怎么弄的呢?会写约束吗?比如:FROM:TO;multi-cycle;offset IN/OUT。有点不知道从何下手去写这些约束,还有就是管脚使用的电平,不知道什么时候需要用不是默认的电平。
发表于 2015-8-12 13:25:00 | 显示全部楼层
就是时序问题。源时钟、分频时钟、门控时钟等几个时钟要求在同一个时钟域,FPGA的布线没有满足时序要求。

要么在约束上下功夫,要么门控时钟不用,简化时钟。FPGA和IC还是有不少区别,做ASIC验证时将就一下,有时很难实现ASIC一样的功能。
 楼主| 发表于 2015-8-25 23:09:17 | 显示全部楼层
回复 7# sme-ic

目前算是基本完成了。不过约束有点不好弄啊,请问,你们一般怎么写约束呢?能不能给点你们项目的约束呢,想看看和我做的有什么区别,谢谢了。
发表于 2015-8-27 09:14:25 | 显示全部楼层




   没什么通用的规则,用的命令也就create_clock/set_false_path等等,电路不一样约束就不一样,套用不了。
   不过我这边弄来弄去,也是不能达到ASIC的理想状态,有各种限制,简单的是把门控时钟全去掉,分频时钟也去掉,最后只留下几个不同时钟域的时钟,这样就简单了。
 楼主| 发表于 2015-8-31 17:01:26 | 显示全部楼层
回复 9# sme-ic
我也把时钟去了一些,留了8个门控时钟,不过,有时候(有一次)综合出来结果也不正确,不去时钟还反而正确, 或者改改策略综合就可以了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /2 下一条


小黑屋| 手机版| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-12-22 20:20 , Processed in 0.026020 second(s), 8 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表