首页
|
新闻
|
新品
|
文库
|
方案
|
视频
|
下载
|
商城
|
开发板
|
数据中心
|
座谈新版
|
培训
|
工具
|
博客
|
论坛
|
百科
|
GEC
|
活动
|
主题月
|
电子展
注册
登录
论坛
博客
搜索
帮助
导航
默认风格
uchome
discuz6
GreenM
»
FPGA/CPLD可编程逻辑
» FPGA开发全攻略连载之十二:FPGA实战开发技巧(6)
返回列表
回复
发帖
发新话题
发布投票
发布悬赏
发布辩论
发布活动
发布视频
发布商品
FPGA开发全攻略连载之十二:FPGA实战开发技巧(6)
发短消息
加为好友
pengpengpang
(pengpengpang)
当前离线
UID
1023229
帖子
6106
精华
0
积分
3055
阅读权限
90
来自
中国
在线时间
156 小时
注册时间
2013-12-20
最后登录
2016-7-3
论坛元老
UID
1023229
来自
中国
1
#
打印
字体大小:
t
T
pengpengpang
发表于 2014-3-4 18:15
|
只看该作者
FPGA开发全攻略连载之十二:FPGA实战开发技巧(6)
技巧
,
开发
,
连载
5.3.3.2 提高时序性能的手段
时序性能是FPGA 设计最重要的指标之一。造成时序性能差的根本原因有很多,但其直接原因可分为三类:布局较差、逻辑级数过多以及信号扇出过高。下面通过时序分析实例来定位原因并给出相应的解决方案。
1.布局太差及解决方案
图5-13 所示时序报告,其中附加的周围约束为3ns,实际周期为3.027ns,逻辑时间只有0.869ns,而布线延迟竟达到2.203ns,很明显失败的原因就是布局太差。
图5-13 布局太差的时序报告示意图
相应的解决方案有:
1) 在ISE 布局工具中调整布局的努力程度(effort level) ;
2) 利用布局布线工具的特别努力程度(extra effort) 或MPPR 选项;
3) 如果用户熟悉区域约束,则利用Floorplanner 相对区域约束(RLOC),重新对设计进行布局规划。
2.逻辑级数过多及解决方案
在FPGA 设计中,逻辑级数越高,意味着资源的利用率就越高,但对设计工作频率的影响也越大。在图5-5所示的例子中,附加的周围约束为3ns,实际周期为3.205ns,逻辑时间为1.307ns,已经对设计的实际性能造成了一定的影响。对于这种情况,ISE 实现工具是没有任何改善的,必须通过修改代码来提高性能,相应的解决方案有:
1) 使用流水线技术,在组合逻辑中插入寄存器,简化原有的逻辑结构;
2) 检查该路径是否是多周期路径,如果是,添加相应的多周期约束;
3) 具备良好的编码习惯,不要嵌套if 语句或if、case 语句,并且尽量用case 语句代替if 语句。
图5-14 逻辑级数太多的时序报告示意图
3.信号扇出过高及解决方案
高扇出会造成信号传输路径过长,从而降低时序性能。如图5-15 所示,附加的周期约束为3ns,而实际周期为3.927ns,其中网线的扇出已经高达187,从而导致布线时延达到3.003ns,占实际时延的77.64%。这种情况是任何设计所不能容忍的。
图5-15 扇出太高的时序报告示意图
相应的解决方案有:
1) 通过逻辑复制的方法来降低信号的高扇出,可在HDL 代码中手动复制或通过在综合工具中设置达到目的;
2) 可利用区域约束,将相关逻辑放置在一起,当然本方法仅限于高级用户。
收藏
分享
评分
记录学习中的点点滴滴,让每一天过的更加有意义!
回复
引用
订阅
TOP
返回列表
嵌入式技术
电商论坛
Pine A64
资料下载
方案分享
FAQ
行业应用
消费电子
便携式设备
医疗电子
汽车电子
工业控制
热门技术
智能可穿戴
3D打印
智能家居
综合设计
示波器技术
存储器
电子制造
计算机和外设
软件开发
分立器件
传感器技术
无源元件
资料共享
PCB综合技术
综合技术交流
EDA
MCU 单片机技术
ST MCU
Freescale MCU
NXP MCU
新唐 MCU
MIPS
X86
ARM
PowerPC
DSP技术
嵌入式技术
FPGA/CPLD可编程逻辑
模拟电路
数字电路
富士通半导体FRAM 铁电存储器“免费样片”使用心得
电源与功率管理
LED技术
测试测量
通信技术
3G
无线技术
微波在线
综合交流区
职场驿站
活动专区
在线座谈交流区
紧缺人才培训课程交流区
意见和建议