verilog 行为级建模

行为级建模

随着设计复杂程度不断提高门级建模变得极其复杂,行为级建模更加灵活简单。
在Verilog中有两种结构化的过程语句:initial语句和always语句,他们是行为级建模的两种基本语句。其他所有的行为语句只能出现在这两种结构化过程语句里。
Verilog在本质上是并发而非顺序的,Verilog中的各个执行流程并发执行,而不是顺序执行的。每个语句代表一个独立的执行过程,每个执行过程从仿真时间0开始执行。并且两种语句不能嵌套使用。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
always语句包括的所有行为语句构成了一个always语句块。该always语句块从仿真0时刻开始顺序执行其中的行为语句;在最后一条执行完成后,再次开始执行其中的第一条语句,如此循环往复,直至整个仿真结束。always语句通过用于对数字电路中一组反复执行的活动进行建模。
在这里插入图片描述

过程赋值语句

过程赋值语句的更新对象是寄存器,整数,实数,时间变量。这些类型的变量在被赋值后,其值将保存不变,直到被其他过程赋值语句富裕新值。
过程语句在执行到的时候才会起作用。
在这里插入图片描述
在这里插入图片描述
阻塞赋值语句按顺序执行,它不会阻塞其后并行块中语句的执行。
阻塞赋值语句使用“=”作为赋值符
count=count+1按顺序在最后执行。由于阻塞赋值语句是按顺序执行的。
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
利用非阻塞赋值来避免竞争

在这里插入图片描述
非阻塞赋值在于实现某件事情发送后将多个数据的并发传输、带来的问题是引起仿真速度下降以及内存使用量增加。

7.3 时序控制

时序控制是指,让设计者指定过程赋值发生的时刻,进而控制仿真时间如何推进。Verilog提供了三种时序控制方法:

  • 基于延迟的时序控制
  • 基于事件的时序控制
  • 电平敏感的时序控制

基于延迟的时序控制

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

基于事件的时序控制

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

条件语句

条件语句同c语言
在这里插入图片描述
在这里插入图片描述

多路分支语句

同c语言
在这里插入图片描述
在这里插入图片描述
外加语句块配合,输出多个信号
在这里插入图片描述
他的一种变形,更加模糊匹配也更加灵活。
在这里插入图片描述

循环语句

在这里插入图片描述在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
避免发生死循环,

顺序块和并行块

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
并行块内4条语句都从仿真为0时刻开始。不需要等待上一条语句执行完成
在这里插入图片描述

并行块中对同一资源的竞争
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在其他模块中禁用命名块。
在这里插入图片描述

生成块

没有理解这个,是什么意思。
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值