问题描述
在组合逻辑综合(不是模拟)的上下文中: 什么时候应该将函数声明为自动? 什么时候应该将函数声明为静态函数?
解决方法
永远不应该使用 static
生命周期声明函数。没有任何默认情况下函数是自动的并且需要显式声明为静态的情况。 (无论如何,这在类方法中都是非法的)。
有些情况下,函数必须声明为具有自动生命周期,以便递归调用它并且参数不会被覆盖。
这是我的 DVCon2021 论文“The Life of a SystemVerilog Variable”的主题部分。
在组合逻辑综合(不是模拟)的上下文中: 什么时候应该将函数声明为自动? 什么时候应该将函数声明为静态函数?
永远不应该使用 static
生命周期声明函数。没有任何默认情况下函数是自动的并且需要显式声明为静态的情况。 (无论如何,这在类方法中都是非法的)。
有些情况下,函数必须声明为具有自动生命周期,以便递归调用它并且参数不会被覆盖。
这是我的 DVCon2021 论文“The Life of a SystemVerilog Variable”的主题部分。