Vivado 内存溢出

2023-12-29 14:05:40

在综合的时候,内存溢出,导致综合失败、报如下错误日志:

Start Cross Boundary and Area Optimization
---------------------------------------------------------------------------------
Abnormal program termination (EXCEPTION_ACCESS_VIOLATION)
Please check 'XXXXX/YYY/YYY.runs/synth_1/hs_err_pid25628.log' for details

查看hs_err_pid25628.log,如下:

#
# An unexpected error has occurred (EXCEPTION_ACCESS_VIOLATION)
#
Stack:
no stack trace available, please use hs_err_<pid>.dmp instead.

我的解决

参考1中提到,在Flow Navigator->Synthesis(点击鼠标右键)->Synthesis Setting...->Settings->Synth Design(vivado)中将-flatten_hierarchy由rebuilt改为none,如下图:

但是这种方法也有缺点,可能会造成时序的不优化。

参考3中提到了两种解决方法,一种就是将所用所有IP由OOC综合改为Global综合,一种和参考1中提到的相同。

抱着死马当作活马医的思路,试了下“将所用所有IP由OOC综合改为Global综合”,综合通过了,没有内存溢出。查了下综合日志,内存最高峰值达到了13.59G字节。

参考1

Vivado Synthesis Crash Debugging Guide (xilinx.com)

官方一个比较全面的指南。

内存溢出,可能在综合或者执行的不同阶段出现,出现的时刻不同,处理方法不同。

参考2

EXCEPTION_ACCESS_VIOLATION (xilinx.com)

set_param route.ignoreLocalClocks true

Just skipping a minor optional step in routing stage. If the final timing closure can be achieved, it can be accepted.

参考3

EXCEPTION_ACCESS_VIOLATION (xilinx.com)

As per the debugging, there are two potential workarounds for the issue-

1- Synthesize all the IPs globally instead of OOC.

2- use flatten_hierarchy none in synthesis settings if all the IPs should be synthesized OOC.

The issue is fixed in the future release Vivado 2020.1.

参考4

63279 - Vivado - Launching Vivado fails with Abnormal program termination (EXCEPTION_ACCESS_VIOLATION) (xilinx.com)

This has been seen with Vivado version 2014.1 and later.

There appears to be an issue with FlexNet Licensing Service 64.

To work around the issue, follow the steps below:

(Before following these steps, close all anti-virus and other applications, specifically those that use Flex licensing).

  1. Open msconfig.exe. You can open it from the start menu.
  2. Select the services tab, then disable "FlexNet Licensing Service 64" by unchecking the select box.
  3. Restart the system.
  4. Invoke Vivado without invoking any other applications.

文章来源:https://blog.csdn.net/u014250897/article/details/135285544
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。