问题描述
我的顶级设计包含两个子模块,M0,M1和输出缓冲区实例,OBUF0。在每个子模块的源代码中,都有RLOC信息。因此,我必须在使用XST 5.2i运行综合时设置keep_hierarchy,以便将每个子模块的RLOC信息保存在自己的集合中。
但是,当我对设计进行MAP时,会报告以下错误:
“错误:包装:625 – 双数据速率寄存器”M0 / reg0“无法合并
根据需要输出缓冲区“obuf0”。符号“M0 / reg0”是
不在符号“obuf0”的同一层次结构区域下。“
发生此MAP错误是因为寄存器的数据输出与输出缓冲区不在同一层次结构中,但在使用XST 5.2i运行综合时,我必须使用keep_hierarchy来分配正确的RLOC信息。
解决/修复方法
使用命令行选项:
map -ignore_keep_hierarchy
或者,在GUI中设置“允许跨层次结构的逻辑优化”。
将KEEP_HIERARCHY = FALSE设置为UCF文件中的“M0”块,如下所示:
INST“M0”KEEP_HIERARCHY = FALSE;
没有回复内容