阻塞赋值和非阻塞赋值的区别_Wxz2021
阻塞赋值和非阻塞赋值...
1 阻塞赋值
? ? ? ? 是顺序执行的,即上面一条语句执行完成之后,在执行下一行语句。
2 非阻塞赋值
? ? ? ? 是并行执行的,即第一行语句执行的时候,并不阻止下面语句的执行。
3 例程
? ? ? ? 初始化m=1,n=2,p=3;分别执行以下语句
(1)阻塞赋值
? ? ? ? ? begin
??????????????m=n;
? ? ? ? ? ? ??n=p;
? ? ? ? ? ? ? ?p=m;
? ? ? ? end
(2)非阻塞赋值
? ? ? ? begin
??????????????m<=n;
? ? ? ? ? ? ??n<=p;
? ? ? ? ? ? ? ?p<=m;
? ? ? ? end
(3)结果分析
? ? ? ? 第一类输出结果为m=2;n=3;p=2;(在给p赋值时m=2已经生效)
? ? ? ? 第二类输出结果为m=2;n=3;p=2;(在begin-end过程中,m=2一直无效而是在整体执行完后才生效)
(4)使用方法
? ? ? ? 在描述组合逻辑的always块中用阻塞赋值=,综合成组合逻辑的电路结构;
????????????????这种电路结构只与输入电平的变化有关系。
? ? ? ? 在描述时序逻辑的always块中用非阻塞赋值<=,综合成时序逻辑的电路结构;
? ? ? ? ? ? ? ? 这种电路结构往往与触发沿有关系,只有在触发沿时才可能发生赋值的变化。
注意:在同一个always块中不要即用非阻塞赋值又用阻塞赋值
? ? ? ? 不允许在多个always块中对同一个变量进行赋值!
相关文章
- 爬虫攻守道 - 2023最新 - Python Selenium 实现 - 数据去伪存真,正则表达式谁与争锋 - 爬取某天气网站历史数据_biaobro
- 40 行 Python 代码,写一个 CPU!_毕加锁
- Day07 - 面向对象_李好秀
- 【iOS】事件响应链&传递链_ios事件传递与响应链_kochunk1t
- 我用python写了个小病毒,老板再也不敢扣我工资啦_阿?的小东东
- 正则表达式应用(以手机号为例)_AWZwoody_手机号正则表达式
- 如何使用Mock进行单元测试_诺天高云淡_单元测试mock使用方法
- 大语言模型集成工具 LangChain_kebijuelun
- RN软件版本更新,安装react-native-code-push后运行报错_山鬼taro_could not resolve project :react-native-code-push.
- 103 选择合适的 Ruby 代码编辑器【Rails后端开发训练营】_朋朋dev_ruby编辑器
- DB SQL 转 ES DSL(支持多种数据库常用查询、统计、平均值、最大值、最小值、求和语法)..._C3Stones
- 详解DFS(深度优先搜索)算法+模板+指数+排列+组合型枚举+带分数四道例题_山上雪?
- Vue3【style-scoped、style-module、类和内联样式、props、练习】_天亮^说晚安-
- aosp下载、编译、刷机和单编framework(android 12)_暴走小黑子
- Spring获取Bean的9种方式_Java知识库
- Redux:优点和缺点_我是不会选择做一个普通人的_redux优缺点