Xilinx ISE6.3i 布局布线几个常见错误及解决办法

来源:本站
导读:目前正在解读《Xilinx ISE6.3i 布局布线几个常见错误及解决办法》的相关信息,《Xilinx ISE6.3i 布局布线几个常见错误及解决办法》是由用户自行发布的知识型内容!下面请观看由(电工技术网 - www.9ddd.net)用户发布《Xilinx ISE6.3i 布局布线几个常见错误及解决办法》的详细说明。
简介: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,布线就能成功了。

提醒:《Xilinx ISE6.3i 布局布线几个常见错误及解决办法》最后刷新时间 2024-03-14 00:58:15,本站为公益型个人网站,仅供个人学习和记录信息,不进行任何商业性质的盈利。如果内容、图片资源失效或内容涉及侵权,请反馈至,我们会及时处理。本站只保证内容的可读性,无法保证真实性,《Xilinx ISE6.3i 布局布线几个常见错误及解决办法》该内容的真实性请自行鉴别。