关于Verilog HDL的初学者,常常会对语法中的几个简单混杂的当地发生困惑。下面列出几个常见问题和处理它们的小窍门。
1.“=”和“=”的差异办法
前面的内容现已从原理上解说了堵塞(=)和非堵塞(=)赋值的差异,但关于初学者来说,在实践使用过程中还会发生一些困惑。下面的办法能够协助初学者来弄清楚两种赋值符号的使用场合。在always句子中,一切的赋值符号用非堵塞的,即“=”; 在always句子外,一切的赋值符号用堵塞的,即“=”。
2.“reg”和“wire”的差异办法
reg类型和wire类型是Verilog HDL语法中两种最常用的变量。在对module界说的端口信号进行类型描绘的时分,初学者会对何时需求指定为reg型感到困惑。能够参阅下面的办法。
(1)假如这个信号需求在always块里边被赋值,那么有必要指定为reg类型的。
(2)假如这个信号需求在always块外面被赋值,那么有必要指定为wire类型的。假如这个信号是端口信号,那么没默许的类型便是wire类型的,不需求别的指定。