在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 9439|回复: 12

[原创] system verilog中automatic类型

[复制链接]
发表于 2016-12-14 21:43:53 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
本帖最后由 RichKoala 于 2016-12-14 21:51 编辑

最近由把小绿皮书看了一遍,有些地方又搞清楚了,有些地方还是不太清楚,这次是automatic机制。

避免有些贴代码过程中错误,我做了4个小例子,modelsim可以直接跑,如果谁清楚,可以帮忙看看,最好可以将ieee的解释贴一下,更有助理解,除了第一个能讲通,其他三个出乎意料,非常不理解。大家一起参与下吧。

百度云地址为:http://pan.baidu.com/s/1pL1yQc7


automatic.rar (6.18 KB, 下载次数: 39 )
 楼主| 发表于 2016-12-20 06:48:59 | 显示全部楼层
自己顶一下吧,希望大家一起谈论下
发表于 2016-12-23 16:32:31 | 显示全部楼层
没有仔细研究,不过感觉好像主要和fork....join_none相关。
发表于 2016-12-24 20:01:53 | 显示全部楼层
fork ...join_none里的线程都产生之后才会执行
发表于 2017-1-10 10:48:03 | 显示全部楼层
跟automatic关键字基本没有什么关系,automatic相对于static只是作用范围的区别;
fork-join/join-any/join-none表示的是创建进程后父进程退出的时间的区别;
--fork join父进程在整个区块执行完毕才退出;
--fork join-any父进程在任意子进程执行完毕即退出;
--fork join-none父进程同时创建所有进程,子进程开始执行的时间是 父进程阻塞或者终结的时候;
fork 块内的 同一begin-end内是顺序执行的;
由于在SV中变量声明与执行存在仿真时间意义上的分离;所以在fork块内的变量声明必须仔细思考是否符合你的期望行为;

在你的例子中使用的是fork join-none,如果其中使用begin end则变量声明会产生于所有子进程都被生成的时刻,因此所有的值都是一样的;
如果不使用begin end,所有的子进程表征的物理意义为同时产生,则打印值的先后顺序并没有意义,只要不同即可;
发表于 2018-12-7 00:07:59 | 显示全部楼层
thanks
发表于 2018-12-18 19:04:17 | 显示全部楼层
发表于 2019-2-15 08:38:54 | 显示全部楼层
baidu !!!
发表于 2019-2-17 19:46:34 | 显示全部楼层
回复 1# RichKoala


   SASADADADAD
发表于 2019-2-17 19:49:16 | 显示全部楼层
回复 9# heiyanquan


   DSADASDASDADA
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /2 下一条


小黑屋| 手机版| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-11-22 17:01 , Processed in 0.023531 second(s), 8 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表