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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
楼主: Johnny_Cheng

[求助] 如何提高实现的设计的频率

[复制链接]
发表于 2011-12-6 18:42:51 | 显示全部楼层
回复 10# Johnny_Cheng

其实最主要的就是先要设计好你想要达到的频率,然后在编写verilog。一个always里面如果已经很长了就要加DFF了,写verilog的时候要对你写出的路径多长有明确的意识,只要每条路径都比较均衡就可以了。
还有就是最好对每个standard cell在你所用的工艺下的延迟大致了解。
结构上的教程也比较多,http://www.socvista.com/bbs/forumdisplay.php?fid=76&page=2
这是其中一个。
 楼主| 发表于 2011-12-7 00:31:26 | 显示全部楼层
回复 11# dreamylife

"其实最主要的就是先要设计好你想要达到的频率,然后在编写verilog"
这句话的意思不太明白,
DFF什么意思来着,不懂
谢谢您给发的链接,谢谢,东西很多哈,很好很强大。慢慢学习,摸索摸索
发表于 2011-12-7 11:43:11 | 显示全部楼层
回复 12# Johnny_Cheng

就是说你电路的最大频率应该是你设计之前就规划好的,这样才能知道怎么写verilog。比如这样一段代码:
always @(posedge clk)
begin
   cout <= a+b+c+d+e;
end
这样综合的结果是4级加法器的时间,如果你设计的频率只允许一条路径中容纳2个加法器,那就要写成别的方式,比如


always @(posedge clk)
begin
c1 <= a+b;
c2 <= c1+c;
c3 <= c2 + d;
cout <= c3 + e;
end
这样就是分4个clock算出来,可是每个clock都会出来一组新的数值,这样就满足要求了。

或者换种方法写成
always @(posedge clk)
begin
   c1 <= (a+b)+(c+d);//第一个path2级加法器
   cout <= c1 + e;//第二个path 1级加法器
end
发表于 2011-12-7 12:07:00 | 显示全部楼层
关键路径是你系统频率的瓶颈
 楼主| 发表于 2011-12-7 12:52:57 | 显示全部楼层
回复 13# dreamylife


    谢谢你的耐心解说,得多编程,多联系才行。能不能给推荐几本不错的书哈
 楼主| 发表于 2011-12-7 12:54:32 | 显示全部楼层
回复 14# benny46

这个我知道一点儿,不知道有什么好的方法来缩短关键路径,设计结构么?有没有可以推荐的书来着,中文英文的都可以
发表于 2011-12-7 14:34:11 | 显示全部楼层
回复 15# Johnny_Cheng

呃。。。等你要是找到了也告诉我一声~~~
发表于 2011-12-7 14:56:58 | 显示全部楼层
大家都有很多信元,我真是穷呀
发表于 2011-12-7 14:57:26 | 显示全部楼层
采用流水线或者并行处理
发表于 2011-12-7 15:19:02 | 显示全部楼层
回复 16# Johnny_Cheng


   设计结构??那是软件的吧。你所说的总线codec到底是什么我不清楚,是挂在总线上的音视频codec吗?那最高频率就是由你的总线最高频率和codec能运行的最高频率决定了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

×

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

GMT+8, 2024-5-25 03:44 , Processed in 0.037190 second(s), 7 queries , Gzip On, Redis On.

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