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

便捷登录,只需一步

找回密码

  登录   注册  

快捷导航
搜帖子
电子书下载:《避免仪器烧毁的四种方法》【奖励300信元及小米音箱】
查看: 461|回复: 19

[求助] 用VCS仿真时,always列表里的信号明明没有变化,always块里面的信号却变了

[复制链接]
发表于 2020-10-18 01:55:13 | 显示全部楼层 |阅读模式

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

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

x
用VCS仿真,Verdi看波形
always块的敏感列表是SCLK和RST,里面是移位寄存器,有一个时刻这两个信号明明没有变化,里面移位寄存器的值却发生了变化。
其中SCLK的赋值语句是:assign SCLK = clk_en & CLK;
我发现在那个变化的时刻clk_en发生了变化,但其实SCLK并没有变化呀,谁知道这是什么原因呀
感激不尽
image.png image.png 这个最上面是SCLK,第二行是clk_en,第三行是CLK,第四行是移位寄存器,可以看到在白线的时刻数据发生了变化,但是SCLK的值并没有改变
发表于 2020-10-18 09:14:20 来自手机 | 显示全部楼层
clk_en是CLK domajn嗎? 把code貼出來看
回复 支持 反对

使用道具 举报

发表于 2020-10-18 10:20:32 | 显示全部楼层
把glitch打开,你看看有没有glitch就知道了
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-10-18 14:47:53 | 显示全部楼层


   
jasper0608 发表于 2020-10-18 09:14
clk_en是CLK domajn嗎? 把code貼出來看


clk_en是在这里进行赋值的: image.png

回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-10-18 14:49:45 | 显示全部楼层


   
phoenixson 发表于 2020-10-18 10:20
把glitch打开,你看看有没有glitch就知道了


请问这个在哪里打开呀?
回复 支持 反对

使用道具 举报

发表于 2020-10-18 15:23:40 | 显示全部楼层
"其中SCLK的赋值语句是:assign SCLK = clk_en & CLK; "

这样做是铁定有 glitch 的。
加个 ICG。
回复 支持 反对

使用道具 举报

发表于 2020-10-18 15:29:46 | 显示全部楼层
这个很简单啊
你的clk_en在delta时刻发生了1->0->1的跳变

另外门控时钟不是这么写的,你这代码不出问题才奇怪,你写门控时钟的时候需要用锁存器去避免glitch的发生
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-10-18 16:33:03 | 显示全部楼层


   
jake 发表于 2020-10-18 15:23
"其中SCLK的赋值语句是:assign SCLK = clk_en & CLK; "

这样做是铁定有 glitch 的。


这个具体怎么加呢?谢谢
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-10-18 16:48:17 | 显示全部楼层


   
churchmice 发表于 2020-10-18 15:29
这个很简单啊
你的clk_en在delta时刻发生了1->0->1的跳变


谢谢啦
请问这个具体怎么加啊
回复 支持 反对

使用道具 举报

发表于 2020-10-18 21:18:23 | 显示全部楼层
always @(negedge SCLK)
clk_en1 <= clk_en;

assign SCLK = CLK & clk_en1;
回复 支持 反对

使用道具 举报

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

本版积分规则

关闭

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

关闭

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

GMT+8, 2020-10-29 01:47 , Processed in 0.065377 second(s), 7 queries , Gzip On, Redis On.

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表