Verilog 入门(2)

一、assign语句
连续赋值语句,其总是处于激活状态,只要表达式中的操作数有变化,立即进行计算和赋值。赋值目标必须是wire型的,wire表示电路间的连线
运算符
1.算数型运算符
加,减,乘,除,取余,求幂

2.逻辑型运算符
!逻辑非,&&逻辑与,||逻辑或.

Y = !(3>2)
Y = (2<3) && (5>6)
Y = (2<3) || 

3.关系运算符

>,<,>=,<=,//运算结果为 0,1,x 

4.等价运算符

== 等于 Y=(3==2)
!= 不等于 Y=(3!=2)
=== case等于
!== case不等

case等和case不等的结果只能是1或0,对x、z认为是确定的值参与比较
5.按位运算符

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

当操作数位宽不同,位宽小的会自动在左侧添0补齐
6.缩减运算符

&,~&,|,~|,^,`^

缩减运算的操作数只有一个,将该数的各位从左至右进行逻辑运算,结果只有一位
7.移位运算符

>> 
<<
>>> 算数右移
<<< 算数左移
操作数 移位符 n;

只有对有符号数的算数右移自动补符号位,其他移位均自动补零。
8.拼接运算符`

{} 拼接
{{}}复制拼接
Y = {4'b1001,2'b11} , 结果为100111

9.条件运算符

表达式1 ? 表达式2 : 表达式3 //表达式1 结果为真则执行表达式2,否则为表达式3,表达式结果为x ,则结果为x

二 always语句
always语句与下面的与语句构成过程块,过程块中的复制语句称为过程赋值语句
always语句块不是总处于激活状态,当满足激活条件时才被执行,且赋值目标为reg型
1.激活条件由敏感信号条件表决定,当敏感条件满足时,过程块被激活
敏感语句有两种,边沿敏感,电平敏感
边沿敏感
(posedge 信号名)信号上升沿到来
(negedge 信号名)信号下降沿到来
电平敏感
(信号列表任意一个信号发生变化)eg: (a,b,c) // a,b,c任意一个发生变化
2.assign语句 与always语句的主要区别
assign总处于激活状态,always语句满足条件的情况下处于激活状态,
assign目标时wire型,always目标是reg型
3.always语句除了可以使用表达式赋值以外,还可以使用if case等行为描述语句,能够描述边沿变化,功能比assign语句更强大
4.always语句块如果有多条赋值语句必须将其用begin end 包括起来,赋值语句有阻塞赋值和非阻塞赋值。
阻塞赋值:语句顺序执行;赋值符号:=
非阻塞赋值: 所有语句并行执行;赋值符号:<=
三、底层模块和门原语调用
1.底层模块调用格式 : 底层模块名 例化名 (端口映射);
2.端口映射方法:端口名关联法,位置关联法
端口名关联发:(.底层端口名1(外接信号名1),.底层端口名2(外界信号名2),…)
名字对应,不必按底层模块的端口信号列表顺序
顺序法格式
(外界信号1,外接信号2,…)
3.Verilog语言已经设计好的门,称为门原语
格式:门原语句 实例名(端口连接)实例名可剩,端口连接只能采用顺序法,输出在前,输入在后
四 、Verilog中的数据类型:线网类(net类),变量类(variable类)。
1.两者区别
net型用于连续赋值的赋值目标或门原语输出,仿真时不需要分配内存空间,varible型用于过程赋值的赋值目标,仿真时需要分配内存空间。
2.如何定义信号类型
a 连续赋值或门原语赋值或例化语句赋值定义为net型;过程赋值定义为variable型
b input信号和input信号定义成net型,output两者皆可,取决于如何对其赋值
五 数字表示格式
无符号数表示方法:<位宽>’<进制><数字>
有符号数表示方法:<位宽>’<数字>
六 Verilog中的顺序语句
1.if语句类型
参考c语言中if语句类型
2.构建完整if语句的方法,不完整会出现时序电路
a 加else
b 设初值
2.case语句
格式参考c语言
七、Verilog语言的描述风格、
1.风格分类
a 结构化描述(门级描述):全部用门原语和底层模块调用。
b 数据流级描述(全部用assign语句)
c 行为级描述(全部用always语句配合if,case语句)
2.其他规定
a 关键字
Verilog语言中预定义的特殊含义的英文词语
b 标识符
用户自定义的信号名、模块名,Verilog区别大小写
c 文件取名和存盘
Verilog文件拓展名为.v,不要求文件名和模块名一致,但最好一致
d注释

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值