赞
踩
逻辑 0:表示低电平,也就是对应我们电路的 GND;
逻辑 1:表示高电平,也就是对应我们电路的 VCC;
逻辑 X:表示未知,有可能是高电平,也有可能是低电平;
逻辑 Z:表示高阻态,外部没有激励信号是一个悬空状态。
1.寄存器类型:最常用的就是 reg 类型,默认初始值为不定值x,它只能在 always 语句和 initial 语句中被赋值。
//reg define
reg [31:0] delay_cnt; //延时计数器
reg key_flag ; //按键标志
2.线网类型:表示 Verilog 结构化元件(例如门)之间的物理连线。线网类型的变量不能储存值,它的值是由驱动它的元件所决定的。常使用 tri 和 wire类型。
//wire define
wire data_en; //数据使能信号
wire [7:0] data ; //数据
3.参数类型:参数类型是一个常量,用parameter定义
//parameter define
parameter DATA_WIDTH = 8; //数据位宽为 8 位
1.算术运算符
2.关系运算符
3.逻辑运算符
4.条件运算符
5.位运算符
6.移位运算符
7.拼接运算符
8.运算符的优先级
Verilog的基础单元是模块(block),
功能定义部分有三种方法:
1.assign语句:描述组合逻辑
2.always语句:描述组合/时序逻辑
3.例化实例元件
上述三种逻辑功能是并行的
模块调用:
写一个模块
将模块实例化,将输入输出引脚连接到对应位置
在描述组合逻辑的always块中用阻塞赋值=,综合成组合逻辑的电路结构;
在描述时序逻辑的always块中用非阻塞赋值<=,综合成时序逻辑的电路结构;
if_else语句
if和else后面的操作语句可以用begin和end包含多个语句。
注意:
1、允许一定形式的简写,如:
if(a)等同于if(a==1):
if(!a)等同于if(a!=1);
2、if语句对表达式的值进行判断,若为0,x,z,则按假处理,若为1,按真处理。
case语句(多分支选择语句)
状态机(State Machine)指在有限个状态之间按一定规律转换的时序电路。
状态机设置的四段论:
独热码:每个状态只有一个寄存器置位,译码逻辑简单
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。