Verilog HDL中单引号的作用:下面这些单引号怎么解释? parameter T100MS = 23'd5_000_000;//50M晶振

这些的单引号啊?作用是啥? Count1 <= 23'd0; else if( Count1 == T100MS ) Count1 <= 23'd0;

这是verilog的基本语法,是数值的表达形式。

在Verilog里,当一个变量的类型确定,即已经知道它是寄存器类型或者是线网类型,当把具体的数值赋值给它时,需要利用下面所述的数字表示方法。数字表示的基本语法结构为:

<位宽>'<数制的符号><数值>

其中,位宽是与数据大小相等的对应二进制数的位数加上占位所用0的位数,这个位数需要使用十进制来表示。

位宽是可选项,如果没有指明位宽,则默认的数据位宽与仿真器有关(最小32位);数制需要用字母来表示,h对应十六进制,d对应十进制,o对应八进制,b对应二进制。如果没有指明数制,则默认数据为十进制数。

例如:

12'h123:十六进制数123(使用12位)

20'd44:十进制数44(使用20位,高位自动使用0填充)

4'b1010:二进制数1010(使用4位)

6'o77:八进制数77(使用6位)

温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-12-14
这是verilog的基本语法,是数值的表达形式。比如23‘d0,表示位宽为23位,以十进制表示0。类似的还有8‘h23,表示8位的十六进制0x23等等本回答被网友采纳