[問題] verilog inout port寫法

看板Electronics作者 (lone3300201)時間11年前 (2012/10/16 11:04), 編輯推噓2(203)
留言5則, 3人參與, 最新討論串1/1
想請問一下verilog的寫法 在我自己的電路"TOP"有一個inout port(HDATA),由HWRITE控制, HRDATA為內部的output pin,HWDATA為內部的input pin,我的寫法如下 assign HDATA=(!HWRITE)? HRDATA : 32'hzzzzzzzz; always @ (negedge HWRITE) HWDATA<=HDATA; 在testbench的寫法如下 assign HDATA = (HWRITE)? HWDATA : 32'hzzzzzzzz; 遇到的狀況,在HDATA為輸入時,看testbench的HDATA是有值的 但是看TOP的HDATA一直維持高阻抗,也就是說我要把值送給我的電路 可是我的電路維持高阻抗沒有餵進去,導致電路無法運算 是我的寫法哪裡有問題? 謝謝! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.116.216.51

10/16 12:26, , 1F
你這樣寫 HRDATA還沒進到HDATA 就把值送給HWDATA了
10/16 12:26, 1F

10/16 15:49, , 2F
資料應該要用clk去latch,而不是用HWRITE
10/16 15:49, 2F

10/17 00:55, , 3F
你要做tri-AHB bus喔? 意見同上,你的問題是硬體沒先設計
10/17 00:55, 3F

10/17 00:57, , 4F
個人意見 如果你不知道你寫的RTL會合出什麼硬體就在寫code
10/17 00:57, 4F

10/17 00:58, , 5F
基本上就是在亂搞
10/17 00:58, 5F
謝謝樓上的指教,目前問題已經解決了,我的PAD元件選錯,導致我沒辦法寫值到電路裡! ※ 編輯: lone3300201 來自: 140.116.216.51 (10/17 15:38)
文章代碼(AID): #1GVCwY6V (Electronics)