IPO 发表于 2010-5-12 11:17:16

verilog中initial过程块是不能综合的,而在模块中用initial来初始化寄存器

请问一下,为什么很多书上都说在verilog中initial过程块是不能综合的,而在模块中用initial来初始化寄存器,通过综合,最终下载到FPGA中运行,这些初始化数据都是用效的

IPO 发表于 2010-5-12 11:17:49

请问一下,为什么很多书上都说在verilog中initial过程块是不能综合的,而在模块中用initial来初始化寄存器,通 ...
IPO 发表于 2010-5-12 11:17 http://www.fpgaw.com/images/common/back.gif


    你要初始化可以用复位的时候进行初始化。
我初始化都没用过initial

IPO 发表于 2010-5-12 11:18:12

但我都用initial的,也可行的,但就不明白为什么书上都说不可综合
跟开发环境有关吗

IPO 发表于 2010-5-12 11:18:34

反正我看过的代码都没用initial去初始化。。。最好还是不用initial
不过在测试程序中可以用initial

IPO 发表于 2010-5-12 11:18:57

always @(posedge sysclk)
begin
if(sysrst)
   begin
/*定义你的初始化语句*/
   end
else
   begin
/*定义你的功能语句*/
   end
end

IPO 发表于 2010-5-12 11:19:17

posedge sysclk这是按下复位键时的上升沿吗

IPO 发表于 2010-5-12 11:19:37

posedge sysclk这是按下复位键时的上升沿吗
IPO 发表于 2010-5-12 11:19 http://www.fpgaw.com/images/common/back.gif


    不是啊,sysclk一般指的是你的系统的主频。这个频率一般都几十M....肯定比你按键的速度要快的多。

Sunlife 发表于 2015-5-16 10:44:56

看过的代码都没用initial去初始化。。。最好还是不用initial
不过在测试程序中可以用initial
页: [1]
查看完整版本: verilog中initial过程块是不能综合的,而在模块中用initial来初始化寄存器