verilog学习笔记(四)块语句

本文详细介绍了Verilog中的块语句,包括Begin-end、Fork-join、条件语句(if、case)和循环语句的使用,以及块命名、禁用和生成块的概念,强调了在硬件编程中同步异步指令的执行差异和注意事项。

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

verilog学习笔记


前言

本次主要介绍Verilog的块语句概念,块语句对应到高级语言中其实就是多行指令的结构,在C语言等高级语言中由于代码的执行是逐行完成的,而硬件语言涉及到逻辑电路的控制,同步与异步指令的执行效果会有很大差异,因此块语句需要额外去介绍。


一、块语句的基本结构

块语句是将多条语句组合在一起的结构,一般有2种表示形式。

1.Begin end语句

用于顺序块语句的声明

进入后按顺序运行块内语句

每条语句的延迟是按照前一条语句的运行延迟时间决定

运行到最后才离开块结构

2.Fork join语句

用于并行块语句的声明

并行运行内部所有语句

每个语句的延迟是从进入块开始算的

延迟语句可以给赋值语句提供时序

在运行完最后一句或遇到disable结束

3.块名

可以在begin或fork后面给块命名

可以在块内定义局部变量

允许块结构被其他语句调用

Verilog里的所有变量都是静态的,只有一个存储地址

当把一个块嵌入另一个块中需要注意起始和结束时间,只有块运行结束后面的语句才会运行

4.条件语句

4.1 if语句

if语句有3种使用的形式分别是:

1单独使用if

2if else一起使用

3多个条件的if else语句

if(a>b)
       out=in;
#1
if (a>b)
      out1=in1;
else
       out2=in2;
#2
if ()
...
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值