Verilog的基础语法

Verilog入门

模块表达

module 模块名(模块端口名表);

     模块端口和模块功能描述

input  端口名1,端口名2,…;

output  端口名1,端口名2,…;

inout 端口名1,端口名2,…;

input[msb:lsb] 端口名1,端口名2,…;

endmodule

//标识符:由英文字母、数字、下划线、$组成,

由字母下划线开始,不能有双下划线。   

//Intput outout都是默认wire型

//逻辑操作符号

&    与            |     或          ~非         ^  异或     ~^   同或

//Always里面被赋值的都是reg类型变量

always

凡是在always里面赋值的变量都是寄存器类型的变量

顺序语句一定要写在always里面,即:任何顺序语句都要放在结构语句里面

解释一下always语句的含义:always语句本质上对实际电路并行运行的一种模拟

always括号里面标记着各种输入信号的激励,每一次激励的发生都会触发一次请求事件

然后执行一遍always里面的顺序语句。相当于网页页面中的添加事件发生

 

//块语句begin_ end:相当于C语言的花括号

//任何变量有4种逻辑状态

0 1  Z高阻态   X不确定

 

// assign

assign 连续赋值语句

用前面的case条件判断来类比此处的assign语句

assign 目标变量名 = 驱动表达式

 

// 等式操作符

==等于   ===全等

//过程赋值语句

1阻塞式赋值:  =   立即得到值,顺序性(当执行某一语句时,其他语句不可能同时执行           即顺序执行

2)非阻塞式赋值:<=    即同时执行

总结:

1:组合逻辑,使用 “阻塞赋值”。

2:时序逻辑,使用“非阻塞赋值”。

 

// assign

assign 连续赋值语句

assign 目标变量名 = 驱动表达式

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值