文章图片
文章图片
文章图片
文章图片
文章图片
文章图片
逻辑值
逻辑0:表示低电平 , 一般对应电路GND逻辑1:表示高电平 , 一般对应电路VCC逻辑X:表示未知 , 可能是高电平 , 也可能是低电平逻辑Z:表示高阻态 , 外部没有激励信号 , 是个悬空状态数字进制格式Verilog 数字进制格式包括二进制(b)、八进制(o)、十进制(d)和十六进制(h)
一般常用的为二进制、十进制、以及十六进制
二进制表示为: 4'b0101 表示 4 位二进制数字 0101
十进制表示为: 4'd2 表示4位十进制数字2(二进制0010)
十六进制表示为: 4'ha 表示4位十六进制数字a(二进制1010)
16'b1001_1010_1010_1001 = 16'h9AA9
标识符标识符 :用于定义 模块名、端口名、信号名 等 。
1、标识符可是任意一组 字母、数字、$符号和_(下划线)符号 的组合;
2、标识符的第一个字符必须是字母或者下划线;
3、标识符区分大小写 , 不建议大小写混合使用;
数据类型在 verilog 中 , 主要有三大类数据类型
寄存器类型reg [31:0
delay_cnt; //延时计数 32位位宽
reg key_reg; //没有指定位宽 , 默认位宽为1
reg类型数据 , 只能在always语句和 initial语句中被赋值 。
线网类型参数类型运算符算术运算符
关系运算符
逻辑运算符
条件操作符
(类似三目运算符)位运算符
移位运算符
左移时 , 位宽增加;右移时 , 位宽不变 。 拼接运算符
例如:c = {ab[3:0
;运算符优先级
结构语句
initial 语句在模块中只执行一次 。 常用于测试文件编写 , 用于产生仿真测试信号(激励信号) , 或者用于对存储器变量赋初值 。 always 语句在持续活动 。 只有与时序结合才能正常运行 。 沿触发的always赋值语句条件语句if 语句case 语句- 分支表达式的值互补相同
- 表达式的位宽必须相等 , 不能用 'bx , 代替 n'bx ('bx , 默认表示32位数据)
- \"casez\" 比较时 , 不考虑表达式中的高阻值 z
- \"casex\" 比较时 , 不考虑表达式中的高阻值 z 和 不定值 x
- if ...
- if ... else ...
- if ... else if ... else ...
- 条件语句必须在过程块中使用(过程块语句是指有 initial 和 always 语句引导的块语句)
- if语句对表达式真值判断:若为1 , 为真;若非1(为0 , x , z) , 则为假;
- if 和 else 内的操作语句 , 可以使用 begin 、 end , 包含多个语句
- 允许 if 语句嵌套
推荐阅读
- 条例|职业本科与普通本科学士学位有区别吗
- 赵倩|课后服务让寒假暖意融融——柳林县新希望学校开展寒假免费课后服务
- 隔离点|天津一高校成隔离点粗暴转运学生物品,网友喊话去“抄作业”
- 郑州大学|郑州大学:留校郑大学生春节三天免费吃饭
- 广东|广东3年投18亿元助职教扩容提质
- 课堂|天津推出寒假线上美育实践课堂
- 质量|留住县中教师不能只靠禁令
- 中国|期末考试变 “闯关游戏”
- 合理安排|注意!寒假大、中、小学生和幼儿健康生活提示要诀来了
- 变化|1—9年级语文教材下册,册册都有新变动!