由于 Quartus® Prime 专业版软件 24.1 版存在一个问题,您在编译 PR 设计时可能会遇到 Quartus® 汇编器崩溃的情况。将正确生成所有 .sof 和 .psmf 文件,但出现问题时无法生成某些相应的 .rbf。它会触发类似于下图的内部错误。
致命错误:段违规:错误地址=(nil),PC=0x7fdb2640c50b:0x7fdb2640c50b:tcmalloc!tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned int, int) + 0xeb
模块:quartus_asm
堆栈跟踪:
错误处理程序 0x2ee1f: ERR_UNWINDER_BACKTRACE::get_stack_trace (void const**, int, int, void*) + 0xed (ccl_err)
错误处理程序0x8a3ce:msg_ie_get_call_stack(无效*)+ 0xc4(ccl_msg)
错误处理程序 0x8cc3c:MSG_INTERNAL_ERROR::report_fatal(char const*, void*, bool) + 0x40 (ccl_msg)
错误处理程序 0x11c0f:err_report_fatal_exception(char const*, void*, bool) + 0x63 (ccl_err)
错误处理程序0x20787:err_sigaction_handler + 0x18f (ccl_err)
系统0x42520:(c)
Quartus 0x2a50b: tcmalloc::ThreadCache::ReleaseToCentralCache(tcmalloc::ThreadCache::FreeList*, unsigned int, int) + 0xeb (tcmalloc)
Quartus 0x2a5bd: tcmalloc::ThreadCache::Cleanup() + 0x4d (tcmalloc)
Quartus 0x2ad9f: tcmalloc::ThreadCache::D eleteCache(tcmalloc::ThreadCache*) + 0xf (tcmalloc)
系统0x91691:(c)
系统0x9494a:(c)
系统0x126850:(c)
末端跟踪
要变通解决此问题,请关闭 Quartus® Prime 设置文件 (.qsf) 文件中的以下设置,并使用编程器文件生成器或转换编程文件工具来生成 .rbf 编程文件。默认情况下,此设置为 ON。
GENERATE_PR_RBF_FILE=开启
对于 Quartus® Prime Pro 软件版本 24.1,将提供补丁来修复此问题。从以下链接下载并安装修补程序:
此问题计划在 Quartus® Prime Pro Edition 软件的未来版本中修复。