一、 语法 – 要写可综合的语句

(一)块语句

1、begin – end 和 fork – join ,一般不用后者。

2、在 Verilog 可综合的语句仅有 assign 和 always 语句。

3、每写一个语句,都想一下它对应的电路。

4、块名字一般不用。


(二)条件语句

1、if_else

1-1,注意各条件表达式的优先级 ;

1-2,0,x,z 作为假处理 ;

1-3,if_else 嵌套使用时,使用 begin_end 用语句来确定配对关系。

2、case 语句

2-1,case、casex、casez ;

2-2,锁存器的产生。

forum.jpg

1-11

避免锁存器产生的办法是对 if_else 语句写好 else 部分,case 语句写好 default 部分。

3、循环语句

3-1,forever 连续的执行语句。

3-2,repeat 连续执行一条语句 n 次。

3-3,while 执行一条语句直到某个条件不满足。如果一开始条件即不满足 (为假), 则语句一次也不能被执行。

for 通过以下三个步骤来决定语句的循环执行。

1) 先给控制循环次数的变量赋初值。

2) 判定控制循环的表达式的值,如为假则跳出循环语句,如为真 则执行指定的语句后,转到第三步。

3) 执行一条赋值语句来修正控制循环变量次数的变量的值,然后 返回第二步。

4、顺序块与并行块

命名块----好处是可以 disable 该块。

5、生成块

动态生成 verilog 语句。