【verilog】verilog语句块

1. 关键字:顺序块,并行块,嵌套块,命名块,disable

verilog 语句块提供了将两条或更多语句组成语法结构上相当于一条一句的机制。

主要包括两种类型:顺序块和并行块

2. 顺序块

顺序块用关键字 beginend 来表示。

顺序块中的语句是一条一条执行的(非阻塞赋值除外)。

顺序块中每条语句的时延总是与前面语句执行的时间相关。

3. 并行块

并行块用关键字 forkjoin 来表示。

并行块中的语句是并行执行的。

并行块中每条语句的时延都是与块语句开始执行的时间相关。

4. 嵌套块

顺序块和并行块还可以嵌套使用。

示例如下

initial begin
	a = 1 ;
		fork
			#10 b = 2 ;
			#20 c = 3 ;
		join
	#30 d = 4 ;
end

5. 命名块

还可以给块语句结构命名。

命名的块中可以声明局部变量,通过层次名引用的方法对变量进行访问。

示例如下

module test ;

initial begin:AAA /// 命名模块名字为AAA,分号不能少
	integer i ;   /// 该变量i,可以通过test.AAA.i,被其它模块使用
	i = 0 ;
	while(i <= 100) begin: BBB
		#10 ;
		if(i >= 50) begin         /// 累加50次停止累加
			disable CCC.clk_gen ; /// stop 外部block:clk_gen
			disable BBB			; /// stop 当前block;BBB
		end
	end
end

reg clk ;

initial begin:CCC
	while(1) begin:clk_gen
	clk = 0  ; #10 ;
	clk = 1  ; #10 ;
end

endmodule

当 i 累加到 50 以后,便不再累加,以后 clk 时钟也不再产生。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值