作者yuehyueh24 (月月)
看板Electronics
标题[问题] verilog register奇怪变化
时间Thu Aug 6 15:28:56 2020
目前正在练习写axi4 interface的功能
但是遇到了我的FSM中的register变化不如我的预期
以下是我的code以及波形图
奇怪的点是wcs 没有跟着wns在动
希望能有人可以帮我找出问题在哪
https://i.imgur.com/AxZlnmD.jpg
https://i.imgur.com/ZFafWzl.jpg
https://i.imgur.com/u7ApU2r.jpg
-----
Sent from JPTT on my iPhone
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 140.113.68.235 (台湾)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Electronics/M.1596698941.A.BD9.html
1F:推 r901042004: 应该是testbench的问题,把input设为negedge改值 08/06 17:03
2F:→ r901042004: 应该就没问题了 08/06 17:04
3F:→ yuehyueh24: 我tb 是negative edge给值 之後会产生一个write burs 08/06 18:35
4F:→ yuehyueh24: t的讯号让state从idle进入w_w 08/06 18:35
5F:→ bh2142: 你这样我们不太好隔空抓药 08/06 20:46
6F:→ yuehyueh24: 我把整个档案连同testbench都放到云端了 08/06 20:59
8F:推 bakerly: 你的awready_m_inf和awvalid_m_inf是不是和wns =>wcs用不 08/06 21:39
9F:→ bakerly: 同个clk产生的 08/06 21:39
10F:→ yuehyueh24: 我全部都是用同一个clock source在跑的 08/06 21:49
11F:推 r901042004: 你的PATTERN.v产生的讯号也要用<=才可以 08/06 22:46
13F:→ r901042004: always@(posedge clk)里面的讯号需要改 clk本身不用 08/06 22:47
14F:推 mmonkeyboyy: blocking / non-blocking assignment 08/06 22:52
15F:推 r901042004: 常常模拟出问题都是tb用blocking但是design用 08/06 22:53
16F:→ r901042004: non-blocking 08/06 22:53
17F:→ yuehyueh24: 喔喔原来是这样 看来我tb写的太随便了 谢谢r大帮忙 08/06 22:58
18F:推 r901042004: 你改成tb用negedge 或是加上delay都可以 08/06 23:02
19F:→ r901042004: 不客气~ 08/06 23:02
20F:推 mmonkeyboyy: = = 这根本该写到Q&A里了 这算非常常犯的错 08/06 23:03
21F:推 r901042004: m大要不要写一篇请版主置底 哈哈 08/06 23:12
22F:→ yuehyueh24: 抱歉我太粗心了 不过至少学到一课了 08/06 23:19
23F:推 mmonkeyboyy: 最近太忙没空写 XD 我有写在那里我忘了 网上某处 08/06 23:20
24F:→ mmonkeyboyy: 没事 这也不是你的错 这跟教你的人比较有关 08/06 23:21
25F:推 nonodamn: 想借此篇问negedge给值跟delay後给值哪种方式较好? 08/07 16:25
26F:→ nonodamn: 主要针对合成完的post-sim 08/07 16:27
27F:推 mmonkeyboyy: 这要看你的设计 我一般都是建议初期规格定什麽就用 08/07 23:21
28F:→ mmonkeyboyy: 一般来说 原本电路是posedge 就别做什麽negedge 08/07 23:22
29F:→ mmonkeyboyy: 我主要都是希望能和直实电路有连通性 就算写的TB 08/07 23:23
30F:→ mmonkeyboyy: 不是真正的电路也一样 愈 intitive的 v code在後期 08/07 23:24
31F:→ mmonkeyboyy: 做design space exploration/verification/sign off 08/07 23:24
32F:→ mmonkeyboyy: 等 出了状况时可以很清楚知道是那个环节错了 08/07 23:24
33F:→ mmonkeyboyy: 不过这个是我自己工作的法则 08/07 23:37
34F:→ mmonkeyboyy: sunburst design有一些东西可以看看 尤其是mismatch 08/07 23:37
35F:→ mmonkeyboyy: 通常我在教人写code还蛮GY的 限制很多 这样出错好 08/07 23:38
36F:→ mmonkeyboyy: 找非常多 一般我的postsim 都是之前就做好on/off 08/07 23:39
37F:→ mmonkeyboyy: 一些东西而已 都是compiling flags 08/07 23:40
38F:推 r901042004: 基本上是给合成设定的input/output delay值 08/08 00:54
39F:→ r901042004: 也就是Spec需要的delay值 08/08 00:55