找回密码
 注册
关于网站域名变更的通知
查看: 166|回复: 1
打印 上一主题 下一主题

FPGA ------- 几种时序问题的常见解决方法2

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2019-7-9 14:32 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

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

x
   1.布局太差导致的布线延迟太高问题3 r& q, ^- W2 I: Q$ f1 m. `
( N& b* d! B' Z  \" t; C, S) f

. B. S0 `+ f7 g0 z: r6 O* Y    布线延迟太高问题一般有两种情况,1)一种是布线扇出太多导致的问题,另外再对扇出太多补充一点,扇出太多而增加buffer提高驱动能力,而普通I/O信号或片内信号进入BUFG到从BUFG输出,有大约10ns的固定时延,但是BUFG到片内所有单元的延时可以忽略为0ns。这个问题在上篇中已经给出了解决方案,也就是通过逻辑复制的方法解决。2)就是今天要说的问题,就是本身各种信号扇出并不多,逻辑时间也不是很大,但是布线延迟很大,这种问题就是布局太差的问题。
0 n. O* k7 K, h* {
: v  ~5 B* h& M% u/ |

7 g# X* n1 h1 q; {0 J7 W- a    相应的解决方案有:通过ISE布局工具中调整布局的努力程度(effort level),特别努力程度(extra effort),MPPR选项,实在不行的话就尝试使用Flootplanner相对区域约束重新对设计进行布局规划。
+ l. I3 I) b8 c1 d
+ c) |; B7 b! p( q7 `5 B5 N
2 R$ d  M# ^9 u" t$ P
    2.就是出现逻辑级数过多情况
- y9 ^4 G0 D# y0 `+ V( q4 }6 {: R; `; B7 w4 o) g

9 u9 [1 v# e* k$ R    也就是逻辑计算时间比较大,这种情况一般不属于时序问题,而属于程序编写问题,尽量不要嵌套IF ELSE语句或者CASE语句嵌套,能用CASE语句尽量不用IF ELSE语句,还有就是在使用IF 语句和CASE语句时注意防止产生不必要的锁存器。
# q1 K: n" }# U; {
3 p! w/ g0 M; V6 |

, w8 M" k& [5 P( |. Q5 `: D+ B* e
7 l8 g) D. j: m. S$ d/ _4 g# v
- e7 {4 Q5 |) ~6 e  W$ I7 y5 O3 D) ~

该用户从未签到

2#
发表于 2019-7-9 17:20 | 只看该作者
看看楼主说的方法
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-10-11 12:48 , Processed in 0.125000 second(s), 23 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

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