[請益] 想請教verilog,有關blocking的用法,求助!謝謝!

看板Programming作者 (新熱血陽光男孩￾NN)時間16年前 (2009/05/01 19:51), 編輯推噓2(2020)
留言22則, 4人參與, 最新討論串1/1
想請教一下有關verilog的問題 有關於blocking的寫法。 小弟目前寫code都是用blocking的寫法, 但是看書,很少人用blocking的寫法, 都是用unblocking的。 很奇怪,因為我目前寫的code都是可以合成的, 但是不清楚這樣寫是不是很傷硬體的資源。 如四行數學式的運算: 1. a = 2 * 3 2. b = a * 2 + 3 3. c = a + 2 * b 4. d = a + b + c 因為我用blocking的寫法,且a,b,c,d均有相關,所以如下: a = 2 * 3; b = a * 2 + 3 ; c = a + 2 * b ; d = a + b + c ; ==>照著寫就好了,但我看書上,都沒有人這樣做... 所以我這樣寫,不過我非常的沒有自信,因為沒有書給我任何的佐證 所以我非常疑惑,雖然我可以合成。 但是我去燒入至fpga,正確的演算法結果可以跑出嗎?還是一定會有問題? 其實我懂得unblocking,但是用unblocking寫,我很不習慣。 只是不懂得unblocking的設計方式。 如果是這樣寫, 那我怎麼讓他delay呢,因為其中有相關性。 a <= 2 * 3; b <= a * 2 + 3 ; c <= a + 2 * b ; d <= a + b + c ; 有神人可以幫我解答嗎? 這兩個差別到底再哪裡? 對硬體資源影響會很大嗎??? 感謝~~~ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.138.178.157

05/01 20:13, , 1F
timing不一樣吧
05/01 20:13, 1F

05/01 20:18, , 2F
那如果要改寫成unblocking呢,要怎麼改?
05/01 20:18, 2F

05/01 23:26, , 3F
<= 正確的名詞叫 nonblocking...
05/01 23:26, 3F

05/01 23:27, , 4F
兩種寫法synthesis出來的東西差很多
05/01 23:27, 4F

05/01 23:27, , 5F
要看你是要作sequential circuit
05/01 23:27, 5F

05/01 23:28, , 6F
還是combinational circuit
05/01 23:28, 6F

05/01 23:28, , 7F
差別的話 google 'verilog nonblocking'
05/01 23:28, 7F

05/01 23:31, , 8F
會有不習慣nonblocking的寫法這種問題的話
05/01 23:31, 8F

05/01 23:32, , 9F
表示你是用寫software的觀念在寫HDL
05/01 23:32, 9F

05/01 23:33, , 10F
HW是只要有通電就一直在動作的
05/01 23:33, 10F

05/01 23:34, , 11F
不像SW是一個個instruction依序執行
05/01 23:34, 11F

05/01 23:34, , 12F
所以HW和SW設計觀念上完全不同
05/01 23:34, 12F

05/01 23:36, , 13F
請不要用一般寫software的觀念來看HDL
05/01 23:36, 13F

05/01 23:37, , 14F
不然CAD tool幫你synthesis出啥恐怖的怪物
05/01 23:37, 14F

05/01 23:37, , 15F
也不是什麼奇怪的事
05/01 23:37, 15F

05/02 00:29, , 16F
我要作sequential circuit,與CLK有關
05/02 00:29, 16F

05/02 00:30, , 17F
SILee大大,那我要怎麼去改進呢?
05/02 00:30, 17F

05/02 00:35, , 18F
像上面的例子壓,我只想得到delay一個clk
05/02 00:35, 18F

05/02 00:36, , 19F
然後做nonblocking...目前的想法...
05/02 00:36, 19F

05/02 00:37, , 20F
謝謝各位大大喔,我有Google到...
05/02 00:37, 20F

05/02 00:37, , 21F
只是還抓不到設計的概念...
05/02 00:37, 21F

05/02 00:38, , 22F
其實我已經查蠻多書了...我會在多看點
05/02 00:38, 22F
文章代碼(AID): #19-k9Ikm (Programming)