Verilog在定义reg变量时可以初始化赋值么,比如reg a<=1'b0;
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Verilog在定义reg变量时可以初始化赋值么,比如reg a<=1'b0;相关的知识,希望对你有一定的参考价值。
可以是可以,但不能用<=。因为该reg还没有指定时钟。还有所有的reg最好在复位的时候用<=赋一下初值。理由:假设你正在开发某设备,在上电状态下你按某按钮复位了下,期望这时的状态跟上电时的状态是一样的。追问
你先说不可以用<=,后面又让我用<=赋一下初始值,是不是应该用=
追答定义用=. always可选,一般用<=.
参考技术A 可以,verilog2001支持定义的时候直接初始化verilog 定义memory类型变量 reg[16:1] a[7:0], 赋值时候可不可以这样:a[5][16:9]=8'b11111111;
参考技术A 可以,IEEE-Verilog-2001中有这么一段,你可以参考一下reg [7:0] twod_array[0:255][0:255];
wire threed_array[0:255][0:255][0:7];
Examples:
twod_array[14][1][3:0] // access lower 4 bits of word
twod_array[1][3][6] // access bit 6 of word
twod_array[1][3][sel] // use variable bit select
threed_array[14][1][3:0] // Illegal
以上是关于Verilog在定义reg变量时可以初始化赋值么,比如reg a<=1'b0;的主要内容,如果未能解决你的问题,请参考以下文章
verilog模块中需要调用memory型变量该怎么弄???急...
verilog中如何将wire类型的变量A 与reg类型的变量B进行比较?
verilog 定义memory类型变量 reg[16:1] a[7:0], 赋值时候可不可以这样:a[5][16:9]=8'b11111111;