@6 verilog过程语句和时序控制

本文详细介绍了Verilog中的过程语句,包括initial和always语句的使用,特别是always语句的时序控制,如posedge和negedge关键字。同时,讲解了时序控制中的简单延迟、基于事件的时序以及wait语句的应用,重点在于它们在FPGA开发中的作用和仿真中的实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

过程语句

initial
always

  • initial
    仿真0时刻开始执行,整个仿真执行一次

  • always
    仿真一直在执行

  • 两个不能嵌套使用

  • 每个initial 或always语句都代表一个独立的执行过程

initial 语句

module
initial 1
initial 2 //两个互不干扰,并行执行
endmodule
  • 语法
initial //语句块内含2条或以上语句需要使用begin ---end或者fork  ---join 关键字封装成语句块
begin
	statement1 ;
	statement2;
	---;
	statementn;
end
  • 常用于测试模块,虚拟模块的编写,用于产生仿真测试激励信号,信号初始化等仿真环境
  • 不可综合
    实例
module initial1;
reg clk;
reg a,b;
initial 
	begin
		clk=1`b0;
		#2 a=1;
		#4 b=1;
		#5 a=1;
		b=1
	end
endmodule	

always语句

  • 包含一个或一个以上的声明语句

  • 仿真过程中只要满足触发条件就可重复执行

  • 格式:always <时序控制> <语句>;

  • 在always中被赋值的之能是寄存器变量,包含一个以上的语句需要在begin—end中或for

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值