在一般的verilog设计经验总结中,有人常会总结如下一条:不使用初始化语句,我不知道总结者是出于哪方面的考虑,好像是说initial语句不可综合,其实不然,它是可以被综合的,在Quartus II中有如下综合选项:
默认是关闭的,那这样initial语句就可以被综合了。
为什么要用initial语句呢?在很多CPLD这样的小设计中,我们可能根本不使用时钟,那我们就无法采样一般的复位信号,这样复位就很困难了。对于几个比较关键的信号我们可以用initial语句实现其上电时的初始值,这可能会浪费掉若干逻辑单元,但如果要复位的信号比较少,这种方法还是值得的。
一般的综合如果不在意上电时的值,编译器会向着面积最小的方向综合,那样综合后信号的初始值是不确定的。
用户559739 2010-1-28 15:07