作者mmonkeyboyy (great)
看板Electronics
標題Re: [問題] Verilog inout 高阻抗 下線合成問題
時間Fri Dec 21 22:12:12 2018
其實你這個問題非常好 這是最近很久沒看到的專業問題了
(當然還加上野狼大的回答)
我就補充一下吧
建議是不做Tri-state類的東西
有如下的理由(照順序來)
1. Synthesis
2. STA
3. DFT
4. Long wire
1. 主要是你在做的時後要設定一堆東西
2. Timing 你的所有線都要特別寫隔開
3. 要一組一組分開來做
4. 這接近無解 (如果你是直接一丟就走人那種)
能做的理由 一般都是為了省面積才做
省多少嘛.... 這有辦法算的 但根據經驗上來說要在某區間才能做
很久以前我在做某案子時是要10~30之間才有利 不然也沒搞頭
如果是IO就跟野狼大講的一樣 用叫的就好了
FPGA裡是可以這樣搞
但真實跑出來時它是用一堆MUX跟CB類的東西去做
也有類似STA的問題
另一種做法就是直接設一個類似clock gating/power gating的東西去關了
※ 引述《q684351852 (都是好吃的)》之銘言:
: 標題: [問題] Verilog inout 高阻抗 下線合成問題
: 時間: Fri Dec 21 15:19:20 2018
:
: 大家好,小弟觀念不是很好,虛心求教:
:
: 請問verilog中宣告inout,當in的時候如果等於1'bz(高阻抗)請問這樣可以要下線合成嗎
: ?(fpga是可以,但下線做成ic我看cic的書說高阻抗Z的訊號會變成don’t care)還是說
: 需要怎麼修改呢?謝謝!
:
: 範例的程式碼如下:
: module test(
: inout wire IO
: inupt ctrl
: );
:
: reg a;
:
: assign IO= ctrl?a:1'bz;
:
: endmodule
:
: 就是說我要讀的時候把inout設成高阻抗當input,我要output的時候接到我要output的地
: 方,請問這樣可以下線嗎?
: 還是說inout要當input的時候,程式應該怎麼寫?
:
: --
: ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.200.201.170
: ※ 文章網址: https://www.ptt.cc/bbs/Electronics/M.1545376762.A.C91.html
: ※ 編輯: q684351852 (1.200.201.170), 12/21/2018 17:52:31
: → wildwolf: tri-state buffer 在自動佈局繞線的時候很難處理, 12/21 19:49
: → wildwolf: 而且你就用兩個port一個輸入,一個輸出就好了,幹嘛合併 12/21 19:50
: → wildwolf: 如果這是I/O pad,那就選用有 Bidirectional I/O pad 12/21 19:51
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 69.124.126.13
※ 文章網址: https://www.ptt.cc/bbs/Electronics/M.1545401534.A.6F5.html
※ 編輯: mmonkeyboyy (69.124.126.13), 12/21/2018 22:13:02
推 r901042004: 問一下monkey大,如果是要做SPI類那種bidirectional 12/22 11:19
→ r901042004: 的I/O Pad,在做合成的時候需要多做什麼設定嗎? 12/22 11:20
推 r901042004: 還是直接在RTL內直接接好I/O Pad 12/22 11:23
→ r901042004: 再直接丟下去合成就好 12/22 11:23
→ mmonkeyboyy: 如果你的tool有支援 就沒什麼問題 有的會dont care 12/22 12:27
→ mmonkeyboyy: 很怪 (但那是很多年前了) 如果是 FPGA上 可以加 12/22 12:27
→ mmonkeyboyy: dont touch 一般這個有問題的會是DFT 12/22 12:28
→ mmonkeyboyy: 如野狼大說的 IO就沒什麼了 選一下就好 12/22 12:29
推 r901042004: 合成用的是DC,那我了解了,謝謝monkey大 12/22 12:40
推 q684351852: 謝謝解說! 12/22 13:43
推 hsucheng: 我記得我在寫AXI BUS好像有用到類似的東西... 12/23 02:21
→ mmonkeyboyy: 樓上 所以那個做好就是放一邊dont touch 12/23 06:12
→ mmonkeyboyy: bus類一定會有的啊 12/23 06:13