带有下划线的十六进制值语法是什么意思?例如:参数FOO = 20'h0002_0

时间:2012-09-11 20:40:30

标签: syntax parameters verilog

几乎就是标题。这个下划线是什么意思?这有什么不同:

parameter FOO = 20'h00020;

我不知道该找什么来寻找这个问题的答案,因为我不知道这种语法被称为什么。

2 个答案:

答案 0 :(得分:8)

来自IEEE Std(1800-2009),“5.7.1整数字面常量”部分:

  

下划线字符(_)在数字的任何地方都是合法的   除了作为第一个字符。下划线字符被忽略。   此功能可用于分解长数字以便于阅读   目的。

因此,20'h0002020'h0002_0相同。

我通过在上面的规范中搜索“下划线”找到了这个。

答案 1 :(得分:3)

没有任何意义。它只是一个分隔符,可以使长数字更容易阅读,就像逗号分隔长数字的三个数字组(例如1,000,000)。