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

 找回密码
 注册

手机号码,快捷登录

手机号码,快捷登录

搜帖子
查看: 1165|回复: 6

[求助] verilog-A求助!!!急急急

[复制链接]
发表于 2024-3-16 17:02:12 | 显示全部楼层 |阅读模式

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

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

×
看一个verilog-A程序给我看懵了,求助一下大家

这个state变量声明的时候没有被赋值,为什么一上来就能用if判断它的值呢?

微信图片_20240316165733.png
发表于 2024-3-16 20:23:35 | 显示全部楼层
这说明在运行的时候@cross(V(clk)-Vth,1) 这个事件不是最先发生的,等到它发生的时候,其他的事件已经(somehow)把state这个变量初始化赋值了。这是我猜的,好久不跑Verilog-A了,生疏莫怪。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2024-3-16 20:28:30 | 显示全部楼层


   
amodaman 发表于 2024-3-16 20:23
这说明在运行的时候@cross(V(clk)-Vth,1) 这个事件不是最先发生的,等到它发生的时候,其他的事件已经(som ...


这是SAR ADC的代码,这个代码一直在判断state的值诶,是不是一开始就默认state为0

新建文本文档.txt

5.46 KB, 下载次数: 9 , 下载积分: 资产 -2 信元, 下载支出 2 信元

回复 支持 反对

使用道具 举报

发表于 2024-3-16 21:17:24 | 显示全部楼层


   
qgbfhl 发表于 2024-3-16 20:28
这是SAR ADC的代码,这个代码一直在判断state的值诶,是不是一开始就默认state为0
...




这只能说明在判断语句中,如果不赋值,判断的结果就是为 nil,而不会为 t。


我给你一个最简单的例子,在附图中,首先一个state=1的语句在verilog-A中,这时候,从运行的输出来看,代码中要求打印的句子被反复打印出来了,说明赋值有效。

另一张图里面,state=1的语句被注释掉了,这时候运行的结果是不同的,Spectre不会报错,但是判断语句肯定是 nil了,看不到任何打印的句子。

这就说明一切。
捕获.PNG
捕获1.PNG
回复 支持 反对

使用道具 举报

发表于 2024-3-17 18:20:04 | 显示全部楼层
  "这个state变量声明的时候没有被赋值,为什么一上来就能用if判断它的值呢?"


Verilog-AMS integer預設值是0,  Google 一下也可以找的到:


"Integers are initialized at the start of a simulation depending on how they are used. Integer variables whose values are assigned in an analog process default to an initial value of zero (0)."
回复 支持 1 反对 0

使用道具 举报

 楼主| 发表于 2024-3-19 19:52:24 | 显示全部楼层


   
amodaman 发表于 2024-3-16 21:17
这只能说明在判断语句中,如果不赋值,判断的结果就是为 nil,而不会为 t。


谢谢佬,学到了,以后我就这样验证了!!!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2024-3-19 19:53:12 | 显示全部楼层


   
chungming 发表于 2024-3-17 18:20
"这个state变量声明的时候没有被赋值,为什么一上来就能用if判断它的值呢?"


verilog-A我速成的,有些语法点也不知道,以后google一下就好了,谢谢佬!
回复 支持 反对

使用道具 举报

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

本版积分规则

关闭

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

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

GMT+8, 2025-8-23 14:31 , Processed in 0.016711 second(s), 4 queries , Gzip On, Redis On.

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