minchina 发表于 2013-1-24 13:06:57

关于FPGA,verilog编程的initial

这个initial语句块是不是只有仿真的时候才有用(ModelSim)呀?

跑FPGA班子的时候是不是initial语句是不起作用的?

但有时候我用initial赋了个初值,它还是在板子上正常显示了(用灯)


小生是在不明白、

alphalovelife 发表于 2013-1-24 14:36:39

initial是用于测试时对外部输入信号进行初始化而引入的。
不可综合.

minchina 发表于 2013-1-24 14:38:41

alphalovelife 发表于 2013-1-24 14:36 static/image/common/back.gif
initial是用于测试时对外部输入信号进行初始化而引入的。
不可综合.

万分谢谢。
RTL就是综合的意思吗?

下入FPGA板子里面的东西,综合出来的电路的数据,对吗?

minchina 发表于 2013-1-24 14:44:24

alphalovelife 发表于 2013-1-24 14:36 static/image/common/back.gif
initial是用于测试时对外部输入信号进行初始化而引入的。
不可综合.

我代码里面有一句

reg init_sel;
initial begin
        init_sel = 0;
end

此句话确实执行了,在FPGA板子上反应出来了的、

lj_swust 发表于 2013-1-24 17:20:50

不是你这个句话反应出来了,寄存器上电初始化值即为0,以前听别人说过initial在某些综合工具可识别(我没试过),initial一般是不可综合,最好在仿真中用。

minchina 发表于 2013-1-24 18:34:49

lj_swust 发表于 2013-1-24 17:20 static/image/common/back.gif
不是你这个句话反应出来了,寄存器上电初始化值即为0,以前听别人说过initial在某些综合工具可识别(我没试 ...

我后面的语句是对init_sel信号进行判断,以执行设备初始化时序。

init_sel=0时,进行初始化。

我没有添加nitial_sel语句块时,无法进行正常的初始化。
我添加initial语句块,用init_sel = 1或者其他不为0的数,同样无法正常初始化。
只有用init_sel=0时,才能正常初始化、

hejc06 发表于 2013-1-28 10:04:40

initial 现在很多工具也能综合了,能综合的话会综合成寄存器的init值,即上电配置后的值,跟rst值不是一回事。但是不推荐用,可以用直接声明寄存器时赋初值或者用attribute

minchina 发表于 2013-1-28 12:04:17

hejc06 发表于 2013-1-28 10:04 static/image/common/back.gif
initial 现在很多工具也能综合了,能综合的话会综合成寄存器的init值,即上电配置后的值,跟rst值不是一回 ...

感谢大侠~

zgxcom123 发表于 2013-1-28 12:27:49

可以把init中的语句放到RST中~
这样每次复位,就可以初始化了
页: [1]
查看完整版本: 关于FPGA,verilog编程的initial