打印

布局布线几个常见错误及解决办法

[复制链接]
3110|19
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
明空|  楼主 | 2011-2-16 15:46 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
Xilinx EPLD/FPGA设计工具ISE6.3i是目前国内用户用的最多的一个版本(尽管现在已出10.0、12.0版本,
但这些高版本对一些常用的“老”器件已不支持,且其文本编辑器对汉字注释支持有点小问题),在我们使用过程中,
发现布局布线(Place&Route)经常出现如下几个错误:
1、如果将一个时钟信号与一个非时钟信号用在同一个逻辑表达式中,布局布线通不过,会提示“全局变量分配出错”。解决办法是定义一个中间信号变量,例如:
WE<=CCD_HS_CK or CCD_VS_CK or (not PA7);
改为: CK_Buf<=CCD_HS_CK or CCD_VS_CK;
       WE<=CK_Buf or (not PA7);
其中CK_Buf为中间信号。
2、ERROR Place:249 - Automatic Clock Placement Failed.....,即自动时钟布局失败,同时出现如下警告:
WARINNG:Place:413 - This design either uses more then 8 clock buffers or clock buffers locked into
primary/secondary sites.....,意即本工程使用8个以上时钟缓冲器。
原因分析: ISE的综合工具XST或Symplify都具有自动推断功能,在用户不进行任何约束的情况下,综合时当遇到扇出数目较大(驱动负载多-即VHDL代码引用次数多)的钟控信号(时钟信号)时,会自动地将该信号分配到全局时钟IOB上(尽管该信号可能不是从FPGA专用时钟引脚输入的)。当这种信号数量较多时,而FPGA的全局时钟资源有限(Virtex2有16个),就会导致在映射和布局布线1时出现上述错误,编译无法通过。
出现这种错误有两种情况:
(1)全局时钟资源不够,待分配的信息过多。
(2)因全局时钟要走遍FPGA内部每个地方,工程复杂时布线无法走通。
解决办法:
(1)如果是上述第(2)种情况,可以人工优化工程设计,删除不不必要的模块及资源定义(引脚与信号定义)。
(2)采用高版本的综合工具或ISE(含布局布线、XST)也有可能解决第(2)种情况。
(3)采用手工布局(Floorplanner)和布线(FPGA Editor)工具调整设计。由于FPGA逻辑密度高、内部结构复杂,用此方法必须对所用FPGA内部结构、Floorplanner与FPGA Editor工具等相当熟悉,难度较高。
(4)最有效的办法是约束设置:
方法1:在VHDL的"...Behavioral of ... is"与"begin"语句之间插入如下命令(自定义属性约束):
attribute clk_buf : string;
attribute clk_buf of xxx:signal is "ibuf";
其中"xxx"是扇出数较大的信号(变量或引脚)。上述命令会强制"xxx"不会被自动分配为全局时钟缓冲器(IBUFG)。
方法2:在用户约束文件(.ucf)中给扇出数较大的费关键时钟信号加上约束,例如:
NET "xxx" LOG="yyy"|USELOWSKEWLINES;
其中"xxx"是被约束信号,"yyy"是FPGA引脚,“USELOWSKEWLINES”意指强制分配到第二全局时钟资源。
值得注意的是,约束设置不是一次就能解决问题,可能要反复多次才能成功。
3、ERROR:1018错误
在ISE工程设计中,如果某个信号(如地址锁存AE)是从非专用时钟引脚输入的,但在设计时又是作为时钟使用的,ISE布局布线时也会自动将该信号作为全局时钟信号来布线,因其不是从全局时钟脚接入,故出现上述错误,无法布线成功。
由于这些信号频率不高、负载不重,故在实际应用中不一定非要使用全局网络,这时可在约束文件(.ucf)中加上如下约束:
NET "AE" CLOCK_DEDICATED_ROUTE=FLASE;
这样做是强制ISE不分配全局时钟网络给AE,布线就能成功了。
评分
参与人数 1威望 +6 收起 理由
SuperX-man + 6

相关帖子

沙发
奔腾2.0| | 2011-2-16 16:54 | 只看该作者
不错,先记下了,说不定以后用的到

使用特权

评论回复
板凳
SuperX-man| | 2011-2-16 18:50 | 只看该作者
Great! 楼主的经验很值得借鉴

使用特权

评论回复
地板
bairan168| | 2011-2-16 22:25 | 只看该作者
我结合约束设计一起看,不错。不错。

使用特权

评论回复
5
coco11| | 2011-2-16 22:42 | 只看该作者
:handshake

使用特权

评论回复
6
爱在2012| | 2011-2-17 23:07 | 只看该作者
相当不错。强推。

使用特权

评论回复
7
pneony| | 2011-2-18 17:01 | 只看该作者
真的很好,先留个脚印,以后肯定用得到!

使用特权

评论回复
8
七叶一枝花| | 2011-2-26 22:07 | 只看该作者
:)

使用特权

评论回复
9
amini| | 2011-2-26 22:42 | 只看该作者
谢谢楼主分享

使用特权

评论回复
10
dianzirobot| | 2011-2-27 11:48 | 只看该作者
谢谢

使用特权

评论回复
11
diny| | 2011-2-27 17:05 | 只看该作者
作个记号,等用的时候看看。

使用特权

评论回复
12
老大的幸福| | 2011-2-27 17:35 | 只看该作者
先拿走,收着

使用特权

评论回复
13
08211004kun| | 2011-2-27 19:51 | 只看该作者

使用特权

评论回复
14
atua| | 2011-2-27 20:01 | 只看该作者
感觉很多都是门控时钟造成的问题啊

使用特权

评论回复
15
foreverly| | 2011-3-1 20:36 | 只看该作者
有些地方没明白。不过,还是谢谢了。

使用特权

评论回复
16
0中国芯0| | 2011-3-2 11:38 | 只看该作者
很好,解决大问题

使用特权

评论回复
17
小云001| | 2011-3-28 20:09 | 只看该作者
很好的经验

使用特权

评论回复
18
AutoESL| | 2011-5-8 16:53 | 只看该作者
不错的东西

使用特权

评论回复
19
jennyzheng| | 2011-5-12 13:22 | 只看该作者
感觉很好很强大~

使用特权

评论回复
20
奔腾2.0| | 2011-5-12 23:02 | 只看该作者
很好滴……

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

34

主题

357

帖子

0

粉丝