注意
-
只能在initial或always过程块语句中使用。
-
生成latch
在时序逻辑中,不完整的 if…else… 结构并不会生成锁存器,而组合逻辑中不完整的 if…else… 结构就会生成锁存器。
所以时序逻辑可以没有最后的else,默认保持;组合逻辑必须有else -
组合逻辑中为了保持不变出现赋值语句:a =a,会出现锁存器。
-
(这条有问题,后面再看)同一个变量的不同条件,用:
if
else if
else
不同变量的条件,需要嵌套:
if
if
else
else
例.(背景详见“基于FPGA的AD7928驱动”)
第一个计数器,生成sclk1MHz,基于FPGA系统clk50MHz,计数50次。第二个计数器,用来控制片选信号的时长,基于sclk,计数18次。