[問題] verilog register奇怪變化

看板Electronics作者 (月月)時間3年前 (2020/08/06 15:29), 編輯推噓12(12027)
留言39則, 6人參與, 3年前最新討論串1/1
目前正在練習寫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://www.ptt.cc/bbs/Electronics/M.1596698941.A.BD9.html

08/06 17:03, 3年前 , 1F
應該是testbench的問題,把input設為negedge改值
08/06 17:03, 1F

08/06 17:04, 3年前 , 2F
應該就沒問題了
08/06 17:04, 2F

08/06 18:35, 3年前 , 3F
我tb 是negative edge給值 之後會產生一個write burs
08/06 18:35, 3F

08/06 18:35, 3年前 , 4F
t的訊號讓state從idle進入w_w
08/06 18:35, 4F

08/06 20:46, 3年前 , 5F
你這樣我們不太好隔空抓藥
08/06 20:46, 5F

08/06 20:59, 3年前 , 6F
我把整個檔案連同testbench都放到雲端了
08/06 20:59, 6F

08/06 21:00, 3年前 , 7F

08/06 21:39, 3年前 , 8F
你的awready_m_inf和awvalid_m_inf是不是和wns =>wcs用不
08/06 21:39, 8F

08/06 21:39, 3年前 , 9F
同個clk產生的
08/06 21:39, 9F

08/06 21:49, 3年前 , 10F
我全部都是用同一個clock source在跑的
08/06 21:49, 10F

08/06 22:46, 3年前 , 11F
你的PATTERN.v產生的訊號也要用<=才可以
08/06 22:46, 11F

08/06 22:46, 3年前 , 12F

08/06 22:47, 3年前 , 13F
always@(posedge clk)裡面的訊號需要改 clk本身不用
08/06 22:47, 13F

08/06 22:52, 3年前 , 14F
blocking / non-blocking assignment
08/06 22:52, 14F

08/06 22:53, 3年前 , 15F
常常模擬出問題都是tb用blocking但是design用
08/06 22:53, 15F

08/06 22:53, 3年前 , 16F
non-blocking
08/06 22:53, 16F

08/06 22:58, 3年前 , 17F
喔喔原來是這樣 看來我tb寫的太隨便了 謝謝r大幫忙
08/06 22:58, 17F

08/06 23:02, 3年前 , 18F
你改成tb用negedge 或是加上delay都可以
08/06 23:02, 18F

08/06 23:02, 3年前 , 19F
不客氣~
08/06 23:02, 19F

08/06 23:03, 3年前 , 20F
= = 這根本該寫到Q&A裡了 這算非常常犯的錯
08/06 23:03, 20F

08/06 23:12, 3年前 , 21F
m大要不要寫一篇請版主置底 哈哈
08/06 23:12, 21F

08/06 23:19, 3年前 , 22F
抱歉我太粗心了 不過至少學到一課了
08/06 23:19, 22F

08/06 23:20, 3年前 , 23F
最近太忙沒空寫 XD 我有寫在那裡我忘了 網上某處
08/06 23:20, 23F

08/06 23:21, 3年前 , 24F
沒事 這也不是你的錯 這跟教你的人比較有關
08/06 23:21, 24F

08/07 16:25, 3年前 , 25F
想借此篇問negedge給值跟delay後給值哪種方式較好?
08/07 16:25, 25F

08/07 16:27, 3年前 , 26F
主要針對合成完的post-sim
08/07 16:27, 26F

08/07 23:21, 3年前 , 27F
這要看你的設計 我一般都是建議初期規格定什麼就用
08/07 23:21, 27F

08/07 23:22, 3年前 , 28F
一般來說 原本電路是posedge 就別做什麼negedge
08/07 23:22, 28F

08/07 23:23, 3年前 , 29F
我主要都是希望能和直實電路有連通性 就算寫的TB
08/07 23:23, 29F

08/07 23:24, 3年前 , 30F
不是真正的電路也一樣 愈 intitive的 v code在後期
08/07 23:24, 30F

08/07 23:24, 3年前 , 31F
做design space exploration/verification/sign off
08/07 23:24, 31F

08/07 23:24, 3年前 , 32F
等 出了狀況時可以很清楚知道是那個環節錯了
08/07 23:24, 32F

08/07 23:37, 3年前 , 33F
不過這個是我自己工作的法則
08/07 23:37, 33F

08/07 23:37, 3年前 , 34F
sunburst design有一些東西可以看看 尤其是mismatch
08/07 23:37, 34F

08/07 23:38, 3年前 , 35F
通常我在教人寫code還蠻GY的 限制很多 這樣出錯好
08/07 23:38, 35F

08/07 23:39, 3年前 , 36F
找非常多 一般我的postsim 都是之前就做好on/off
08/07 23:39, 36F

08/07 23:40, 3年前 , 37F
一些東西而已 都是compiling flags
08/07 23:40, 37F

08/08 00:54, 3年前 , 38F
基本上是給合成設定的input/output delay值
08/08 00:54, 38F

08/08 00:55, 3年前 , 39F
也就是Spec需要的delay值
08/08 00:55, 39F
文章代碼(AID): #1VAx4zlP (Electronics)