VHDL ERROR:Actual for formal port a is neither a static name nor a globally static expression

VHDL ERROR:Actual for formal port a is neither a static name nor a globally static expression

今天在打开别人的一个工程时遇到的一个问题,在百度了一下午没找到解决方案,晚上一上谷歌就找到了,原回答地址:VHDL ERROR:Actual for formal port a is neither a static name nor a globally static expression (xilinx.com)回答如下:

In VHDL up to 2002, it was illegal to have a function call in a port map, other than a type conversion.
In VHDL 2008, this limit no longer applies. So change the language version to VHDL 2008 and there is no error.

2002 年之前的 VHDL 中,除了类型转换之外,在端口映射中进行函数调用是非法的。
在 VHDL 2008 中,此限制不再适用。 所以把语言版本改成VHDL 2008就没有错误了。