verilog中always和initial的区别

verilog中的语句
赋值语句: 阻塞赋值语句(=)、非阻塞赋值语句(<=)
块语句 : 顺序块(begin…end)、并行块(fork…join)
条件语句: if…else语句、case语句
循环语句: forever语句 repeat语句、while语句、for语句
生成语句: generate语句(循环生成、条件生成、case生成)

结构说明语句:
verilog语言中的任何过程模块都从属于以下四种结构的说明语句:
1、initial说明语句
2、always说明语句
3、task说明语句
4、function说明语句

initial不可综合,always可以综合
Initial是为测试而生,只能用于测试,只执行一次;

module/endmodule, interface/endinterface硬件世界
program/endprogram, class/endclass软件世界

always过程块是用来描述硬件时序和组合电路,因此可以在module和interface中使用;
不可以在always中初始化变量,initial只执行一次;

initial和always一样,无法延迟执行,仿真一开始,同时执行,无顺序可言。
initial不可以存在硬件设计代码中;
initial可以在module/interface/program中使用;
用begin…end包住,initial为测试而生。

  • 1
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值