看板 Electronics 關於我們 聯絡資訊
目前正在練習寫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
r901042004: 應該是testbench的問題,把input設為negedge改值 08/06 17:03
r901042004: 應該就沒問題了 08/06 17:04
yuehyueh24: 我tb 是negative edge給值 之後會產生一個write burs 08/06 18:35
yuehyueh24: t的訊號讓state從idle進入w_w 08/06 18:35
bh2142: 你這樣我們不太好隔空抓藥 08/06 20:46
yuehyueh24: 我把整個檔案連同testbench都放到雲端了 08/06 20:59
yuehyueh24: https://reurl.cc/0oVZmM 08/06 21:00
bakerly: 你的awready_m_inf和awvalid_m_inf是不是和wns =>wcs用不 08/06 21:39
bakerly: 同個clk產生的 08/06 21:39
yuehyueh24: 我全部都是用同一個clock source在跑的 08/06 21:49
r901042004: 你的PATTERN.v產生的訊號也要用<=才可以 08/06 22:46
r901042004: https://i.imgur.com/ZTJIIZK.png 08/06 22:46
r901042004: always@(posedge clk)裡面的訊號需要改 clk本身不用 08/06 22:47
mmonkeyboyy: blocking / non-blocking assignment 08/06 22:52
r901042004: 常常模擬出問題都是tb用blocking但是design用 08/06 22:53
r901042004: non-blocking 08/06 22:53
yuehyueh24: 喔喔原來是這樣 看來我tb寫的太隨便了 謝謝r大幫忙 08/06 22:58
r901042004: 你改成tb用negedge 或是加上delay都可以 08/06 23:02
r901042004: 不客氣~ 08/06 23:02
mmonkeyboyy: = = 這根本該寫到Q&A裡了 這算非常常犯的錯 08/06 23:03
r901042004: m大要不要寫一篇請版主置底 哈哈 08/06 23:12
yuehyueh24: 抱歉我太粗心了 不過至少學到一課了 08/06 23:19
mmonkeyboyy: 最近太忙沒空寫 XD 我有寫在那裡我忘了 網上某處 08/06 23:20
mmonkeyboyy: 沒事 這也不是你的錯 這跟教你的人比較有關 08/06 23:21
nonodamn: 想借此篇問negedge給值跟delay後給值哪種方式較好? 08/07 16:25
nonodamn: 主要針對合成完的post-sim 08/07 16:27
mmonkeyboyy: 這要看你的設計 我一般都是建議初期規格定什麼就用 08/07 23:21
mmonkeyboyy: 一般來說 原本電路是posedge 就別做什麼negedge 08/07 23:22
mmonkeyboyy: 我主要都是希望能和直實電路有連通性 就算寫的TB 08/07 23:23
mmonkeyboyy: 不是真正的電路也一樣 愈 intitive的 v code在後期 08/07 23:24
mmonkeyboyy: 做design space exploration/verification/sign off 08/07 23:24
mmonkeyboyy: 等 出了狀況時可以很清楚知道是那個環節錯了 08/07 23:24
mmonkeyboyy: 不過這個是我自己工作的法則 08/07 23:37
mmonkeyboyy: sunburst design有一些東西可以看看 尤其是mismatch 08/07 23:37
mmonkeyboyy: 通常我在教人寫code還蠻GY的 限制很多 這樣出錯好 08/07 23:38
mmonkeyboyy: 找非常多 一般我的postsim 都是之前就做好on/off 08/07 23:39
mmonkeyboyy: 一些東西而已 都是compiling flags 08/07 23:40
r901042004: 基本上是給合成設定的input/output delay值 08/08 00:54
r901042004: 也就是Spec需要的delay值 08/08 00:55