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 ()
...