从表达式定义常量

问题描述 投票:0回答:1

我知道我可以在 verilog 中非常静态地定义常量:

`define FETCH_1 0
`define FETCH_2 1
`define ADD_1 2
...
`define PUSH_2 134

是否可以从表达式创建常量,例如类似的东西(Java语法):

public static final int FETCH_1 = 0
public static final int FETCH_2 = FETCH_1 + 1;
public static final int ADD_1 = FETCH_2 + 1;
...
public static final int PUSH_2 = PUSH_1 + 1;

所以以后很容易在中间添加一个常量而不必更改所有以下常量?或者我应该使用不同的语言来创建带有

define
语句的常量文件?

verilog
1个回答
0
投票

是的,在定义其他常量时可以在表达式中使用常量。

`define ADD_1 `FETCH_2 + 1;

使用

`define
宏时,需要在使用宏时使用
`
前缀。

这也可以通过声明为

parameter
:

的常量实现
parameter FETCH_1 = 0;
parameter FETCH_2 = FETCH_1 + 1;
parameter ADD_1   = FETCH_2 + 1;

请参阅 IEEE Std 1800-2017,第 6.20 节 常数

© www.soinside.com 2019 - 2024. All rights reserved.