搜索
bottom↓
回复: 13

QUARTUS II时序分析问题...

[复制链接]

出0入0汤圆

发表于 2009-3-2 00:34:26 | 显示全部楼层 |阅读模式
用QUARTUS II编译时候,时序分析提示不满足需要的频率...

(原文件名:0.JPG)

下面是不符合的路径:
源寄存器

(原文件名:1.JPG)

目的寄存器

(原文件名:2.JPG)

问题是源寄存器和目的寄存器所在的模块都是调用ATLERA的双口RAM模块生成的,不是我自己所写的模块,那我要修改成满足系统所需要的频率,应该怎么做呢? 请大家指教...

阿莫论坛20周年了!感谢大家的支持与爱护!!

一只鸟敢站在脆弱的枝条上歇脚,它依仗的不是枝条不会断,而是自己有翅膀,会飞。

出0入0汤圆

 楼主| 发表于 2009-3-3 01:01:30 | 显示全部楼层
没人遇到过这个问题吗?  自己顶一下先...

出0入0汤圆

发表于 2009-3-3 01:32:24 | 显示全部楼层
不是很清楚了,你是不是在相关数据方面使用了派生时钟?比如分频啊什么的.

如果都是使用一个时钟沿的话应该不会.

刚开始我不会写的时候always敏感表用了主时钟外的派生时钟,或者间接数据交换,结果工作频率非常低.

最后明白后都使用主时钟打一下频率就翻了2倍多

出0入0汤圆

 楼主| 发表于 2009-3-3 14:42:05 | 显示全部楼层
To 【2楼】 Oliver:
我输入是50MHz时钟,经过PLL,输出100MHz和25MHz,100MHz时钟驱动上面的模块,always模块调用的都是同一个系统时钟,即100MHz时钟,分频是用使能方式的,不知道这样正确吗?...

出0入0汤圆

发表于 2009-3-3 15:14:11 | 显示全部楼层
我也不清楚诶,如果都是同一个时钟(不管是否分倍频),只要是一个时钟源就不该有这个问题.

你复位是如何处理的?有时候也有关系的.

建议异步复位同步释放(是这样的吧?我反正是这样写代码的,复位和时钟一定要处理好)

出0入0汤圆

 楼主| 发表于 2009-3-3 15:37:22 | 显示全部楼层
我的复位都是采用同步方式的,这样应该没太大关系把?

还有,如果保持时间不满足的话,是数据到达的时间太快了,小于目的寄存器的Mirco Th,那我怎么延长数据到达时间让它满足保持时间要求?

出0入0汤圆

发表于 2009-3-3 17:22:01 | 显示全部楼层
我是担心设计不合理.style不好引起

我以前就碰到过,时序号逻辑和组合逻辑没开分,并且描述得不够清楚,编译出来就怪怪的.

你上EDACN上去问问吧,那里也许有收获

出0入0汤圆

 楼主| 发表于 2009-3-3 17:33:49 | 显示全部楼层
恩,谢了..
呵呵,我初学4个月,以前没注意过这些问题,设计出来的在开发板上验证,貌似功能都正确...我自己也觉得设计得还不够合理,但是经验不足,不太清楚怎么修改,呵呵

出0入0汤圆

发表于 2009-3-3 17:39:00 | 显示全部楼层
是这样的,我原来设计的也是一坨一坨的...

出来后很多警告,但你仿真或者烧片有时也是正常的,但这样肯定有出问题的一天.

我后来就分层次,尽可能把时序和组合逻辑分开些,合理利用状态机,那些奇怪的警告就没有了.

出0入0汤圆

 楼主| 发表于 2009-3-3 17:58:23 | 显示全部楼层
那请问怎么样分层次?  是不是经过一定组合逻辑就加入寄存器来同步?  如果是这样,我怎么知道经过多少组合逻辑就要加入一个寄存器呢?...

下面是我全编译后时序分析的警告,能看出什么关键的信息吗?

(原文件名:1.JPG)

出0入0汤圆

发表于 2009-3-3 18:44:12 | 显示全部楼层
你还是看看书吧,我也说不上<<verilog hdl设计与验证>>讲得蛮好的,硬件设计不是一朝一夕的事,还是一点点来吧.

出0入0汤圆

 楼主| 发表于 2009-3-3 19:20:24 | 显示全部楼层
To Oliver:
还是非常感谢你,根据在EDACN上高手的指示,我写DPRAM的时钟是通过2MUX1产生的,根据控制信号sd_flag选择s_clk_reg还是clken其中一个时钟,现在我改为用的是系统时钟100Mhz送给DPRAM,wr_clk使能DPRAM,现在QUARTUS提示时序分析已经满足.呵呵...


(原文件名:1.JPG)

但是为什么能解决呢? 产生这个问题的具体原因是什么? 我还是不太明白?还请高手指教,谢谢!
以我拙见,用高速时钟作为DPRAM的时钟,像EDACN上clwyl所说,让它的时钟跟其他模块的时钟有个超前一点的相位延时,就是让源寄存器的时钟达到提前吗?

出0入0汤圆

发表于 2009-3-3 20:50:16 | 显示全部楼层
哦,2楼我说过,边沿敏感不能使用派生时钟,必须得使用主时钟边沿.

就是连接时钟的脚必须保证是被GCLK同步后的.就是说选择器后面还得有一个DFF.

如果我这样说也许你就解决了

出0入0汤圆

 楼主| 发表于 2009-3-3 22:33:36 | 显示全部楼层
恩,那时没注意到驱动写DPRAM的时钟不是主时钟...呵呵,受教了,3Q.
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-5-15 21:44

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表