原创 FPGA设计要点之一:时钟树

2006-11-21 22:42 6988 9 11 分类: FPGA/CPLD

对于FPGA来说,要尽可能避免异步设计,尽可能采用同步设计。


同步设计的第一个关键,也是关键中的关键,就是时钟树。


一个糟糕的时钟树,对FPGA设计来说,是一场无法弥补的灾难,是一个没有打好地基的大楼,崩溃是必然的。


具体一些的设计细则:


1)尽可能采用单一时钟;


2)如果有多个时钟域,一定要仔细划分,千万小心;


3)跨时钟域的信号一定要做同步处理。对于控制信号,可以采用双采样;对于数据信号,可以采用异步fifo。需要注意的是,异步fifo不是万能的,一个异步fifo也只能解决一定范围内的频差问题。


4)尽可能将FPGA内部的PLL、DLL利用起来,这会给你的设计带来大量的好处。


5)对于特殊的IO接口,需要仔细计算Tsu、Tco、Th,并利用PLL、DLL、DDIO、管脚可设置的delay等多种工具来实现。简单对管脚进行Tsu、Tco、Th的约束往往是不行的。


ok,先说到这里,下次再讲。

PARTNER CONTENT

文章评论2条评论)

登录后参与讨论

用户1373642 2007-11-7 14:17

受益了

ash_riple_768180695 2006-11-23 16:42

好文,投你一票。

个人认为FPGA还是不要说时钟树的问题为好:FPGA内部有专用的时钟通路(skew很小),是通过布局布线工具把时钟信号分配到这些通路上的;通常ASIC要做时钟树,可以得到skew较小的时钟。

 

相关推荐阅读
用户61970 2007-08-14 00:46
有问题大家发邮件给我吧!
现在预计到9月底也没有太多的时间写blog文章了。计划赶不上变化啊,由于需求变更,现在我是指导上板调试一个版本,编码调试一个临时版本,指导设计一个新版本。每个版本的代码行都有35K,彻底晕菜……。具体...
用户61970 2007-06-10 23:13
好久没有上来,给大家先道个谦
现在这个项目实在是累人,进度紧、难度大就不说了,还经常发生需求变动,幸好不是大的变动,不然真的要死人了……终于在本周完成了所有的代码和UT,统计结果吓了一跳,居然总代码行数到了6W多。由于时间太近,U...
用户61970 2007-02-04 22:36
静态时序分析:Tsu、Tco
首先需要注意的是,这里讨论的都是静态时序分析。所谓静态时序分析,就是只针对FPGA内部布线后生成的实际布线结果来计算理论时序,同时采用的模型为理论模型。静态时序分析并不能完全分析和解决实际运行中的所有...
用户61970 2007-01-10 22:47
问题答复
to yangss2006:我的邮箱:fy2kdonews@yahoo.com.cn,欢迎大家发邮件。init_flag信号是FPGA来产生的吗?如果是,可以用下面的方式来产生:always @( p...
用户61970 2007-01-01 23:32
大家提的一些问题的答复
最近刚忙完一个老逻辑项目的优化工作,把性能提升了一倍。节后马上又要开始一个新项目,难度很大,带宽有10G,6月份就要完工。估计元旦后的空闲时间又不多了,请大家谅解。to riple:时序分析和约束是一...
用户61970 2006-12-11 23:13
希望大家在回复中多提问题
最近2周一直在忙一个逻辑优化工作,总共写了5000多行,外加所有的单元仿真和系统仿真。好累!现在要做系统仿真和上板测试了,估计最近2周晚上也没有空来更新了。另外,请大家在回复中提出自己关心的问题,我可...
我要评论
2
9
关闭 站长推荐上一条 /3 下一条