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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 3246|回复: 8

[求助] 如何提高FPGA综合后的最高频率?

[复制链接]
发表于 2014-11-18 16:38:43 | 显示全部楼层 |阅读模式

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

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

x
是这样的,我按照一个理论上延迟很小的结构写的代码最后的运行的最高频率是145Mhz,而如果单纯写一小段延迟路径很长的代码,但是结构很单纯(没有计数器,没有状态机控制),运行的结果可以到245M。我是这么写的:(就是加了一些条件 和 计数器,这些条件和计数器估计就会产生控制寄存器流动的组合逻辑,最后输入到寄存器的控制端)
if(rst==1)
   A<=0;
   B<=0;
   counter<=0;
else if (counter<=N.)
   A<=...
   B<=...
   counter=counter+1;
   else  counter==0

我在想,我这样写会不会增加很大的延迟呢?需不需要人工建立寄存器来控制数据的流动(而不要用这些选择语句来控制)?
================================================================================
某电路的理论结构是 寄存器A--(组合逻辑)-->寄存器B,但是实际写代码的时候,一定还会有其他的控制或者标志寄存器,比如说,clr=1的时候要复位啦,counter=N的时候要复位啦,counter!=N的时候就从A流向B啦,或者counter等于多少的时候Flag要置1啦。如果这些条件或者设立的寄存器一多,会不会造成延迟的增大?(毕竟那么多线要连到寄存器的置数和复位端,连线延迟会不会很大)
发表于 2014-11-18 20:56:20 | 显示全部楼层
你的代码没贴出重要的一句,就是同步复位还是异步复位。
计数器不是太长(比如32位)就不用分开写。
还有就是综合选项等设置。。。。
 楼主| 发表于 2014-11-19 19:04:07 | 显示全部楼层
回复 2# lg20025779

1,是同步复位2,“计数器分开写”是啥意思?
3,综合选项我都是用的ISE的默认的选项。
发表于 2014-11-21 10:16:14 | 显示全部楼层
计数器太长,则需要分成两个或多个计数器。
ISE有很多选项,综合的,布局布线的
自己找找
 楼主| 发表于 2014-11-21 20:53:50 | 显示全部楼层
回复 4# lg20025779


假设我有两个模块,第一个模块有8个输出,对应第二个模块的8个输入。
比方说,第一个模块的8个寄存器已经准备好了,然后在一个clk的作用下“一齐打入”下一个模块的8个寄存器中。
    这个过程会不会有问题?需不需要先将第一个模块的8个寄存器的值所存起来,然后一位一位移入下一个模块的8个寄存器中?
    “一齐打入” 会不会由于寄存器组 之间的位置的不规则导致综合后很大的连线延迟?
发表于 2014-11-24 22:26:12 | 显示全部楼层
看综合后频率有没有意义呢

看布局布线后的最高频率才有意义吧
发表于 2014-11-25 00:11:25 | 显示全部楼层
先综合一次找到critical path.然后优化。利用面积换时间的方法
发表于 2014-11-25 09:47:29 | 显示全部楼层
非常好的啊
发表于 2014-11-26 12:40:47 | 显示全部楼层
好东西
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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


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

GMT+8, 2024-12-23 13:44 , Processed in 0.024966 second(s), 9 queries , Gzip On, Redis On.

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