verilog的寄存器默认初始值是多少?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了verilog的寄存器默认初始值是多少?相关的知识,希望对你有一定的参考价值。
如果不对寄存器进行任何赋值操作的话,其值是未知,在Verilog中用x表示;就像线网类型默认的初始值是高阻, 在Verilog中用z表示。 参考技术A 举个例子吧:
reg A;
always @( posedge CLK or negedge RSTn )
if(!RSTn) begin A <= 1'b0; end //如果有这个异步复位那么,上电复位,寄存器初值0,反之没 有这一句就是x,所以写程序是最好异步复位时,将寄存器赋一个默认值。
else
begin
.....................
end本回答被提问者和网友采纳 参考技术B fpga上电复位,寄存器初值0
verilog 寄存器初始化
想在verilog里像C语言那样用数组,可是用了一段时间才发现,原来在verilog里面不是数组,而是寄存器,虽然用法相同,但是初始化就是个问题了,请高手给指点一下,如何初始化,最好给一个参考示例,谢谢了
参考技术A 看你用的什么板子和软件了,xilinx 和 altera是不同的。给你点东西,你自己看看,到时可以交流一下Xilinx ROM初始化文件——coe文件格式
在ISE初始化ROM的时候要用到一个扩展名为.coe的文件,一个标准的coe文件的格式如下:
MEMORY_INITIALIZATION_RADIX=2; //数据格式,此为2进制,还可以为8,10,16进制
MEMORY_INITIALIZATION_VECTOR=
01110100,
00100000,
11110101,
10000000,
01111000,
00100010,
00000001,
00010100,
00000000,
00000000,
00000000,
00000000,
00000000,
00000000,
00000000,
00000000,
00000000,
00000000,
00000000,
00000000,
01110100,
00000101,
11110101,
10000000,
00000000,
00000000,
00000000,
00000000,
00000000,
00000000,
00000000,
00000000,
00000000;
Altera ROM初始化文件——mif文件格式
DEPTH = 32; -- The size of data in bits
WIDTH = 8; -- The size of memory in words
ADDRESS_RADIX = HEX; -- The radix for address values
DATA_RADIX = BIN; -- The radix for data values
CONTENT -- start of (address : data pairs)
BEGIN
00 : 00000000; -- memory address : data
01 : 00000001;
02 : 00000010;
03 : 00000011;
04 : 00000100;
05 : 00000101;
06 : 00000110;
07 : 00000111;
08 : 00001000;
09 : 00001001;
0A : 00001010;
0B : 00001011;
0C : 00001100;
END;本回答被提问者采纳 参考技术B 用FOR或者一个个来
以上是关于verilog的寄存器默认初始值是多少?的主要内容,如果未能解决你的问题,请参考以下文章